Theorem: MeasureTheory.SignedMeasure.null_of_totalVariation_zero
File: Mathlib/MeasureTheory/Decomposition/Jordan.lean

tactic: rw [totalVariation, Measure.coe_add, Pi.add_apply, add_eq_zero_iff] at hs
state_before: α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.totalVariation i = 0
⊢ ↑s i = 0
state_after: α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
⊢ ↑s i = 0

tactic: rw [← toSignedMeasure_toJordanDecomposition s, toSignedMeasure, VectorMeasure.coe_sub,
  Pi.sub_apply, Measure.toSignedMeasure_apply, Measure.toSignedMeasure_apply]
state_before: α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
⊢ ↑s i = 0
state_after: α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
⊢ ((if MeasurableSet i then (s.toJordanDecomposition.posPart i).toReal else 0) -
      if MeasurableSet i then (s.toJordanDecomposition.negPart i).toReal else 0) =
    0

tactic: by_cases hi : MeasurableSet i
state_before: α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
⊢ ((if MeasurableSet i then (s.toJordanDecomposition.posPart i).toReal else 0) -
      if MeasurableSet i then (s.toJordanDecomposition.negPart i).toReal else 0) =
    0
state_after: case pos
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
hi : MeasurableSet i
⊢ ((if MeasurableSet i then (s.toJordanDecomposition.posPart i).toReal else 0) -
      if MeasurableSet i then (s.toJordanDecomposition.negPart i).toReal else 0) =
    0

case neg
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
hi : ¬MeasurableSet i
⊢ ((if MeasurableSet i then (s.toJordanDecomposition.posPart i).toReal else 0) -
      if MeasurableSet i then (s.toJordanDecomposition.negPart i).toReal else 0) =
    0

tactic: rw [if_pos hi, if_pos hi]
state_before: case pos
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
hi : MeasurableSet i
⊢ ((if MeasurableSet i then (s.toJordanDecomposition.posPart i).toReal else 0) -
      if MeasurableSet i then (s.toJordanDecomposition.negPart i).toReal else 0) =
    0
state_after: case pos
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
hi : MeasurableSet i
⊢ (s.toJordanDecomposition.posPart i).toReal - (s.toJordanDecomposition.negPart i).toReal = 0

tactic: simp [hs.1, hs.2]
state_before: case pos
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
hi : MeasurableSet i
⊢ (s.toJordanDecomposition.posPart i).toReal - (s.toJordanDecomposition.negPart i).toReal = 0
state_after: no goals

tactic: simp [if_neg hi]
state_before: case neg
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
s : SignedMeasure α
i : Set α
hs : s.toJordanDecomposition.posPart i = 0 ∧ s.toJordanDecomposition.negPart i = 0
hi : ¬MeasurableSet i
⊢ ((if MeasurableSet i then (s.toJordanDecomposition.posPart i).toReal else 0) -
      if MeasurableSet i then (s.toJordanDecomposition.negPart i).toReal else 0) =
    0
state_after: no goals