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. 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: