# Limit (category theory)

(Redirected from Colimit)

In category theory, a branch of mathematics, the abstract notion of a limit captures the essential properties of universal constructions such as products, pullbacks and inverse limits. The dual notion of a colimit generalizes constructions such as disjoint unions, direct sums, coproducts, pushouts and direct limits.

Limits and colimits, like the strongly related notions of universal properties and adjoint functors, exist at a high level of abstraction. In order to understand them, it is helpful to first study the specific examples these concepts are meant to generalize.

## Definition

Limits and colimits in a category C are defined by means of diagrams in C. Formally, a diagram of type J in C is a functor from J to C:

F : JC.

The category J is thought of as an index category, and the diagram F is thought of as indexing a collection of objects and morphisms in C patterned on J.

One is most often interested in the case where the category J is a small or even finite category. A diagram is said to be small or finite whenever J is.

### Limits

Let F : JC be a diagram of type J in a category C. A cone to F is an object N of C together with a family ψX : NF(X) of morphisms indexed by the objects X of J, such that for every morphism f : XY in J, we have F(f) o ψX = ψY.

A limit of the diagram F : JC is a cone (L, φ) to F such that for any other cone (N, ψ) to F there exists a unique morphism u : NL such that φX o u = ψX for all X in J.

One says that the cone (N, ψ) factors through the cone (L, φ) with the unique factorization u. The morphism u is sometimes called the mediating morphism.

Limits are also referred to as universal cones, since they are characterized by a universal property (see below for more information). As with every universal property, the above 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.

Limits may also be characterized as terminal objects in the category of cones to F.

It is possible that a diagram does not have a limit at all. However, if a diagram does have a limit then this limit is essentially unique: it is unique up to a unique isomorphism. For this reason one often speaks of the limit of F.

### Colimits

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

A co-cone of a diagram F : JC is an object N of C together with a family of morphisms

ψX : F(X) → N

for every object X of J, such that for every morphism f : XY in J, we have ψY o F(f)= ψX.

A colimit of a diagram F : JC is a co-cone (L, ${\displaystyle \phi }$) of F such that for any other co-cone (N, ψ) of F there exists a unique morphism u : LN such that u o ${\displaystyle \phi }$X = ψX for all X in J.

Colimits are also referred to as universal co-cones. They can be characterized as initial objects in the category of co-cones from F.

As with limits, if a diagram F has a colimit then this colimit is unique up to a unique isomorphism.

### Variations

Limits and colimits can also be defined for collections of objects and morphisms without the use of diagrams. The definitions are the same (note that in definitions above we never needed to use composition of morphisms in J). This variation, however, adds no new information. Any collection of objects and morphisms defines a (possibly large) directed graph G. If we let J be the free category generated by G, there is a universal diagram F : JC whose image contains G. The limit (or colimit) of this diagram is the same as the limit (or colimit) of the original collection of objects and morphisms.

Weak limit and weak colimits are defined like limits and colimits, except that the uniqueness property of the mediating morphism is dropped.

## Examples

### Limits

The definition of limits is general enough to subsume several constructions useful in practical settings. In the following we will consider the limit (L, φ) of a diagram F : JC.

• Terminal objects. If J is the empty category there is only one diagram of type J: the empty one (similar to the empty function in set theory). A cone to the empty diagram is essentially just an object of C. The limit of F is any object that is uniquely factored through by every other object. This is just the definition of a terminal object.
• Products. If J is a discrete category then a diagram 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 cone φ consists of a family of morphisms φX : LF(X) called the projections of the product. In the category of sets, for instance, the products are given by Cartesian products and the projections are just the natural projections onto the various factors.
• Powers. A special case of a product is when the diagram F is a constant functor to an object X of C. The limit of this diagram is called the Jth power of X and denoted XJ.
• Equalizers. If J is a category with two objects and two parallel morphisms from object 1 to object 2 then a diagram of type J is a pair of parallel morphisms in C. The limit L of such a diagram is called an equalizer of those morphisms.
• Kernels. A kernel is a special case of an equalizer where one of the morphisms is a zero morphism.
• Pullbacks. Let F be a diagram that picks out three objects X, Y, and Z in C, where the only non-identity morphisms are f : XZ and g : YZ. The limit L of F is called a pullback or a fiber product. It can nicely be visualized as a commutative square:
• Inverse limits. Let J be a directed set (considered as a small category by adding arrows ij if and only if ij) and let F : JopC be a diagram. The limit of F is called (confusingly) an inverse limit or projective limit.
• If J = 1, the category with a single object and morphism, then a diagram of type J is essentially just an object X of C. A cone to an object X is just a morphism with codomain X. A morphism f : YX is a limit of the diagram X if and only if f is an isomorphism. More generally, if J is any category with an initial object i, then any diagram of type J has a limit, namely any object isomorphic to F(i). Such an isomorphism uniquely determines a universal cone to F.
• Topological limits. Limits of functions are a special case of limits of filters, which are related to categorical limits as follows. Given a topological space X, denote F the set of filters on X, xX a point, V(x) ∈ F the neighborhood filter of x, AF a particular filter and ${\displaystyle F_{x,A}=\{G\in F\mid V(x)\cup A\subset G\}}$ the set of filters finer than A and that converge to x. The filters F are given a small and thin category structure by adding an arrow AB if and only if AB. The injection ${\displaystyle I_{x,A}:F_{x,A}\to F}$ becomes a functor and the following equivalence holds :
x is a topological limit of A if and only if A is a categorical limit of ${\displaystyle I_{x,A}}$

### Colimits

Examples of colimits are given by the dual versions of the examples above:

• Initial objects are colimits of empty diagrams.
• Coproducts are colimits of diagrams indexed by discrete categories.
• Copowers are colimits of constant diagrams from discrete categories.
• Coequalizers are colimits of a parallel pair of morphisms.
• Cokernels are coequalizers of a morphism and a parallel zero morphism.
• Pushouts are colimits of a pair of morphisms with common domain.
• Direct limits are colimits of diagrams indexed by directed sets.

## Limits and colimits in the category of sets

In many cases, limits (or colimits) taken in a particular category ${\displaystyle C}$ can be computed in terms of limits (or colimits) in ${\displaystyle \mathbf {Set} }$, the category of sets. Since limits and colimits in the category of sets have a particularly easy description, it is worthwhile spending the time to understand them very well.

### Limits in the category of sets

Suppose ${\displaystyle D\colon J\to \mathbf {Set} }$ is a diagram in ${\displaystyle C}$ with shape ${\displaystyle J}$, and suppose we want to understand the limit set ${\displaystyle {\mathsf {lim}}_{J}D}$. In general ${\displaystyle J}$ is a category, but one may always take its underlying graph and the limit is unchanged; since it is easier to speak of and think about graphs, we assume ${\displaystyle J}$ is a graph with vertex set ${\displaystyle V}$, arrow set ${\displaystyle A}$, and two functions ${\displaystyle src,tgt\colon A\to V}$. Here are some important special cases:

• ${\displaystyle J}$ is the empty graph
• ${\displaystyle J}$ is the graph with one vertex ${\displaystyle v}$ and no arrows
• ${\displaystyle J}$ is the graph with two vertices ${\displaystyle v,w}$ and no arrows
• ${\displaystyle J}$ is the cospan graph with three vertices and two arrows, shaped like this: ${\displaystyle v_{0}{\xrightarrow {f}}w{\xleftarrow {g}}v_{1}}$
• ${\displaystyle J}$ is the span graph with three vertices and two arrows, shaped like this: ${\displaystyle v_{0}{\xleftarrow {f}}w{\xrightarrow {g}}v_{1}}$
• ${\displaystyle J}$ is the graph with two vertices and two parallel arrows ${\displaystyle f,g\colon v\rightrightarrows w}$

The functor ${\displaystyle D\colon J\to \mathbf {Set} }$ assigns a set ${\displaystyle D(v)}$ to each vertex ${\displaystyle v}$, and a function ${\displaystyle D(a)\colon D(v)\to D(w)}$ to each arrow ${\displaystyle a\colon v\to w}$ in the graph. It is this diagram that we want to take the limit of, and which has a general formula. The limit comes with various structure maps and has a universal property, but our goal here is simply to describe its underlying set.

The diagram shape ${\displaystyle J}$ can be any graph at all, even infinite, but for simplicity we will assume it has finitely many vertices ${\displaystyle v_{1},\ldots ,v_{n}}$. The limit of ${\displaystyle D}$ can be taken to be:

${\displaystyle {\mathsf {lim}}_{J}D:={\big \{}(d_{1},\ldots ,d_{n})\mid d_{i}\in D(v_{i}){\text{ and for all }}a\colon v_{i}\to v_{j}\in A,{\text{ we have }}D(a)(d_{i})=d_{j}{\big \}}.}$

Let's consider this formula in the above six cases:

• If ${\displaystyle J}$ is the empty graph, then ${\displaystyle n=0}$. There is exactly one empty typle ${\displaystyle (\ )}$, which vacuously satisfies the properties, so we've constructed the limit as the singleton set
${\displaystyle \{(\ )\}}$

consisting of the empty tuple. The limit of the empty diagram is the terminal object in ${\displaystyle \mathbf {Set} }$, as always.

• If ${\displaystyle J}$ is the one-vertex graph our construction yields the set of 1-tuples
${\displaystyle \{(d)\mid d\in D(v)\}}$

This is isomorphic to the set ${\displaystyle D(v)}$. In other words, if ${\displaystyle X}$ is a set, considered as a diagram with "vertex shape", then its limit is just ${\displaystyle X}$ again.

• If ${\displaystyle J}$ is the two-vertex graph, our construction yields the set of 2-tuples
${\displaystyle \{(d_{1},d_{2})\mid d_{1}\in D(v_{1}){\text{ and }}d_{2}\in d(v_{2})\}}$

In other words, if ${\displaystyle X}$ and ${\displaystyle Y}$ are sets, considered as a single diagram with "2-vertex shape" then the limit is the product ${\displaystyle X\times Y}$.

• If ${\displaystyle J}$ is the cospan graph with shape ${\displaystyle v_{0}{\xrightarrow {f}}w{\xleftarrow {g}}v_{1}}$, then our construction yields the pullback. Namely, it is
${\displaystyle \{(d_{0},e,d_{1})\mid d_{0}\in D(v_{0}),e\in D(w),d_{1}\in D(v_{1}){\text{ and }}D(f)(d_{0})=e=D(g)(d_{1})\}}$
• If ${\displaystyle J}$ is the span graph with shape ${\displaystyle v_{0}{\xleftarrow {f}}w{\xrightarrow {g}}v_{1}}$, then our construction yields
${\displaystyle \{(d_{0},e,d_{1})\mid d_{0}\in D(v_{0}),e\in D(w),d_{1}\in D(v_{1}){\text{ and }}D(f)(e)=d_{0}{\text{ and }}D(g)(e)=d_{1}\}}$
• If ${\displaystyle J}$ is the parallel-arrows graph ${\displaystyle f,g\colon v\rightrightarrows w}$, then our construction yields the equalizer. Namely it is
${\displaystyle \{(d,e)\mid d\in D(v),e\in D(w){\text{ and }}D(f)(d)=e=D(g)(d)\}}$

#### Simplifying descriptions

The above descriptions may not be the simplest possible, because limits are only defined up to isomorphism: anything isomorphic to a limit of some diagram is also a limit of the diagram. For example, a set isomorphic to the pullback is

${\displaystyle \{(d_{0},d_{1})\mid d_{0}\in D(v_{0}),d_{1}\in D(v_{1}){\text{ such that }}D(f)(d_{0})=D(g)(d_{1})\}}$

A set isomorphic to the equalizer is

${\displaystyle \{d\mid d\in D(v){\text{ such that }}D(f)(d)=D(g)(d)\}}$

The limit of the span-graph is even more redundant than either of these. It is easy to show that the ${\displaystyle Y}$ is a limit set for the diagram ${\displaystyle X\leftarrow Y\rightarrow Z}$, i.e. that the set ${\displaystyle \{(x,y,z)\mid x\in X,y\in Y,z\in Z{\text{ and }}D(f)(y)=x{\text{ and }}D(g)(y)=z\}}$ given above is isomorphic to ${\displaystyle Y}$.

### Colimits in the category of sets

Suppose ${\displaystyle D\colon J\to \mathbf {Set} }$ is a diagram in ${\displaystyle C}$ with shape ${\displaystyle J}$, and suppose we want to understand the colimit set ${\displaystyle {\mathsf {colim}}_{J}D}$. In general ${\displaystyle J}$ is a category, but one may always take its underlying graph and the colimit is unchanged, so as above we will think in terms of graphs. We again consider the above six cases:

• ${\displaystyle J}$ is the empty graph
• ${\displaystyle J}$ is the graph with one vertex ${\displaystyle v}$ and no arrows
• ${\displaystyle J}$ is the graph with two vertices ${\displaystyle v_{0},v_{1}}$ and no arrows
• ${\displaystyle J}$ is the cospan graph with three vertices and two arrows, shaped like this: ${\displaystyle v_{0}{\xrightarrow {f}}w{\xleftarrow {g}}v_{1}}$
• ${\displaystyle J}$ is the span graph with three vertices and two arrows, shaped like this: ${\displaystyle v_{0}{\xleftarrow {f}}w{\xrightarrow {g}}v_{1}}$
• ${\displaystyle J}$ is the graph with two vertices and two parallel arrows ${\displaystyle f,g\colon v\rightrightarrows w}$

To understand colimits, one must understand quotients by equivalence relations. We assume this background in the following.

The colimit of ${\displaystyle D}$ can be taken to be:

${\displaystyle {\mathsf {colim}}_{J}D:={\big \{}(v,d)\mid v\in V{\text{ and }}d\in D(v){\big \}}/\sim }$

where ${\displaystyle \sim }$ is the equivalence relation generated by putting ${\displaystyle (v,d)\sim (w,e)}$ if there is an arrow ${\displaystyle a\colon d\to e}$ in ${\displaystyle J}$ such that ${\displaystyle D(a)(d)=e}$.

Let's consider this formula in the above six cases:

• If ${\displaystyle J}$ is the empty graph, then ${\displaystyle n=0}$. There are no vertices, so we find the colimit is the empty set ${\displaystyle \emptyset }$.

The colimit of the empty diagram is the initial object in ${\displaystyle \mathbf {Set} }$, as always.

• If ${\displaystyle J}$ is the one-vertex graph our construction yields the set
${\displaystyle \{(v,d)\mid d\in D(v)\}}$

This is isomorphic to the set ${\displaystyle D(v)}$. In other words, if ${\displaystyle X}$ is a set, considered as a diagram with "vertex shape", then its colimit (like its limit) is just ${\displaystyle X}$ again.

• If ${\displaystyle J}$ is the two-vertex graph, our construction yields the set
${\displaystyle \{(v_{i},d_{i})\mid d_{i}\in D(v_{i}),{\text{ where }}i=1{\text{ or }}i=2\}}$

This is isomorphic to the disjoint union ${\displaystyle D(v_{1})\sqcup D(v_{2})}$ In other words, if ${\displaystyle X}$ and ${\displaystyle Y}$ are sets, considered as a single diagram with "2-vertex shape" then the colimit is the disjoint union ${\displaystyle X\sqcup Y}$.

• If ${\displaystyle J}$ is the cospan graph with shape ${\displaystyle v_{0}{\xrightarrow {f}}w{\xleftarrow {g}}v_{1}}$, then one can simplify the result of our constructio (as for limits above) and find that the colimit is isomorphic to ${\displaystyle D(w)}$.
• If ${\displaystyle J}$ is the span graph with shape ${\displaystyle v_{0}{\xleftarrow {f}}w{\xrightarrow {g}}v_{1}}$, then our construction yields the pushout. After simplifying, it is
${\displaystyle D(v_{0})\sqcup D(v_{1})/\sim }$, where ${\displaystyle \sim }$ is the equivalence relation generated by declaring ${\displaystyle D(f)(e)=D(g)(e)}$ for every ${\displaystyle e\in D(w)}$.
• If ${\displaystyle J}$ is the parallel-arrows graph ${\displaystyle f,g\colon v\rightrightarrows w}$, then our construction yields the coequalizer. After simplifying, it is
${\displaystyle \{e\in D(w)\}/\sim }$, where ${\displaystyle \sim }$ is the equivalence relation generated by declaring ${\displaystyle D(f)(d)=D(g)(d)}$ for every ${\displaystyle d\in D(v)}$.

## Properties

### Existence of limits

A given diagram F : JC may or may not have a limit (or colimit) in C. Indeed, there may not even be a cone to F, let alone a universal cone.

A category C is said to have limits of type J if every diagram of type J has a limit in C. Specifically, a category C is said to

• have products if it has limits of type J for every small discrete category J (it need not have large products),
• have equalizers if it has limits of type ${\displaystyle \bullet \rightrightarrows \bullet }$ (i.e. every parallel pair of morphisms has an equalizer),
• have pullbacks if it has limits of type ${\displaystyle \bullet \rightarrow \bullet \leftarrow \bullet }$ (i.e. every pair of morphisms with common codomain has a pullback).

A complete category is a category that has all small limits (i.e. all limits of type J for every small category J).

One can also make the dual definitions. A category has colimits of type J if every diagram of type J has a colimit in C. A cocomplete category is one that has all small colimits.

The existence theorem for limits states that if a category C has equalizers and all products indexed by the classes Ob(J) and Hom(J), then C has all limits of type J. In this case, the limit of a diagram F : JC can be constructed as the equalizer of the two morphisms

${\displaystyle s,t:\prod _{i\in \mathrm {Ob} (J)}F(i)\rightrightarrows \prod _{f\in \mathrm {Hom} (J)}F(\mathrm {cod} (f))}$

given (in component form) by

{\displaystyle {\begin{aligned}s&={\bigl (}F(f)\circ \pi _{F(\mathrm {dom} (f))}{\bigr )}_{f\in \mathrm {Hom} (J)}\\t&={\bigl (}\pi _{F(\mathrm {cod} (f))}{\bigr )}_{f\in \mathrm {Hom} (J)}.\end{aligned}}}

There is a dual existence theorem for colimits in terms of coequalizers and coproducts. Both of these theorems give sufficient and necessary conditions for the existence of all (co)limits of type J.

### Universal property

Limits and colimits are important special cases of universal constructions.

Let C be a category and let J be a small index category. The functor category CJ may be thought of as the category of all diagrams of type J in C. The diagonal functor

${\displaystyle \Delta :{\mathcal {C}}\to {\mathcal {C}}^{\mathcal {J}}}$

is the functor that maps each object N in C to the constant functor Δ(N) : JC to N. That is, Δ(N)(X) = N for each object X in J and Δ(N)(f) = idN for each morphism f in J.

Given a diagram F: JC (thought of as an object in CJ), a natural transformation ψ : Δ(N) → F (which is just a morphism in the category CJ) is the same thing as a cone from N to F. To see this, first note that Δ(N)(X) = N for all X implies that the components of ψ are morphisms ψX : NF(X), which all share the domain N. Moreover, the requirement that the cones diagrams commute is true simply because this ψ is a natural transformation. (Dually, a natural transformation ψ : F → Δ(N) is the same thing as a co-cone from F to N.)

Therefore, the definitions of limits and colimits can then be restated in the form:

• A limit of F is a universal morphism from Δ to F.
• A colimit of F is a universal morphism from F to Δ.

Like all universal constructions, the formation of limits and colimits is functorial in nature. In other words, if every diagram of type J has a limit in C (for J small) there exists a limit functor

${\displaystyle \mathrm {lim} :{\mathcal {C}}^{\mathcal {J}}\to {\mathcal {C}}}$

which assigns each diagram its limit and each natural transformation η : FG the unique morphism lim η : lim F → lim G commuting with the corresponding universal cones. This functor is right adjoint to the diagonal functor Δ : CCJ. This adjunction gives a bijection between the set of all morphisms from N to lim F and the set of all cones from N to F

${\displaystyle \mathrm {Hom} (N,\mathrm {lim} F)\cong \mathrm {Cone} (N,F)}$

which is natural in the variables N and F. The counit of this adjunction is simply the universal cone from lim F to F. If the index category J is connected (and nonempty) then the unit of the adjunction is an isomorphism so that lim is a left inverse of Δ. This fails if J is not connected. For example, if J is a discrete category, the components of the unit are the diagonal morphisms δ : NNJ.

Dually, if every diagram of type J has a colimit in C (for J small) there exists a colimit functor

${\displaystyle \mathrm {colim} :{\mathcal {C}}^{\mathcal {J}}\to {\mathcal {C}}}$

which assigns each diagram its colimit. This functor is left adjoint to the diagonal functor Δ : CCJ, and one has a natural isomorphism

${\displaystyle \mathrm {Hom} (\mathrm {colim} F,N)\cong \mathrm {Cocone} (F,N).}$

The unit of this adjunction is the universal cocone from F to colim F. If J is connected (and nonempty) then the counit is an isomorphism, so that colim is a left inverse of Δ.

Note that both the limit and the colimit functors are covariant functors.

### As representations of functors

One can use Hom functors to relate limits and colimits in a category C to limits in Set, the category of sets. This follows, in part, from the fact the covariant Hom functor Hom(N, –) : CSet preserves all limits in C. By duality, the contravariant Hom functor must take colimits to limits.

If a diagram F : JC has a limit in C, denoted by lim F, there is a canonical isomorphism

${\displaystyle \mathrm {Hom} (N,\mathrm {lim} F)\cong \mathrm {lim} \,\mathrm {Hom} (N,F-)}$

which is natural in the variable N. Here the functor Hom(N, F–) is the composition of the Hom functor Hom(N, –) with F. This isomorphism is the unique one which respects the limiting cones.

One can use the above relationship to define the limit of F in C. The first step is to observe that the limit of the functor Hom(N, F–) can be identified with the set of all cones from N to F:

${\displaystyle \mathrm {lim} \,\mathrm {Hom} (N,F-)=\mathrm {Cone} (N,F).}$

The limiting cone is given by the family of maps πX : Cone(N, F) → Hom(N, FX) where πX(ψ) = ψX. If one is given an object L of C together with a natural isomorphism Φ : Hom(–, L) → Cone(–, F), the object L will be a limit of F with the limiting cone given by ΦL(idL). In fancy language, this amounts to saying that a limit of F is a representation of the functor Cone(–, F) : CSet.

Dually, if a diagram F : JC has a colimit in C, denoted colim F, there is a unique canonical isomorphism

${\displaystyle \mathrm {Hom} (\mathrm {colim} F,N)\cong \mathrm {lim} \,\mathrm {Hom} (F-,N)}$

which is natural in the variable N and respects the colimiting cones. Identifying the limit of Hom(F–, N) with the set Cocone(F, N), this relationship can be used to define the colimit of the diagram F as a representation of the functor Cocone(F, –).

### Interchange of limits and colimits of sets

Let I be a finite category and J be a small filtered category. For any bifunctor

F : I × JSet

there is a natural isomorphism

${\displaystyle \mathrm {colim} _{J}\,\mathrm {lim} _{I}F(i,j)\rightarrow \mathrm {lim} _{I}\,\mathrm {colim} _{J}F(i,j).}$

In words, filtered colimits in Set commute with finite limits.

## Functors and limits

If F : JC is a diagram in C and G : CD is a functor then by composition (recall that a diagram is just a functor) one obtains a diagram GF : JD. A natural question is then:

“How are the limits of GF related to those of F?”

### Preservation of limits

A functor G : CD induces a map from Cone(F) to Cone(GF): if Ψ is a cone from N to F then GΨ is a cone from GN to GF. The functor G is said to preserve the limits of F if (GL, Gφ) is a limit of GF whenever (L, φ) is a limit of F. (Note that if the limit of F does not exist, then G vacuously preserves the limits of F.)

A functor G is said to preserve all limits of type J if it preserves the limits of all diagrams F : JC. For example, one can say that G preserves products, equalizers, pullbacks, etc. A continuous functor is one that preserves all small limits.

One can make analogous definitions for colimits. For instance, a functor G preserves the colimits of F if G(L, φ) is a colimit of GF whenever (L, φ) is a colimit of F. A cocontinuous functor is one that preserves all small colimits.

If C is a complete category, then, by the above existence theorem for limits, a functor G : CD is continuous if and only if it preserves (small) products and equalizers. Dually, G is cocontinuous if and only if it preserves (small) coproducts and coequalizers.

An important property of adjoint functors is that every right adjoint functor is continuous and every left adjoint functor is cocontinuous. Since adjoint functors exist in abundance, this gives numerous examples of continuous and cocontinuous functors.

For a given diagram F : JC and functor G : CD, if both F and GF have specified limits there is a unique canonical morphism

τF : G lim F → lim GF

which respects the corresponding limit cones. The functor G preserves the limits of F if and only this map is an isomorphism. If the categories C and D have all limits of type J then lim is a functor and the morphisms τF form the components of a natural transformation

τ : G lim → lim GJ.

The functor G preserves all limits of type J if and only if τ is a natural isomorphism. In this sense, the functor G can be said to commute with limits (up to a canonical natural isomorphism).

Preservation of limits and colimits is a concept that only applies to covariant functors. For contravariant functors the corresponding notions would be a functor that takes colimits to limits, or one that takes limits to colimits.

### Lifting of limits

A functor G : CD is said to lift limits for a diagram F : JC if whenever (L, φ) is a limit of GF there exists a limit (L′, φ′) of F such that G(L′, φ′) = (L, φ). A functor G lifts limits of type J if it lifts limits for all diagrams of type J. One can therefore talk about lifting products, equalizers, pullbacks, etc. Finally, one says that G lifts limits if it lifts all limits. There are dual definitions for the lifting of colimits.

A functor G lifts limits uniquely for a diagram F if there is a unique preimage cone (L′, φ′) such that (L′, φ′) is a limit of F and G(L′, φ′) = (L, φ). One can show that G lifts limits uniquely if and only if it lifts limits and is amnestic.

Lifting of limits is clearly related to preservation of limits. If G lifts limits for a diagram F and GF has a limit, then F also has a limit and G preserves the limits of F. It follows that:

• If G lifts limits of all type J and D has all limits of type J, then C also has all limits of type J and G preserves these limits.
• If G lifts all small limits and D is complete, then C is also complete and G is continuous.

The dual statements for colimits are equally valid.

### Creation and reflection of limits

Let F : JC be a diagram. A functor G : CD is said to

• create limits for F if whenever (L, φ) is a limit of GF there exists a unique cone (L′, φ′) to F such that G(L′, φ′) ≅ (L, φ), and furthermore, this cone is a limit of F.
• reflect limits for F if each cone to F whose image under G is a limit of GF is already a limit of F.

Dually, one can define creation and reflection of colimits.

The following statements are easily seen to be equivalent:

• The functor G creates limits.
• The functor G lifts limits uniquely and reflects limits.

There are examples of functors which lift limits uniquely but neither create nor reflect them.

### Examples

• Every representable functor CSet preserves limits (but not necessarily colimits). In particular, for any object A of C, this is true of the covariant Hom functor Hom(A,–) : CSet.
• The forgetful functor U : GrpSet creates (and preserves) all small limits and filtered colimits; however, U does not preserve coproducts. This situation is typical of algebraic forgetful functors.
• The free functor F : SetGrp (which assigns to every set S the free group over S) is left adjoint to forgetful functor U and is, therefore, cocontinuous. This explains why the free product of two free groups G and H is the free group generated by the disjoint union of the generators of G and H.
• The inclusion functor AbGrp creates limits but does not preserve coproducts (the coproduct of two abelian groups being the direct sum).
• The forgetful functor TopSet lifts limits and colimits uniquely but creates neither.
• Let Metc be the category of metric spaces with continuous functions for morphisms. The forgetful functor MetcSet lifts finite limits but does not lift them uniquely.

## A note on terminology

Older terminology referred to limits as "inverse limits" or "projective limits," and to colimits as "direct limits" or "inductive limits." This has been the source of a lot of confusion.

There are several ways to remember the modern terminology. First of all,

• cokernels,
• coproducts,
• coequalizers, and
• codomains

are types of colimits, whereas

• kernels,
• products
• equalizers, and
• domains

are types of limits. Second, the prefix "co" implies "first variable of the ${\displaystyle \operatorname {Hom} }$". Terms like "cohomology" and "cofibration" all have a slightly stronger association with the first variable, i.e., the contravariant variable, of the ${\displaystyle \operatorname {Hom} }$ bifunctor.