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

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
⊢ 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: 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
⊢ 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: convert this using 1
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: 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 ∩ 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: rintro x ⟨hx₁, hx₂⟩
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: exact ⟨hx₁, by simpa [not_mem_of_mem_compl hx₂] using cover 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: simpa [not_mem_of_mem_compl hx₂] using cover hx₁
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ᶜ)
x : X
hx₁ : x ∈ s
hx₂ : x ∈ bᶜ
⊢ x ∈ a
state_after: no goals