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

Proof steps:
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
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
⊢ ∀ (x : ↑U), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 x ∧ IsPathConnected s) id
state_after: case mk
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
⊢ (𝓝 ⟨x, x_in⟩).HasBasis (fun s => s ∈ 𝓝 ⟨x, x_in⟩ ∧ IsPathConnected s) id
tactic: rintro ⟨x, x_in⟩
state_before: case mk
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
⊢ (𝓝 ⟨x, x_in⟩).HasBasis (fun s => s ∈ 𝓝 ⟨x, x_in⟩ ∧ IsPathConnected s) id
state_after: case mk
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
⊢ (comap Subtype.val (𝓝 x)).HasBasis (fun s => s ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected s) id
tactic: rw [nhds_subtype_eq_comap]
state_before: case mk
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
⊢ (comap Subtype.val (𝓝 x)).HasBasis (fun s => s ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected s) id
state_after: case mk.mem_iff'
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
⊢ ∀ (t : Set ↑U), t ∈ comap Subtype.val (𝓝 x) ↔ ∃ i, (i ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected i) ∧ id i ⊆ t
tactic: constructor
state_before: case mk.mem_iff'
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
⊢ ∀ (t : Set ↑U), t ∈ comap Subtype.val (𝓝 x) ↔ ∃ i, (i ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected i) ∧ id i ⊆ t
state_after: case mk.mem_iff'
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
V : Set ↑U
⊢ V ∈ comap Subtype.val (𝓝 x) ↔ ∃ i, (i ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected i) ∧ id i ⊆ V
tactic: intro V
state_before: case mk.mem_iff'
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
V : Set ↑U
⊢ V ∈ comap Subtype.val (𝓝 x) ↔ ∃ i, (i ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected i) ∧ id i ⊆ V
state_after: case mk.mem_iff'
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
V : Set ↑U
⊢ (∃ i, (i ∈ 𝓝 x ∧ IsPathConnected i ∧ i ⊆ U) ∧ Subtype.val ⁻¹' id i ⊆ V) ↔
    ∃ i, (i ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected i) ∧ id i ⊆ V
tactic: rw [(HasBasis.comap ((↑) : U → X) (pathConnected_subset_basis h x_in)).mem_iff]
state_before: case mk.mem_iff'
X : Type u_1
Y : Type u_2
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F : Set X
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
V : Set ↑U
⊢ (∃ i, (i ∈ 𝓝 x ∧ IsPathConnected i ∧ i ⊆ U) ∧ Subtype.val ⁻¹' id i ⊆ V) ↔
    ∃ i, (i ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected i) ∧ id i ⊆ V
state_after: case mk.mem_iff'.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
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
V : Set ↑U
⊢ (∃ i, (i ∈ 𝓝 x ∧ IsPathConnected i ∧ i ⊆ U) ∧ Subtype.val ⁻¹' id i ⊆ V) →
    ∃ i, (i ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected i) ∧ id i ⊆ V

case mk.mem_iff'.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
inst✝ : LocPathConnectedSpace X
U : Set X
h : IsOpen U
x : X
x_in : x ∈ U
V : Set ↑U
⊢ (∃ i, (i ∈ comap Subtype.val (𝓝 x) ∧ IsPathConnected i) ∧ id i ⊆ V) →
    ∃ i, (i ∈ 𝓝 x ∧ IsPathConnected i ∧ i ⊆ U) ∧ Subtype.val ⁻¹' id i ⊆ V
tactic: constructor