module Cat.Functor.Algebra.Limits where
Limits in categories of algebras๐
This short note details the construction of limits in categories of F-algebras from limits in the underlying category.
module _
{o โ oj โj} {C : Precategory o โ}
(F : Functor C C)
{J : Precategory oj โj} (K : Functor J (FAlg F))
where
open Cat.Reasoning C
private
module J = Cat.Reasoning J
module F = Cat.Functor.Reasoning F
module K = Cat.Functor.Reasoning K
open Total-hom
Let be an endofunctor, and be a diagram of If has a limit of then is the limit of in
: Limit (ฯแถ (F-Algebras F) Fโ K) โ Limit K
Forget-algebra-lift-limit = to-limit (to-is-limit L') where
Forget-algebra-lift-limit L module L = Limit L
open make-is-limit
As noted earlier, the underlying object of the limit is The algebra is constructed via the universal property of to give a map it suffices to give maps for every which we can construct by composing the projection with the algebra
: FAlg.Ob F
apex .fst = L.apex
apex .snd = L.universal (ฮป j โ K.โ j .snd โ F.โ (L.ฯ j)) comm where abstract
apex
comm: โ {i j : J.Ob} (f : J.Hom i j)
โ K.โ f .hom โ K.โ i .snd โ F.โ (L.ฯ i) โก K.โ j .snd โ F.โ (L.ฯ j)
{i} {j} f =
comm .โ f .hom โ K.โ i .snd โ F.โ (L.ฯ i) โกโจ pulll (K.โ f .preserves) โฉ
K(K.โ j .snd โ F.โ (K.โ f .hom)) โ F.โ (L.ฯ i) โกโจ F.pullr (L.commutes f) โฉ
.โ j .snd โ F.โ (L.ฯ j) โ K
A short series of calculations shows that the projections and universal map associated to are homomorphisms.
: make-is-limit K apex
L' .ฯ j .hom = L.ฯ j
L' .ฯ j .preserves = L.factors _ _
L' .universal eps p .hom =
L' .universal (ฮป j โ eps j .hom) (ฮป f โ ap hom (p f))
L.universal eps p .preserves =
L' .uniqueโ (ฮป j โ K.Fโ j .snd โ F.โ (eps j .hom))
L(ฮป f โ pulll (K.โ f .preserves) โ F.pullr (ap hom (p f)))
(ฮป j โ pulll (L.factors _ _) โ eps j .preserves)
(ฮป j โ pulll (L.factors _ _) โ F.pullr (L.factors _ _))
Finally, equality of morphisms of is given by equality on the underlying morphisms, so all of the relevant diagrams in commute.
.commutes f =
L' (F-Algebras F) (L.commutes f) prop!
total-hom-path .factors eps p =
L' (F-Algebras F) (L.factors _ _) prop!
total-hom-path .unique eps p other q =
L' (F-Algebras F) (L.unique _ _ _ ฮป j โ ap hom (q j)) prop! total-hom-path
module _
{o โ oฮบ โฮบ} {C : Precategory o โ}
(complete : is-complete oฮบ โฮบ C)
where
This gives us the following useful corollary: if is then is also complete.
: (F : Functor C C) โ is-complete oฮบ โฮบ (FAlg F)
FAlg-is-complete = Forget-algebra-lift-limit F K (complete (ฯแถ (F-Algebras F) Fโ K)) FAlg-is-complete F K