Theorem: MeasureTheory.Measure.lintegral_rnDeriv_lt_top_of_measure_ne_top
File: Mathlib/MeasureTheory/Decomposition/Lebesgue.lean

tactic: by_cases hl : HaveLebesgueDecomposition μ ν
state_before: α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
⊢ (∫⁻ (x : α) in s, rnDeriv μ ν x ∂ν) < ⊤

tactic: haveI := hl
state_before: case pos
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl : HaveLebesgueDecomposition μ ν
⊢ (∫⁻ (x : α) in s, rnDeriv μ ν x ∂ν) < ⊤

tactic: obtain ⟨-, -, hadd⟩ := haveLebesgueDecomposition_spec μ ν
state_before: case pos
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl this : HaveLebesgueDecomposition μ ν
⊢ (∫⁻ (x : α) in s, rnDeriv μ ν x ∂ν) < ⊤

tactic: suffices : (∫⁻ x in toMeasurable μ s, μ.rnDeriv ν x ∂ν) < ∞
state_before: case pos.intro.intro
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl this : HaveLebesgueDecomposition μ ν
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
⊢ (∫⁻ (x : α) in s, rnDeriv μ ν x ∂ν) < ⊤

tactic: exact lt_of_le_of_lt (lintegral_mono_set (subset_toMeasurable _ _)) this
state_before: case pos.intro.intro
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl this✝ : HaveLebesgueDecomposition μ ν
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
this : (∫⁻ (x : α) in toMeasurable μ s, rnDeriv μ ν x ∂ν) < ⊤
⊢ (∫⁻ (x : α) in s, rnDeriv μ ν x ∂ν) < ⊤

case this
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl this : HaveLebesgueDecomposition μ ν
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
⊢ (∫⁻ (x : α) in toMeasurable μ s, rnDeriv μ ν x ∂ν) < ⊤

tactic: rw [← withDensity_apply _ (measurableSet_toMeasurable _ _)]
state_before: case this
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl this : HaveLebesgueDecomposition μ ν
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
⊢ (∫⁻ (x : α) in toMeasurable μ s, rnDeriv μ ν x ∂ν) < ⊤

tactic: refine'
  lt_of_le_of_lt
    (le_add_left le_rfl :
      _ ≤ μ.singularPart ν (toMeasurable μ s) + ν.withDensity (μ.rnDeriv ν) (toMeasurable μ s))
    _
state_before: case this
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl this : HaveLebesgueDecomposition μ ν
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
⊢ ↑↑(withDensity ν fun x => rnDeriv μ ν x) (toMeasurable μ s) < ⊤

tactic: rw [← Measure.add_apply, ← hadd, measure_toMeasurable]
state_before: case this
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl this : HaveLebesgueDecomposition μ ν
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
⊢ ↑↑(singularPart μ ν) (toMeasurable μ s) + ↑↑(withDensity ν (rnDeriv μ ν)) (toMeasurable μ s) < ⊤

tactic: exact hs.lt_top
state_before: case this
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl this : HaveLebesgueDecomposition μ ν
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
⊢ ↑↑μ s < ⊤

tactic: erw [Measure.rnDeriv, dif_neg hl, lintegral_zero]
state_before: case neg
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl : ¬HaveLebesgueDecomposition μ ν
⊢ (∫⁻ (x : α) in s, rnDeriv μ ν x ∂ν) < ⊤

tactic: exact WithTop.zero_lt_top
state_before: case neg
α : Type u_1
β : Type ?u.36188
m : MeasurableSpace α
μ✝ ν✝ μ ν : Measure α
s : Set α
hs : ↑↑μ s ≠ ⊤
hl : ¬HaveLebesgueDecomposition μ ν
⊢ 0 < ⊤