Theorem: MeasureTheory.Measure.withDensity_rnDeriv_eq
File: Mathlib/MeasureTheory/Decomposition/RadonNikodym.lean

tactic: obtain ⟨_, ⟨E, hE₁, hE₂, hE₃⟩, hadd⟩ := haveLebesgueDecomposition_spec μ ν
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
⊢ withDensity ν (rnDeriv μ ν) = μ

tactic: have : singularPart μ ν = 0 := by
  refine' le_antisymm (fun A (_ : MeasurableSet A) => _) (Measure.zero_le _)
  suffices singularPart μ ν Set.univ = 0 by
    rw [Measure.coe_zero, Pi.zero_apply, ← this]
    exact measure_mono (Set.subset_univ _)
  rw [← measure_add_measure_compl hE₁, hE₂, zero_add]
  have : (singularPart μ ν + ν.withDensity (rnDeriv μ ν)) (Eᶜ) = μ (Eᶜ) := by rw [← hadd]
  rw [Measure.coe_add, Pi.add_apply, h hE₃] at this
  exact (add_eq_zero_iff.1 this).1
state_before: case intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
⊢ withDensity ν (rnDeriv μ ν) = μ

tactic: rw [this, zero_add] at hadd
state_before: case intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
this : singularPart μ ν = 0
⊢ withDensity ν (rnDeriv μ ν) = μ

tactic: exact hadd.symm
state_before: case intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
this : singularPart μ ν = 0
⊢ withDensity ν (rnDeriv μ ν) = μ

tactic: refine' le_antisymm (fun A (_ : MeasurableSet A) => _) (Measure.zero_le _)
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
⊢ singularPart μ ν = 0

tactic: suffices singularPart μ ν Set.univ = 0 by
  rw [Measure.coe_zero, Pi.zero_apply, ← this]
  exact measure_mono (Set.subset_univ _)
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
A : Set α
x✝ : MeasurableSet A
⊢ ↑↑(singularPart μ ν) A ≤ ↑↑0 A

tactic: rw [← measure_add_measure_compl hE₁, hE₂, zero_add]
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
A : Set α
x✝ : MeasurableSet A
⊢ ↑↑(singularPart μ ν) Set.univ = 0

tactic: have : (singularPart μ ν + ν.withDensity (rnDeriv μ ν)) (Eᶜ) = μ (Eᶜ) := by rw [← hadd]
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
A : Set α
x✝ : MeasurableSet A
⊢ ↑↑(singularPart μ ν) (Eᶜ) = 0

tactic: rw [Measure.coe_add, Pi.add_apply, h hE₃] at this
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
A : Set α
x✝ : MeasurableSet A
this : ↑↑(singularPart μ ν + withDensity ν (rnDeriv μ ν)) (Eᶜ) = ↑↑μ (Eᶜ)
⊢ ↑↑(singularPart μ ν) (Eᶜ) = 0

tactic: exact (add_eq_zero_iff.1 this).1
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
A : Set α
x✝ : MeasurableSet A
this : ↑↑(singularPart μ ν) (Eᶜ) + ↑↑(withDensity ν (rnDeriv μ ν)) (Eᶜ) = 0
⊢ ↑↑(singularPart μ ν) (Eᶜ) = 0

tactic: rw [Measure.coe_zero, Pi.zero_apply, ← this]
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
A : Set α
x✝ : MeasurableSet A
this : ↑↑(singularPart μ ν) Set.univ = 0
⊢ ↑↑(singularPart μ ν) A ≤ ↑↑0 A

tactic: exact measure_mono (Set.subset_univ _)
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
A : Set α
x✝ : MeasurableSet A
this : ↑↑(singularPart μ ν) Set.univ = 0
⊢ ↑↑(singularPart μ ν) A ≤ ↑↑(singularPart μ ν) Set.univ

tactic: rw [← hadd]
state_before: α : Type u_1
β : Type ?u.14
m : MeasurableSpace α
μ ν : Measure α
inst✝ : HaveLebesgueDecomposition μ ν
h : μ ≪ ν
left✝ : Measurable (rnDeriv μ ν)
hadd : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
E : Set α
hE₁ : MeasurableSet E
hE₂ : ↑↑(singularPart μ ν) E = 0
hE₃ : ↑↑ν (Eᶜ) = 0
A : Set α
x✝ : MeasurableSet A
⊢ ↑↑(singularPart μ ν + withDensity ν (rnDeriv μ ν)) (Eᶜ) = ↑↑μ (Eᶜ)