Theorem: MeasureTheory.SignedMeasure.of_symmDiff_compl_positive_negative
File: Mathlib/MeasureTheory/Decomposition/SignedHahn.lean

tactic: rw [restrict_le_restrict_iff s 0, restrict_le_restrict_iff 0 s] at hi' hj'
state_before: α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)
hj' : restrict 0 j ≤ restrict s j ∧ restrict s (jᶜ) ≤ restrict 0 (jᶜ)
⊢ ↑s (i ∆ j) = 0 ∧ ↑s (iᶜ ∆ jᶜ) = 0

tactic: constructor
state_before: α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' :
  (∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ j → ↑0 j_1 ≤ ↑s j_1) ∧
    ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ ↑s (i ∆ j) = 0 ∧ ↑s (iᶜ ∆ jᶜ) = 0

α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' : restrict 0 j ≤ restrict s j ∧ ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ MeasurableSet j

α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : restrict 0 i ≤ restrict s i ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' : restrict 0 j ≤ restrict s j ∧ ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ MeasurableSet i

α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : restrict 0 i ≤ restrict s i ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' : restrict 0 j ≤ restrict s j ∧ restrict s (jᶜ) ≤ restrict 0 (jᶜ)
⊢ MeasurableSet (jᶜ)

α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)
hj' : restrict 0 j ≤ restrict s j ∧ restrict s (jᶜ) ≤ restrict 0 (jᶜ)
⊢ MeasurableSet (iᶜ)

tactic: all_goals measurability
state_before: α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' : restrict 0 j ≤ restrict s j ∧ ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ MeasurableSet j

α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : restrict 0 i ≤ restrict s i ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' : restrict 0 j ≤ restrict s j ∧ ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ MeasurableSet i

α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : restrict 0 i ≤ restrict s i ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' : restrict 0 j ≤ restrict s j ∧ restrict s (jᶜ) ≤ restrict 0 (jᶜ)
⊢ MeasurableSet (jᶜ)

α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)
hj' : restrict 0 j ≤ restrict s j ∧ restrict s (jᶜ) ≤ restrict 0 (jᶜ)
⊢ MeasurableSet (iᶜ)

tactic: rw [Set.symmDiff_def, Set.diff_eq_compl_inter, Set.diff_eq_compl_inter, of_union,
  le_antisymm (hi'.2 (hi.compl.inter hj) (Set.inter_subset_left _ _))
    (hj'.1 (hi.compl.inter hj) (Set.inter_subset_right _ _)),
  le_antisymm (hj'.2 (hj.compl.inter hi) (Set.inter_subset_left _ _))
    (hi'.1 (hj.compl.inter hi) (Set.inter_subset_right _ _)),
  zero_apply, zero_apply, zero_add]
state_before: case left
α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' :
  (∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ j → ↑0 j_1 ≤ ↑s j_1) ∧
    ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ ↑s (i ∆ j) = 0

tactic: exact
  Set.disjoint_of_subset_left (Set.inter_subset_left _ _)
    (Set.disjoint_of_subset_right (Set.inter_subset_right _ _)
      (disjoint_comm.1 (IsCompl.disjoint isCompl_compl)))
state_before: case left.h
α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' :
  (∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ j → ↑0 j_1 ≤ ↑s j_1) ∧
    ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ Disjoint (jᶜ ∩ i) (iᶜ ∩ j)

tactic: exact hj.compl.inter hi
state_before: case left.hA
α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' :
  (∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ j → ↑0 j_1 ≤ ↑s j_1) ∧
    ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ MeasurableSet (jᶜ ∩ i)

tactic: exact hi.compl.inter hj
state_before: case left.hB
α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' :
  (∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ j → ↑0 j_1 ≤ ↑s j_1) ∧
    ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ MeasurableSet (iᶜ ∩ j)

tactic: rw [Set.symmDiff_def, Set.diff_eq_compl_inter, Set.diff_eq_compl_inter, compl_compl,
  compl_compl, of_union,
  le_antisymm (hi'.2 (hj.inter hi.compl) (Set.inter_subset_right _ _))
    (hj'.1 (hj.inter hi.compl) (Set.inter_subset_left _ _)),
  le_antisymm (hj'.2 (hi.inter hj.compl) (Set.inter_subset_right _ _))
    (hi'.1 (hi.inter hj.compl) (Set.inter_subset_left _ _)),
  zero_apply, zero_apply, zero_add]
state_before: case right
α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' :
  (∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ j → ↑0 j_1 ≤ ↑s j_1) ∧
    ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ ↑s (iᶜ ∆ jᶜ) = 0

tactic: exact
  Set.disjoint_of_subset_left (Set.inter_subset_left _ _)
    (Set.disjoint_of_subset_right (Set.inter_subset_right _ _)
      (IsCompl.disjoint isCompl_compl))
state_before: case right.h
α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' :
  (∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ j → ↑0 j_1 ≤ ↑s j_1) ∧
    ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ Disjoint (j ∩ iᶜ) (i ∩ jᶜ)

tactic: exact hj.inter hi.compl
state_before: case right.hA
α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' :
  (∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ j → ↑0 j_1 ≤ ↑s j_1) ∧
    ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ MeasurableSet (j ∩ iᶜ)

tactic: exact hi.inter hj.compl
state_before: case right.hB
α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : (∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑0 j ≤ ↑s j) ∧ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ iᶜ → ↑s j ≤ ↑0 j
hj' :
  (∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ j → ↑0 j_1 ≤ ↑s j_1) ∧
    ∀ ⦃j_1 : Set α⦄, MeasurableSet j_1 → j_1 ⊆ jᶜ → ↑s j_1 ≤ ↑0 j_1
⊢ MeasurableSet (i ∩ jᶜ)

tactic: measurability
state_before: α : Type u_1
β : Type ?u.127949
inst✝³ : MeasurableSpace α
M : Type ?u.127955
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i✝ j✝ : Set α
s : SignedMeasure α
i j : Set α
hi : MeasurableSet i
hj : MeasurableSet j
hi' : restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)
hj' : restrict 0 j ≤ restrict s j ∧ restrict s (jᶜ) ≤ restrict 0 (jᶜ)
⊢ MeasurableSet (iᶜ)