Theorem: MeasureTheory.tilted_const'
File: Mathlib/MeasureTheory/Measure/Tilted.lean

tactic: rw [h]
state_before: case inl
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h : μ = 0
⊢ (μ.tilted fun x => c) = (μ Set.univ)⁻¹ • μ
state_after: case inl
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h : μ = 0
⊢ (Measure.tilted 0 fun x => c) = (0 Set.univ)⁻¹ • 0

tactic: simp
state_before: case inl
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h : μ = 0
⊢ (Measure.tilted 0 fun x => c) = (0 Set.univ)⁻¹ • 0
state_after: no goals

tactic: simp only [Measure.tilted, withDensity_const, integral_const, smul_eq_mul]
state_before: case inr
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
⊢ (μ.tilted fun x => c) = (μ Set.univ)⁻¹ • μ
state_after: case inr
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
⊢ ENNReal.ofReal (rexp c / ((μ Set.univ).toReal * rexp c)) • μ = (μ Set.univ)⁻¹ • μ

tactic: by_cases h_univ : μ Set.univ = ∞
state_before: case inr
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
⊢ ENNReal.ofReal (rexp c / ((μ Set.univ).toReal * rexp c)) • μ = (μ Set.univ)⁻¹ • μ
state_after: case pos
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
h_univ : μ Set.univ = ⊤
⊢ ENNReal.ofReal (rexp c / ((μ Set.univ).toReal * rexp c)) • μ = (μ Set.univ)⁻¹ • μ

case neg
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
h_univ : ¬μ Set.univ = ⊤
⊢ ENNReal.ofReal (rexp c / ((μ Set.univ).toReal * rexp c)) • μ = (μ Set.univ)⁻¹ • μ

tactic: congr
state_before: case neg
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
h_univ : ¬μ Set.univ = ⊤
⊢ ENNReal.ofReal (rexp c / ((μ Set.univ).toReal * rexp c)) • μ = (μ Set.univ)⁻¹ • μ
state_after: case neg.e_a
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
h_univ : ¬μ Set.univ = ⊤
⊢ ENNReal.ofReal (rexp c / ((μ Set.univ).toReal * rexp c)) = (μ Set.univ)⁻¹

tactic: rw [div_eq_mul_inv, mul_inv, mul_comm, mul_assoc, inv_mul_cancel (exp_pos _).ne', mul_one,
  ← ENNReal.toReal_inv, ENNReal.ofReal_toReal]
state_before: case neg.e_a
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
h_univ : ¬μ Set.univ = ⊤
⊢ ENNReal.ofReal (rexp c / ((μ Set.univ).toReal * rexp c)) = (μ Set.univ)⁻¹
state_after: case neg.e_a
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
h_univ : ¬μ Set.univ = ⊤
⊢ (μ Set.univ)⁻¹ ≠ ⊤

tactic: simp [h0.out]
state_before: case neg.e_a
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
h_univ : ¬μ Set.univ = ⊤
⊢ (μ Set.univ)⁻¹ ≠ ⊤
state_after: no goals

tactic: simp only [h_univ, ENNReal.top_toReal, zero_mul, log_zero, div_zero, ENNReal.ofReal_zero,
  zero_smul, ENNReal.inv_top]
state_before: case pos
α : Type u_1
mα : MeasurableSpace α
μ✝ : Measure α
f : α → ℝ
μ : Measure α
c : ℝ
h0 : NeZero μ
h_univ : μ Set.univ = ⊤
⊢ ENNReal.ofReal (rexp c / ((μ Set.univ).toReal * rexp c)) • μ = (μ Set.univ)⁻¹ • μ
state_after: no goals