Sifted categories #
A category C
is sifted if C
is nonempty and the diagonal functor C ⥤ C × C
is final.
Sifted categories can be characterized as those such that the colimit functor (C ⥤ Type) ⥤ Type
preserves finite products. We achieve this characterization in this file.
Main results #
isSifted_of_hasBinaryCoproducts_and_nonempty
: A nonempty category with binary coproducts is sifted.IsSifted.colimPreservesFiniteProductsOfIsSifted
: TheType
-valued colimit functor for sifted diagrams preserves finite products.IsSifted.of_colimit_preservesFiniteProducts
: The converse: if theType
-valued colimit functor preserves finite producs, the category is sifted.IsSifted.of_final_functor_from_sifted
: A category admitting a final functor from a sifted category is itself sifted.
References #
A category C
IsSiftedOrEmpty
if the diagonal functor C ⥤ C × C
is final.
Equations
Instances For
A category C
IsSifted
if
- the diagonal functor
C ⥤ C × C
is final. - there exists some object.
- nonempty : Nonempty C
Instances
Being sifted is preserved by equivalences of categories
In particular a category is sifted iff and only if it is so when viewed as a small category
A sifted category is connected.
A category with binary coproducts is sifted or empty.
A nonempty category with binary coproducts is sifted.
Through the isomorphisms PreservesColimit₂.isoColimitUncurryWhiskeringLeft₂
and
externalProductCompDiagIso
, the comparison map colimit.pre (X ⊠ Y) (diag C)
identifies with the
product comparison map for the colimit functor.
If C
is sifted, the canonical product comparison map for the colim
functor
(C ⥤ Type) ⥤ Type
is an isomorphism.
Sifted colimits commute with binary products
If C
is sifted, the colimit
functor (C ⥤ Type) ⥤ Type
preserves terminal objects
If C
is sifted, the colim
functor (C ⥤ Type) ⥤ Type
preserves finite products.
If the colim
functor (C ⥤ Type) ⥤ Type
preserves binary products, then C
is sifted or
empty.
If the colim
functor (C ⥤ Type) ⥤ Type
preserves finite products, then C
is sifted.
Auxiliary version of IsSifted.of_final_functor_from_sifted
where everything is a
small category.
A functor admitting a final functor from a sifted category is sifted.