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

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
s : SignedMeasure α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
u v w : Set α
hu : MeasurableSet u
hv : MeasurableSet v
hsu : VectorMeasure.restrict s u ≤ VectorMeasure.restrict 0 u
hsv : VectorMeasure.restrict s v ≤ VectorMeasure.restrict 0 v
hs : ↑s (u ∆ v) = 0
⊢ ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
state_after: α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
s : SignedMeasure α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
u v w : Set α
hu : MeasurableSet u
hv : MeasurableSet v
hsu : VectorMeasure.restrict 0 u ≤ (-s).restrict u
hsv : VectorMeasure.restrict s v ≤ VectorMeasure.restrict 0 v
hs : ↑s (u ∆ v) = 0
⊢ ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
tactic: rw [← s.neg_le_neg_iff _ hu, neg_zero] at hsu
state_before: α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
s : SignedMeasure α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
u v w : Set α
hu : MeasurableSet u
hv : MeasurableSet v
hsu : VectorMeasure.restrict 0 u ≤ (-s).restrict u
hsv : VectorMeasure.restrict s v ≤ VectorMeasure.restrict 0 v
hs : ↑s (u ∆ v) = 0
⊢ ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
state_after: α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
s : SignedMeasure α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
u v w : Set α
hu : MeasurableSet u
hv : MeasurableSet v
hsu : VectorMeasure.restrict 0 u ≤ (-s).restrict u
hsv : VectorMeasure.restrict 0 v ≤ (-s).restrict v
hs : ↑s (u ∆ v) = 0
⊢ ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
tactic: rw [← s.neg_le_neg_iff _ hv, neg_zero] at hsv
state_before: α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
s : SignedMeasure α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
u v w : Set α
hu : MeasurableSet u
hv : MeasurableSet v
hsu : VectorMeasure.restrict 0 u ≤ (-s).restrict u
hsv : VectorMeasure.restrict 0 v ≤ (-s).restrict v
hs : ↑s (u ∆ v) = 0
⊢ ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
state_after: α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
s : SignedMeasure α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
u v w : Set α
hu : MeasurableSet u
hv : MeasurableSet v
hsu : VectorMeasure.restrict 0 u ≤ (-s).restrict u
hsv : VectorMeasure.restrict 0 v ≤ (-s).restrict v
hs : ↑s (u ∆ v) = 0
this : ↑(-s) (u ∆ v) = 0 → ↑(-s) (u \ v) = 0 ∧ ↑(-s) (v \ u) = 0
⊢ ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
tactic: have := of_diff_eq_zero_of_symmDiff_eq_zero_positive hu hv hsu hsv
state_before: α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
s : SignedMeasure α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
u v w : Set α
hu : MeasurableSet u
hv : MeasurableSet v
hsu : VectorMeasure.restrict 0 u ≤ (-s).restrict u
hsv : VectorMeasure.restrict 0 v ≤ (-s).restrict v
hs : ↑s (u ∆ v) = 0
this : ↑(-s) (u ∆ v) = 0 → ↑(-s) (u \ v) = 0 ∧ ↑(-s) (v \ u) = 0
⊢ ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
state_after: α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
s : SignedMeasure α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
u v w : Set α
hu : MeasurableSet u
hv : MeasurableSet v
hsu : VectorMeasure.restrict 0 u ≤ (-s).restrict u
hsv : VectorMeasure.restrict 0 v ≤ (-s).restrict v
hs : ↑s (u ∆ v) = 0
this : ↑s (u ∆ v) = 0 → ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
⊢ ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
tactic: simp only [Pi.neg_apply, neg_eq_zero, coe_neg] at this
state_before: α : Type u_1
β : Type u_2
inst✝² : MeasurableSpace α
s : SignedMeasure α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
u v w : Set α
hu : MeasurableSet u
hv : MeasurableSet v
hsu : VectorMeasure.restrict 0 u ≤ (-s).restrict u
hsv : VectorMeasure.restrict 0 v ≤ (-s).restrict v
hs : ↑s (u ∆ v) = 0
this : ↑s (u ∆ v) = 0 → ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
⊢ ↑s (u \ v) = 0 ∧ ↑s (v \ u) = 0
state_after: no goals
tactic: exact this hs