@@ -218,6 +218,10 @@ lemma preservesLimit_of_preserves_limit_cone {F : C ⥤ D} {t : Cone K} (h : IsL
218218 (hF : IsLimit (F.mapCone t)) : PreservesLimit K F where
219219 preserves h' := ⟨IsLimit.ofIsoLimit hF (Functor.mapIso _ (IsLimit.uniqueUpToIso h h'))⟩
220220
221+ lemma preservesLimit_iff_isLimit_mapCone {F : C ⥤ D} {t : Cone K} (h : IsLimit t) :
222+ PreservesLimit K F ↔ Nonempty (IsLimit (F.mapCone t)) :=
223+ ⟨fun _ ↦ ⟨isLimitOfPreserves _ h⟩, fun h' ↦ preservesLimit_of_preserves_limit_cone h h'.some⟩
224+
221225/-- Transfer preservation of limits along a natural isomorphism in the diagram. -/
222226lemma preservesLimit_of_iso_diagram {K₁ K₂ : J ⥤ C} (F : C ⥤ D) (h : K₁ ≅ K₂)
223227 [PreservesLimit K₁ F] : PreservesLimit K₂ F where
@@ -232,16 +236,28 @@ lemma preservesLimit_of_natIso (K : J ⥤ C) {F G : C ⥤ D} (h : F ≅ G) [Pres
232236 PreservesLimit K G where
233237 preserves t := ⟨IsLimit.mapConeEquiv h (isLimitOfPreserves F t)⟩
234238
239+ lemma preservesLimit_iff_of_natIso (K : J ⥤ C) {F G : C ⥤ D} (h : F ≅ G) :
240+ PreservesLimit K F ↔ PreservesLimit K G :=
241+ ⟨fun _ ↦ preservesLimit_of_natIso _ h, fun _ ↦ preservesLimit_of_natIso _ h.symm⟩
242+
235243/-- Transfer preservation of limits of shape along a natural isomorphism in the functor. -/
236244lemma preservesLimitsOfShape_of_natIso {F G : C ⥤ D} (h : F ≅ G) [PreservesLimitsOfShape J F] :
237245 PreservesLimitsOfShape J G where
238246 preservesLimit {K} := preservesLimit_of_natIso K h
239247
248+ lemma preservesLimitsOfShape_iff_of_natIso {F G : C ⥤ D} (h : F ≅ G) :
249+ PreservesLimitsOfShape J F ↔ PreservesLimitsOfShape J G :=
250+ ⟨fun _ ↦ preservesLimitsOfShape_of_natIso h, fun _ ↦ preservesLimitsOfShape_of_natIso h.symm⟩
251+
240252/-- Transfer preservation of limits along a natural isomorphism in the functor. -/
241253lemma preservesLimits_of_natIso {F G : C ⥤ D} (h : F ≅ G) [PreservesLimitsOfSize.{w, w'} F] :
242254 PreservesLimitsOfSize.{w, w'} G where
243255 preservesLimitsOfShape := preservesLimitsOfShape_of_natIso h
244256
257+ lemma preservesLimitsOfSize_iff_of_natIso {F G : C ⥤ D} (h : F ≅ G) :
258+ PreservesLimitsOfSize.{w, w'} F ↔ PreservesLimitsOfSize.{w, w'} G :=
259+ ⟨fun _ ↦ preservesLimits_of_natIso h, fun _ ↦ preservesLimits_of_natIso h.symm⟩
260+
245261/-- Transfer preservation of limits along an equivalence in the shape. -/
246262lemma preservesLimitsOfShape_of_equiv {J' : Type w₂} [Category.{w₂'} J'] (e : J ≌ J') (F : C ⥤ D)
247263 [PreservesLimitsOfShape J F] : PreservesLimitsOfShape J' F where
@@ -276,6 +292,11 @@ lemma preservesColimit_of_preserves_colimit_cocone {F : C ⥤ D} {t : Cocone K}
276292 (hF : IsColimit (F.mapCocone t)) : PreservesColimit K F :=
277293 ⟨fun h' => ⟨IsColimit.ofIsoColimit hF (Functor.mapIso _ (IsColimit.uniqueUpToIso h h'))⟩⟩
278294
295+ lemma preservesColimit_iff_isColimit_mapCocone {F : C ⥤ D} {t : Cocone K} (h : IsColimit t) :
296+ PreservesColimit K F ↔ Nonempty (IsColimit (F.mapCocone t)) :=
297+ ⟨fun _ ↦ ⟨isColimitOfPreserves _ h⟩,
298+ fun h' ↦ preservesColimit_of_preserves_colimit_cocone h h'.some⟩
299+
279300/-- Transfer preservation of colimits along a natural isomorphism in the shape. -/
280301lemma preservesColimit_of_iso_diagram {K₁ K₂ : J ⥤ C} (F : C ⥤ D) (h : K₁ ≅ K₂)
281302 [PreservesColimit K₁ F] :
@@ -291,16 +312,28 @@ lemma preservesColimit_of_natIso (K : J ⥤ C) {F G : C ⥤ D} (h : F ≅ G) [Pr
291312 PreservesColimit K G where
292313 preserves t := ⟨IsColimit.mapCoconeEquiv h (isColimitOfPreserves F t)⟩
293314
315+ lemma preservesColimit_iff_of_natIso (K : J ⥤ C) {F G : C ⥤ D} (h : F ≅ G) :
316+ PreservesColimit K F ↔ PreservesColimit K G :=
317+ ⟨fun _ ↦ preservesColimit_of_natIso _ h, fun _ ↦ preservesColimit_of_natIso _ h.symm⟩
318+
294319/-- Transfer preservation of colimits of shape along a natural isomorphism in the functor. -/
295320lemma preservesColimitsOfShape_of_natIso {F G : C ⥤ D} (h : F ≅ G) [PreservesColimitsOfShape J F] :
296321 PreservesColimitsOfShape J G where
297322 preservesColimit {K} := preservesColimit_of_natIso K h
298323
324+ lemma preservesColimitsOfShape_iff_of_natIso {F G : C ⥤ D} (h : F ≅ G) :
325+ PreservesColimitsOfShape J F ↔ PreservesColimitsOfShape J G :=
326+ ⟨fun _ ↦ preservesColimitsOfShape_of_natIso h, fun _ ↦ preservesColimitsOfShape_of_natIso h.symm⟩
327+
299328/-- Transfer preservation of colimits along a natural isomorphism in the functor. -/
300329lemma preservesColimits_of_natIso {F G : C ⥤ D} (h : F ≅ G) [PreservesColimitsOfSize.{w, w'} F] :
301330 PreservesColimitsOfSize.{w, w'} G where
302331 preservesColimitsOfShape {_J} _𝒥₁ := preservesColimitsOfShape_of_natIso h
303332
333+ lemma preservesColimitsOfSize_iff_of_natIso {F G : C ⥤ D} (h : F ≅ G) :
334+ PreservesColimitsOfSize.{w, w'} F ↔ PreservesColimitsOfSize.{w, w'} G :=
335+ ⟨fun _ ↦ preservesColimits_of_natIso h, fun _ ↦ preservesColimits_of_natIso h.symm⟩
336+
304337/-- Transfer preservation of colimits along an equivalence in the shape. -/
305338lemma preservesColimitsOfShape_of_equiv {J' : Type w₂} [Category.{w₂'} J'] (e : J ≌ J') (F : C ⥤ D)
306339 [PreservesColimitsOfShape J F] : PreservesColimitsOfShape J' F where
0 commit comments