Theorem: comap_coe_nhdsWithin_Iio_of_Ioo_subset
File: Mathlib/Topology/Order/DenselyOrdered.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a b : α
s : Set α
hb : s ⊆ Iio b
hs : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
⊢ comap Subtype.val (𝓝[<] b) = atTop
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a b : α
s : Set α
hb : s ⊆ Iio b
hs : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
⊢ comap Subtype.val (𝓝[<] b) = atTop
tactic: nontriviality
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a b : α
s : Set α
hb : s ⊆ Iio b
hs : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
⊢ comap Subtype.val (𝓝[<] b) = atTop
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a b : α
s : Set α
hb : s ⊆ Iio b
hs : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
this : Nonempty ↑s
⊢ comap Subtype.val (𝓝[<] b) = atTop
tactic: haveI : Nonempty s := nontrivial_iff_nonempty.1 ‹_›
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a b : α
s : Set α
hb : s ⊆ Iio b
hs : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
this : Nonempty ↑s
⊢ comap Subtype.val (𝓝[<] b) = atTop
state_after: case intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝¹ b : α
s : Set α
hb : s ⊆ Iio b
hs✝ : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
this : Nonempty ↑s
a : α
h : a < b
hs : Ioo a b ⊆ s
⊢ comap Subtype.val (𝓝[<] b) = atTop
tactic: rcases hs (nonempty_subtype.1 ‹_›) with ⟨a, h, hs⟩
state_before: case intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝¹ b : α
s : Set α
hb : s ⊆ Iio b
hs✝ : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
this : Nonempty ↑s
a : α
h : a < b
hs : Ioo a b ⊆ s
⊢ comap Subtype.val (𝓝[<] b) = atTop
state_after: case intro.intro.h
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝¹ b : α
s : Set α
hb : s ⊆ Iio b
hs✝ : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
this : Nonempty ↑s
a : α
h : a < b
hs : Ioo a b ⊆ s
u : Set { x // x ∈ s }
⊢ u ∈ comap Subtype.val (𝓝[<] b) ↔ u ∈ atTop
tactic: ext u
state_before: case intro.intro.h
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝¹ b : α
s : Set α
hb : s ⊆ Iio b
hs✝ : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
this : Nonempty ↑s
a : α
h : a < b
hs : Ioo a b ⊆ s
u : Set { x // x ∈ s }
⊢ u ∈ comap Subtype.val (𝓝[<] b) ↔ u ∈ atTop
state_after: case intro.intro.h.mp
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝¹ b : α
s : Set α
hb : s ⊆ Iio b
hs✝ : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
this : Nonempty ↑s
a : α
h : a < b
hs : Ioo a b ⊆ s
u : Set { x // x ∈ s }
⊢ u ∈ comap Subtype.val (𝓝[<] b) → u ∈ atTop

case intro.intro.h.mpr
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝¹ b : α
s : Set α
hb : s ⊆ Iio b
hs✝ : s.Nonempty → ∃ a < b, Ioo a b ⊆ s
a✝ : Nontrivial (Filter { x // x ∈ s })
this : Nonempty ↑s
a : α
h : a < b
hs : Ioo a b ⊆ s
u : Set { x // x ∈ s }
⊢ u ∈ atTop → u ∈ comap Subtype.val (𝓝[<] b)
tactic: constructor