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
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-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
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!
This 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))