It follows from the
existence theorem for limits that a category is complete
if and only if it has
equalizers (of all pairs of morphisms) and all (small)
products. Since equalizers may be constructed from
pullbacks and binary products (consider the pullback of (
f,
g) along the diagonal Δ), a category is complete if and only if it has pullbacks and products. Dually, a category is cocomplete if and only if it has
coequalizers and all (small)
coproducts, or, equivalently,
pushouts and coproducts. Finite completeness can be characterized in several ways. For a category
C, the following are all equivalent: •
C is finitely complete, •
C has equalizers and all finite products, •
C has equalizers, binary products, and a
terminal object, •
C has
pullbacks and a terminal object. The dual statements are also equivalent. A
small category C is complete if and only if it is cocomplete. A small complete category is necessarily thin. A
posetal category vacuously has all equalizers and coequalizers, whence it is (finitely) complete if and only if it has all (finite) products, and dually for cocompleteness. Without the finiteness restriction a posetal category with all products is automatically cocomplete, and dually, by a theorem about complete lattices. ==Examples and nonexamples==