Explicit limits and colimits #
This file collects some constructions of explicit limits and colimits in LightProfinite
,
which may be useful due to their definitional properties.
Main definitions #
LightProfinite.pullback
: Explicit pullback, defined in the "usual" way as a subset of the product.LightProfinite.finiteCoproduct
: Explicit finite coproducts, defined as a disjoint union.
The pullback of two morphisms f, g
in LightProfinite
, constructed explicitly as the set of
pairs (x, y)
such that f x = g y
, with the topology induced by the product.
Equations
- LightProfinite.pullback f g = LightProfinite.of ↑{xy : ↑X.toCompHaus.toTop × ↑Y.toCompHaus.toTop | f xy.1 = g xy.2}
Instances For
The projection from the pullback to the first component.
Equations
- LightProfinite.pullback.fst f g = { toFun := fun (x : ↑(LightProfinite.pullback f g).toCompHaus.toTop) => match x with | ⟨(x, snd), property⟩ => x, continuous_toFun := ⋯ }
Instances For
The projection from the pullback to the second component.
Equations
- LightProfinite.pullback.snd f g = { toFun := fun (x : ↑(LightProfinite.pullback f g).toCompHaus.toTop) => match x with | ⟨(fst, y), property⟩ => y, continuous_toFun := ⋯ }
Instances For
Construct a morphism to the explicit pullback given morphisms to the factors which are compatible with the maps to the base. This is essentially the universal property of the pullback.
Equations
- LightProfinite.pullback.lift f g a b w = { toFun := fun (z : ↑Z.toCompHaus.toTop) => ⟨(a z, b z), ⋯⟩, continuous_toFun := ⋯ }
Instances For
The pullback cone whose cone point is the explicit pullback.
Equations
Instances For
The explicit pullback cone is a limit cone.
Equations
- LightProfinite.pullback.isLimit f g = (LightProfinite.pullback.cone f g).isLimitAux (fun (s : CategoryTheory.Limits.PullbackCone f g) => LightProfinite.pullback.lift f g s.fst s.snd ⋯) ⋯ ⋯ ⋯
Instances For
The isomorphism from the explicit pullback to the abstract pullback.
Equations
- LightProfinite.pullbackIsoPullback f g = (LightProfinite.pullback.isLimit f g).conePointUniqueUpToIso (CategoryTheory.Limits.limit.isLimit (CategoryTheory.Limits.cospan f g))
Instances For
The homeomorphism from the explicit pullback to the abstract pullback.
Equations
Instances For
The "explicit" coproduct of a finite family of objects in LightProfinite
, whose underlying
profinite set is the disjoint union with its usual topology.
Equations
- LightProfinite.finiteCoproduct X = LightProfinite.of ((a : α) × ↑(X a).toCompHaus.toTop)
Instances For
The inclusion of one of the factors into the explicit finite coproduct.
Equations
- LightProfinite.finiteCoproduct.ι X a = { toFun := fun (x : ↑(X a).toCompHaus.toTop) => ⟨a, x⟩, continuous_toFun := ⋯ }
Instances For
To construct a morphism from the explicit finite coproduct, it suffices to specify a morphism from each of its factors. This is the universal property of the coproduct.
Equations
- LightProfinite.finiteCoproduct.desc X e = { toFun := fun (x : ↑(LightProfinite.finiteCoproduct X).toCompHaus.toTop) => match x with | ⟨a, x⟩ => (e a) x, continuous_toFun := ⋯ }
Instances For
The coproduct cocone associated to the explicit finite coproduct.
Equations
Instances For
The explicit finite coproduct cocone is a colimit cocone.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
The isomorphism from the explicit finite coproducts to the abstract coproduct.
Equations
- LightProfinite.coproductIsoCoproduct X = (LightProfinite.finiteCoproduct.isColimit X).coconePointUniqueUpToIso (CategoryTheory.Limits.colimit.isColimit (CategoryTheory.Discrete.functor X))
Instances For
The homeomorphism from the explicit finite coproducts to the abstract coproduct.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- X.instUniqueHomOfPUnit = { default := { toFun := fun (x : ↑X.toCompHaus.toTop) => PUnit.unit, continuous_toFun := ⋯ }, uniq := ⋯ }
A one-element space is terminal in LightProfinite
Equations
Instances For
The isomorphism from an arbitrary terminal object of LightProfinite
to a one-element space.
Equations
- LightProfinite.terminalIsoPUnit = CategoryTheory.Limits.terminalIsTerminal.uniqueUpToIso LightProfinite.isTerminalPUnit
Instances For
Equations
- LightProfinite.instPreservesFiniteCoproductsTopCatToTopCat = { preserves := fun (x : Type) (x_1 : Fintype x) => inferInstance }