Theorem: MeasureTheory.withDensity_densitytoFinite
File: Mathlib/MeasureTheory/Measure/WithDensityFinite.lean

tactic: have : (μ.toFinite.withDensity fun a ↦ ∑' n, (sFiniteSeq μ n).rnDeriv μ.toFinite a)
    = μ.toFinite.withDensity (∑' n, (sFiniteSeq μ n).rnDeriv μ.toFinite) := by
  congr with a
  rw [ENNReal.tsum_apply]
state_before: α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
⊢ μ.toFinite.withDensity μ.densityToFinite = μ
state_after: α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
⊢ μ.toFinite.withDensity μ.densityToFinite = μ

tactic: rw [densityToFinite_def, this, withDensity_tsum (fun i ↦ Measure.measurable_rnDeriv _ _)]
state_before: α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
⊢ μ.toFinite.withDensity μ.densityToFinite = μ
state_after: α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
⊢ (Measure.sum fun n => μ.toFinite.withDensity ((sFiniteSeq μ n).rnDeriv μ.toFinite)) = μ

tactic: conv_rhs => rw [← sum_sFiniteSeq μ]
state_before: α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
⊢ (Measure.sum fun n => μ.toFinite.withDensity ((sFiniteSeq μ n).rnDeriv μ.toFinite)) = μ
state_after: α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
⊢ (Measure.sum fun n => μ.toFinite.withDensity ((sFiniteSeq μ n).rnDeriv μ.toFinite)) = Measure.sum (sFiniteSeq μ)

tactic: congr with n
state_before: α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
⊢ (Measure.sum fun n => μ.toFinite.withDensity ((sFiniteSeq μ n).rnDeriv μ.toFinite)) = Measure.sum (sFiniteSeq μ)
state_after: case e_f.h.h
α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
n : ℕ
s✝ : Set α
a✝ : MeasurableSet s✝
⊢ (μ.toFinite.withDensity ((sFiniteSeq μ n).rnDeriv μ.toFinite)) s✝ = (sFiniteSeq μ n) s✝

tactic: rw [Measure.withDensity_rnDeriv_eq]
state_before: case e_f.h.h
α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
n : ℕ
s✝ : Set α
a✝ : MeasurableSet s✝
⊢ (μ.toFinite.withDensity ((sFiniteSeq μ n).rnDeriv μ.toFinite)) s✝ = (sFiniteSeq μ n) s✝
state_after: case e_f.h.h.h
α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
n : ℕ
s✝ : Set α
a✝ : MeasurableSet s✝
⊢ sFiniteSeq μ n ≪ μ.toFinite

tactic: exact sFiniteSeq_absolutelyContinuous_toFinite μ n
state_before: case e_f.h.h.h
α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
this :
  (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
n : ℕ
s✝ : Set α
a✝ : MeasurableSet s✝
⊢ sFiniteSeq μ n ≪ μ.toFinite
state_after: no goals

tactic: congr with a
state_before: α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
⊢ (μ.toFinite.withDensity fun a => ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a) =
    μ.toFinite.withDensity (∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite)
state_after: case e_f.h
α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
a : α
⊢ ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a = tsum (fun n => (sFiniteSeq μ n).rnDeriv μ.toFinite) a

tactic: rw [ENNReal.tsum_apply]
state_before: case e_f.h
α : Type u_1
mα : MeasurableSpace α
μ✝ μ : Measure α
inst✝ : SFinite μ
a : α
⊢ ∑' (n : ℕ), (sFiniteSeq μ n).rnDeriv μ.toFinite a = tsum (fun n => (sFiniteSeq μ n).rnDeriv μ.toFinite) a
state_after: no goals