module Cat.Functor.Algebra.Limits whereLimits 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-homLet be an endofunctor, and be a diagram of If has a limit of then is the limit of in
Forget-algebra-lift-limit : Limit (ฯแถ (F-Algebras F) Fโ K) โ Limit K
Forget-algebra-lift-limit L = to-limit (to-is-limit L') where
module L = Limit L
open make-is-limitAs 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
apex : FAlg.Ob F
apex .fst = L.apex
apex .snd = L.universal (ฮป j โ K.โ j .snd โ F.โ (L.ฯ j)) comm where abstract
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)
comm {i} {j} f =
K.โ f .hom โ K.โ i .snd โ F.โ (L.ฯ i) โกโจ pulll (K.โ f .preserves) โฉ
(K.โ j .snd โ F.โ (K.โ f .hom)) โ F.โ (L.ฯ i) โกโจ F.pullr (L.commutes f) โฉ
K.โ j .snd โ F.โ (L.ฯ j) โA short series of calculations shows that the projections and universal map associated to are homomorphisms.
L' : 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))
(ฮป 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.
L' .commutes f =
total-hom-path (F-Algebras F) (L.commutes f) prop!
L' .factors eps p =
total-hom-path (F-Algebras F) (L.factors _ _) prop!
L' .unique eps p other q =
total-hom-path (F-Algebras F) (L.unique _ _ _ ฮป j โ ap hom (q j)) prop!module _
{o โ oฮบ โฮบ} {C : Precategory o โ}
(complete : is-complete oฮบ โฮบ C)
whereThis gives us the following useful corollary: if is then is also complete.
FAlg-is-complete : (F : Functor C C) โ is-complete oฮบ โฮบ (FAlg F)
FAlg-is-complete F K = Forget-algebra-lift-limit F K (complete (ฯแถ (F-Algebras F) Fโ K))