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.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
@[reducible, inline]
abbrev
Profinite.diagram
(X : Profinite)
:
CategoryTheory.Functor (DiscreteQuotient ↑X.toTop) Profinite
An abbreviation for X.fintypeDiagram ⋙ FintypeCat.toProfinite
.
Equations
- X.diagram = X.fintypeDiagram.comp FintypeCat.toProfinite
Instances For
A cone over X.diagram
whose cone point is X
.
Equations
- X.asLimitCone = { pt := X, π := { app := fun (S : DiscreteQuotient ↑X.toTop) => { toFun := S.proj, continuous_toFun := ⋯ }, naturality := ⋯ } }
Instances For
instance
Profinite.isIso_asLimitCone_lift
(X : Profinite)
:
CategoryTheory.IsIso ((Profinite.limitConeIsLimit X.diagram).lift X.asLimitCone)
The isomorphism between X
and the explicit limit of X.diagram
,
induced by lifting X.asLimitCone
.
Equations
- X.isoAsLimitConeLift = CategoryTheory.asIso ((Profinite.limitConeIsLimit X.diagram).lift X.asLimitCone)
Instances For
The isomorphism of cones X.asLimitCone
and Profinite.limitCone X.diagram
.
The underlying isomorphism is defeq to X.isoAsLimitConeLift
.
Equations
- X.asLimitConeIso = CategoryTheory.Limits.Cones.ext X.asLimitCone.pt.isoAsLimitConeLift ⋯
Instances For
X.asLimitCone
is indeed a limit cone.
Equations
- X.asLimit = (Profinite.limitConeIsLimit X.diagram).ofIsoLimit X.asLimitConeIso.symm
Instances For
A bundled version of X.asLimitCone
and X.asLimit
.
Equations
- X.lim = { cone := X.asLimitCone, isLimit := X.asLimit }