Compact subsets of products as limits in Profinite
#
This file exhibits a compact subset C
of a product (i : ι) → X i
of totally disconnected
Hausdorff spaces as a cofiltered limit in Profinite
indexed by Finset ι
.
Main definitions #
Profinite.indexFunctor
is the functor(Finset ι)ᵒᵖ ⥤ Profinite
indexing the limit. It mapsJ
to the restriction ofC
toJ
Profinite.indexCone
is a cone onProfinite.indexFunctor
with cone pointC
Main results #
Profinite.isIso_indexCone_lift
says that the natural map from the cone point of the explicit limit cone inProfinite
onindexFunctor
to the cone point ofindexCone
is an isomorphismProfinite.asLimitindexConeIso
is the induced isomorphism of cones.Profinite.indexCone_isLimit
says thatindexCone
is a limit cone.
def
Profinite.IndexFunctor.obj
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
(C : Set ((i : ι) → X i))
(J : ι → Prop)
:
Set ((i : { i : ι // J i }) → X ↑i)
The object part of the functor indexFunctor : (Finset ι)ᵒᵖ ⥤ Profinite
.
Equations
- Profinite.IndexFunctor.obj C J = ⇑(ContinuousMap.precomp Subtype.val) '' C
Instances For
def
Profinite.IndexFunctor.π_app
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
(C : Set ((i : ι) → X i))
(J : ι → Prop)
:
C(↑C, ↑(Profinite.IndexFunctor.obj C J))
The projection maps in the limit cone indexCone
.
Equations
- Profinite.IndexFunctor.π_app C J = { toFun := Set.MapsTo.restrict (⇑(ContinuousMap.precomp Subtype.val)) C (Profinite.IndexFunctor.obj C J) ⋯, continuous_toFun := ⋯ }
Instances For
def
Profinite.IndexFunctor.map
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
(C : Set ((i : ι) → X i))
{J K : ι → Prop}
(h : ∀ (i : ι), J i → K i)
:
C(↑(Profinite.IndexFunctor.obj C K), ↑(Profinite.IndexFunctor.obj C J))
The morphism part of the functor indexFunctor : (Finset ι)ᵒᵖ ⥤ Profinite
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Profinite.IndexFunctor.surjective_π_app
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
(C : Set ((i : ι) → X i))
{J : ι → Prop}
:
theorem
Profinite.IndexFunctor.map_comp_π_app
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
(C : Set ((i : ι) → X i))
{J K : ι → Prop}
(h : ∀ (i : ι), J i → K i)
:
⇑(Profinite.IndexFunctor.map C h) ∘ ⇑(Profinite.IndexFunctor.π_app C K) = ⇑(Profinite.IndexFunctor.π_app C J)
theorem
Profinite.IndexFunctor.eq_of_forall_π_app_eq
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
{C : Set ((i : ι) → X i)}
(a b : ↑C)
(h :
∀ (J : Finset ι),
(Profinite.IndexFunctor.π_app C fun (x : ι) => x ∈ J) a = (Profinite.IndexFunctor.π_app C fun (x : ι) => x ∈ J) b)
:
a = b
noncomputable def
Profinite.indexFunctor
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
{C : Set ((i : ι) → X i)}
[∀ (i : ι), T2Space (X i)]
[∀ (i : ι), TotallyDisconnectedSpace (X i)]
(hC : IsCompact C)
:
The functor from the poset of finsets of ι
to Profinite
, indexing the limit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
Profinite.indexCone
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
{C : Set ((i : ι) → X i)}
[∀ (i : ι), T2Space (X i)]
[∀ (i : ι), TotallyDisconnectedSpace (X i)]
(hC : IsCompact C)
:
The limit cone on indexFunctor
Equations
- Profinite.indexCone hC = { pt := Profinite.of ↑C, π := { app := fun (J : (Finset ι)ᵒᵖ) => Profinite.IndexFunctor.π_app C fun (x : ι) => x ∈ Opposite.unop J, naturality := ⋯ } }
Instances For
instance
Profinite.isIso_indexCone_lift
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
{C : Set ((i : ι) → X i)}
[∀ (i : ι), T2Space (X i)]
[∀ (i : ι), TotallyDisconnectedSpace (X i)]
(hC : IsCompact C)
:
CategoryTheory.IsIso ((Profinite.limitConeIsLimit (Profinite.indexFunctor hC)).lift (Profinite.indexCone hC))
noncomputable def
Profinite.isoindexConeLift
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
{C : Set ((i : ι) → X i)}
[∀ (i : ι), T2Space (X i)]
[∀ (i : ι), TotallyDisconnectedSpace (X i)]
(hC : IsCompact C)
:
Profinite.of ↑C ≅ (Profinite.limitCone (Profinite.indexFunctor hC)).pt
The canonical map from C
to the explicit limit as an isomorphism.
Equations
Instances For
noncomputable def
Profinite.asLimitindexConeIso
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
{C : Set ((i : ι) → X i)}
[∀ (i : ι), T2Space (X i)]
[∀ (i : ι), TotallyDisconnectedSpace (X i)]
(hC : IsCompact C)
:
The isomorphism of cones induced by isoindexConeLift
.
Equations
Instances For
noncomputable def
Profinite.indexCone_isLimit
{ι : Type u}
{X : ι → Type}
[(i : ι) → TopologicalSpace (X i)]
{C : Set ((i : ι) → X i)}
[∀ (i : ι), T2Space (X i)]
[∀ (i : ι), TotallyDisconnectedSpace (X i)]
(hC : IsCompact C)
:
indexCone
is a limit cone.
Equations
- Profinite.indexCone_isLimit hC = (Profinite.limitConeIsLimit (Profinite.indexFunctor hC)).ofIsoLimit (Profinite.asLimitindexConeIso hC).symm