File: Mathlib/Topology/Category/TopCat/OpenNhds.lean

full_name: TopologicalSpace.OpenNhds
code: /-- The type of open neighbourhoods of a point `x` in a (bundled) topological space. -/
def OpenNhds (x : X) 
goal: Type u

full_name: TopologicalSpace.OpenNhds.partialOrder
code: instance partialOrder (x : X) : PartialOrder (OpenNhds x) 
goal: PartialOrder (TopologicalSpace.OpenNhds x)

full_name: TopologicalSpace.OpenNhds.instLattice
code: instance (x : X) : Lattice (OpenNhds x) 
goal: Lattice (TopologicalSpace.OpenNhds x)

full_name: TopologicalSpace.OpenNhds.instOrderTop
code: instance (x : X) : OrderTop (OpenNhds x) 
goal: OrderTop (TopologicalSpace.OpenNhds x)

full_name: TopologicalSpace.OpenNhds.instInhabited
code: instance (x : X) : Inhabited (OpenNhds x) 
goal: Inhabited (TopologicalSpace.OpenNhds x)

full_name: TopologicalSpace.OpenNhds.openNhdsCategory
code: instance openNhdsCategory (x : X) : Category.{u} (OpenNhds x) 
goal: CategoryTheory.Category.{u, u} (TopologicalSpace.OpenNhds x)

full_name: TopologicalSpace.OpenNhds.opensNhdsHomHasCoeToFun
code: instance opensNhdsHomHasCoeToFun {x : X} {U V : OpenNhds x} : CoeFun (U ⟶ V) fun _ => U.1 → V.1 
goal: CoeFun (U ⟶ V) fun x_1 => ↥U.obj → ↥V.obj

full_name: TopologicalSpace.OpenNhds.infLELeft
code: /-- The inclusion `U ⊓ V ⟶ U` as a morphism in the category of open sets. -/
def infLELeft {x : X} (U V : OpenNhds x) : U ⊓ V ⟶ U 
goal: U ⊓ V ⟶ U

full_name: TopologicalSpace.OpenNhds.infLERight
code: /-- The inclusion `U ⊓ V ⟶ V` as a morphism in the category of open sets. -/
def infLERight {x : X} (U V : OpenNhds x) : U ⊓ V ⟶ V 
goal: U ⊓ V ⟶ V

full_name: TopologicalSpace.OpenNhds.inclusion
code: /-- The inclusion functor from open neighbourhoods of `x`
to open sets in the ambient topological space. -/
def inclusion (x : X) : OpenNhds x ⥤ Opens X 
goal: TopologicalSpace.OpenNhds x ⥤ TopologicalSpace.Opens ↑X

full_name: TopologicalSpace.OpenNhds.inclusion_obj
code: @[simp]
theorem inclusion_obj (x : X) (U) (p) : (inclusion x).obj ⟨U, p⟩ = U 
goal: (TopologicalSpace.OpenNhds.inclusion x).obj { obj := U, property := p } = U

full_name: TopologicalSpace.OpenNhds.openEmbedding
code: theorem openEmbedding {x : X} (U : OpenNhds x) : OpenEmbedding U.1.inclusion 
goal: OpenEmbedding ⇑U.obj.inclusion

full_name: TopologicalSpace.OpenNhds.map
code: /-- The preimage functor from neighborhoods of `f x` to neighborhoods of `x`. -/
def map (x : X) : OpenNhds (f x) ⥤ OpenNhds x 
goal: TopologicalSpace.OpenNhds (f x) ⥤ TopologicalSpace.OpenNhds x

full_name: TopologicalSpace.OpenNhds.map_obj
code: @[simp]
theorem map_obj (x : X) (U) (q) : (map f x).obj ⟨U, q⟩ = ⟨(Opens.map f).obj U, q⟩ 
goal: (TopologicalSpace.OpenNhds.map f x).obj { obj := U, property := q } =
  { obj := (TopologicalSpace.Opens.map f).obj U, property := q }

full_name: TopologicalSpace.OpenNhds.map_id_obj
code: @[simp]
theorem map_id_obj (x : X) (U) : (map (𝟙 X) x).obj U = U 
goal: (TopologicalSpace.OpenNhds.map (𝟙 X) x).obj U = U

full_name: TopologicalSpace.OpenNhds.map_id_obj'
code: @[simp]
theorem map_id_obj' (x : X) (U) (p) (q) : (map (𝟙 X) x).obj ⟨⟨U, p⟩, q⟩ = ⟨⟨U, p⟩, q⟩ 
goal: (TopologicalSpace.OpenNhds.map (𝟙 X) x).obj { obj := { carrier := U, is_open' := p }, property := q } =
  { obj := { carrier := U, is_open' := p }, property := q }

full_name: TopologicalSpace.OpenNhds.map_id_obj_unop
code: @[simp]
theorem map_id_obj_unop (x : X) (U : (OpenNhds x)ᵒᵖ) : (map (𝟙 X) x).obj (unop U) = unop U 
goal: (TopologicalSpace.OpenNhds.map (𝟙 X) x).obj (Opposite.unop U) = Opposite.unop U

full_name: TopologicalSpace.OpenNhds.op_map_id_obj
code: @[simp]
theorem op_map_id_obj (x : X) (U : (OpenNhds x)ᵒᵖ) : (map (𝟙 X) x).op.obj U = U 
goal: (TopologicalSpace.OpenNhds.map (𝟙 X) x).op.obj U = U

full_name: TopologicalSpace.OpenNhds.inclusionMapIso_hom_app
code: /-- `Opens.map f` and `OpenNhds.map f` form a commuting square (up to natural isomorphism)
with the inclusion functors into `Opens X`. -/
@[simps! hom_app inv_app]
def inclusionMapIso (x : X) : inclusion (f x) ⋙ Opens.map f ≅ map f x ⋙ inclusion x 
goal: ∀ (X_1 : TopologicalSpace.OpenNhds (f x)),
  (TopologicalSpace.OpenNhds.inclusionMapIso f x).hom.app X_1 =
    𝟙 ((TopologicalSpace.Opens.map f).obj ((TopologicalSpace.OpenNhds.inclusion (f x)).obj X_1))

full_name: TopologicalSpace.OpenNhds.inclusionMapIso_inv_app
code: /-- `Opens.map f` and `OpenNhds.map f` form a commuting square (up to natural isomorphism)
with the inclusion functors into `Opens X`. -/
@[simps! hom_app inv_app]
def inclusionMapIso (x : X) : inclusion (f x) ⋙ Opens.map f ≅ map f x ⋙ inclusion x 
goal: ∀ (X_1 : TopologicalSpace.OpenNhds (f x)),
  (TopologicalSpace.OpenNhds.inclusionMapIso f x).inv.app X_1 =
    𝟙 ((TopologicalSpace.OpenNhds.inclusion x).obj ((TopologicalSpace.OpenNhds.map f x).obj X_1))

full_name: TopologicalSpace.OpenNhds.inclusionMapIso
code: /-- `Opens.map f` and `OpenNhds.map f` form a commuting square (up to natural isomorphism)
with the inclusion functors into `Opens X`. -/
@[simps! hom_app inv_app]
def inclusionMapIso (x : X) : inclusion (f x) ⋙ Opens.map f ≅ map f x ⋙ inclusion x 
goal: TopologicalSpace.OpenNhds.inclusion (f x) ⋙ TopologicalSpace.Opens.map f ≅
  TopologicalSpace.OpenNhds.map f x ⋙ TopologicalSpace.OpenNhds.inclusion x

full_name: TopologicalSpace.OpenNhds.inclusionMapIso_hom
code: @[simp]
theorem inclusionMapIso_hom (x : X) : (inclusionMapIso f x).hom = 𝟙 _ 
goal: (TopologicalSpace.OpenNhds.inclusionMapIso f x).hom =
  𝟙 (TopologicalSpace.OpenNhds.inclusion (f x) ⋙ TopologicalSpace.Opens.map f)

full_name: TopologicalSpace.OpenNhds.inclusionMapIso_inv
code: @[simp]
theorem inclusionMapIso_inv (x : X) : (inclusionMapIso f x).inv = 𝟙 _ 
goal: (TopologicalSpace.OpenNhds.inclusionMapIso f x).inv =
  𝟙 (TopologicalSpace.OpenNhds.map f x ⋙ TopologicalSpace.OpenNhds.inclusion x)

full_name: IsOpenMap.functorNhds_obj_obj
code: /-- An open map `f : X ⟶ Y` induces a functor `OpenNhds x ⥤ OpenNhds (f x)`. -/
@[simps]
def functorNhds (h : IsOpenMap f) (x : X) : OpenNhds x ⥤ OpenNhds (f x) 
goal: ((h.functorNhds x).obj U).obj = h.functor.obj U.obj

full_name: IsOpenMap.functorNhds_map
code: /-- An open map `f : X ⟶ Y` induces a functor `OpenNhds x ⥤ OpenNhds (f x)`. -/
@[simps]
def functorNhds (h : IsOpenMap f) (x : X) : OpenNhds x ⥤ OpenNhds (f x) 
goal: ∀ {X_1 Y_1 : TopologicalSpace.OpenNhds x} (i : X_1 ⟶ Y_1), (h.functorNhds x).map i = h.functor.map i

full_name: IsOpenMap.functorNhds
code: /-- An open map `f : X ⟶ Y` induces a functor `OpenNhds x ⥤ OpenNhds (f x)`. -/
@[simps]
def functorNhds (h : IsOpenMap f) (x : X) : OpenNhds x ⥤ OpenNhds (f x) 
goal: TopologicalSpace.OpenNhds x ⥤ TopologicalSpace.OpenNhds (f x)

full_name: IsOpenMap.adjunctionNhds
code: /-- An open map `f : X ⟶ Y` induces an adjunction between `OpenNhds x` and `OpenNhds (f x)`. -/
def adjunctionNhds (h : IsOpenMap f) (x : X) : IsOpenMap.functorNhds h x ⊣ OpenNhds.map f x 
goal: h.functorNhds x ⊣ TopologicalSpace.OpenNhds.map f x