@@ -259,16 +259,36 @@ instance comp_comparison_has_limit
259
259
monad.has_limit_of_comp_forget_has_limit (F ⋙ monad.comparison R)
260
260
261
261
/-- Any monadic functor creates limits. -/
262
- lemma monadic_creates_limits (F : J ⥤ D) (R : D ⥤ C) [monadic_right_adjoint R] [has_limit (F ⋙ R)] :
263
- has_limit F :=
264
- adjunction.has_limit_of_comp_equivalence _ (monad.comparison R)
262
+ def monadic_creates_limits (R : D ⥤ C) [monadic_right_adjoint R] :
263
+ creates_limits R :=
264
+ creates_limits_of_nat_iso (monad.comparison_forget R)
265
+
266
+ /-- A monadic functor creates any colimits of shapes it preserves. -/
267
+ def monadic_creates_colimits_of_shape_of_preserves_colimits_of_shape (R : D ⥤ C)
268
+ [monadic_right_adjoint R] [preserves_colimits_of_shape J R] : creates_colimits_of_shape J R :=
269
+ begin
270
+ have : preserves_colimits_of_shape J (left_adjoint R ⋙ R),
271
+ { apply category_theory.limits.comp_preserves_colimits_of_shape _ _,
272
+ { haveI := adjunction.left_adjoint_preserves_colimits (adjunction.of_right_adjoint R),
273
+ apply_instance },
274
+ apply_instance },
275
+ resetI,
276
+ apply creates_colimits_of_shape_of_nat_iso (monad.comparison_forget R),
277
+ apply_instance,
278
+ end
279
+
280
+ /-- A monadic functor creates colimits if it preserves colimits. -/
281
+ def monadic_creates_colimits_of_preserves_colimits (R : D ⥤ C) [monadic_right_adjoint R]
282
+ [preserves_colimits R] : creates_colimits R :=
283
+ { creates_colimits_of_shape := λ J 𝒥₁,
284
+ by exactI monadic_creates_colimits_of_shape_of_preserves_colimits_of_shape _ }
265
285
266
286
section
267
287
268
- /-- If C has limits then any reflective subcategory has limits -/
288
+ /-- If C has limits then any reflective subcategory has limits. -/
269
289
lemma has_limits_of_reflective (R : D ⥤ C) [has_limits C] [reflective R] : has_limits D :=
270
- { has_limits_of_shape := λ J 𝒥, by exactI
271
- { has_limit := λ F, monadic_creates_limits F R } }
290
+ { has_limits_of_shape := λ J 𝒥, by have := monadic_creates_limits R; exactI
291
+ { has_limit := λ F, has_limit_of_created F R } }
272
292
273
293
end
274
294
end category_theory
0 commit comments