Shapes and Diagrams
Three constructions have been set side by side — the product, the equalizer, and the pullback —
and seen to share a single form. Each begins with a small configuration of objects and maps, and
each produces from it a universal object lying over the configuration, through which every
compatible family of maps factors in exactly one way. The constructions differ only in the shape of
the starting configuration: a pair of objects, a parallel pair of maps, a cospan. The task now is to
give this common form a name and a definition that does not depend on which of the three shapes one
began with, so that the same construction becomes available for a configuration of any shape
whatsoever.
The first step was taken when the three starting configurations were recognized as diagrams drawn in
a category, each one a functor into \(\mathscr{A}\) from a small category encoding its shape. We
recall the device, since it is the foundation for everything that follows. The simplest shapes fix
the idea. An object of \(\mathscr{A}\) is the same thing as a
functor
\(\mathbf{1} \to \mathscr{A}\), where \(\mathbf{1}\) is the category with one object and only its
identity map: such a functor does nothing but label the single object with the name of an object of
\(\mathscr{A}\). A map of \(\mathscr{A}\) is the same thing as a functor \(\mathbf{2} \to \mathscr{A}\),
where \(\mathbf{2}\) is the category with two objects \(0\) and \(1\), a single non-identity map
\(0 \to 1\), and nothing else; such a functor selects a map of \(\mathscr{A}\) together with its
source and target. In each case a small category serves as a template, and a functor out of it into
\(\mathscr{A}\) instantiates the template with actual objects and maps of \(\mathscr{A}\).
The shape is not the diagram
It is worth separating two roles that the letter \(\mathbf{1}\) might be asked to play. As a
shape, \(\mathbf{1}\) is the one-object category used as a template, and a functor
\(\mathbf{1} \to \mathscr{A}\) is the act of placing a single object of \(\mathscr{A}\) into that
template. This has nothing to do with a terminal object of \(\mathscr{A}\), which is an object of
\(\mathscr{A}\) with a special mapping-in property, and which need not exist. The shape category
lives outside \(\mathscr{A}\) and is fixed in advance; the diagram is the functor that fills it.
Keeping the template and its filling distinct is what lets one configuration of objects and maps
be described uniformly, regardless of the category it is drawn in.
The three shapes of the previous constructions are named the same way. Let
\[
\mathbf{T} = \{\bullet \quad \bullet\}, \qquad
\mathbf{E} = \big\{\bullet \rightrightarrows \bullet\big\}, \qquad
\mathbf{P} = \big\{\bullet \rightarrow \bullet \leftarrow \bullet\big\}
\]
be, respectively, the category with two objects and no non-identity maps; the category with two
objects and two parallel non-identity maps; and the category with three objects and two non-identity
maps sharing a target. A functor \(\mathbf{T} \to \mathscr{A}\) is a pair of objects of
\(\mathscr{A}\); a functor \(\mathbf{E} \to \mathscr{A}\) is a parallel pair of maps; a functor
\(\mathbf{P} \to \mathscr{A}\) is a cospan. These are exactly the starting data of the product, the
equalizer, and the pullback. The configurations and their shapes are thus separated cleanly: the
shape is a small category, and the configuration is a functor out of it. Nothing in this picture
privileges the three shapes; any small category may serve, and the universal construction will be
defined for all of them at once.
Definition: Diagram
Let \(\mathscr{A}\) be a category and \(\mathbf{I}\) a small category. A diagram
in \(\mathscr{A}\) of shape \(\mathbf{I}\) is a functor \(D : \mathbf{I} \to
\mathscr{A}\). The category \(\mathbf{I}\) is called the index category or the
shape of the diagram.
For an object \(I\) of \(\mathbf{I}\) the diagram supplies an object \(D(I)\) of \(\mathscr{A}\), and
for a map \(u : I \to J\) of \(\mathbf{I}\) it supplies a map \(D(u) : D(I) \to D(J)\) of
\(\mathscr{A}\), with composites and identities preserved as for any functor. The objects \(D(I)\)
are the vertices of the diagram and the maps \(D(u)\) its edges. Following common usage we abbreviate
\(D(u)\) to \(Du\). The configurations met as the starting data of the three constructions are
recovered by taking \(\mathbf{I}\) to be \(\mathbf{T}\), \(\mathbf{E}\), or \(\mathbf{P}\); allowing
\(\mathbf{I}\) to be an arbitrary small category is what opens the construction beyond those three
cases.
One typeface for shapes, another for categories
From here on a boldface letter \(\mathbf{I}\), \(\mathbf{J}\), \(\mathbf{T}\) denotes a small
category serving as a shape, while a script letter \(\mathscr{A}\), \(\mathscr{B}\) denotes an
arbitrary category in which diagrams are drawn. The distinction is a convenience rather than a
necessity, since a shape is itself a category; but shapes and the categories they are mapped into
play different parts in the theory, and the typographic split keeps the two roles legible. The
requirement that \(\mathbf{I}\) be small — that its objects and maps form sets rather than proper
classes — will matter once the existence of the universal object is at stake, and is recorded now
so that it is in force throughout.
Cones and Limits
With a diagram of arbitrary shape in hand, the universal object built over it can be defined. In each
of the three constructions the universal object came equipped with maps to the objects of the
configuration — the projections of a product, the single map of an equalizer, the projection pair of
a pullback — and these maps were compatible with the maps already present in the configuration. The
structure of such a family of maps, from a fixed object to a whole diagram, is what must be isolated.
Definition: Cone
Let \(\mathscr{A}\) be a category, \(\mathbf{I}\) a small category, and \(D : \mathbf{I} \to
\mathscr{A}\) a diagram. A cone on \(D\) is an object \(A \in \mathscr{A}\),
called the vertex of the cone, together with a family of maps
\[
\big(A \xrightarrow{\;f_I\;} D(I)\big)_{I \in \mathbf{I}}
\]
in \(\mathscr{A}\), one for each object \(I\) of \(\mathbf{I}\), such that for every map
\(u : I \to J\) in \(\mathbf{I}\),
\[
Du \circ f_I = f_J .
\]
Equivalently, the triangle with apex \(A\) and legs \(f_I, f_J\) to \(D(I), D(J)\) commutes with
the edge \(Du : D(I) \to D(J)\).
The vertex is a single object of \(\mathscr{A}\), and the family assigns to each vertex of the
diagram a map from \(A\) into it. The commuting condition ties the family to the structure of the
diagram: following the map \(f_I\) into \(D(I)\) and then the edge \(Du\) along to \(D(J)\) must give
the same result as the map \(f_J\) straight into \(D(J)\). A cone is thus a way of mapping a single
object compatibly into every part of a diagram at once. Among all cones on a given diagram there is,
in good cases, a most efficient one, through which all others factor uniquely; this is the limit.
Definition: Limit
Let \(D : \mathbf{I} \to \mathscr{A}\) be a diagram. A limit of \(D\) is a cone
\[
\big(L \xrightarrow{\;p_I\;} D(I)\big)_{I \in \mathbf{I}}
\]
with the following universal property: for every cone
\(\big(A \xrightarrow{f_I} D(I)\big)_{I \in \mathbf{I}}\) on \(D\), there exists a unique map
\(\bar{f} : A \to L\) such that \(p_I \circ \bar{f} = f_I\) for all \(I \in \mathbf{I}\). The maps
\(p_I\) are called the projections of the limit.
The limit is the universal cone: every cone factors through it, and in only one way. When a limit
exists, the vertex \(L\) is written \(\lim D\), and by a mild abuse of language one often refers to
the object \(L\) alone — rather than the whole cone — as the limit, leaving the projections
understood. A cone whose vertex carries this universal property is called a limit
cone.
A limit is a representing object
The universal property has a compact restatement. For a fixed diagram \(D\), each object \(A\) of
\(\mathscr{A}\) determines the set of cones on \(D\) with vertex \(A\); a map \(g : A' \to A\)
turns a cone with vertex \(A\) into one with vertex \(A'\) by composing every leg with \(g\), so
the assignment of cone-sets is a
presheaf
on \(\mathscr{A}\), contravariant in the vertex. The universal property says precisely that a map
\(A \to L\) corresponds to a cone on \(D\) with vertex \(A\), naturally in \(A\): the limit
\(L\) is an object representing the presheaf of cones. Read this way, a map into \(\lim D\) is the
same thing as a cone on \(D\), which is the most economical statement of the definition.
Casting the limit as a representing object settles its uniqueness at once. Two objects representing
the same presheaf are
isomorphic,
and the isomorphism is uniquely determined by the requirement that it respect the representation —
here, that it commute with the projections. The limit of a diagram is therefore unique up to a
single compatible isomorphism whenever it exists, and the definite article in "the limit" is
justified.
Proposition: Uniqueness of Limits
Let \(D : \mathbf{I} \to \mathscr{A}\) be a diagram. If
\(\big(L \xrightarrow{p_I} D(I)\big)_{I \in \mathbf{I}}\) and
\(\big(L' \xrightarrow{p'_I} D(I)\big)_{I \in \mathbf{I}}\) are both limits of \(D\), then there
is a unique isomorphism \(\theta : L' \to L\) such that \(p_I \circ \theta = p'_I\) for all
\(I \in \mathbf{I}\).
Proof
Since \(\big(L' \xrightarrow{p'_I} D(I)\big)\) is a cone on \(D\) and \(L\) is a limit, the
universal property of \(L\) yields a unique map \(\theta : L' \to L\) with
\(p_I \circ \theta = p'_I\) for all \(I\). Symmetrically, since \(L\) is a cone and \(L'\) is a
limit, there is a unique \(\theta' : L \to L'\) with \(p'_I \circ \theta' = p_I\) for all \(I\).
Composing gives \(p_I \circ (\theta \circ \theta') = p'_I \circ \theta' = p_I\) for all \(I\),
so \(\theta \circ \theta'\) is a map \(L \to L\) commuting with the projections of \(L\). The
identity \(1_L\) is another such map, and the uniqueness clause of \(L\)'s universal property —
applied to the cone \((L, p_I)\) itself — forces \(\theta \circ \theta' = 1_L\). The same
argument on \(L'\) gives \(\theta' \circ \theta = 1_{L'}\). Hence \(\theta\) is an isomorphism
with inverse \(\theta'\), and it is the unique map \(L' \to L\) commuting with the projections by
the first step.
Because the shape \(\mathbf{I}\) was required to be a small category from the outset, the limits
defined here are what are properly called small limits; these are the only limits
that will concern us.
Recovering the Three Constructions
The definition was built to subsume the product, the equalizer, and the pullback, and the claim is
discharged by computing the limit for each of the three shapes. In every case a diagram of that shape
is unwound into its objects and maps, a cone is identified with the data of the corresponding
universal property, and the limit is read off as the construction already named.
Products as limits of shape T
A diagram \(D\) of shape \(\mathbf{T}\) in \(\mathscr{A}\) is a pair \((X, Y)\) of objects, with no
non-identity maps in \(\mathbf{T}\) to impose any commuting condition. A cone on \(D\) is therefore an
object \(A\) together with maps \(f_1 : A \to X\) and \(f_2 : A \to Y\) and nothing more, since the
commuting condition is vacuous when there are no non-identity edges. A limit of \(D\) is a cone
through which every cone factors uniquely — that is, an object \(P\) with maps to \(X\) and \(Y\)
such that any pair of maps to \(X\) and \(Y\) factors through it in one way. This is exactly the
product
of \(X\) and \(Y\).
More generally, let \(I\) be a set and let \(\mathbf{I}\) be the discrete category on
\(I\) — the category whose objects are the elements of \(I\) and whose only maps are identities. A
diagram \(D : \mathbf{I} \to \mathscr{A}\) is then an \(I\)-indexed family \((X_i)_{i \in I}\) of
objects, a cone on it is a family of maps \(\big(A \to X_i\big)_{i \in I}\) with no commuting
condition, and the limit is the product \(\prod_{i \in I} X_i\). The shape \(\mathbf{T}\) is the case
\(I = \{1, 2\}\). At the other extreme, taking \(I = \varnothing\) gives the empty diagram, whose only
cone-data is the vertex itself; a limit of the empty diagram is an object \(L\) such that every object
\(A\) admits exactly one map \(A \to L\), which is a
terminal object.
The terminal object is the empty product.
Equalizers as limits of shape E
A diagram \(D\) of shape \(\mathbf{E}\) is a parallel pair \(s, t : X \to Y\). A cone on \(D\) is an
object \(A\) with maps \(f : A \to X\) and \(g : A \to Y\) such that the two edges are respected,
\(s \circ f = g\) and \(t \circ f = g\). The map \(g\) is determined by \(f\) as \(g = s \circ f\),
so a cone is equally an object \(A\) and a single map \(f : A \to X\) satisfying
\(s \circ f = t \circ f\) — that is, a
fork
on \(s\) and \(t\). A limit of \(D\) is a universal fork, the one through which every fork factors
uniquely, which is the
equalizer
of \(s\) and \(t\).
Pullbacks as limits of shape P
A diagram \(D\) of shape \(\mathbf{P}\) is a cospan \(X \xrightarrow{s} Z \xleftarrow{t} Y\). A cone
on \(D\) is an object \(A\) with maps to \(X\), \(Y\), and \(Z\) compatible with \(s\) and \(t\); as
with the equalizer, the map to \(Z\) is forced by the maps to \(X\) and \(Y\), so a cone reduces to
an object \(A\) with maps \(f_1 : A \to X\) and \(f_2 : A \to Y\) satisfying
\(s \circ f_1 = t \circ f_2\) — that is, a commuting square
\[
\begin{array}{ccc}
A & \xrightarrow{\;f_2\;} & Y \\[4pt]
{\scriptstyle f_1}\big\downarrow & & \big\downarrow{\scriptstyle t} \\[4pt]
X & \xrightarrow{\;s\;} & Z
\end{array}
\]
A limit of \(D\) is the universal such square, the
pullback
of the cospan.
Inverse limits
Beyond the three finite shapes, an infinite shape produces a construction with a longer history. Let
\(\mathbf{I} = (\mathbb{Z}_{\geq 0}, \leq)^{\mathrm{op}}\), the non-negative integers with their usual
order, reversed. A diagram \(D : \mathbf{I} \to \mathscr{A}\) is then a descending chain of objects
and maps
\[
\cdots \xrightarrow{\;s_3\;} X_2 \xrightarrow{\;s_2\;} X_1 \xrightarrow{\;s_1\;} X_0 ,
\]
one map \(s_{n} : X_{n} \to X_{n-1}\) for each step down. A cone on \(D\) is an object \(A\) with a
compatible family of maps to all the \(X_n\), and a limit assembles the chain into a single object
receiving such a family universally.
Example: a nested intersection
Suppose in \(\mathbf{Set}\) we have a set \(X_0\) and a descending chain of subsets
\[
\cdots \subseteq X_2 \subseteq X_1 \subseteq X_0 ,
\]
with the inclusion maps \(X_n \hookrightarrow X_{n-1}\) forming a diagram of the shape above. A
cone with vertex \(A\) is a family of maps \(A \to X_n\) compatible with the inclusions, which
amounts to a single map \(A \to X_0\) whose image lands inside every \(X_n\). The universal such
object is the intersection \(\bigcap_{n} X_n\), with its inclusions into each \(X_n\). The limit
of a descending chain of subsets is thus their intersection — a limit indexed not by a finite
shape but by a chain.
Limits over a reversed chain of this kind, and over similar shapes, are sometimes called
inverse limits, a usage many regard as old-fashioned but still current in parts of
algebra and topology. The name connects to the second sense of the word limit below.
Why "limit"
The limit of a diagram is the most efficient cone over it — formally, the terminal object in the
category whose objects are the cones on the diagram. The word limit is to be read in the sense of
an extreme or boundary case, the cone that all others fall short of, rather than as a limiting
process of the kind met in analysis. The two senses are not unrelated: the inverse-limit example
above, where an infinite descending chain is resolved into a single object, is the point at which
the categorical notion and the analytic one make contact. But the defining idea is universality,
not approximation.
The Existence of Limits
A limit need not exist; the definition only describes the universal cone should there be one. It
remains to show that in the familiar categories limits do exist, and the cleanest way is to construct
them explicitly. The construction is carried out first in \(\mathbf{Set}\), where it is concrete, and
then shown to reduce in any category to two ingredients already studied: products and equalizers.
Limits in Set
Let \(D : \mathbf{I} \to \mathbf{Set}\) be a diagram of sets. Consider the product
\(\prod_{I \in \mathbf{I}} D(I)\), whose elements are families \((x_I)_{I \in \mathbf{I}}\) with
\(x_I \in D(I)\) for each \(I\). A cone on \(D\) with vertex a one-element set picks out one such
family, subject to the compatibility forced by the edges of \(D\). Carrying that compatibility into
the product, define
\[
L = \big\{ (x_I)_{I \in \mathbf{I}} \in \textstyle\prod_{I \in \mathbf{I}} D(I) \;\big|\;
(Du)(x_I) = x_J \text{ for every map } u : I \to J \text{ in } \mathbf{I} \big\} ,
\]
with projections \(p_J : L \to D(J)\), \(p_J\big((x_I)_{I \in \mathbf{I}}\big) = x_J\).
The family \((p_J)\) is a cone on \(D\): for a map \(u : I \to J\) the defining condition
\((Du)(x_I) = x_J\) reads \((Du) \circ p_I = p_J\) on \(L\), which is the cone condition. It is the
limit cone. Given any cone \(\big(A \xrightarrow{f_I} D(I)\big)\), the compatibility
\((Du) \circ f_I = f_J\) says that for each \(a \in A\) the family \((f_I(a))_{I \in \mathbf{I}}\)
satisfies the membership condition for \(L\), so \(\bar{f}(a) = (f_I(a))_{I \in \mathbf{I}}\) defines a
map \(\bar{f} : A \to L\) with \(p_I \circ \bar{f} = f_I\) for all \(I\). It is the only such map,
since its value at each \(a\) is forced coordinatewise by the equations \(p_I(\bar{f}(a)) = f_I(a)\).
Hence \(L\) is the limit of \(D\), and every diagram of sets has a limit: \(\mathbf{Set}\) has all
limits.
A limit is a subobject of a product cut out by equations
The set \(L\) sits inside the product \(\prod_{I} D(I)\) as the families satisfying one equation
\((Du)(x_I) = x_J\) for each edge \(u\) of the diagram. A solution set of simultaneous equations
inside a product is exactly what an
equalizer
of two maps into a product produces, as recorded when equalizers were combined with products to
capture systems of equations. The limit in \(\mathbf{Set}\) is therefore an equalizer of a pair
of maps between two products — a description that, unlike the explicit set \(L\), uses only the
universal properties of products and equalizers, and so makes sense in any category.
Limits from products and equalizers
The set-level description points to a construction valid in general. If a category has products and
equalizers, then it has all limits, assembled from those two.
Proposition: Limits from Products and Equalizers
Let \(\mathscr{A}\) be a category.
(a) If \(\mathscr{A}\) has all
products
and all
equalizers,
then \(\mathscr{A}\) has all limits.
(b) If \(\mathscr{A}\) has binary products, a
terminal object,
and all equalizers, then \(\mathscr{A}\) has all finite limits.
Proof
(a) Let \(D : \mathbf{I} \to \mathscr{A}\) be a diagram. Form two products: one
over the objects of \(\mathbf{I}\), and one over its maps,
\[
P = \prod_{I \in \mathbf{I}} D(I) , \qquad
Q = \prod_{(u : J \to K)\, \in\, \mathbf{I}} D(K) ,
\]
the second indexed by the maps of \(\mathbf{I}\), with the factor of \(Q\) at a map
\(u : J \to K\) being the codomain object \(D(K)\). Both exist by hypothesis, since \(\mathbf{I}\)
is small. Write \(\pi_I : P \to D(I)\) for the projections of \(P\). Define two maps
\(s, t : P \to Q\) by specifying their components at each map \(u : J \to K\) of \(\mathbf{I}\):
let the \(u\)-component of \(s\) be \(D(u) \circ \pi_J\), and the \(u\)-component of \(t\) be
\(\pi_K\). These determine \(s\) and \(t\) by the universal property of \(Q\).
Now form the equalizer \(e : L \to P\) of \(s\) and \(t\), which exists by hypothesis. A map
\(g : A \to P\) is a family of maps \(\big(\pi_I \circ g : A \to D(I)\big)_{I \in \mathbf{I}}\),
and \(s \circ g = t \circ g\) holds exactly when, for every map \(u : J \to K\) of \(\mathbf{I}\),
the \(u\)-components agree, namely \(D(u) \circ \pi_J \circ g = \pi_K \circ g\). This is precisely
the condition that the family \((\pi_I \circ g)\) be a cone on \(D\). By the universal property of
the equalizer, maps \(A \to L\) correspond to maps \(g : A \to P\) with \(s \circ g = t \circ g\),
hence to cones on \(D\) with vertex \(A\).
Set \(p_I = \pi_I \circ e : L \to D(I)\). Taking \(A = L\) and \(g = e\) in the previous paragraph,
the family \((p_I)\) is a cone on \(D\). For any cone \(\big(A \xrightarrow{f_I} D(I)\big)\), the
components \(f_I\) determine a map \(g_f : A \to P\) with \(\pi_I \circ g_f = f_I\), and the cone
condition makes \(g_f\) equalize \(s\) and \(t\); so \(g_f\) factors as \(e \circ \bar{f}\) for a
unique \(\bar{f} : A \to L\), the uniqueness being the universal property of the equalizer. This
\(\bar{f}\) satisfies \(p_I \circ \bar{f} = \pi_I \circ e \circ \bar{f} = \pi_I \circ g_f = f_I\)
for all \(I\). Any map \(h : A \to L\) with \(p_I \circ h = f_I\) for all \(I\) gives
\(\pi_I \circ (e \circ h) = f_I = \pi_I \circ g_f\), so \(e \circ h = g_f\) by the joint
monicity of the projections \(\pi_I\), and then \(h = \bar{f}\) because \(e\) is monic. Thus
\((L, (p_I))\) is a limit of \(D\), and \(\mathscr{A}\) has all limits.
(b) When \(\mathbf{I}\) is a finite category, the two products \(P\) and \(Q\) are
finite, indexed by the finitely many objects and maps of \(\mathbf{I}\). A finite product is built
from binary products and a terminal object — the terminal object serving as the empty product, and
binary products iterated to give products of any finite arity. The construction of part (a) then
goes through using only binary products, the terminal object, and equalizers, and produces the
limit of every finite diagram. Hence \(\mathscr{A}\) has all finite limits.
This also explains why products, equalizers, pullbacks, and terminal objects recur as the standard
examples: a finite limit is a limit indexed by a finite shape, and binary products,
terminal objects, equalizers, and pullbacks are the finite limits one meets first.
Limits across categories
With the construction in place, limits in the familiar categories are read off in turn.
Example: algebraic categories and Top
In categories of algebraic structures — \(\mathbf{Grp}\), \(\mathbf{Ring}\), \(\mathbf{Vect}_k\),
and the like — the limit of a diagram is the set \(L\) constructed in \(\mathbf{Set}\), carrying
the structure defined coordinatewise. For vector spaces, if \((x_I)_{I \in \mathbf{I}}\) and
\((y_I)_{I \in \mathbf{I}}\) lie in \(\lim D\) then so does their sum, computed coordinatewise as
\((x_I)_{I \in \mathbf{I}} + (y_I)_{I \in \mathbf{I}} = (x_I + y_I)_{I \in \mathbf{I}}\), and the
membership condition is preserved because each \(D(u)\) is linear. In \(\mathbf{Top}\) the same
set \(L\) carries the topology making the projections continuous as economically as possible — the
topology it inherits as a subspace of the product, itself given the coarsest topology making its
projections continuous. In each case the underlying-set construction is the limit, with the extra
structure determined by requiring the projections to be maps of the appropriate kind.
Example: compact Hausdorff spaces
Let \(\mathbf{CptHff}\) be the category of compact Hausdorff spaces and continuous maps. Equalizers
exist there: for continuous \(s, t : X \to Y\) with \(Y\) Hausdorff, the subset
\(\{x \in X \mid s(x) = t(x)\}\) is closed in \(X\), hence compact, and is the equalizer. Products
exist there as well: a product of compact spaces is compact, and a product of Hausdorff spaces is
Hausdorff, so an arbitrary product of compact Hausdorff spaces is again one. Having all products
and all equalizers, \(\mathbf{CptHff}\) has all limits by the proposition. This is a case where the
explicit set-level construction is unavailable as stated — an infinite product must be controlled
by a compactness theorem — yet the existence of limits follows from the two ingredients alone.
Example: finite limits from direct sums and kernels
In \(\mathbf{Vect}_k\) the
equalizer
of a parallel pair is the kernel of their difference, and the binary product is the direct sum
\(X \oplus Y\), with the zero space \(\{0\}\) as terminal object. By part (b) of the proposition,
every finite limit in \(\mathbf{Vect}_k\) is expressible through direct sums, the zero space, and
kernels. The same holds in the category of abelian groups, where finite limits are built from
finite direct sums, the trivial group, and kernels.
The categories \(\mathbf{Set}\), \(\mathbf{Top}\), \(\mathbf{Grp}\), \(\mathbf{Ring}\),
\(\mathbf{Vect}_k\), and \(\mathbf{CptHff}\) thus all have all limits. The limit has now joined the
earlier constructions as a single universal property of arbitrary shape, defined for any diagram,
unique up to compatible isomorphism, and present in the categories met so far. What changes when a
diagram is transported by a functor — whether a functor carries the limit of a diagram to the limit
of its image — is the question that the dual construction of colimits, and the behaviour of functors
on both, take up next.