Theorem: MeasureTheory.measure_eq_top_iff_of_symmDiff
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
⊢ μ s = ⊤ ↔ μ t = ⊤
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
⊢ ∀ (u v : Set α), μ (u ∆ v) ≠ ⊤ → μ u = ⊤ → μ v = ⊤
tactic: suffices h : ∀ u v, μ (u ∆ v) ≠ ∞ → μ u = ∞ → μ v = ∞
    from ⟨h s t hμst, h t s (symmDiff_comm s t ▸ hμst)⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
⊢ ∀ (u v : Set α), μ (u ∆ v) ≠ ⊤ → μ u = ⊤ → μ v = ⊤
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
u v : Set α
hμuv : μ (u ∆ v) ≠ ⊤
hμu : μ u = ⊤
⊢ μ v = ⊤
tactic: intro u v hμuv hμu
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
u v : Set α
hμuv : μ (u ∆ v) ≠ ⊤
hμu : μ u = ⊤
⊢ μ v = ⊤
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
u v : Set α
hμuv : μ (u ∆ v) ≠ ⊤
hμu : μ u = ⊤
hμv : μ v ≠ ⊤
⊢ False
tactic: by_contra! hμv
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
u v : Set α
hμuv : μ (u ∆ v) ≠ ⊤
hμu : μ u = ⊤
hμv : μ v ≠ ⊤
⊢ False
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
u v : Set α
hμuv : μ (u ∆ v) ≠ ⊤
hμu : μ u = ⊤
hμv : μ v ≠ ⊤
⊢ μ (u ∆ v) = ⊤
tactic: apply hμuv
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
u v : Set α
hμuv : μ (u ∆ v) ≠ ⊤
hμu : μ u = ⊤
hμv : μ v ≠ ⊤
⊢ μ (u ∆ v) = ⊤
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
u v : Set α
hμuv : μ (u ∆ v) ≠ ⊤
hμu : μ u = ⊤
hμv : μ v ≠ ⊤
⊢ ⊤ ≤ μ (u \ v ∪ v \ u)
tactic: rw [Set.symmDiff_def, eq_top_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hμst : μ (s ∆ t) ≠ ⊤
u v : Set α
hμuv : μ (u ∆ v) ≠ ⊤
hμu : μ u = ⊤
hμv : μ v ≠ ⊤
⊢ ⊤ ≤ μ (u \ v ∪ v \ u)
state_after: no goals
tactic: calc
    ∞ = μ u - μ v := (WithTop.sub_eq_top_iff.2 ⟨hμu, hμv⟩).symm
    _ ≤ μ (u \ v) := le_measure_diff
    _ ≤ μ (u \ v ∪ v \ u) := measure_mono subset_union_left