Main Page | See live article | Alphabetical index

Limit (category theory)

In category theory, a branch of mathematics, the abstract notion of a limit captures the essential properties of universal constructions that are used in various parts of mathematics, like products and inverse limits. Accordingly, the dual notion of a colimit, generalizes disjoint unions and direct sums. Limits and colimits have strong relationships to the categorial concepts of universal morphisms and adjoint functors.


Before defining limits, it is useful to define the auxiliary notion of a cone of a functor. Therefore consider two categories J and C and a covariant functor F : J-> C. A cone of F is an object L of C, together with a family of morphisms φX : L -> F(X) for every object X of J, such that for every morphism f : X -> Y in J, we have F(f) o φX = φY. This situation may be depicted as a commutative diagram, more precisely as a commutative triangle with the vertices L, F(X), and F(Y). Indeed the (usually infinite) collection of all these triangles can be (partially) depicted in the shape of a cone with the point L.

A limit of a functor is just a universal cone. In detail, a cone (L, φX) of a functor F : J-> C is a limit of that functor iff for any cone (N, ψX) of F, there exists precisely one morphism u : N -> L such that φX o u = ψX for all X. We may say that the morphisms ψX factor through L with the unique factorization u.

As for every universal property, this definition describes a balanced state of generality: The limit object L has to be general enough to allow any other cone to factor through it; on the other hand, L has to be sufficiently specific, so that only one such factorization is possible for every cone.

It is possible that a functor does not have a limit at all. However, if a functor has two limits then there exists a unique isomorphism between the respective limit objects which commutes with the respective cone maps; this isomorphism is given by the unique factorization from one limit to the other. Thus limits are unique up to isomorphism and can be denoted by lim F.


The definition of limits is general enough to subsume several constructions useful in practical settings. In the following we will consider the limit (L, φX) of a functor F : J -> C.

Products. If J'\' is a discrete category, i.e. if J'' has only the identity morphisms, then the functor F is essentially nothing but a family of objects of C, indexed by J. The limit L of F is called the product of these objects. The special case where J consists of just two objects (which we will call 1 and 2) then defines a binary product. For example, assume that C is the category Set and let J be the discrete two-element category. The binary product L will then just be the cartesian product F(1) x F(2) in Set. The morphisms φ1 and φ2 are the projections to the respective components of the tuples from L.

In many algebraic contexts, such as (abelian) groups, rings , boolean algebras, etc., products are just cartesian products, where the operations are defined pointwise.

Another well-known product is the product topology in Top, the category of topological spaces and continuous maps.

If a partially ordered set is viewed as a category C, then products in C are greatest lower bounds while arbitrary cones are just lower bounds. .

Terminal object. If J is the empty category that contains no objects, then clearly the above definitions imply that every object of C is a cone of F. A limit then is an object that has a unique factorization through any other object. This is just the definition of a terminal object.

Equalizers. If J is a two-object category with two parallel morphisms from object 1 to object 2 then the limit L is called an equalizer. Practical examples of these constructions are considered in the article on equalizers.

Kernels. The special case of an equalizer where one of the morphisms is mapped to a zero morphism, the resulting limit is called a kernel.

Pullbacks. Let J be a category with the three elements a, b and c, where the only non-identity morphisms are f : a -> c and g : b -> c. The limit L is then called a pullback or a fibred product. It can nicely be visualized as a commutative square, with the diagonal φc = F(f) o φa = F(g) o φb.

All of the above examples follow a common scheme for the definition of limits: in order to model a limit construction, such as a product of sets, one uses a functor that "picks out" the relevant objects (and sometimes morphisms) from the category C. Consequently, the category J usually is small and has fewer elements than the category C. If one considers a finite category J then the above constructions can also be specified by giving the objects and morphisms that the functor F maps to. For example one may talk about an "equalizer of two morphisms" instead of calling this limit an "equalizer of a functor that maps the only two non-trivial morphisms in J to certain values".

However, J may well be a large category, i.e. one that has a proper class of objects. For example, the product of all sets exists and is just the empty set (indeed, this is the only possible cone on all families of sets that contain the empty set).

Complete categories

A category C is called complete iff every functor F : J-> C, where J is any small category, has a limit. For short: "all small limits in C exist". Many important categories are complete: groups, abelian groups, sets, modules over some ring, topological spaces and compact Hausdorff spaces. The Existence Theorem for Limits states that a category is complete iff it has equalizers and arbitray (infinite) products.

Typical examples of categories that are not complete are categories with some "size restriction": the category of finite groups or the category of finite-dimensional vector spaces over a fixed field.

It turns out that the property of having all (even large) limits is too strong to be practically relevant. Any category with this property necessarily is of a very restricted form: for any two objects there can be at most one morphism from one object to the other.

If J is a small category and every functor from J to C has a limit, then the limit operation forms a functor from the functor category CJ to C. For example, if J is a discrete category and C is the category Ab of abelian groups, then lim : AbJ -> Ab is the functor which assigns to every J-indexed family of abelian groups its direct product. More generally, if J is a small category arising from a partially ordered set, then lim: AbJ -> Ab assigns to every system of abelian groups its inverse limit.

Continuous functors

It is a natural question to ask, which functors are compatible with the construction of limits in the sense that they map limits to limits. These functors are called continuous or limit preserving. Formally, a functor G : C -> D is continuous iff, for every small category I and every functor F : I -> C that has a limit (LX) in C, the functor GF : I -> D has the limit (G(L), GX) ). Since the Existence Theorem for Limits mentioned above shows that all limits can be expressed by products and equalizers, it is sufficient for continuity if G preserves these special limits.

Important examples of continuous functors are given by representable ones: if U is some object of C, then the functor GU : C -> Set with GU(V) = MorC(U, V) for all objects V in C is continuous.

The importance of adjoint functors lies in the fact that every functor which has a left adjoint (and therefore is a right adjoint) is continuous. In the category Ab of abelian groups, this for example shows that the kernel of a product of homomorphisms is naturally identified with the product of the kernels. This illustrates that one may also say that a continuous functor commutes with the construction of limits.

Being a universal construction, limits also have other strong relationships to adjoint functors. The limit functor lim : CJ -> C (if it exists) has as left adjoint the diagonal functor C -> CJ which assigns to every object N of C the constant functor whose value is always N on objects and idN on morphisms. In particular, limit functors are continuous; intuitively, this means that the order in which two limits are computed does not matter.


The dual notion of limits and cones are colimits and co-cones. Although it is straightforward to obtain these definitions by inverting all morphisms in the above definitions, we will explicitly state them here:

Consider two categories J and C and a covariant functor F : J-> C. A co-cone of F is an object L of C, together with a family of morphisms φX : F(X) -> L for every object X of J, such that for every morphism f : X -> Y in J, we have φX o F(f)= φY. Again, a visualization of this situation resembles a cone (this time pointing downwards).

A colimit of a functor is a universal co-cone: a co-cone (L, φX) of a functor F : J-> C is a colimit of F iff for any co-cone (N, ψX) of F, there exists precisely one morphism u : L -> N such that u o φX = ψX for all X. If it exists, the colimit of F is unique up to a unique isomorphism and is denoted by colim F.

Examples of colimits are given by the dual versions of the ones given above: coproducts, initial objects, coequalizers, cokernels, and pushouts, respectively.

Limits and colimits are related as follows: A functor F : J -> C has a colimit if and only if for every object N of C, the functor X |-> MorC(F(X),N) (which is a covariant functor on the dual category Jop) has a limit. If that is the case, then

MorC(colim F, N) = lim MorC(F(-), N)
for every object N of C.

The category C is called cocomplete if every functor F : J -> C with small J has a colimit. The following categories are cocomplete: sets, groups, abelian groups, modules over some ring and topological spaces.

A covariant functor that commutes with the construction of colimits is said to be cocontinuous or to preserve colimits. Every functor which has a right adjoint (and hence is a left adjoint) is cocontinuous.

As an example in the category Grp of groups the functor F : Set -> Grp which assigns to every set S the free group over S has a right adjoint (the forgetful functor Grp -> Set) and is therefore cocontinuous. The free product of groups is an example of a colimit construction, and it follows that the free product of a family of free groups is free.