Theorem: pathConnectedSpace_iff_univ
File: Mathlib/Topology/Connected/PathConnected.lean

tactic: constructor
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
⊢ PathConnectedSpace X ↔ IsPathConnected univ
state_after: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
⊢ PathConnectedSpace X → IsPathConnected univ

case mpr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
⊢ IsPathConnected univ → PathConnectedSpace X

tactic: intro h
state_before: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
⊢ PathConnectedSpace X → IsPathConnected univ
state_after: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
⊢ IsPathConnected univ

tactic: haveI := @PathConnectedSpace.nonempty X _ _
state_before: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
⊢ IsPathConnected univ
state_after: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
this : Nonempty X
⊢ IsPathConnected univ

tactic: inhabit X
state_before: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
this : Nonempty X
⊢ IsPathConnected univ
state_after: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
this : Nonempty X
inhabited_h : Inhabited X
⊢ IsPathConnected univ

tactic: refine ⟨default, mem_univ _, ?_⟩
state_before: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
this : Nonempty X
inhabited_h : Inhabited X
⊢ IsPathConnected univ
state_after: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
this : Nonempty X
inhabited_h : Inhabited X
⊢ ∀ {y : X}, y ∈ univ → JoinedIn univ default y

tactic: intros y _hy
state_before: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
this : Nonempty X
inhabited_h : Inhabited X
⊢ ∀ {y : X}, y ∈ univ → JoinedIn univ default y
state_after: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y✝ z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
this : Nonempty X
inhabited_h : Inhabited X
y : X
_hy : y ∈ univ
⊢ JoinedIn univ default y

tactic: simpa using PathConnectedSpace.joined default y
state_before: case mp
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y✝ z : X
ι : Type u_3
F : Set X
h : PathConnectedSpace X
this : Nonempty X
inhabited_h : Inhabited X
y : X
_hy : y ∈ univ
⊢ JoinedIn univ default y
state_after: no goals

tactic: intro h
state_before: case mpr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
⊢ IsPathConnected univ → PathConnectedSpace X
state_after: case mpr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : IsPathConnected univ
⊢ PathConnectedSpace X

tactic: have h' := h.joinedIn
state_before: case mpr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : IsPathConnected univ
⊢ PathConnectedSpace X
state_after: case mpr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : IsPathConnected univ
h' : ∀ x ∈ univ, ∀ y ∈ univ, JoinedIn univ x y
⊢ PathConnectedSpace X

tactic: cases' h with x h
state_before: case mpr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F : Set X
h : IsPathConnected univ
h' : ∀ x ∈ univ, ∀ y ∈ univ, JoinedIn univ x y
⊢ PathConnectedSpace X
state_after: case mpr.intro
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
h' : ∀ x ∈ univ, ∀ y ∈ univ, JoinedIn univ x y
x : X
h : x ∈ univ ∧ ∀ {y : X}, y ∈ univ → JoinedIn univ x y
⊢ PathConnectedSpace X

tactic: exact ⟨⟨x⟩, by simpa using h'⟩
state_before: case mpr.intro
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
h' : ∀ x ∈ univ, ∀ y ∈ univ, JoinedIn univ x y
x : X
h : x ∈ univ ∧ ∀ {y : X}, y ∈ univ → JoinedIn univ x y
⊢ PathConnectedSpace X
state_after: no goals

tactic: simpa using h'
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
h' : ∀ x ∈ univ, ∀ y ∈ univ, JoinedIn univ x y
x : X
h : x ∈ univ ∧ ∀ {y : X}, y ∈ univ → JoinedIn univ x y
⊢ ∀ (x y : X), Joined x y
state_after: no goals