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

tactic: haveI : HaveLebesgueDecomposition μ ν := ⟨⟨⟨s, f⟩, hf, hs, hadd⟩⟩
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hs : s ⟂ₘ ν
hadd : μ = s + withDensity ν f
⊢ withDensity ν f = withDensity ν (rnDeriv μ ν)

tactic: obtain ⟨hmeas, hsing, hadd'⟩ := haveLebesgueDecomposition_spec μ ν
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hs : s ⟂ₘ ν
hadd : μ = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
⊢ withDensity ν f = withDensity ν (rnDeriv μ ν)

tactic: obtain ⟨⟨S, hS₁, hS₂, hS₃⟩, ⟨T, hT₁, hT₂, hT₃⟩⟩ := hs, hsing
state_before: case intro.intro
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hs : s ⟂ₘ ν
hadd : μ = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hsing : singularPart μ ν ⟂ₘ ν
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
⊢ withDensity ν f = withDensity ν (rnDeriv μ ν)

tactic: rw [hadd'] at hadd
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : μ = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
⊢ withDensity ν f = withDensity ν (rnDeriv μ ν)

tactic: have hνinter : ν ((S ∩ T)ᶜ) = 0 := by
  rw [compl_inter]
  refine' nonpos_iff_eq_zero.1 (le_trans (measure_union_le _ _) _)
  rw [hT₃, hS₃, add_zero]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
⊢ withDensity ν f = withDensity ν (rnDeriv μ ν)

tactic: have heq :
  (ν.withDensity f).restrict (S ∩ T) = (ν.withDensity (μ.rnDeriv ν)).restrict (S ∩ T) := by
  ext1 A hA
  have hs : s (A ∩ (S ∩ T)) = 0 := by
    rw [← nonpos_iff_eq_zero]
    exact hS₂ ▸ measure_mono ((inter_subset_right _ _).trans (inter_subset_left _ _))
  have hsing : μ.singularPart ν (A ∩ (S ∩ T)) = 0 := by
    rw [← nonpos_iff_eq_zero]
    exact hT₂ ▸ measure_mono ((inter_subset_right _ _).trans (inter_subset_right _ _))
  rw [restrict_apply hA, restrict_apply hA, ← add_zero (ν.withDensity f (A ∩ (S ∩ T))), ← hs, ←
    add_apply, add_comm, ← hadd, add_apply, hsing, zero_add]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
⊢ withDensity ν f = withDensity ν (rnDeriv μ ν)

tactic: have heq' :
  ∀ A : Set α, MeasurableSet A → ν.withDensity f A = (ν.withDensity f).restrict (S ∩ T) A := by
  intro A hA
  have hνfinter : ν.withDensity f (A ∩ (S ∩ T)ᶜ) = 0 := by
    rw [← nonpos_iff_eq_zero]
    exact withDensity_absolutelyContinuous ν f hνinter ▸ measure_mono (inter_subset_right _ _)
  rw [restrict_apply hA, ← add_zero (ν.withDensity f (A ∩ (S ∩ T))), ← hνfinter, ← diff_eq,
    measure_inter_add_diff _ (hS₁.inter hT₁)]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
⊢ withDensity ν f = withDensity ν (rnDeriv μ ν)

tactic: ext1 A hA
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑(withDensity ν f) A = ↑↑(restrict (withDensity ν f) (S ∩ T)) A
⊢ withDensity ν f = withDensity ν (rnDeriv μ ν)

tactic: have hνrn : ν.withDensity (μ.rnDeriv ν) (A ∩ (S ∩ T)ᶜ) = 0 := by
  rw [← nonpos_iff_eq_zero]
  exact
    withDensity_absolutelyContinuous ν (μ.rnDeriv ν) hνinter ▸
      measure_mono (inter_subset_right _ _)
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.h
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑(withDensity ν f) A = ↑↑(restrict (withDensity ν f) (S ∩ T)) A
A : Set α
hA : MeasurableSet A
⊢ ↑↑(withDensity ν f) A = ↑↑(withDensity ν (rnDeriv μ ν)) A

tactic: rw [heq' A hA, heq, ← add_zero ((ν.withDensity (μ.rnDeriv ν)).restrict (S ∩ T) A), ← hνrn,
  restrict_apply hA, ← diff_eq, measure_inter_add_diff _ (hS₁.inter hT₁)]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.h
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑(withDensity ν f) A = ↑↑(restrict (withDensity ν f) (S ∩ T)) A
A : Set α
hA : MeasurableSet A
hνrn : ↑↑(withDensity ν (rnDeriv μ ν)) (A ∩ (S ∩ T)ᶜ) = 0
⊢ ↑↑(withDensity ν f) A = ↑↑(withDensity ν (rnDeriv μ ν)) A

tactic: rw [compl_inter]
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
⊢ ↑↑ν ((S ∩ T)ᶜ) = 0

tactic: refine' nonpos_iff_eq_zero.1 (le_trans (measure_union_le _ _) _)
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
⊢ ↑↑ν (Sᶜ ∪ Tᶜ) = 0

tactic: rw [hT₃, hS₃, add_zero]
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
⊢ ↑↑ν (Sᶜ) + ↑↑ν (Tᶜ) ≤ 0

tactic: ext1 A hA
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
⊢ restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)

tactic: have hs : s (A ∩ (S ∩ T)) = 0 := by
  rw [← nonpos_iff_eq_zero]
  exact hS₂ ▸ measure_mono ((inter_subset_right _ _).trans (inter_subset_left _ _))
state_before: case h
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
A : Set α
hA : MeasurableSet A
⊢ ↑↑(restrict (withDensity ν f) (S ∩ T)) A = ↑↑(restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)) A

tactic: have hsing : μ.singularPart ν (A ∩ (S ∩ T)) = 0 := by
  rw [← nonpos_iff_eq_zero]
  exact hT₂ ▸ measure_mono ((inter_subset_right _ _).trans (inter_subset_right _ _))
state_before: case h
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
A : Set α
hA : MeasurableSet A
hs : ↑↑s (A ∩ (S ∩ T)) = 0
⊢ ↑↑(restrict (withDensity ν f) (S ∩ T)) A = ↑↑(restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)) A

tactic: rw [restrict_apply hA, restrict_apply hA, ← add_zero (ν.withDensity f (A ∩ (S ∩ T))), ← hs, ←
  add_apply, add_comm, ← hadd, add_apply, hsing, zero_add]
state_before: case h
α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
A : Set α
hA : MeasurableSet A
hs : ↑↑s (A ∩ (S ∩ T)) = 0
hsing : ↑↑(singularPart μ ν) (A ∩ (S ∩ T)) = 0
⊢ ↑↑(restrict (withDensity ν f) (S ∩ T)) A = ↑↑(restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)) A

tactic: rw [← nonpos_iff_eq_zero]
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
A : Set α
hA : MeasurableSet A
⊢ ↑↑s (A ∩ (S ∩ T)) = 0

tactic: exact hS₂ ▸ measure_mono ((inter_subset_right _ _).trans (inter_subset_left _ _))
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
A : Set α
hA : MeasurableSet A
⊢ ↑↑s (A ∩ (S ∩ T)) ≤ 0

tactic: rw [← nonpos_iff_eq_zero]
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
A : Set α
hA : MeasurableSet A
hs : ↑↑s (A ∩ (S ∩ T)) = 0
⊢ ↑↑(singularPart μ ν) (A ∩ (S ∩ T)) = 0

tactic: exact hT₂ ▸ measure_mono ((inter_subset_right _ _).trans (inter_subset_right _ _))
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
A : Set α
hA : MeasurableSet A
hs : ↑↑s (A ∩ (S ∩ T)) = 0
⊢ ↑↑(singularPart μ ν) (A ∩ (S ∩ T)) ≤ 0

tactic: intro A hA
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
⊢ ∀ (A : Set α), MeasurableSet A → ↑↑(withDensity ν f) A = ↑↑(restrict (withDensity ν f) (S ∩ T)) A

tactic: have hνfinter : ν.withDensity f (A ∩ (S ∩ T)ᶜ) = 0 := by
  rw [← nonpos_iff_eq_zero]
  exact withDensity_absolutelyContinuous ν f hνinter ▸ measure_mono (inter_subset_right _ _)
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
A : Set α
hA : MeasurableSet A
⊢ ↑↑(withDensity ν f) A = ↑↑(restrict (withDensity ν f) (S ∩ T)) A

tactic: rw [restrict_apply hA, ← add_zero (ν.withDensity f (A ∩ (S ∩ T))), ← hνfinter, ← diff_eq,
  measure_inter_add_diff _ (hS₁.inter hT₁)]
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
A : Set α
hA : MeasurableSet A
hνfinter : ↑↑(withDensity ν f) (A ∩ (S ∩ T)ᶜ) = 0
⊢ ↑↑(withDensity ν f) A = ↑↑(restrict (withDensity ν f) (S ∩ T)) A

tactic: rw [← nonpos_iff_eq_zero]
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
A : Set α
hA : MeasurableSet A
⊢ ↑↑(withDensity ν f) (A ∩ (S ∩ T)ᶜ) = 0

tactic: exact withDensity_absolutelyContinuous ν f hνinter ▸ measure_mono (inter_subset_right _ _)
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
A : Set α
hA : MeasurableSet A
⊢ ↑↑(withDensity ν f) (A ∩ (S ∩ T)ᶜ) ≤ 0

tactic: rw [← nonpos_iff_eq_zero]
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑(withDensity ν f) A = ↑↑(restrict (withDensity ν f) (S ∩ T)) A
A : Set α
hA : MeasurableSet A
⊢ ↑↑(withDensity ν (rnDeriv μ ν)) (A ∩ (S ∩ T)ᶜ) = 0

tactic: exact
  withDensity_absolutelyContinuous ν (μ.rnDeriv ν) hνinter ▸
    measure_mono (inter_subset_right _ _)
state_before: α : Type u_1
β : Type ?u.56874
m : MeasurableSpace α
μ ν s : Measure α
f : α → ℝ≥0∞
hf : Measurable f
hadd : singularPart μ ν + withDensity ν (rnDeriv μ ν) = s + withDensity ν f
this : HaveLebesgueDecomposition μ ν
hmeas : Measurable (rnDeriv μ ν)
hadd' : μ = singularPart μ ν + withDensity ν (rnDeriv μ ν)
S : Set α
hS₁ : MeasurableSet S
hS₂ : ↑↑s S = 0
hS₃ : ↑↑ν (Sᶜ) = 0
T : Set α
hT₁ : MeasurableSet T
hT₂ : ↑↑(singularPart μ ν) T = 0
hT₃ : ↑↑ν (Tᶜ) = 0
hνinter : ↑↑ν ((S ∩ T)ᶜ) = 0
heq : restrict (withDensity ν f) (S ∩ T) = restrict (withDensity ν (rnDeriv μ ν)) (S ∩ T)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑(withDensity ν f) A = ↑↑(restrict (withDensity ν f) (S ∩ T)) A
A : Set α
hA : MeasurableSet A
⊢ ↑↑(withDensity ν (rnDeriv μ ν)) (A ∩ (S ∩ T)ᶜ) ≤ 0