Theorem: SeparationQuotient.t1Space_iff
File: Mathlib/Topology/Separation.lean

tactic: rw [r0Space_iff, ((t1Space_TFAE (SeparationQuotient X)).out 0 9 :)]
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
⊢ T1Space (SeparationQuotient X) ↔ R0Space X
state_after: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
⊢ (∀ ⦃x y : SeparationQuotient X⦄, x ⤳ y → x = y) ↔ Symmetric Specializes

tactic: constructor
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
⊢ (∀ ⦃x y : SeparationQuotient X⦄, x ⤳ y → x = y) ↔ Symmetric Specializes
state_after: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
⊢ (∀ ⦃x y : SeparationQuotient X⦄, x ⤳ y → x = y) → Symmetric Specializes

case mpr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
⊢ Symmetric Specializes → ∀ ⦃x y : SeparationQuotient X⦄, x ⤳ y → x = y

tactic: intro h x y xspecy
state_before: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
⊢ (∀ ⦃x y : SeparationQuotient X⦄, x ⤳ y → x = y) → Symmetric Specializes
state_after: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : ∀ ⦃x y : SeparationQuotient X⦄, x ⤳ y → x = y
x y : X
xspecy : x ⤳ y
⊢ y ⤳ x

tactic: rw [← Inducing.specializes_iff inducing_mk, h xspecy] at *
state_before: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : ∀ ⦃x y : SeparationQuotient X⦄, x ⤳ y → x = y
x y : X
xspecy : x ⤳ y
⊢ y ⤳ x
state_after: no goals

tactic: rintro h ⟨x⟩ ⟨y⟩ sxspecsy
state_before: case mpr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
⊢ Symmetric Specializes → ∀ ⦃x y : SeparationQuotient X⦄, x ⤳ y → x = y
state_after: case mpr.mk.mk
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : Symmetric Specializes
x✝ : SeparationQuotient X
x : X
y✝ : SeparationQuotient X
y : X
sxspecsy : Quot.mk Setoid.r x ⤳ Quot.mk Setoid.r y
⊢ Quot.mk Setoid.r x = Quot.mk Setoid.r y

tactic: have xspecy : x ⤳ y := (Inducing.specializes_iff inducing_mk).mp sxspecsy
state_before: case mpr.mk.mk
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : Symmetric Specializes
x✝ : SeparationQuotient X
x : X
y✝ : SeparationQuotient X
y : X
sxspecsy : Quot.mk Setoid.r x ⤳ Quot.mk Setoid.r y
⊢ Quot.mk Setoid.r x = Quot.mk Setoid.r y
state_after: case mpr.mk.mk
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : Symmetric Specializes
x✝ : SeparationQuotient X
x : X
y✝ : SeparationQuotient X
y : X
sxspecsy : Quot.mk Setoid.r x ⤳ Quot.mk Setoid.r y
xspecy : x ⤳ y
⊢ Quot.mk Setoid.r x = Quot.mk Setoid.r y

tactic: have yspecx : y ⤳ x := h xspecy
state_before: case mpr.mk.mk
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : Symmetric Specializes
x✝ : SeparationQuotient X
x : X
y✝ : SeparationQuotient X
y : X
sxspecsy : Quot.mk Setoid.r x ⤳ Quot.mk Setoid.r y
xspecy : x ⤳ y
⊢ Quot.mk Setoid.r x = Quot.mk Setoid.r y
state_after: case mpr.mk.mk
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : Symmetric Specializes
x✝ : SeparationQuotient X
x : X
y✝ : SeparationQuotient X
y : X
sxspecsy : Quot.mk Setoid.r x ⤳ Quot.mk Setoid.r y
xspecy : x ⤳ y
yspecx : y ⤳ x
⊢ Quot.mk Setoid.r x = Quot.mk Setoid.r y

tactic: erw [mk_eq_mk, inseparable_iff_specializes_and]
state_before: case mpr.mk.mk
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : Symmetric Specializes
x✝ : SeparationQuotient X
x : X
y✝ : SeparationQuotient X
y : X
sxspecsy : Quot.mk Setoid.r x ⤳ Quot.mk Setoid.r y
xspecy : x ⤳ y
yspecx : y ⤳ x
⊢ Quot.mk Setoid.r x = Quot.mk Setoid.r y
state_after: case mpr.mk.mk
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : Symmetric Specializes
x✝ : SeparationQuotient X
x : X
y✝ : SeparationQuotient X
y : X
sxspecsy : Quot.mk Setoid.r x ⤳ Quot.mk Setoid.r y
xspecy : x ⤳ y
yspecx : y ⤳ x
⊢ x ⤳ y ∧ y ⤳ x

tactic: exact ⟨xspecy, yspecx⟩
state_before: case mpr.mk.mk
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
h : Symmetric Specializes
x✝ : SeparationQuotient X
x : X
y✝ : SeparationQuotient X
y : X
sxspecsy : Quot.mk Setoid.r x ⤳ Quot.mk Setoid.r y
xspecy : x ⤳ y
yspecx : y ⤳ x
⊢ x ⤳ y ∧ y ⤳ x
state_after: no goals