Preservation and reflection of (co)limits. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
There are various distinct notions of "preserving limits". The one we aim to capture here is: A functor F : C → D "preserves limits" if it sends every limit cone in C to a limit cone in D. Informally, F preserves all the limits which exist in C.
Note that:
-
Of course, we do not want to require F to strictly take chosen limit cones of C to chosen limit cones of D. Indeed, the above definition makes no reference to a choice of limit cones so it makes sense without any conditions on C or D.
-
Some diagrams in C may have no limit. In this case, there is no condition on the behavior of F on such diagrams. There are other notions (such as "flat functor") which impose conditions also on diagrams in C with no limits, but these are not considered here.
In order to be able to express the property of preserving limits of a certain form, we say that a functor F preserves the limit of a diagram K if F sends every limit cone on K to a limit cone. This is vacuously satisfied when K does not admit a limit, which is consistent with the above definition of "preserves limits".
- preserves : Π {c : category_theory.limits.cone K}, category_theory.limits.is_limit c → category_theory.limits.is_limit (F.map_cone c)
A functor F
preserves limits of K
(written as preserves_limit K F
)
if F
maps any limit cone over K
to a limit cone.
Instances of this typeclass
- category_theory.limits.preserves_limits_of_shape.preserves_limit
- category_theory.preserves_limit_of_creates_limit_and_has_limit
- category_theory.limits.comp_preserves_limit
- category_theory.grothendieck_topology.diagram_functor.category_theory.limits.preserves_limit
- algebraic_geometry.PresheafedSpace.is_open_immersion.forget_preserves_limits_of_left
- algebraic_geometry.PresheafedSpace.is_open_immersion.forget_preserves_limits_of_right
- algebraic_geometry.SheafedSpace.is_open_immersion.SheafedSpace_forget_preserves_of_left
- algebraic_geometry.SheafedSpace.is_open_immersion.SheafedSpace_forget_preserves_of_right
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_preserves_pullback_of_left
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_PresheafedSpace_preserves_pullback_of_left
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_Top_preserves_pullback_of_left
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_preserves_pullback_of_right
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_PresheafedSpace_preserves_pullback_of_right
- algebraic_geometry.LocallyRingedSpace.glue_data.algebraic_geometry.LocallyRingedSpace.forget_to_SheafedSpace.category_theory.limits.preserves_limit
- algebraic_geometry.is_open_immersion.forget_preserves_of_left
- algebraic_geometry.is_open_immersion.forget_preserves_of_right
- algebraic_geometry.is_open_immersion.forget_to_Top_preserves_of_left
- algebraic_geometry.is_open_immersion.forget_to_Top_preserves_of_right
Instances of other typeclasses for category_theory.limits.preserves_limit
- category_theory.limits.preserves_limit.has_sizeof_inst
- category_theory.limits.preserves_limit_subsingleton
- preserves : Π {c : category_theory.limits.cocone K}, category_theory.limits.is_colimit c → category_theory.limits.is_colimit (F.map_cocone c)
A functor F
preserves colimits of K
(written as preserves_colimit K F
)
if F
maps any colimit cocone over K
to a colimit cocone.
Instances of this typeclass
- category_theory.limits.preserves_split_coequalizers
- category_theory.limits.preserves_colimits_of_shape.preserves_colimit
- category_theory.preserves_colimit_of_creates_colimit_and_has_colimit
- category_theory.limits.comp_preserves_colimit
- algebraic_geometry.Scheme.glue_data.algebraic_geometry.Scheme.forget_to_Top.category_theory.limits.preserves_colimit
Instances of other typeclasses for category_theory.limits.preserves_colimit
- category_theory.limits.preserves_colimit.has_sizeof_inst
- category_theory.limits.preserves_colimit_subsingleton
- preserves_limit : (Π {K : J ⥤ C}, category_theory.limits.preserves_limit K F) . "apply_instance"
We say that F
preserves limits of shape J
if F
preserves limits for every diagram
K : J ⥤ C
, i.e., F
maps limit cones over K
to limit cones.
Instances of this typeclass
- category_theory.limits.preserves_limits_of_size.preserves_limits_of_shape
- category_theory.preserves_limit_of_shape_of_creates_limits_of_shape_and_has_limits_of_shape
- category_theory.limits.preserves_limits_of_shape_of_preserves_finite_limits
- category_theory.limits.preserves_cofiltered_limits.preserves_cofiltered_limits
- category_theory.limits.comp_preserves_limits_of_shape
- category_theory.limits.evaluation_preserves_limits_of_shape
- category_theory.limits.preserves_finite_limits.preserves_finite_limits
- category_theory.whiskering_right_preserves_limits_of_shape
- category_theory.limits.filtered_colim_preserves_finite_limits
- category_theory.grothendieck_topology.diagram_functor.category_theory.limits.preserves_limits_of_shape
- category_theory.grothendieck_topology.plus_functor.category_theory.limits.preserves_limits_of_shape
- category_theory.grothendieck_topology.sheafification.category_theory.limits.preserves_limits_of_shape
- category_theory.presheaf_to_Sheaf.limits.preserves_limits_of_shape
Instances of other typeclasses for category_theory.limits.preserves_limits_of_shape
- category_theory.limits.preserves_limits_of_shape.has_sizeof_inst
- category_theory.limits.preserves_limits_of_shape_subsingleton
- preserves_colimit : (Π {K : J ⥤ C}, category_theory.limits.preserves_colimit K F) . "apply_instance"
We say that F
preserves colimits of shape J
if F
preserves colimits for every diagram
K : J ⥤ C
, i.e., F
maps colimit cocones over K
to colimit cocones.
Instances of this typeclass
- category_theory.limits.preserves_colimits_of_size.preserves_colimits_of_shape
- category_theory.preserves_colimit_of_shape_of_creates_colimits_of_shape_and_has_colimits_of_shape
- category_theory.limits.preserves_colimits_of_shape_of_preserves_finite_colimits
- category_theory.limits.preserves_filtered_colimits.preserves_filtered_colimits
- category_theory.limits.comp_preserves_colimits_of_shape
- category_theory.limits.evaluation_preserves_colimits_of_shape
- category_theory.limits.preserves_finite_colimits.preserves_finite_colimits
- algebraic_geometry.PresheafedSpace.forget.category_theory.limits.preserves_colimits_of_shape
- algebraic_geometry.LocallyRingedSpace.forget_to_SheafedSpace.category_theory.limits.preserves_colimits_of_shape
- algebraic_geometry.LocallyRingedSpace.preserves_coequalizer
Instances of other typeclasses for category_theory.limits.preserves_colimits_of_shape
- category_theory.limits.preserves_colimits_of_shape.has_sizeof_inst
- category_theory.limits.preserves_colimits_of_shape_subsingleton
- preserves_limits_of_shape : (Π {J : Type ?} [_inst_4 : category_theory.category J], category_theory.limits.preserves_limits_of_shape J F) . "apply_instance"
preserves_limits_of_size.{v u} F
means that F
sends all limit cones over any
diagram J ⥤ C
to limit cones, where J : Type u
with [category.{v} J]
.
Instances of this typeclass
- category_theory.preserves_limits_of_creates_limits_and_has_limits
- category_theory.adjunction.is_equivalence_preserves_limits
- category_theory.limits.id_preserves_limits
- category_theory.limits.comp_preserves_limits
- category_theory.limits.evaluation_preserves_limits
- category_theory.limits.preserves_limits_const
- Action.forget.category_theory.limits.preserves_limits
- Mon.forget_preserves_limits_of_size
- AddMon.forget_preserves_limits_of_size
- Mon.forget_preserves_limits
- AddMon.forget_preserves_limits
- CommMon.forget₂_Mon_preserves_limits_of_size
- AddCommMon.forget₂_AddMon_preserves_limits
- CommMon.forget₂_Mon_preserves_limits
- AddCommMon.forget₂_Mon_preserves_limits
- CommMon.forget_preserves_limits_of_size
- AddCommMon.forget_preserves_limits_of_size
- CommMon.forget_preserves_limits
- AddCommMon.forget_preserves_limits
- Group.forget₂_Mon_preserves_limits_of_size
- AddGroup.forget₂_AddMon_preserves_limits
- Group.forget₂_Mon_preserves_limits
- AddGroup.forget₂_Mon_preserves_limits
- Group.forget_preserves_limits_of_size
- AddGroup.forget_preserves_limits_of_size
- Group.forget_preserves_limits
- AddGroup.forget_preserves_limits
- CommGroup.forget₂_Group_preserves_limits_of_size
- AddCommGroup.forget₂_AddGroup_preserves_limits
- CommGroup.forget₂_Group_preserves_limits
- AddCommGroup.forget₂_Group_preserves_limits
- CommGroup.forget₂_CommMon_preserves_limits_of_size
- AddCommGroup.forget₂_AddCommMon_preserves_limits
- CommGroup.forget_preserves_limits_of_size
- AddCommGroup.forget_preserves_limits
- Module.forget₂_AddCommGroup_preserves_limits_of_size
- Module.forget₂_AddCommGroup_preserves_limits
- Module.forget_preserves_limits_of_size
- Module.forget_preserves_limits
- category_theory.yoneda_preserves_limits
- category_theory.coyoneda_preserves_limits
- category_theory.yoneda_functor_preserves_limits
- category_theory.coyoneda_functor_preserves_limits
- Top.forget_preserves_limits_of_size
- Top.forget_preserves_limits
- category_theory.preserves_limits_preadditive_yoneda_obj
- category_theory.preserves_limits_preadditive_coyoneda_obj
- category_theory.preserves_limits_preadditive_yoneda.obj
- category_theory.preserves_limits_preadditive_coyoneda.obj
- Profinite.forget_preserves_limits
- category_theory.whiskering_left_preserves_limits
- category_theory.whiskering_right_preserves_limits
- SemiRing.forget₂_AddCommMon_preserves_limits_of_size
- SemiRing.forget₂_AddCommMon_preserves_limits
- SemiRing.forget₂_Mon_preserves_limits_of_size
- SemiRing.forget₂_Mon_preserves_limits
- SemiRing.forget_preserves_limits_of_size
- SemiRing.forget_preserves_limits
- CommSemiRing.forget₂_SemiRing_preserves_limits_of_size
- CommSemiRing.forget₂_SemiRing_preserves_limits
- CommSemiRing.forget_preserves_limits_of_size
- CommSemiRing.forget_preserves_limits
- Ring.forget₂_SemiRing_preserves_limits_of_size
- Ring.forget₂_SemiRing_preserves_limits
- Ring.forget₂_AddCommGroup_preserves_limits_of_size
- Ring.forget₂_AddCommGroup_preserves_limits
- Ring.forget_preserves_limits_of_size
- Ring.forget_preserves_limits
- CommRing.forget₂_Ring_preserves_limits_of_size
- CommRing.forget₂_Ring_preserves_limits
- CommRing.forget₂_CommSemiRing_preserves_limits_of_size
- CommRing.forget₂_CommSemiRing_preserves_limits
- CommRing.forget_preserves_limits_of_size
- CommRing.forget_preserves_limits
- category_theory.grothendieck_topology.diagram_functor.category_theory.limits.preserves_limits
- category_theory.Cat.objects.category_theory.limits.preserves_limits
- Mon_.forget_preserves_limits
- Algebra.forget₂_Ring_preserves_limits_of_size
- Algebra.forget₂_Ring_preserves_limits
- Algebra.forget₂_Module_preserves_limits_of_size
- Algebra.forget₂_Module_preserves_limits
- Algebra.forget_preserves_limits_of_size
- Algebra.forget_preserves_limits
- algebraic_geometry.Spec.to_LocallyRingedSpace.category_theory.limits.preserves_limits
- algebraic_geometry.Spec.preserves_limits
- algebraic_geometry.AffineScheme.right_op.category_theory.limits.preserves_limits
- algebraic_geometry.AffineScheme.forget_to_Scheme.category_theory.limits.preserves_limits
Instances of other typeclasses for category_theory.limits.preserves_limits_of_size
- category_theory.limits.preserves_limits_of_size.has_sizeof_inst
- category_theory.limits.preserves_limits_subsingleton
We say that F
preserves (small) limits if it sends small
limit cones over any diagram to limit cones.
- preserves_colimits_of_shape : (Π {J : Type ?} [_inst_4 : category_theory.category J], category_theory.limits.preserves_colimits_of_shape J F) . "apply_instance"
preserves_colimits_of_size.{v u} F
means that F
sends all colimit cocones over any
diagram J ⥤ C
to colimit cocones, where J : Type u
with [category.{v} J]
.
Instances of this typeclass
- category_theory.preserves_colimits_of_creates_colimits_and_has_colimits
- category_theory.adjunction.is_equivalence_preserves_colimits
- category_theory.limits.id_preserves_colimits
- category_theory.limits.comp_preserves_colimits
- category_theory.limits.evaluation_preserves_colimits
- category_theory.limits.preserves_colimits_const
- category_theory.monoidal_category.tensor_left.limits.preserves_colimits
- Action.forget.category_theory.limits.preserves_colimits
- category_theory.colimit_adj.extend_along_yoneda.category_theory.limits.preserves_colimits
- Top.forget_preserves_colimits_of_size
- Top.forget_preserves_colimits
- category_theory.obj.limits.preserves_colimits
- algebraic_geometry.PresheafedSpace.forget_preserves_colimits
- algebraic_geometry.SheafedSpace.forget.category_theory.limits.preserves_colimits
- algebraic_geometry.LocallyRingedSpace.forget_to_SheafedSpace.category_theory.limits.preserves_colimits
Instances of other typeclasses for category_theory.limits.preserves_colimits_of_size
- category_theory.limits.preserves_colimits_of_size.has_sizeof_inst
- category_theory.limits.preserves_colimits_subsingleton
We say that F
preserves (small) limits if it sends small
limit cones over any diagram to limit cones.
A convenience function for preserves_limit
, which takes the functor as an explicit argument to
guide typeclass resolution.
A convenience function for preserves_colimit
, which takes the functor as an explicit argument to
guide typeclass resolution.
Equations
- category_theory.limits.id_preserves_limits = {preserves_limits_of_shape := λ (J : Type w) (𝒥 : category_theory.category J), {preserves_limit := λ (K : J ⥤ C), {preserves := λ (c : category_theory.limits.cone K) (h : category_theory.limits.is_limit c), {lift := λ (s : category_theory.limits.cone (K ⋙ 𝟭 C)), h.lift {X := s.X, π := {app := λ (j : J), s.π.app j, naturality' := _}}, fac' := _, uniq' := _}}}}
Equations
- category_theory.limits.id_preserves_colimits = {preserves_colimits_of_shape := λ (J : Type w) (𝒥 : category_theory.category J), {preserves_colimit := λ (K : J ⥤ C), {preserves := λ (c : category_theory.limits.cocone K) (h : category_theory.limits.is_colimit c), {desc := λ (s : category_theory.limits.cocone (K ⋙ 𝟭 C)), h.desc {X := s.X, ι := {app := λ (j : J), s.ι.app j, naturality' := _}}, fac' := _, uniq' := _}}}}
Equations
- category_theory.limits.comp_preserves_limits_of_shape F G = {preserves_limit := λ {K : J ⥤ C}, category_theory.limits.comp_preserves_limit F G}
Equations
- category_theory.limits.comp_preserves_limits F G = {preserves_limits_of_shape := λ {J : Type w} [_inst_4_1 : category_theory.category J], category_theory.limits.comp_preserves_limits_of_shape F G}
Equations
Equations
- category_theory.limits.comp_preserves_colimits F G = {preserves_colimits_of_shape := λ {J : Type w} [_inst_4_1 : category_theory.category J], category_theory.limits.comp_preserves_colimits_of_shape F G}
If F preserves one limit cone for the diagram K, then it preserves any limit cone for K.
Equations
- category_theory.limits.preserves_limit_of_preserves_limit_cone h hF = {preserves := λ (t' : category_theory.limits.cone K) (h' : category_theory.limits.is_limit t'), hF.of_iso_limit ((category_theory.limits.cones.functoriality K F).map_iso (h.unique_up_to_iso h'))}
Transfer preservation of limits along a natural isomorphism in the diagram.
Equations
- category_theory.limits.preserves_limit_of_iso_diagram F h = {preserves := λ (c : category_theory.limits.cone K₂) (t : category_theory.limits.is_limit c), ⇑(category_theory.limits.is_limit.postcompose_inv_equiv (category_theory.iso_whisker_right h F) (F.map_cone c)) ((category_theory.limits.is_limit_of_preserves F (⇑((category_theory.limits.is_limit.postcompose_inv_equiv h c).symm) t)).of_iso_limit (category_theory.limits.cones.ext (category_theory.iso.refl (F.map_cone ((category_theory.limits.cones.postcompose h.inv).obj c)).X) _))}
Transfer preservation of a limit along a natural isomorphism in the functor.
Transfer preservation of limits of shape along a natural isomorphism in the functor.
Equations
Transfer preservation of limits along a natural isomorphism in the functor.
Equations
Transfer preservation of limits along a equivalence in the shape.
Equations
- category_theory.limits.preserves_limits_of_shape_of_equiv e F = {preserves_limit := λ (K : J' ⥤ C), {preserves := λ (c : category_theory.limits.cone K) (t : category_theory.limits.is_limit c), let equ : e.inverse ⋙ e.functor ⋙ K ⋙ F ≅ K ⋙ F := e.inv_fun_id_assoc (K ⋙ F) in (⇑((category_theory.limits.is_limit.postcompose_hom_equiv equ (category_theory.limits.cone.whisker e.symm.functor (F.map_cone (category_theory.limits.cone.whisker e.functor c)))).symm) ((category_theory.limits.is_limit_of_preserves F (t.whisker_equivalence e)).whisker_equivalence e.symm)).of_iso_limit (category_theory.limits.cones.ext (category_theory.iso.refl ((category_theory.limits.cones.postcompose equ.hom).obj (category_theory.limits.cone.whisker e.symm.functor (F.map_cone (category_theory.limits.cone.whisker e.functor c)))).X) _)}}
preserves_limits_of_size_shrink.{w w'} F
tries to obtain preserves_limits_of_size.{w w'} F
from some other preserves_limits_of_size F
.
Preserving limits at any universe level implies preserving limits in universe 0
.
If F preserves one colimit cocone for the diagram K, then it preserves any colimit cocone for K.
Equations
- category_theory.limits.preserves_colimit_of_preserves_colimit_cocone h hF = {preserves := λ (t' : category_theory.limits.cocone K) (h' : category_theory.limits.is_colimit t'), hF.of_iso_colimit ((category_theory.limits.cocones.functoriality K F).map_iso (h.unique_up_to_iso h'))}
Transfer preservation of colimits along a natural isomorphism in the shape.
Equations
- category_theory.limits.preserves_colimit_of_iso_diagram F h = {preserves := λ (c : category_theory.limits.cocone K₂) (t : category_theory.limits.is_colimit c), ⇑(category_theory.limits.is_colimit.precompose_hom_equiv (category_theory.iso_whisker_right h F) (F.map_cocone c)) ((category_theory.limits.is_colimit_of_preserves F (⇑((category_theory.limits.is_colimit.precompose_hom_equiv h c).symm) t)).of_iso_colimit (category_theory.limits.cocones.ext (category_theory.iso.refl (F.map_cocone ((category_theory.limits.cocones.precompose h.hom).obj c)).X) _))}
Transfer preservation of a colimit along a natural isomorphism in the functor.
Transfer preservation of colimits of shape along a natural isomorphism in the functor.
Equations
Transfer preservation of colimits along a natural isomorphism in the functor.
Equations
Transfer preservation of colimits along a equivalence in the shape.
Equations
- category_theory.limits.preserves_colimits_of_shape_of_equiv e F = {preserves_colimit := λ (K : J' ⥤ C), {preserves := λ (c : category_theory.limits.cocone K) (t : category_theory.limits.is_colimit c), let equ : e.inverse ⋙ e.functor ⋙ K ⋙ F ≅ K ⋙ F := e.inv_fun_id_assoc (K ⋙ F) in (⇑((category_theory.limits.is_colimit.precompose_inv_equiv equ (category_theory.limits.cocone.whisker e.symm.functor (F.map_cocone (category_theory.limits.cocone.whisker e.functor c)))).symm) ((category_theory.limits.is_colimit_of_preserves F (t.whisker_equivalence e)).whisker_equivalence e.symm)).of_iso_colimit (category_theory.limits.cocones.ext (category_theory.iso.refl ((category_theory.limits.cocones.precompose equ.inv).obj (category_theory.limits.cocone.whisker e.symm.functor (F.map_cocone (category_theory.limits.cocone.whisker e.functor c)))).X) _)}}
preserves_colimits_of_size_shrink.{w w'} F
tries to obtain preserves_colimits_of_size.{w w'} F
from some other preserves_colimits_of_size F
.
Preserving colimits at any universe implies preserving colimits at universe 0
.
- reflects : Π {c : category_theory.limits.cone K}, category_theory.limits.is_limit (F.map_cone c) → category_theory.limits.is_limit c
A functor F : C ⥤ D
reflects limits for K : J ⥤ C
if
whenever the image of a cone over K
under F
is a limit cone in D
,
the cone was already a limit cone in C
.
Note that we do not assume a priori that D
actually has any limits.
Instances of this typeclass
- category_theory.limits.reflects_limit_of_reflects_limits_of_shape
- category_theory.creates_limit.to_reflects_limit
- category_theory.limits.comp_reflects_limit
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_reflects_pullback_of_left
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_reflects_pullback_of_right
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_PresheafedSpace_reflects_pullback_of_left
- algebraic_geometry.LocallyRingedSpace.is_open_immersion.forget_to_PresheafedSpace_reflects_pullback_of_right
Instances of other typeclasses for category_theory.limits.reflects_limit
- category_theory.limits.reflects_limit.has_sizeof_inst
- category_theory.limits.reflects_limit_subsingleton
- reflects : Π {c : category_theory.limits.cocone K}, category_theory.limits.is_colimit (F.map_cocone c) → category_theory.limits.is_colimit c
A functor F : C ⥤ D
reflects colimits for K : J ⥤ C
if
whenever the image of a cocone over K
under F
is a colimit cocone in D
,
the cocone was already a colimit cocone in C
.
Note that we do not assume a priori that D
actually has any colimits.
Instances of this typeclass
Instances of other typeclasses for category_theory.limits.reflects_colimit
- category_theory.limits.reflects_colimit.has_sizeof_inst
- category_theory.limits.reflects_colimit_subsingleton
- reflects_limit : (Π {K : J ⥤ C}, category_theory.limits.reflects_limit K F) . "apply_instance"
A functor F : C ⥤ D
reflects limits of shape J
if
whenever the image of a cone over some K : J ⥤ C
under F
is a limit cone in D
,
the cone was already a limit cone in C
.
Note that we do not assume a priori that D
actually has any limits.
Instances of this typeclass
Instances of other typeclasses for category_theory.limits.reflects_limits_of_shape
- category_theory.limits.reflects_limits_of_shape.has_sizeof_inst
- category_theory.limits.reflects_limits_of_shape_subsingleton
- reflects_colimit : (Π {K : J ⥤ C}, category_theory.limits.reflects_colimit K F) . "apply_instance"
A functor F : C ⥤ D
reflects colimits of shape J
if
whenever the image of a cocone over some K : J ⥤ C
under F
is a colimit cocone in D
,
the cocone was already a colimit cocone in C
.
Note that we do not assume a priori that D
actually has any colimits.
Instances of this typeclass
Instances of other typeclasses for category_theory.limits.reflects_colimits_of_shape
- category_theory.limits.reflects_colimits_of_shape.has_sizeof_inst
- category_theory.limits.reflects_colimits_of_shape_subsingleton
- reflects_limits_of_shape : (Π {J : Type ?} [_inst_4 : category_theory.category J], category_theory.limits.reflects_limits_of_shape J F) . "apply_instance"
A functor F : C ⥤ D
reflects limits if
whenever the image of a cone over some K : J ⥤ C
under F
is a limit cone in D
,
the cone was already a limit cone in C
.
Note that we do not assume a priori that D
actually has any limits.
Instances of this typeclass
- category_theory.reflects_limits_of_creates_limits
- category_theory.adjunction.is_equivalence_reflects_limits
- category_theory.limits.id_reflects_limits
- category_theory.limits.comp_reflects_limits
- Module.forget_reflects_limits_of_size
- Module.forget₂_reflects_limits_of_size
- Module.forget_reflects_limits
- Module.forget₂_reflects_limits
- category_theory.yoneda_functor_reflects_limits
- category_theory.coyoneda_functor_reflects_limits
Instances of other typeclasses for category_theory.limits.reflects_limits_of_size
- category_theory.limits.reflects_limits_of_size.has_sizeof_inst
- category_theory.limits.reflects_limits_subsingleton
A functor F : C ⥤ D
reflects (small) limits if
whenever the image of a cone over some K : J ⥤ C
under F
is a limit cone in D
,
the cone was already a limit cone in C
.
Note that we do not assume a priori that D
actually has any limits.
- reflects_colimits_of_shape : (Π {J : Type ?} [_inst_4 : category_theory.category J], category_theory.limits.reflects_colimits_of_shape J F) . "apply_instance"
A functor F : C ⥤ D
reflects colimits if
whenever the image of a cocone over some K : J ⥤ C
under F
is a colimit cocone in D
,
the cocone was already a colimit cocone in C
.
Note that we do not assume a priori that D
actually has any colimits.
Instances of this typeclass
Instances of other typeclasses for category_theory.limits.reflects_colimits_of_size
- category_theory.limits.reflects_colimits_of_size.has_sizeof_inst
- category_theory.limits.reflects_colimits_subsingleton
A functor F : C ⥤ D
reflects (small) colimits if
whenever the image of a cocone over some K : J ⥤ C
under F
is a colimit cocone in D
,
the cocone was already a colimit cocone in C
.
Note that we do not assume a priori that D
actually has any colimits.
A convenience function for reflects_limit
, which takes the functor as an explicit argument to
guide typeclass resolution.
A convenience function for reflects_colimit
, which takes the functor as an explicit argument to
guide typeclass resolution.
Equations
- category_theory.limits.id_reflects_limits = {reflects_limits_of_shape := λ (J : Type w') (𝒥 : category_theory.category J), {reflects_limit := λ (K : J ⥤ C), {reflects := λ (c : category_theory.limits.cone K) (h : category_theory.limits.is_limit ((𝟭 C).map_cone c)), {lift := λ (s : category_theory.limits.cone K), h.lift {X := s.X, π := {app := λ (j : J), s.π.app j, naturality' := _}}, fac' := _, uniq' := _}}}}
Equations
- category_theory.limits.id_reflects_colimits = {reflects_colimits_of_shape := λ (J : Type w') (𝒥 : category_theory.category J), {reflects_colimit := λ (K : J ⥤ C), {reflects := λ (c : category_theory.limits.cocone K) (h : category_theory.limits.is_colimit ((𝟭 C).map_cocone c)), {desc := λ (s : category_theory.limits.cocone K), h.desc {X := s.X, ι := {app := λ (j : J), s.ι.app j, naturality' := _}}, fac' := _, uniq' := _}}}}
Equations
Equations
- category_theory.limits.comp_reflects_limits_of_shape F G = {reflects_limit := λ {K : J ⥤ C}, category_theory.limits.comp_reflects_limit F G}
Equations
- category_theory.limits.comp_reflects_limits F G = {reflects_limits_of_shape := λ {J : Type w} [_inst_4_1 : category_theory.category J], category_theory.limits.comp_reflects_limits_of_shape F G}
Equations
Equations
Equations
- category_theory.limits.comp_reflects_colimits F G = {reflects_colimits_of_shape := λ {J : Type w} [_inst_4_1 : category_theory.category J], category_theory.limits.comp_reflects_colimits_of_shape F G}
If F ⋙ G
preserves limits for K
, and G
reflects limits for K ⋙ F
,
then F
preserves limits for K
.
Equations
If F ⋙ G
preserves limits of shape J
and G
reflects limits of shape J
, then F
preserves
limits of shape J
.
Equations
If F ⋙ G
preserves limits and G
reflects limits, then F
preserves limits.
Transfer reflection of limits along a natural isomorphism in the diagram.
Equations
- category_theory.limits.reflects_limit_of_iso_diagram F h = {reflects := λ (c : category_theory.limits.cone K₂) (t : category_theory.limits.is_limit (F.map_cone c)), ⇑(category_theory.limits.is_limit.postcompose_inv_equiv h c) (category_theory.limits.is_limit_of_reflects F ((⇑((category_theory.limits.is_limit.postcompose_inv_equiv (category_theory.iso_whisker_right h F) (F.map_cone c)).symm) t).of_iso_limit (category_theory.limits.cones.ext (category_theory.iso.refl ((category_theory.limits.cones.postcompose (category_theory.iso_whisker_right h F).inv).obj (F.map_cone c)).X) _)))}
Transfer reflection of a limit along a natural isomorphism in the functor.
Equations
Transfer reflection of limits of shape along a natural isomorphism in the functor.
Equations
Transfer reflection of limits along a natural isomorphism in the functor.
Equations
Transfer reflection of limits along a equivalence in the shape.
Equations
- category_theory.limits.reflects_limits_of_shape_of_equiv e F = {reflects_limit := λ (K : J' ⥤ C), {reflects := λ (c : category_theory.limits.cone K) (t : category_theory.limits.is_limit (F.map_cone c)), category_theory.limits.is_limit.of_whisker_equivalence e (category_theory.limits.is_limit_of_reflects F ((t.whisker_equivalence e).of_iso_limit F.map_cone_whisker.symm))}}
reflects_limits_of_size_shrink.{w w'} F
tries to obtain reflects_limits_of_size.{w w'} F
from some other reflects_limits_of_size F
.
Reflecting limits at any universe implies reflecting limits at universe 0
.
If the limit of F
exists and G
preserves it, then if G
reflects isomorphisms then it
reflects the limit of F
.
Equations
If C
has limits of shape J
and G
preserves them, then if G
reflects isomorphisms then it
reflects limits of shape J
.
If C
has limits and G
preserves limits, then if G
reflects isomorphisms then it reflects
limits.
If F ⋙ G
preserves colimits for K
, and G
reflects colimits for K ⋙ F
,
then F
preserves colimits for K
.
If F ⋙ G
preserves colimits of shape J
and G
reflects colimits of shape J
, then F
preserves colimits of shape J
.
If F ⋙ G
preserves colimits and G
reflects colimits, then F
preserves colimits.
Transfer reflection of colimits along a natural isomorphism in the diagram.
Equations
- category_theory.limits.reflects_colimit_of_iso_diagram F h = {reflects := λ (c : category_theory.limits.cocone K₂) (t : category_theory.limits.is_colimit (F.map_cocone c)), ⇑(category_theory.limits.is_colimit.precompose_hom_equiv h c) (category_theory.limits.is_colimit_of_reflects F ((⇑((category_theory.limits.is_colimit.precompose_hom_equiv (category_theory.iso_whisker_right h F) (F.map_cocone c)).symm) t).of_iso_colimit (category_theory.limits.cocones.ext (category_theory.iso.refl ((category_theory.limits.cocones.precompose (category_theory.iso_whisker_right h F).hom).obj (F.map_cocone c)).X) _)))}
Transfer reflection of a colimit along a natural isomorphism in the functor.
Transfer reflection of colimits of shape along a natural isomorphism in the functor.
Equations
Transfer reflection of colimits along a natural isomorphism in the functor.
Equations
Transfer reflection of colimits along a equivalence in the shape.
Equations
- category_theory.limits.reflects_colimits_of_shape_of_equiv e F = {reflects_colimit := λ (K : J' ⥤ C), {reflects := λ (c : category_theory.limits.cocone K) (t : category_theory.limits.is_colimit (F.map_cocone c)), category_theory.limits.is_colimit.of_whisker_equivalence e (category_theory.limits.is_colimit_of_reflects F ((t.whisker_equivalence e).of_iso_colimit F.map_cocone_whisker.symm))}}
reflects_colimits_of_size_shrink.{w w'} F
tries to obtain reflects_colimits_of_size.{w w'} F
from some other reflects_colimits_of_size F
.
Reflecting colimits at any universe implies reflecting colimits at universe 0
.
If the colimit of F
exists and G
preserves it, then if G
reflects isomorphisms then it
reflects the colimit of F
.
Equations
If C
has colimits of shape J
and G
preserves them, then if G
reflects isomorphisms then it
reflects colimits of shape J
.
If C
has colimits and G
preserves colimits, then if G
reflects isomorphisms then it reflects
colimits.
A fully faithful functor reflects limits.
Equations
- category_theory.limits.fully_faithful_reflects_limits F = {reflects_limits_of_shape := λ (J : Type w') (𝒥₁ : category_theory.category J), {reflects_limit := λ (K : J ⥤ C), {reflects := λ (c : category_theory.limits.cone K) (t : category_theory.limits.is_limit (F.map_cone c)), category_theory.limits.is_limit.mk_cone_morphism (λ (s : category_theory.limits.cone K), (category_theory.limits.cones.functoriality K F).preimage (t.lift_cone_morphism ((category_theory.limits.cones.functoriality K F).obj s))) _}}}
A fully faithful functor reflects colimits.
Equations
- category_theory.limits.fully_faithful_reflects_colimits F = {reflects_colimits_of_shape := λ (J : Type w') (𝒥₁ : category_theory.category J), {reflects_colimit := λ (K : J ⥤ C), {reflects := λ (c : category_theory.limits.cocone K) (t : category_theory.limits.is_colimit (F.map_cocone c)), category_theory.limits.is_colimit.mk_cocone_morphism (λ (s : category_theory.limits.cocone K), (category_theory.limits.cocones.functoriality K F).preimage (t.desc_cocone_morphism ((category_theory.limits.cocones.functoriality K F).obj s))) _}}}