The category of Profinite Types #
We construct the category of profinite topological spaces, often called profinite sets -- perhaps they could be called profinite types in Lean.
The type of profinite topological spaces is called Profinite
. It has a category
instance and is a fully faithful subcategory of TopCat
. The fully faithful functor
is called Profinite.toTop
.
Implementation notes #
A profinite type is defined to be a topological space which is compact, Hausdorff and totally disconnected.
TODO #
- Define procategories and prove that
Profinite
is equivalent toPro (FintypeCat)
.
Tags #
profinite
The type of profinite topological spaces.
- toCompHaus : CompHaus
The underlying compact Hausdorff space of a profinite space.
- isTotallyDisconnected : TotallyDisconnectedSpace ↑self.toCompHaus.toTop
A profinite space is totally disconnected.
Instances For
Construct a term of Profinite
from a type endowed with the structure of a
compact, Hausdorff and totally disconnected topological space.
Equations
Instances For
Equations
- Profinite.instInhabitedProfinite = { default := Profinite.of PEmpty.{u_1 + 1} }
Equations
- Profinite.hasForget₂ = CategoryTheory.InducedCategory.hasForget₂ fun (X : CategoryTheory.InducedCategory CompHaus Profinite.toCompHaus) => X.toCompHaus.toTop
Equations
- Profinite.instCoeSortProfiniteType = { coe := fun (X : Profinite) => ↑X.toCompHaus.toTop }
Equations
- (_ : TotallyDisconnectedSpace ↑X.toCompHaus.toTop) = (_ : TotallyDisconnectedSpace ↑X.toCompHaus.toTop)
Equations
- Profinite.instTopologicalSpaceObjProfiniteToQuiverToCategoryStructCategoryTypeTypesToPrefunctorForgetConcreteCategory = let_fun this := inferInstance; this
Equations
- (_ : TotallyDisconnectedSpace ((CategoryTheory.forget Profinite).toPrefunctor.obj X)) = (_ : TotallyDisconnectedSpace ↑X.toCompHaus.toTop)
Equations
- (_ : CompactSpace ((CategoryTheory.forget Profinite).toPrefunctor.obj X)) = (_ : CompactSpace ↑X.toCompHaus.toTop)
Equations
- (_ : T2Space ((CategoryTheory.forget Profinite).toPrefunctor.obj X)) = (_ : T2Space ↑X.toCompHaus.toTop)
Equations
- instFullProfiniteCategoryCompHausCategoryProfiniteToCompHaus = let_fun this := inferInstance; this
Equations
- (_ : TotallyDisconnectedSpace ↑(profiniteToCompHaus.toPrefunctor.obj X).toTop) = (_ : TotallyDisconnectedSpace ↑X.toCompHaus.toTop)
Equations
- instFullProfiniteCategoryTopCatInstTopCatLargeCategoryToTopCat = let_fun this := inferInstance; this
Equations
- One or more equations did not get rendered due to their size.
(Implementation) The object part of the connected_components functor from compact Hausdorff spaces to Profinite spaces, given by quotienting a space by its connected components. See: https://stacks.math.columbia.edu/tag/0900
Equations
- CompHaus.toProfiniteObj X = Profinite.mk (CompHaus.mk (TopCat.of (ConnectedComponents ↑X.toTop)))
Instances For
(Implementation) The bijection of homsets to establish the reflective adjunction of Profinite spaces in compact Hausdorff spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The connected_components functor from compact Hausdorff spaces to profinite spaces, left adjoint to the inclusion functor.
Equations
Instances For
Finite types are given the discrete topology.
Equations
Instances For
The natural functor from Fintype
to Profinite
, endowing a finite type with the
discrete topology.
Equations
- FintypeCat.toProfinite = CategoryTheory.Functor.mk { obj := fun (A : FintypeCat) => Profinite.of ↑A, map := fun {X Y : FintypeCat} (f : X ⟶ Y) => ContinuousMap.mk f }
Instances For
Many definitions involving universe inequalities in Mathlib are expressed through use of max u v
.
Unfortunately, this leads to unbound universes which cannot be solved for during unification, eg
max u v =?= max v ?
.
The current solution is to wrap Type max u v
in TypeMax.{u,v}
to expose both universe parameters directly.
Similarly, for other concrete categories for which we need to refer to the maximum of two universes (e.g. any category for which we are constructing limits), we need an analogous abbreviation.
Equations
Instances For
An explicit limit cone for a functor F : J ⥤ Profinite
, defined in terms of
CompHaus.limitCone
, which is defined in terms of TopCat.limitCone
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The limit cone Profinite.limitCone F
is indeed a limit cone.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The adjunction between CompHaus.to_Profinite and Profinite.to_CompHaus
Equations
Instances For
The category of profinite sets is reflective in the category of compact Hausdorff spaces
Equations
- Profinite.toCompHaus.reflective = CategoryTheory.Reflective.mk
Any morphism of profinite spaces is a closed map.
Any continuous bijection of profinite spaces induces an isomorphism.
Any continuous bijection of profinite spaces induces an isomorphism.
Equations
Instances For
Construct an isomorphism from a homeomorphism.
Equations
Instances For
Construct a homeomorphism from an isomorphism.
Equations
- Profinite.homeoOfIso f = CompHaus.homeoOfIso (profiniteToCompHaus.mapIso f)
Instances For
The equivalence between isomorphisms in Profinite
and homeomorphisms
of topological spaces.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- (_ : CategoryTheory.Epi f) = (_ : CategoryTheory.Epi f)
Equations
- (_ : CategoryTheory.Epi f) = (_ : CategoryTheory.Epi f)