Explicit limits and colimits #
This file collects some constructions of explicit limits and colimits in CompHaus
,
which may be useful due to their definitional properties.
So far, we have the following:
- Explicit pullbacks, defined in the "usual" way as a subset of the product.
- Explicit finite coproducts, defined as a disjoint union.
The pullback of two morphisms f,g
in CompHaus
, constructed explicitly as the set of
pairs (x,y)
such that f x = g y
, with the topology induced by the product.
Equations
- CompHaus.pullback f g = CompHaus.of ↑{xy : ↑X.toTop × ↑Y.toTop | f xy.1 = g xy.2}
Instances For
The projection from the pullback to the first component.
Equations
- CompHaus.pullback.fst f g = { toFun := fun (x : ↑(CompHaus.pullback f g).toTop) => match x with | ⟨(x, snd), property⟩ => x, continuous_toFun := ⋯ }
Instances For
The projection from the pullback to the second component.
Equations
- CompHaus.pullback.snd f g = { toFun := fun (x : ↑(CompHaus.pullback f g).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
- CompHaus.pullback.lift f g a b w = { toFun := fun (z : ↑Z.toTop) => ⟨(a z, b z), ⋯⟩, continuous_toFun := ⋯ }
Instances For
The explicit pullback cone is a limit cone.
Equations
- CompHaus.pullback.isLimit f g = (CompHaus.pullback.cone f g).isLimitAux (fun (s : CategoryTheory.Limits.PullbackCone f g) => CompHaus.pullback.lift f g s.fst s.snd ⋯) ⋯ ⋯ ⋯
Instances For
The isomorphism from the explicit pullback to the abstract pullback.
Equations
- CompHaus.pullbackIsoPullback f g = (CompHaus.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 coproduct of a finite family of objects in CompHaus
, constructed as the disjoint
union with its usual topology.
Equations
- CompHaus.finiteCoproduct X = CompHaus.of ((a : α) × ↑(X a).toTop)
Instances For
The inclusion of one of the factors into the explicit finite coproduct.
Equations
- CompHaus.finiteCoproduct.ι X a = { toFun := fun (x : ↑(X a).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 essentially the universal property of the coproduct.
Equations
- CompHaus.finiteCoproduct.desc X e = { toFun := fun (x : ↑(CompHaus.finiteCoproduct X).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
The isomorphism from the explicit finite coproducts to the abstract coproduct.
Equations
- CompHaus.coproductIsoCoproduct X = (CompHaus.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.
The isomorphism from an arbitrary terminal object of CompHaus
to a one-element space.
Equations
- CompHaus.terminalIsoPUnit = CategoryTheory.Limits.terminalIsTerminal.uniqueUpToIso CompHaus.isTerminalPUnit