(Impl) The natural transformation used to define the new cone
Equations
- category_theory.monad.forget_creates_limits.γ D = {app := λ (j : J), (D.obj j).a, naturality' := _}
(Impl) This new cone is used to construct the algebra structure
Equations
The algebra structure which will be the apex of the new limit cone for D.
Equations
- category_theory.monad.forget_creates_limits.cone_point D c t = {A := c.X, a := t.lift (category_theory.monad.forget_creates_limits.new_cone D c), unit' := _, assoc' := _}
(Impl) Construct the lifted cone in algebra T which will be limiting.
Equations
- category_theory.monad.forget_creates_limits.lifted_cone D c t = {X := category_theory.monad.forget_creates_limits.cone_point D c t, π := {app := λ (j : J), {f := c.π.app j, h' := _}, naturality' := _}}
(Impl) Prove that the lifted cone is limiting.
Equations
- category_theory.monad.forget_creates_limits.lifted_cone_is_limit D c t = {lift := λ (s : category_theory.limits.cone D), {f := t.lift ((category_theory.monad.forget T).map_cone s), h' := _}, fac' := _, uniq' := _}
The forgetful functor from the Eilenberg-Moore category creates limits.
Equations
- category_theory.monad.forget_creates_limits = {creates_limits_of_shape := λ (J : Type v₁) (𝒥 : category_theory.small_category J), {creates_limit := λ (D : J ⥤ category_theory.monad.algebra T), category_theory.creates_limit_of_reflects_iso (λ (c : category_theory.limits.cone (D ⋙ category_theory.monad.forget T)) (t : category_theory.limits.is_limit c), {to_liftable_cone := {lifted_cone := category_theory.monad.forget_creates_limits.lifted_cone D c t, valid_lift := category_theory.limits.cones.ext (category_theory.iso.refl ((category_theory.monad.forget T).map_cone (category_theory.monad.forget_creates_limits.lifted_cone D c t)).X) _}, makes_limit := category_theory.monad.forget_creates_limits.lifted_cone_is_limit D c t})}}
D ⋙ forget T has a limit, then D has a limit.
(Impl)
The natural transformation given by the algebra structure maps, used to construct a cocone c with
apex colimit (D ⋙ forget T).
Equations
- category_theory.monad.forget_creates_colimits.γ = {app := λ (j : J), (D.obj j).a, naturality' := _}
(Impl)
A cocone for the diagram (D ⋙ forget T) ⋙ T found by composing the natural transformation γ
with the colimiting cocone for D ⋙ forget T.
Equations
(Impl)
Define the map λ : TL ⟶ L, which will serve as the structure of the coalgebra on L, and
we will show is the colimiting object. We use the cocone constructed by c and the fact that
T preserves colimits to produce this morphism.
(Impl) The key property defining the map λ : TL ⟶ L.
(Impl)
Construct the colimiting algebra from the map λ : TL ⟶ L given by lambda. We are required to
show it satisfies the two algebra laws, which follow from the algebra laws for the image of D and
our commuting lemma.
Equations
- category_theory.monad.forget_creates_colimits.cocone_point c t = {A := c.X, a := category_theory.monad.forget_creates_colimits.lambda c t _inst_4, unit' := _, assoc' := _}
(Impl) Construct the lifted cocone in algebra T which will be colimiting.
Equations
- category_theory.monad.forget_creates_colimits.lifted_cocone c t = {X := category_theory.monad.forget_creates_colimits.cocone_point c t _inst_4, ι := {app := λ (j : J), {f := c.ι.app j, h' := _}, naturality' := _}}
(Impl) Prove that the lifted cocone is colimiting.
Equations
- category_theory.monad.forget_creates_colimits.lifted_cocone_is_colimit c t = {desc := λ (s : category_theory.limits.cocone D), {f := t.desc ((category_theory.monad.forget T).map_cocone s), h' := _}, fac' := _, uniq' := _}
The forgetful functor from the Eilenberg-Moore category for a monad creates any colimit which the monad itself preserves.
Equations
- category_theory.monad.forget_creates_colimits = {creates_colimit := λ (D : J ⥤ category_theory.monad.algebra T), category_theory.creates_colimit_of_reflects_iso (λ (c : category_theory.limits.cocone (D ⋙ category_theory.monad.forget T)) (t : category_theory.limits.is_colimit c), {to_liftable_cocone := {lifted_cocone := {X := category_theory.monad.forget_creates_colimits.cocone_point c t _inst_4, ι := {app := λ (j : J), {f := c.ι.app j, h' := _}, naturality' := _}}, valid_lift := category_theory.limits.cocones.ext (category_theory.iso.refl ((category_theory.monad.forget T).map_cocone {X := category_theory.monad.forget_creates_colimits.cocone_point c t _inst_4, ι := {app := λ (j : J), {f := c.ι.app j, h' := _}, naturality' := _}}).X) _}, makes_colimit := category_theory.monad.forget_creates_colimits.lifted_cocone_is_colimit c t _inst_4})}
For D : J ⥤ algebra T, D ⋙ forget T has a colimit, then D has a colimit provided colimits
of shape J are preserved by T.
Any monadic functor creates limits.
If C has limits then any reflective subcategory has limits
Equations
- category_theory.has_limits_of_reflective R = {has_limits_of_shape := λ (J : Type v₁) (𝒥 : category_theory.small_category J), {has_limit := λ (F : J ⥤ D), category_theory.monadic_creates_limits F R}}