@@ -45,6 +45,9 @@ lemma congr_preservesLimit {F F' : K ⥤ J} (e : F ≅ F') :
4545 exact ⟨fun h ↦ preservesLimit_of_iso_diagram _ e,
4646 fun h ↦ preservesLimit_of_iso_diagram _ e.symm⟩
4747
48+ instance (F : K ⥤ J) : (preservesLimit (C := C) F).IsClosedUnderIsomorphisms where
49+ of_iso e _ := preservesLimit_of_natIso _ e
50+
4851variable {K} in
4952/-- The property of objects in the functor category `J ⥤ C`
5053which preserves the colimit of a functor `F : K ⥤ J`. -/
@@ -61,6 +64,9 @@ lemma congr_preservesColimit {F F' : K ⥤ J} (e : F ≅ F') :
6164 exact ⟨fun h ↦ preservesColimit_of_iso_diagram _ e,
6265 fun h ↦ preservesColimit_of_iso_diagram _ e.symm⟩
6366
67+ instance (F : K ⥤ J) : (preservesColimit (C := C) F).IsClosedUnderIsomorphisms where
68+ of_iso e _ := preservesColimit_of_natIso _ e
69+
6470/-- The property of objects in the functor category `J ⥤ C`
6571which preserves limits of shape `K`. -/
6672abbrev preservesLimitsOfShape : ObjectProperty (J ⥤ C) := PreservesLimitsOfShape K
@@ -84,6 +90,10 @@ lemma congr_preservesLimitsOfShape (e : K ≌ K') :
8490 exact ⟨fun _ ↦ preservesLimitsOfShape_of_equiv e _,
8591 fun _ ↦ preservesLimitsOfShape_of_equiv e.symm _⟩
8692
93+ instance : (preservesLimitsOfShape (J := J) (C := C) K).IsClosedUnderIsomorphisms := by
94+ rw [preservesLimitsOfShape_eq_iSup]
95+ infer_instance
96+
8797/-- The property of objects in the functor category `J ⥤ C`
8898which preserves colimits of shape `K`. -/
8999abbrev preservesColimitsOfShape : ObjectProperty (J ⥤ C) := PreservesColimitsOfShape K
@@ -107,6 +117,10 @@ lemma congr_preservesColimitsOfShape (e : K ≌ K') :
107117 exact ⟨fun _ ↦ preservesColimitsOfShape_of_equiv e _,
108118 fun _ ↦ preservesColimitsOfShape_of_equiv e.symm _⟩
109119
120+ instance : (preservesColimitsOfShape (J := J) (C := C) K).IsClosedUnderIsomorphisms := by
121+ rw [preservesColimitsOfShape_eq_iSup]
122+ infer_instance
123+
110124/-- The property of objects in the functor category `J ⥤ C`
111125which preserves finite limits. -/
112126abbrev preservesFiniteLimits : ObjectProperty (J ⥤ C) := PreservesFiniteLimits
@@ -115,10 +129,16 @@ abbrev preservesFiniteLimits : ObjectProperty (J ⥤ C) := PreservesFiniteLimits
115129lemma preservesFiniteLimits_iff (F : J ⥤ C) :
116130 preservesFiniteLimits F ↔ PreservesFiniteLimits F := Iff.rfl
117131
132+ instance : (preservesFiniteLimits (J := J) (C := C)).IsClosedUnderIsomorphisms where
133+ of_iso e _ := preservesFiniteLimits_of_natIso e
134+
118135/-- The property of objects in the functor category `J ⥤ C`
119136which preserves finite colimits. -/
120137abbrev preservesFiniteColimits : ObjectProperty (J ⥤ C) := PreservesFiniteColimits
121138
139+ instance : (preservesFiniteColimits (J := J) (C := C)).IsClosedUnderIsomorphisms where
140+ of_iso e _ := preservesFiniteColimits_of_natIso e
141+
122142@[simp]
123143lemma preservesFiniteColimits_iff (F : J ⥤ C) :
124144 preservesFiniteColimits F ↔ PreservesFiniteColimits F := Iff.rfl
0 commit comments