Theorem: PreconnectedSpace.induction₂'
File: Mathlib/Topology/Connected/Clopen.lean

Proof steps:
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
⊢ P x y
state_after: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
⊢ P x y
tactic: let u := {z | P x z}
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
⊢ P x y
state_after: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
⊢ P x y
tactic: have A : IsClosed u := by
    apply isClosed_iff_nhds.2 (fun z hz ↦ ?_)
    rcases hz _ (h z) with ⟨t, ht, h't⟩
    exact h' h't ht.2
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
⊢ P x y
state_after: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
B : IsOpen u
⊢ P x y
tactic: have B : IsOpen u := by
    apply isOpen_iff_mem_nhds.2 (fun z hz ↦ ?_)
    filter_upwards [h z] with t ht
    exact h' hz ht.1
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
B : IsOpen u
⊢ P x y
state_after: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
B : IsOpen u
C : u.Nonempty
⊢ P x y
tactic: have C : u.Nonempty := ⟨x, (mem_of_mem_nhds (h x)).1⟩
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
B : IsOpen u
C : u.Nonempty
⊢ P x y
state_after: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
B : IsOpen u
C : u.Nonempty
D : u = univ
⊢ P x y
tactic: have D : u = Set.univ := IsClopen.eq_univ ⟨A, B⟩ C
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
B : IsOpen u
C : u.Nonempty
D : u = univ
⊢ P x y
state_after: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
B : IsOpen u
C : u.Nonempty
D : u = univ
⊢ y ∈ u
tactic: show y ∈ u
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s t u✝ v : Set α
inst✝ : PreconnectedSpace α
P : α → α → Prop
h : ∀ (x : α), ∀ᶠ (y : α) in 𝓝 x, P x y ∧ P y x
h' : Transitive P
x y : α
u : Set α := {z | P x z}
A : IsClosed u
B : IsOpen u
C : u.Nonempty
D : u = univ
⊢ y ∈ u
state_after: no goals
tactic: simp [D]