Theorem: MeasureTheory.rnDeriv_tilted_right
File: Mathlib/MeasureTheory/Measure/Tilted.lean

tactic: simp_rw [h, ae_zero, Filter.EventuallyEq]
state_before: case inl
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h : ν = 0
⊢ μ.rnDeriv (ν.tilted f) =ᶠ[ae ν] fun x => ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂ν) * μ.rnDeriv ν x
state_after: case inl
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h : ν = 0
⊢ ∀ᶠ (x : α) in ⊥,
    μ.rnDeriv (Measure.tilted 0 f) x = ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂0) * μ.rnDeriv 0 x

tactic: exact Filter.eventually_bot
state_before: case inl
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h : ν = 0
⊢ ∀ᶠ (x : α) in ⊥,
    μ.rnDeriv (Measure.tilted 0 f) x = ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂0) * μ.rnDeriv 0 x
state_after: no goals

tactic: refine (Measure.rnDeriv_withDensity_right μ ν ?_ ?_ ?_).trans ?_
state_before: case inr
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ μ.rnDeriv (ν.tilted f) =ᶠ[ae ν] fun x => ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂ν) * μ.rnDeriv ν x
state_after: case inr.refine_1
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ AEMeasurable (fun x => ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν)) ν

case inr.refine_2
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ ∀ᵐ (x : α) ∂ν, ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν) ≠ 0

case inr.refine_3
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ ∀ᵐ (x : α) ∂ν, ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν) ≠ ⊤

case inr.refine_4
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ (fun x => (ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν))⁻¹ * μ.rnDeriv ν x) =ᶠ[ae ν] fun x =>
    ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂ν) * μ.rnDeriv ν x

tactic: exact (hf.1.aemeasurable.div_const _).ennreal_ofReal
state_before: case inr.refine_1
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ AEMeasurable (fun x => ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν)) ν
state_after: no goals

tactic: filter_upwards
state_before: case inr.refine_2
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ ∀ᵐ (x : α) ∂ν, ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν) ≠ 0
state_after: case inr.refine_2.h
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ ∀ (a : α), ENNReal.ofReal (rexp (f a) / ∫ (x : α), rexp (f x) ∂ν) ≠ 0

tactic: simp only [ne_eq, ENNReal.ofReal_eq_zero, not_le]
state_before: case inr.refine_2.h
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ ∀ (a : α), ENNReal.ofReal (rexp (f a) / ∫ (x : α), rexp (f x) ∂ν) ≠ 0
state_after: case inr.refine_2.h
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ ∀ (a : α), 0 < rexp (f a) / ∫ (x : α), rexp (f x) ∂ν

tactic: exact fun _ ↦ div_pos (exp_pos _) (integral_exp_pos hf)
state_before: case inr.refine_2.h
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ ∀ (a : α), 0 < rexp (f a) / ∫ (x : α), rexp (f x) ∂ν
state_after: no goals

tactic: refine ae_of_all _ (by simp)
state_before: case inr.refine_3
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ ∀ᵐ (x : α) ∂ν, ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν) ≠ ⊤
state_after: no goals

tactic: simp
state_before: α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ ∀ (a : α), ENNReal.ofReal (rexp (f a) / ∫ (x : α), rexp (f x) ∂ν) ≠ ⊤
state_after: no goals

tactic: filter_upwards with x
state_before: case inr.refine_4
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
⊢ (fun x => (ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν))⁻¹ * μ.rnDeriv ν x) =ᶠ[ae ν] fun x =>
    ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂ν) * μ.rnDeriv ν x
state_after: case inr.refine_4.h
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
x : α
⊢ (ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν))⁻¹ * μ.rnDeriv ν x =
    ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂ν) * μ.rnDeriv ν x

tactic: congr
state_before: case inr.refine_4.h
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
x : α
⊢ (ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν))⁻¹ * μ.rnDeriv ν x =
    ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂ν) * μ.rnDeriv ν x
state_after: case inr.refine_4.h.e_a
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
x : α
⊢ (ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν))⁻¹ = ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂ν)

tactic: rw [← ENNReal.ofReal_inv_of_pos, inv_div', ← exp_neg, div_eq_mul_inv, inv_inv]
state_before: case inr.refine_4.h.e_a
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
x : α
⊢ (ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂ν))⁻¹ = ENNReal.ofReal (rexp (-f x) * ∫ (x : α), rexp (f x) ∂ν)
state_after: case inr.refine_4.h.e_a
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
x : α
⊢ 0 < rexp (f x) / ∫ (x : α), rexp (f x) ∂ν

tactic: exact div_pos (exp_pos _) (integral_exp_pos hf)
state_before: case inr.refine_4.h.e_a
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hf : Integrable (fun x => rexp (f x)) ν
h0 : NeZero ν
x : α
⊢ 0 < rexp (f x) / ∫ (x : α), rexp (f x) ∂ν
state_after: no goals