Profinite sets as limits of finite sets. #
We show that any profinite set is isomorphic to the limit of its discrete (hence finite) quotients.
Definitions #
There are a handful of definitions in this file, given X : Profinite
:
X.fintypeDiagram
is the functorDiscreteQuotient X ⥤ FintypeCat
whose limit is isomorphic toX
(the limit taking place inProfinite
viaFintypeCat.toProfinite
, see 2).X.diagram
is an abbreviation forX.fintypeDiagram ⋙ FintypeCat.toProfinite
.X.asLimitCone
is the cone overX.diagram
whose cone point isX
.X.isoAsLimitConeLift
is the isomorphismX ≅ (Profinite.limitCone X.diagram).X
induced by liftingX.asLimitCone
.X.asLimitConeIso
is the isomorphismX.asLimitCone ≅ (Profinite.limitCone X.diagram)
induced byX.isoAsLimitConeLift
.X.asLimit
is a term of typeIsLimit X.asLimitCone
.X.lim : CategoryTheory.Limits.LimitCone X.asLimitCone
is a bundled combination of 3 and 6.
def
Profinite.fintypeDiagram
(X : Profinite)
:
CategoryTheory.Functor (DiscreteQuotient ↑X.toCompHaus.toTop) FintypeCat
The functor DiscreteQuotient X ⥤ Fintype
whose limit is isomorphic to X
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline, reducible]
abbrev
Profinite.diagram
(X : Profinite)
:
CategoryTheory.Functor (DiscreteQuotient ↑X.toCompHaus.toTop) Profinite
An abbreviation for X.fintypeDiagram ⋙ FintypeCat.toProfinite
.
Equations
Instances For
A cone over X.diagram
whose cone point is X
.
Equations
- Profinite.asLimitCone X = { pt := X, π := CategoryTheory.NatTrans.mk fun (S : DiscreteQuotient ↑X.toCompHaus.toTop) => ContinuousMap.mk (DiscreteQuotient.proj S) }
Instances For
Equations
- One or more equations did not get rendered due to their size.
def
Profinite.isoAsLimitConeLift
(X : Profinite)
:
X ≅ (Profinite.limitCone (Profinite.diagram X)).pt
The isomorphism between X
and the explicit limit of X.diagram
,
induced by lifting X.asLimitCone
.
Equations
Instances For
The isomorphism of cones X.asLimitCone
and Profinite.limitCone X.diagram
.
The underlying isomorphism is defeq to X.isoAsLimitConeLift
.
Equations
Instances For
A bundled version of X.asLimitCone
and X.asLimit
.
Equations
- Profinite.lim X = { cone := Profinite.asLimitCone X, isLimit := Profinite.asLimit X }