Theorem: isClopen_inter_of_disjoint_cover_clopen
File: Mathlib/Topology/Clopen.lean

Proof steps:
state_before: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
⊢ IsClopen (s ∩ a)
state_after: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
⊢ IsClosed (s ∩ a)
tactic: refine ⟨?_, IsOpen.inter h.2 ha⟩
state_before: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
⊢ IsClosed (s ∩ a)
state_after: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
this : IsClosed (s ∩ bᶜ)
⊢ IsClosed (s ∩ a)
tactic: have : IsClosed (s ∩ bᶜ) := IsClosed.inter h.1 (isClosed_compl_iff.2 hb)
state_before: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
this : IsClosed (s ∩ bᶜ)
⊢ IsClosed (s ∩ a)
state_after: case h.e'_3
X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
this : IsClosed (s ∩ bᶜ)
⊢ s ∩ a = s ∩ bᶜ
tactic: convert this using 1
state_before: case h.e'_3
X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
this : IsClosed (s ∩ bᶜ)
⊢ s ∩ a = s ∩ bᶜ
state_after: case h.e'_3
X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
this : IsClosed (s ∩ bᶜ)
⊢ s ∩ bᶜ ⊆ s ∩ a
tactic: refine (inter_subset_inter_right s hab.subset_compl_right).antisymm ?_
state_before: case h.e'_3
X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
this : IsClosed (s ∩ bᶜ)
⊢ s ∩ bᶜ ⊆ s ∩ a
state_after: case h.e'_3.intro
X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
this : IsClosed (s ∩ bᶜ)
x : X
hx₁ : x ∈ s
hx₂ : x ∈ bᶜ
⊢ x ∈ s ∩ a
tactic: rintro x ⟨hx₁, hx₂⟩
state_before: case h.e'_3.intro
X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s✝ t s a b : Set X
h : IsClopen s
cover : s ⊆ a ∪ b
ha : IsOpen a
hb : IsOpen b
hab : Disjoint a b
this : IsClosed (s ∩ bᶜ)
x : X
hx₁ : x ∈ s
hx₂ : x ∈ bᶜ
⊢ x ∈ s ∩ a
state_after: no goals
tactic: exact ⟨hx₁, by simpa [not_mem_of_mem_compl hx₂] using cover hx₁⟩