Limits of monoid objects. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
If C
has limits, so does Mon_ C
, and the forgetful functor preserves these limits.
(This could potentially replace many individual constructions for concrete categories,
in particular Mon
, SemiRing
, Ring
, and Algebra R
.)
We construct the (candidate) limit of a functor F : J ⥤ Mon_ C
by interpreting it as a functor Mon_ (J ⥤ C)
,
and noting that taking limits is a lax monoidal functor,
and hence sends monoid objects to monoid objects.
Implementation of Mon_.has_limits
: a limiting cone over a functor F : J ⥤ Mon_ C
.
Equations
- Mon_.limit_cone F = {X := Mon_.limit F, π := {app := λ (j : J), {hom := category_theory.limits.limit.π (F ⋙ Mon_.forget C) j, one_hom' := _, mul_hom' := _}, naturality' := _}}
The image of the proposed limit cone for F : J ⥤ Mon_ C
under the forgetful functor
forget C : Mon_ C ⥤ C
is isomorphic to the limit cone of F ⋙ forget C
.
Equations
Implementation of Mon_.has_limits
:
the proposed cone over a functor F : J ⥤ Mon_ C
is a limit cone.
Equations
- Mon_.limit_cone_is_limit F = {lift := λ (s : category_theory.limits.cone F), {hom := category_theory.limits.limit.lift (F ⋙ Mon_.forget C) ((Mon_.forget C).map_cone s), one_hom' := _, mul_hom' := _}, fac' := _, uniq' := _}
Equations
- Mon_.forget_preserves_limits = {preserves_limits_of_shape := λ (J : Type v) (𝒥 : category_theory.category J), {preserves_limit := λ (F : J ⥤ Mon_ C), category_theory.limits.preserves_limit_of_preserves_limit_cone (Mon_.limit_cone_is_limit F) ((category_theory.limits.limit.is_limit (F ⋙ Mon_.forget C)).of_iso_limit (Mon_.forget_map_cone_limit_cone_iso F).symm)}}