# Complete category

In mathematics, a **complete category** is a category in which all small limits exist. That is, a category *C* is complete if every diagram *F* : *J* → *C* (where *J* is small) has a limit in *C*. Dually, a **cocomplete category** is one in which all small colimits exist. A **bicomplete category** is a category which is both complete and cocomplete.

The existence of *all* limits (even when *J* is a proper class) is too strong to be practically relevant. Any category with this property is necessarily a thin category: for any two objects there can be at most one morphism from one object to the other.

A weaker form of completeness is that of finite completeness. A category is **finitely complete** if all finite limits exists (i.e. limits of diagrams indexed by a finite category *J*). Dually, a category is **finitely cocomplete** if all finite colimits exist.

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:

A small category *C* is complete if and only if it is cocomplete.^{[1]} 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.