Category instance for topological spaces #
We introduce the bundled category TopCat
of topological spaces together with the functors
TopCat.discrete
and TopCat.trivial
from the category of types to TopCat
which equip a type
with the corresponding discrete, resp. trivial, topology. For a proof that these functors are left,
resp. right adjoint to the forgetful functor, see Mathlib.Topology.Category.TopCat.Adjunctions
.
The category of topological spaces and continuous maps.
Equations
Instances For
Equations
- TopCat.concreteCategory = id inferInstance
Equations
- TopCat.instCoeSortTopCatType = CategoryTheory.Bundled.coeSort
Equations
- TopCat.topologicalSpaceUnbundled x = x.str
instance
TopCat.instCoeFunHomTopCatToQuiverToCategoryStructInstTopCatLargeCategoryForAllαTopologicalSpace
(X : TopCat)
(Y : TopCat)
:
Equations
- TopCat.instCoeFunHomTopCatToQuiverToCategoryStructInstTopCatLargeCategoryForAllαTopologicalSpace X Y = { coe := fun (f : X ⟶ Y) => ⇑f }
theorem
TopCat.comp_app
{X : TopCat}
{Y : TopCat}
{Z : TopCat}
(f : X ⟶ Y)
(g : Y ⟶ Z)
(x : ↑X)
:
(CategoryTheory.CategoryStruct.comp f g) x = g (f x)
Equations
- TopCat.topologicalSpace_coe X = X.str
@[reducible]
instance
TopCat.topologicalSpace_forget
(X : TopCat)
:
TopologicalSpace ((CategoryTheory.forget TopCat).toPrefunctor.obj X)
Equations
- TopCat.topologicalSpace_forget X = X.str
Equations
- TopCat.inhabited = { default := TopCat.of Empty }
The discrete topology on any type.
Equations
- TopCat.discrete = CategoryTheory.Functor.mk { obj := fun (X : Type u) => CategoryTheory.Bundled.mk X, map := fun {X Y : Type u} (f : X ⟶ Y) => ContinuousMap.mk f }
Instances For
instance
TopCat.instDiscreteTopologyαTopologicalSpaceObjTypeToQuiverToCategoryStructTypesTopCatInstTopCatLargeCategoryToPrefunctorDiscreteTopologicalSpace_coe
{X : Type u}
:
DiscreteTopology ↑(TopCat.discrete.toPrefunctor.obj X)
Equations
- (_ : DiscreteTopology ↑(TopCat.discrete.toPrefunctor.obj X)) = (_ : DiscreteTopology ↑(TopCat.discrete.toPrefunctor.obj X))
The trivial topology on any type.
Equations
- TopCat.trivial = CategoryTheory.Functor.mk { obj := fun (X : Type u) => CategoryTheory.Bundled.mk X, map := fun {X Y : Type u} (f : X ⟶ Y) => ContinuousMap.mk f }
Instances For
@[simp]
theorem
TopCat.isoOfHomeo_hom
{X : TopCat}
{Y : TopCat}
(f : ↑X ≃ₜ ↑Y)
:
(TopCat.isoOfHomeo f).hom = Homeomorph.toContinuousMap f
@[simp]
theorem
TopCat.isoOfHomeo_inv
{X : TopCat}
{Y : TopCat}
(f : ↑X ≃ₜ ↑Y)
:
(TopCat.isoOfHomeo f).inv = Homeomorph.toContinuousMap (Homeomorph.symm f)
@[simp]
theorem
TopCat.homeoOfIso_apply
{X : TopCat}
{Y : TopCat}
(f : X ≅ Y)
(a : (CategoryTheory.forget TopCat).toPrefunctor.obj X)
:
(TopCat.homeoOfIso f) a = f.hom a
@[simp]
theorem
TopCat.homeoOfIso_symm_apply
{X : TopCat}
{Y : TopCat}
(f : X ≅ Y)
(a : (CategoryTheory.forget TopCat).toPrefunctor.obj Y)
:
(Homeomorph.symm (TopCat.homeoOfIso f)) a = f.inv a
Any isomorphism in Top
induces a homeomorphism.
Equations
- TopCat.homeoOfIso f = Homeomorph.mk { toFun := ⇑f.hom, invFun := ⇑f.inv, left_inv := (_ : ∀ (x : ↑X), f.2 (f.1 x) = x), right_inv := (_ : ∀ (x : ↑Y), f.1 (f.2 x) = x) }
Instances For
@[simp]
@[simp]
theorem
TopCat.openEmbedding_iff_comp_isIso
{X : TopCat}
{Y : TopCat}
{Z : TopCat}
(f : X ⟶ Y)
(g : Y ⟶ Z)
[CategoryTheory.IsIso g]
:
@[simp]
theorem
TopCat.openEmbedding_iff_comp_isIso'
{X : TopCat}
{Y : TopCat}
{Z : TopCat}
(f : X ⟶ Y)
(g : Y ⟶ Z)
[CategoryTheory.IsIso g]
:
OpenEmbedding
(CategoryTheory.CategoryStruct.comp ((CategoryTheory.forget TopCat).toPrefunctor.map f)
((CategoryTheory.forget TopCat).toPrefunctor.map g)) ↔ OpenEmbedding ⇑f
theorem
TopCat.openEmbedding_iff_isIso_comp
{X : TopCat}
{Y : TopCat}
{Z : TopCat}
(f : X ⟶ Y)
(g : Y ⟶ Z)
[CategoryTheory.IsIso f]
:
@[simp]
theorem
TopCat.openEmbedding_iff_isIso_comp'
{X : TopCat}
{Y : TopCat}
{Z : TopCat}
(f : X ⟶ Y)
(g : Y ⟶ Z)
[CategoryTheory.IsIso f]
:
OpenEmbedding
(CategoryTheory.CategoryStruct.comp ((CategoryTheory.forget TopCat).toPrefunctor.map f)
((CategoryTheory.forget TopCat).toPrefunctor.map g)) ↔ OpenEmbedding ⇑g