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

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

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

tactic: obtain ⟨⟨S, hS₁, hS₂, hS₃⟩, ⟨T, hT₁, hT₂, hT₃⟩⟩ := hs, hsing
state_before: case intro.intro
α : Type u_1
β : Type ?u.39986
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 μ ν)
⊢ s = singularPart μ ν

tactic: rw [hadd'] at hadd
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.39986
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
⊢ s = singularPart μ ν

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.39986
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 = singularPart μ ν

tactic: have heq : s.restrict ((S ∩ T)ᶜ) = (μ.singularPart ν).restrict ((S ∩ T)ᶜ) := by
  ext1 A hA
  have hf : ν.withDensity f (A ∩ (S ∩ T)ᶜ) = 0 := by
    refine' withDensity_absolutelyContinuous ν _ _
    rw [← nonpos_iff_eq_zero]
    exact hνinter ▸ measure_mono (inter_subset_right _ _)
  have hrn : ν.withDensity (μ.rnDeriv ν) (A ∩ (S ∩ T)ᶜ) = 0 := by
    refine' withDensity_absolutelyContinuous ν _ _
    rw [← nonpos_iff_eq_zero]
    exact hνinter ▸ measure_mono (inter_subset_right _ _)
  rw [restrict_apply hA, restrict_apply hA, ← add_zero (s (A ∩ (S ∩ T)ᶜ)), ← hf, ← add_apply, ←
    hadd, add_apply, hrn, add_zero]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.39986
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
⊢ s = singularPart μ ν

tactic: have heq' : ∀ A : Set α, MeasurableSet A → s A = s.restrict ((S ∩ T)ᶜ) A := by
  intro A hA
  have hsinter : s (A ∩ (S ∩ T)) = 0 := by
    rw [← nonpos_iff_eq_zero]
    exact hS₂ ▸ measure_mono ((inter_subset_right _ _).trans (inter_subset_left _ _))
  rw [restrict_apply hA, ← diff_eq, AEDisjoint.measure_diff_left hsinter]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
⊢ s = singularPart μ ν

tactic: ext1 A hA
state_before: case intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑s A = ↑↑(restrict s ((S ∩ T)ᶜ)) A
⊢ s = singularPart μ ν

tactic: have hμinter : μ.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 intro.intro.intro.intro.intro.intro.intro.intro.h
α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑s A = ↑↑(restrict s ((S ∩ T)ᶜ)) A
A : Set α
hA : MeasurableSet A
⊢ ↑↑s A = ↑↑(singularPart μ ν) A

tactic: rw [heq' A hA, heq, restrict_apply hA, ← diff_eq, AEDisjoint.measure_diff_left hμinter]
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.h
α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑s A = ↑↑(restrict s ((S ∩ T)ᶜ)) A
A : Set α
hA : MeasurableSet A
hμinter : ↑↑(singularPart μ ν) (A ∩ (S ∩ T)) = 0
⊢ ↑↑s A = ↑↑(singularPart μ ν) A

tactic: rw [compl_inter]
state_before: α : Type u_1
β : Type ?u.39986
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.39986
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.39986
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.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)

tactic: have hf : ν.withDensity f (A ∩ (S ∩ T)ᶜ) = 0 := by
  refine' withDensity_absolutelyContinuous ν _ _
  rw [← nonpos_iff_eq_zero]
  exact hνinter ▸ measure_mono (inter_subset_right _ _)
state_before: case h
α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ)) A = ↑↑(restrict (singularPart μ ν) ((S ∩ T)ᶜ)) A

tactic: have hrn : ν.withDensity (μ.rnDeriv ν) (A ∩ (S ∩ T)ᶜ) = 0 := by
  refine' withDensity_absolutelyContinuous ν _ _
  rw [← nonpos_iff_eq_zero]
  exact hνinter ▸ measure_mono (inter_subset_right _ _)
state_before: case h
α : Type u_1
β : Type ?u.39986
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
hf : ↑↑(withDensity ν f) (A ∩ (S ∩ T)ᶜ) = 0
⊢ ↑↑(restrict s ((S ∩ T)ᶜ)) A = ↑↑(restrict (singularPart μ ν) ((S ∩ T)ᶜ)) A

tactic: rw [restrict_apply hA, restrict_apply hA, ← add_zero (s (A ∩ (S ∩ T)ᶜ)), ← hf, ← add_apply, ←
  hadd, add_apply, hrn, add_zero]
state_before: case h
α : Type u_1
β : Type ?u.39986
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
hf : ↑↑(withDensity ν f) (A ∩ (S ∩ T)ᶜ) = 0
hrn : ↑↑(withDensity ν (rnDeriv μ ν)) (A ∩ (S ∩ T)ᶜ) = 0
⊢ ↑↑(restrict s ((S ∩ T)ᶜ)) A = ↑↑(restrict (singularPart μ ν) ((S ∩ T)ᶜ)) A

tactic: refine' withDensity_absolutelyContinuous ν _ _
state_before: α : Type u_1
β : Type ?u.39986
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
⊢ ↑↑(withDensity ν f) (A ∩ (S ∩ T)ᶜ) = 0

tactic: rw [← nonpos_iff_eq_zero]
state_before: α : Type u_1
β : Type ?u.39986
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
⊢ ↑↑ν (A ∩ (S ∩ T)ᶜ) = 0

tactic: exact hνinter ▸ measure_mono (inter_subset_right _ _)
state_before: α : Type u_1
β : Type ?u.39986
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
⊢ ↑↑ν (A ∩ (S ∩ T)ᶜ) ≤ 0

tactic: refine' withDensity_absolutelyContinuous ν _ _
state_before: α : Type u_1
β : Type ?u.39986
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
hf : ↑↑(withDensity ν f) (A ∩ (S ∩ T)ᶜ) = 0
⊢ ↑↑(withDensity ν (rnDeriv μ ν)) (A ∩ (S ∩ T)ᶜ) = 0

tactic: rw [← nonpos_iff_eq_zero]
state_before: α : Type u_1
β : Type ?u.39986
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
hf : ↑↑(withDensity ν f) (A ∩ (S ∩ T)ᶜ) = 0
⊢ ↑↑ν (A ∩ (S ∩ T)ᶜ) = 0

tactic: exact hνinter ▸ measure_mono (inter_subset_right _ _)
state_before: α : Type u_1
β : Type ?u.39986
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
hf : ↑↑(withDensity ν f) (A ∩ (S ∩ T)ᶜ) = 0
⊢ ↑↑ν (A ∩ (S ∩ T)ᶜ) ≤ 0

tactic: intro A hA
state_before: α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
⊢ ∀ (A : Set α), MeasurableSet A → ↑↑s A = ↑↑(restrict s ((S ∩ T)ᶜ)) A

tactic: have hsinter : s (A ∩ (S ∩ T)) = 0 := by
  rw [← nonpos_iff_eq_zero]
  exact hS₂ ▸ measure_mono ((inter_subset_right _ _).trans (inter_subset_left _ _))
state_before: α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
A : Set α
hA : MeasurableSet A
⊢ ↑↑s A = ↑↑(restrict s ((S ∩ T)ᶜ)) A

tactic: rw [restrict_apply hA, ← diff_eq, AEDisjoint.measure_diff_left hsinter]
state_before: α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
A : Set α
hA : MeasurableSet A
hsinter : ↑↑s (A ∩ (S ∩ T)) = 0
⊢ ↑↑s A = ↑↑(restrict s ((S ∩ T)ᶜ)) A

tactic: rw [← nonpos_iff_eq_zero]
state_before: α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
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.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
A : Set α
hA : MeasurableSet A
⊢ ↑↑s (A ∩ (S ∩ T)) ≤ 0

tactic: rw [← nonpos_iff_eq_zero]
state_before: α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑s A = ↑↑(restrict s ((S ∩ T)ᶜ)) A
A : Set α
hA : MeasurableSet A
⊢ ↑↑(singularPart μ ν) (A ∩ (S ∩ T)) = 0

tactic: exact hT₂ ▸ measure_mono ((inter_subset_right _ _).trans (inter_subset_right _ _))
state_before: α : Type u_1
β : Type ?u.39986
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 s ((S ∩ T)ᶜ) = restrict (singularPart μ ν) ((S ∩ T)ᶜ)
heq' : ∀ (A : Set α), MeasurableSet A → ↑↑s A = ↑↑(restrict s ((S ∩ T)ᶜ)) A
A : Set α
hA : MeasurableSet A
⊢ ↑↑(singularPart μ ν) (A ∩ (S ∩ T)) ≤ 0