Theorem: MeasureTheory.SignedMeasure.singularPart_mutuallySingular
File: Mathlib/MeasureTheory/Decomposition/SignedLebesgue.lean

tactic: by_cases hl : s.HaveLebesgueDecomposition μ
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : ¬s.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

tactic: obtain ⟨i, hi, hpos, hneg⟩ := s.toJordanDecomposition.mutuallySingular
state_before: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: case pos.intro.intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
i : Set α
hi : MeasurableSet i
hpos : s.toJordanDecomposition.posPart i = 0
hneg : s.toJordanDecomposition.negPart iᶜ = 0
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

tactic: rw [s.toJordanDecomposition.posPart.haveLebesgueDecomposition_add μ] at hpos
state_before: case pos.intro.intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
i : Set α
hi : MeasurableSet i
hpos : s.toJordanDecomposition.posPart i = 0
hneg : s.toJordanDecomposition.negPart iᶜ = 0
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: case pos.intro.intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
i : Set α
hi : MeasurableSet i
hpos :
  (s.toJordanDecomposition.posPart.singularPart μ + μ.withDensity (s.toJordanDecomposition.posPart.rnDeriv μ)) i = 0
hneg : s.toJordanDecomposition.negPart iᶜ = 0
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

tactic: rw [s.toJordanDecomposition.negPart.haveLebesgueDecomposition_add μ] at hneg
state_before: case pos.intro.intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
i : Set α
hi : MeasurableSet i
hpos :
  (s.toJordanDecomposition.posPart.singularPart μ + μ.withDensity (s.toJordanDecomposition.posPart.rnDeriv μ)) i = 0
hneg : s.toJordanDecomposition.negPart iᶜ = 0
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: case pos.intro.intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
i : Set α
hi : MeasurableSet i
hpos :
  (s.toJordanDecomposition.posPart.singularPart μ + μ.withDensity (s.toJordanDecomposition.posPart.rnDeriv μ)) i = 0
hneg :
  (s.toJordanDecomposition.negPart.singularPart μ + μ.withDensity (s.toJordanDecomposition.negPart.rnDeriv μ)) iᶜ = 0
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

tactic: rw [add_apply, add_eq_zero_iff] at hpos hneg
state_before: case pos.intro.intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
i : Set α
hi : MeasurableSet i
hpos :
  (s.toJordanDecomposition.posPart.singularPart μ + μ.withDensity (s.toJordanDecomposition.posPart.rnDeriv μ)) i = 0
hneg :
  (s.toJordanDecomposition.negPart.singularPart μ + μ.withDensity (s.toJordanDecomposition.negPart.rnDeriv μ)) iᶜ = 0
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: case pos.intro.intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
i : Set α
hi : MeasurableSet i
hpos :
  (s.toJordanDecomposition.posPart.singularPart μ) i = 0 ∧
    (μ.withDensity (s.toJordanDecomposition.posPart.rnDeriv μ)) i = 0
hneg :
  (s.toJordanDecomposition.negPart.singularPart μ) iᶜ = 0 ∧
    (μ.withDensity (s.toJordanDecomposition.negPart.rnDeriv μ)) iᶜ = 0
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

tactic: exact ⟨i, hi, hpos.1, hneg.1⟩
state_before: case pos.intro.intro.intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : s.HaveLebesgueDecomposition μ
i : Set α
hi : MeasurableSet i
hpos :
  (s.toJordanDecomposition.posPart.singularPart μ) i = 0 ∧
    (μ.withDensity (s.toJordanDecomposition.posPart.rnDeriv μ)) i = 0
hneg :
  (s.toJordanDecomposition.negPart.singularPart μ) iᶜ = 0 ∧
    (μ.withDensity (s.toJordanDecomposition.negPart.rnDeriv μ)) iᶜ = 0
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: no goals

tactic: rw [not_haveLebesgueDecomposition_iff] at hl
state_before: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl : ¬s.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl :
  ¬s.toJordanDecomposition.posPart.HaveLebesgueDecomposition μ ∨
    ¬s.toJordanDecomposition.negPart.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

tactic: cases' hl with hp hn
state_before: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hl :
  ¬s.toJordanDecomposition.posPart.HaveLebesgueDecomposition μ ∨
    ¬s.toJordanDecomposition.negPart.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: case neg.inl
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hp : ¬s.toJordanDecomposition.posPart.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

case neg.inr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hn : ¬s.toJordanDecomposition.negPart.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

tactic: rw [Measure.singularPart, dif_neg hp]
state_before: case neg.inl
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hp : ¬s.toJordanDecomposition.posPart.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: case neg.inl
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hp : ¬s.toJordanDecomposition.posPart.HaveLebesgueDecomposition μ
⊢ 0 ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ

tactic: exact MutuallySingular.zero_left
state_before: case neg.inl
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hp : ¬s.toJordanDecomposition.posPart.HaveLebesgueDecomposition μ
⊢ 0 ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: no goals

tactic: rw [Measure.singularPart, Measure.singularPart, dif_neg hn]
state_before: case neg.inr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hn : ¬s.toJordanDecomposition.negPart.HaveLebesgueDecomposition μ
⊢ s.toJordanDecomposition.posPart.singularPart μ ⟂ₘ s.toJordanDecomposition.negPart.singularPart μ
state_after: case neg.inr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hn : ¬s.toJordanDecomposition.negPart.HaveLebesgueDecomposition μ
⊢ (if h : s.toJordanDecomposition.posPart.HaveLebesgueDecomposition μ then (Classical.choose ⋯).1 else 0) ⟂ₘ 0

tactic: exact MutuallySingular.zero_right
state_before: case neg.inr
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν : Measure α
s : SignedMeasure α
μ : Measure α
hn : ¬s.toJordanDecomposition.negPart.HaveLebesgueDecomposition μ
⊢ (if h : s.toJordanDecomposition.posPart.HaveLebesgueDecomposition μ then (Classical.choose ⋯).1 else 0) ⟂ₘ 0
state_after: no goals