The Universal Property of a Product
Many constructions in mathematics take a collection of objects and assemble a new object out of them.
The cartesian product of two sets, the direct sum of two vector spaces, the kernel of a group
homomorphism, the intersection of two subsets, and the greatest common divisor of two integers come
from unrelated fields and look like unrelated operations. The work of this page is to show that they
are instances of a single categorical pattern. We begin with the most familiar case, the product, and
extract from it the form that the others will share.
The guiding example is the cartesian product of sets. For sets \(X\) and \(Y\), an element of
\(X \times Y\) is an element of \(X\) together with an element of \(Y\). An element of a set is the
same as a map into it from the terminal set \(1\). Phrased in these terms, the description says that a
map \(1 \to X \times Y\) amounts to a map \(1 \to X\) together with a map \(1 \to Y\). The same
correspondence holds with \(1\) replaced by an arbitrary set \(A\). A map \(A \to X \times Y\) is
exactly a pair of maps \(A \to X\) and \(A \to Y\), and the bijection is given by composition with the
two projection maps
\[
X \xleftarrow{p_1} X \times Y \xrightarrow{p_2} Y, \quad
(x, y) \mapsto x, \quad (x, y) \mapsto y .
\]
The content of the construction is therefore not the formula for \(X \times Y\) but this bijection,
which says that maps into the product are pairs of maps into the factors. This is a property
expressible purely in the language of objects and maps, with no reference to elements, and it is the
property we take as the definition.
Definition: Product
Let \(\mathscr{A}\) be a category, \(I\) a set, and \((X_i)_{i \in I}\) a family of objects of
\(\mathscr{A}\). A product of \((X_i)_{i \in I}\) consists of an object \(P\)
together with a family of maps
\[
\big(P \xrightarrow{p_i} X_i\big)_{i \in I},
\]
called the projections, with the following universal property: for every object
\(A\) and every family of maps \(\big(A \xrightarrow{f_i} X_i\big)_{i \in I}\), there exists a
unique map \(\bar{f} : A \to P\) such that \(p_i \circ \bar{f} = f_i\) for all \(i \in I\).
When the product exists, the object \(P\) is written \(\prod_{i \in I} X_i\), and the unique induced
map \(\bar{f}\) is written \((f_i)_{i \in I}\). The maps \(f_i\) are called its
components. Strictly the product is the object together with its projections, but it
is customary to refer to \(P\) alone as the product and to leave the projections understood.
The case that recovers the opening example is \(I = \{1, 2\}\). Here the data are two objects
\(X\) and \(Y\), the product carries two projections \(p_1 : P \to X\) and \(p_2 : P \to Y\),
and the universal property says that for any object \(A\) equipped with maps
\(f_1 : A \to X\) and \(f_2 : A \to Y\) there is a unique map \(\bar{f} : A \to P\)
reproducing them through the projections:
\[
p_1 \circ \bar{f} = f_1, \quad p_2 \circ \bar{f} = f_2 .
\]
This binary product is written \(P = X \times Y\), and the induced map is written
\(\bar{f} = (f_1, f_2)\). The binary case is the one to keep in mind, since the general definition
differs from it only in allowing an arbitrary indexing family in place of the pair.
A definition by mapping-in
The definition says what the maps into \(P\) are, not what the elements of \(P\) are. An object is
determined not by an internal description but by how every other object maps to it, and the
product is the object whose incoming maps are exactly families of maps to the factors.
The same style of definition was met earlier when an object was characterized by the
presheaf it represents.
Here, for \(\mathscr{A}\) locally small, the product represents the presheaf sending an object
\(A\) to the set \(\prod_{i \in I} \mathscr{A}(A, X_i)\) of families of maps out of \(A\),
contravariantly in \(A\). Reading the definition this way lets the uniqueness of products follow
from the general fact that
objects with the same representable are isomorphic,
rather than being checked case by case.
Two remarks attach to the definition and apply equally to every construction that follows. First,
products need not exist. In the category with two objects and no maps between them other than
identities, the two objects have no product, since neither object admits a map to the other, so no
object carries maps to both.
Second, when a product does exist it is unique up to
isomorphism.
This can be proved directly, in the manner of the
uniqueness of initial objects,
or obtained from the representability reading in the insight above, which determines the product up to
canonical isomorphism. Either route justifies the definite article.
Products across categories
The definition acquires its weight from the range of constructions it captures. We collect the
principal examples.
Example: products in Set
Any two sets \(X\) and \(Y\) have a product, namely the
cartesian product
\(X \times Y\) with its usual projections. To see that it satisfies the universal property, take
any set \(A\) with functions \(f_1 : A \to X\) and \(f_2 : A \to Y\), and define
\(\bar{f} : A \to X \times Y\) by \(\bar{f}(a) = (f_1(a), f_2(a))\). Then
\(p_i \circ \bar{f} = f_i\) for \(i = 1, 2\), so \(\bar{f}\) satisfies the two required equations.
It is the only such map. If \(\hat{f} : A \to X \times Y\) also satisfies
\(p_i \circ \hat{f} = f_i\) and we write \(\hat{f}(a) = (x, y)\), then
\(x = p_1(\hat{f}(a)) = f_1(a)\) and likewise \(y = f_2(a)\), so
\(\hat{f}(a) = (f_1(a), f_2(a)) = \bar{f}(a)\) for every \(a\), giving \(\hat{f} = \bar{f}\). The
categorical product in \(\mathbf{Set}\) is thus the cartesian product whose elementwise universal
property motivated the definition.
Example: products in Top
Any two topological spaces \(X\) and \(Y\) have a product: the set \(X \times Y\) carrying the
product topology,
with the standard projections. The product topology is designed precisely so that a function
\(A \to X \times Y\), \(t \mapsto (x(t), y(t))\), is continuous if and only if both coordinate
functions \(t \mapsto x(t)\) and \(t \mapsto y(t)\) are continuous, which is the
component test
for the product topology. That biconditional is the universal property, since it says that a
continuous map into the product is the same data as a pair of continuous maps into the factors.
Equivalently, the product topology is the coarsest topology on \(X \times Y\) making both
projections continuous, which is the same requirement read from the side of the projections rather
than the side of the induced map.
Example: products in Vect
For vector spaces \(X\) and \(Y\) over a field \(k\), the product is the direct sum
\(X \oplus Y\), whose elements are pairs \((x, y)\) with \(x \in X\) and \(y \in Y\), with the two
linear projection maps. A linear map \(A \to X \oplus Y\) is the same data as a pair of linear
maps \(A \to X\) and \(A \to Y\), which is the universal property. The verification runs as in
\(\mathbf{Set}\), with the added observation that the induced map \((f_1, f_2)\) is linear because
\(f_1\) and \(f_2\) are.
A pair of linear maps out of \(X\) and \(Y\) into a common target also induces a linear map out of
\(X \oplus Y\), by adding their values, so in \(\mathbf{Vect}\) the same object serves both as a
product and as the dual construction. That coincidence is special to additive settings. In
\(\mathbf{Set}\), by contrast, the product and the
disjoint union
are different constructions.
A further family of examples comes not from spaces but from orders. A partially ordered set
\((L, \leq)\) becomes a category with one map \(x \to y\) precisely when \(x \leq y\). In such a
category there is at most one map between any two objects, so the commutativity demanded by a
universal property is automatic, and the universal property reduces to an inequality. What a product
becomes in this setting is worth a name.
Definition: Lower Bound and Meet
Let \((L, \leq)\) be a poset and \(x, y \in L\). A lower bound for \(x\) and
\(y\) is an element \(a \in L\) with \(a \leq x\) and \(a \leq y\). A greatest lower
bound, or meet, of \(x\) and \(y\) is a lower bound \(z\) with the
property that every lower bound \(a\) for \(x\) and \(y\) satisfies \(a \leq z\). When it exists
the meet is unique, and is written \(x \wedge y\).
When the poset \((L, \leq)\) is regarded as a category, the meet \(x \wedge y\) is exactly the product
of \(x\) and \(y\). The conditions \(z \leq x\) and \(z \leq y\) are the projections, and the
requirement that any lower bound \(a\) factor through \(z\) is the universal property, here amounting
to \(a \leq z\). Three standard orders make the meaning concrete.
Example: meets as products in three orders
(a) In \((\mathbb{R}, \leq)\) the meet of \(x\) and \(y\) is the minimum
\(\min\{x, y\}\), since \(\min\{x, y\} \leq x\), \(\min\{x, y\} \leq y\), and any \(a\) with
\(a \leq x\) and \(a \leq y\) satisfies \(a \leq \min\{x, y\}\).
(b) Fix a set \(S\). In the poset \((\mathcal{P}(S), \subseteq)\) of
subsets ordered by inclusion, the meet of \(X\) and \(Y\) is the intersection \(X \cap Y\).
Indeed, \(X \cap Y \subseteq X\) and \(X \cap Y \subseteq Y\), and any \(W\) with
\(W \subseteq X\) and \(W \subseteq Y\) satisfies \(W \subseteq X \cap Y\). This example is
the origin of the notation \(\wedge\).
(c) In \((\mathbb{N}, \mid)\), the positive integers ordered by divisibility, the
meet of \(x\) and \(y\) is the greatest common divisor \(\gcd(x, y)\), which divides both \(x\)
and \(y\) and is divided by any \(a\) dividing both. Thus in the three orders
\[
\begin{align*}
x \wedge y &= \min\{x, y\}, \\\\
X \wedge Y &= X \cap Y, \\\\
x \wedge y &= \gcd(x, y),
\end{align*}
\]
and each is a product in the corresponding category.
The examples discussed so far are binary, but the definition was stated for an arbitrary indexing
family, and nothing forces the family to have two members. For a family \((X_i)_{i \in I}\) the
product \(\prod_{i \in I} X_i\) carries one projection \(p_i\) for each index, and the universal
property induces from any family of maps \(\big(A \xrightarrow{f_i} X_i\big)_{i \in I}\) a unique map
with those components. In \(\mathbf{Set}\) the product of any family exists. It is the set of families
\((x_i)_{i \in I}\) with \(x_i \in X_i\) for each \(i\), with the coordinate projections, and the
verification given above for two factors carries over unchanged. In an ordered set this is the
greatest lower bound of the whole family, written \(\bigwedge_{i \in I} x_i\). In
\((\mathbb{R}, \leq)\) it is \(\inf\{x_i : i \in I\}\), which exists exactly when the family is
nonempty and bounded below. Two limiting cases of the indexing family are instructive.
Example: the empty product is a terminal object
Take \(I = \varnothing\). A family \((X_i)_{i \in \varnothing}\) is empty, as is every family of
maps \(\big(A \xrightarrow{f_i} X_i\big)_{i \in \varnothing}\), and the condition
\(p_i \circ \bar{f} = f_i\) for all \(i \in \varnothing\) holds vacuously. The universal property
therefore reduces to the bare requirement that for each object \(A\) there exist a unique map
\(\bar{f} : A \to P\). An object \(P\) into which every object has exactly one map is a
terminal object.
A product of the empty family is thus precisely a terminal object.
That a terminal object is an empty product is one reason for writing \(1\) for it. In categories
such as \(\mathbf{Set}\), \(\mathbf{Top}\), \(\mathbf{Ring}\), and \(\mathbf{Grp}\) the terminal
object has a single element, and in the arithmetic of objects a product of no factors is the empty
product, whose value is the number \(1\).
Example: powers
Take a single object \(X\) and a set \(I\), and form the constant family \((X)_{i \in I}\) in
which every member is \(X\). Its product, if it exists, is written \(X^I\) and called a
power of \(X\). A map \(A \to X^I\) is then a family of maps \(A \to X\) indexed
by \(I\). For \(X\) a set this recovers the
set of functions
from \(I\) to \(X\), since an element of \(X^I\) is a function \(I \to X\). The power notation
thus agrees with the exponential already met for sets.
The product, in one definition, has absorbed the cartesian product of sets, the product topology, the
direct sum of vector spaces, the minimum, the intersection, the greatest common divisor, the terminal
object, and the power. Each is the same universal property read in a different category. We now seek a
second construction, of a different shape, to set beside it.
Equalizers
A product assembles an object from several objects with no maps presupposed among them. The second
construction starts instead from a pair of parallel maps and selects the part of the source on which
they agree. Where a product is built from objects, an equalizer is built from an equation. The
construction needs one preliminary configuration.
Definition: Fork
In a category, a fork on a parallel pair \(s, t : X \to Y\) consists of an
object \(A\) and a map \(f : A \to X\) satisfying
\[
s \circ f = t \circ f .
\]
A fork is a map into \(X\) that the two parallel maps cannot tell apart, in the sense that
post-composing with \(s\) or with \(t\) gives the same result. Among all forks on a given pair there
is, in good cases, a universal one, and it is the equalizer.
Definition: Equalizer
Let \(\mathscr{A}\) be a category and \(s, t : X \to Y\) a parallel pair of maps. An
equalizer of \(s\) and \(t\) is an object \(E\) together with a map
\(i : E \to X\) such that \(s \circ i = t \circ i\), so that \((E, i)\) is itself a fork, and with
the following universal property: for every fork \((A, f)\) on \(s\) and \(t\), there exists a
unique map \(\bar{f} : A \to E\) such that
\[
i \circ \bar{f} = f .
\]
The equalizer is the most efficient fork, in that every other fork factors through it in exactly one
way. As with products, an equalizer need not exist, and when it does, it is determined up to a unique
isomorphism compatible with the maps into \(X\), so one speaks of the equalizer. The
definition abstracts a construction already met for sets, where the universal fork is the literal
solution set of an equation.
Example: equalizers in Set
For functions \(s, t : X \to Y\) between sets, take
\[
E = \{x \in X \mid s(x) = t(x)\}
\]
with the inclusion
\(i : E \hookrightarrow X\). Then \(s \circ i = t \circ i\), since the two maps agree on every
element of \(E\) by the definition of \(E\), so \((E, i)\) is a fork. It is the universal one.
Indeed, if \((A, f)\) is any fork, then \(s(f(a)) = t(f(a))\) for every \(a \in A\), so
\(f(a) \in E\), and \(f\) factors through the inclusion by the corestriction
\(\bar{f} : A \to E\), \(a \mapsto f(a)\). This \(\bar{f}\) is the unique map with
\(i \circ \bar{f} = f\), because \(i\) is injective and so determines \(\bar{f}\) on each element.
The equalizer in \(\mathbf{Set}\) is therefore the solution set of the single equation
\(s(x) = t(x)\), and the universal property is the statement that any other map whose image solves
the equation passes through that solution set.
A single equalizer captures one equation. Combined with products, equalizers capture systems of
simultaneous equations. Given a set \(\Lambda\) and a family of parallel pairs
\(\big(s_\lambda, t_\lambda : X \to Y_\lambda\big)_{\lambda \in \Lambda}\) of maps in
\(\mathbf{Set}\), the simultaneous solution set
\[
\{x \in X \mid s_\lambda(x) = t_\lambda(x) \text{ for all } \lambda \in \Lambda\}
\]
is the equalizer of the two induced maps into the product,
\[
(s_\lambda)_{\lambda \in \Lambda}, \quad (t_\lambda)_{\lambda \in \Lambda} : X \longrightarrow
\prod_{\lambda \in \Lambda} Y_\lambda .
\]
For \(x \in X\) the equation \((s_\lambda)_\lambda(x) = (t_\lambda)_\lambda(x)\) of maps into the
product means \((s_\lambda(x))_\lambda = (t_\lambda(x))_\lambda\) as families, and that holds exactly
when \(s_\lambda(x) = t_\lambda(x)\) for every \(\lambda\). One equalizer of maps into a product thus
encodes a whole system, the product gathering the separate equations into one.
Example: equalizers in Top
For continuous maps \(s, t : X \to Y\) between topological spaces, form the equalizer
\(E = \{x \in X \mid s(x) = t(x)\}\) in sets, with inclusion \(i : E \to X\). Give \(E\) the
subspace topology
inherited from \(X\), so that \(i\) is continuous. For any fork \((A, f)\) in \(\mathbf{Top}\),
the induced map \(\bar{f} : A \to E\) of the underlying sets is continuous, because
\(i \circ \bar{f} = f\) is continuous and, by the
universal property of the subspace topology,
a map into \(E\) is continuous exactly when its composite with \(i\) is. So \((E, i)\) with the
subspace topology is the equalizer in \(\mathbf{Top}\).
The situation parallels the product topology. In both cases the universal property in
spaces follows from the universal property in sets together with the minimality built into
the chosen topology.
Example: kernels are equalizers
Let \(\theta : G \to H\) be a
homomorphism of groups.
Alongside \(\theta\) consider the trivial homomorphism \(\varepsilon : G \to H\) sending every
element to the identity \(e\) of \(H\). The equalizer of \(\theta\) and \(\varepsilon\) is the set
of elements on which they agree, namely \(\{g \in G \mid \theta(g) = e\}\), which is the
kernel
of \(\theta\). The kernel is a
subgroup,
so its inclusion \(\ker\theta \hookrightarrow G\) is a homomorphism. That this is an equalizer in
\(\mathbf{Grp}\), and not merely in \(\mathbf{Set}\), is the statement that the induced map
\(\bar{f}\) into the kernel is a homomorphism whenever the fork \(f\) is. The homomorphism
property holds because \(\bar{f}\) agrees with \(f\) as a function and \(f\) is a homomorphism.
Kernels are therefore the special case of equalizers in which one of the two maps is trivial.
Example: equalizers in Vect
For linear maps \(s, t : V \to W\) between vector spaces, the difference \(t - s : V \to W\) is
again linear, and the two maps agree exactly where their difference vanishes. The equalizer of
\(s\) and \(t\) is therefore the
subspace
\(\ker(t - s) = \{v \in V \mid s(v) = t(v)\}\), with its inclusion
\(\ker(t - s) \hookrightarrow V\). It is a subspace because it contains \(0\) and is closed under
sums and scalar multiples, \(t - s\) being linear. The induced map into it is linear because it
agrees with the fork as a function, as in the group case. Likewise, the kernel of a single linear
map is recovered by taking \(s\) to be the zero map, so that \(\ker(t - s) = \ker t\). Wherever
maps can be subtracted, the pattern is the same, and the equalizer of a parallel pair is the
kernel of their difference.
From equations to objects
The equalizer turns the act of imposing an equation into the construction of an object. It is a
solution set in sets, a solution set carrying the inherited topology in spaces, and a kernel in
groups and vector spaces. The translation runs in one direction throughout. A condition of the
form "the two maps agree" becomes a universal map into the source, and the object so produced
remembers nothing of the equation except the part of the source that satisfies it. Read this way,
the language of universal maps applies wherever a construction is specified by the equations it
must satisfy rather than by an explicit formula, and the equalizer is the categorical form of "the
subobject cut out by an equation."
Pullbacks
The third construction takes a pair of maps with a common target and forms the object of
compatible pairs over it. A product pairs elements freely, whereas a pullback pairs only those
elements of the two sources that are sent to the same point of the target. The starting data are
two maps into a shared object,
\[
X \xrightarrow{s} Z \xleftarrow{t} Y ,
\]
a configuration called a cospan, and the construction selects from \(X\) and \(Y\)
the part that agrees over \(Z\).
Definition: Pullback
Let \(\mathscr{A}\) be a category and \(s : X \to Z\), \(t : Y \to Z\) maps with common target.
A pullback of this cospan is an object \(P\) together with maps \(p_1 : P \to X\)
and \(p_2 : P \to Y\) such that the square
\[
\begin{array}{ccc}
P & \xrightarrow{p_2} & Y \\[4pt]
{\scriptstyle p_1}\big\downarrow & & \big\downarrow{\scriptstyle t} \\[4pt]
X & \xrightarrow{s} & Z
\end{array}
\]
commutes, with the following universal property: for every object \(A\) and maps
\(f_1 : A \to X\), \(f_2 : A \to Y\) such that \(s \circ f_1 = t \circ f_2\), there exists a
unique map \(\bar{f} : A \to P\) with
\[
p_1 \circ \bar{f} = f_1, \quad p_2 \circ \bar{f} = f_2 .
\]
The commuting square exhibited by \((P, p_1, p_2)\) is called a pullback square, and
the object \(P\) a fibered product. The condition \(s \circ f_1 = t \circ f_2\) on a
pair \((f_1, f_2)\) says that \(A\) with these maps forms a commuting square over the same cospan, a
compatibility condition analogous to a fork. The universal property asserts that any such compatible
pair factors uniquely through the pullback. Since the commutativity of the inner square is given,
requiring \(\bar{f}\) to "make the diagram commute" means only the two equations
\(p_1 \circ \bar{f} = f_1\) and \(p_2 \circ \bar{f} = f_2\). As with the earlier constructions, a
pullback need not exist, and when it does it is determined up to a unique compatible isomorphism.
The name fibered product is explained by a limiting case. When \(Z\) is a terminal object \(1\), the
maps \(s\) and \(t\) are the unique maps to \(1\) and impose no condition, so the compatibility
\(s \circ f_1 = t \circ f_2\) holds automatically. The pullback then reduces to an object \(P\) with
maps to \(X\) and \(Y\) through which every pair of maps factors uniquely, that is, to the product
\(X \times Y\). A pullback is thus a product taken not over a point but over a base object \(Z\),
pairing elements fiber by fiber.
Example: pullbacks in Set
For functions \(s : X \to Z\) and \(t : Y \to Z\), the pullback is the set of compatible pairs
\[
P = \{(x, y) \in X \times Y \mid s(x) = t(y)\}
\]
with projections \(p_1(x, y) = x\) and \(p_2(x, y) = y\). The square commutes by construction. For
any set \(A\) with maps \(f_1 : A \to X\), \(f_2 : A \to Y\) satisfying \(s(f_1(a)) = t(f_2(a))\)
for all \(a\), the pair \((f_1(a), f_2(a))\) lies in \(P\), so \(\bar{f}(a) = (f_1(a), f_2(a))\)
defines a map \(A \to P\) with \(p_i \circ \bar{f} = f_i\), and it is the only such map since its
two components are forced. This \(P\) is the fibered product of \(X\) and \(Y\) over \(Z\), which
over each point \(z \in Z\) places the product of the fibers \(s^{-1}(z)\) and \(t^{-1}(z)\).
Two constructions already familiar from set theory are pullbacks in disguise.
Example: inverse images are pullbacks
Given a function \(f : X \to Y\) and a subset \(Y' \subseteq Y\), the inverse image
\[
f^{-1}Y' = \{x \in X \mid f(x) \in Y'\} \subseteq X
\]
fits into a square with the inclusions \(j : Y' \hookrightarrow Y\) and
\(i : f^{-1}Y' \hookrightarrow X\) and the corestriction \(f' : f^{-1}Y' \to Y'\),
\(x \mapsto f(x)\):
\[
\begin{array}{ccc}
f^{-1}Y' & \xrightarrow{f'} & Y' \\[4pt]
{\scriptstyle i}\big\downarrow & & \big\downarrow{\scriptstyle j} \\[4pt]
X & \xrightarrow{f} & Y
\end{array}
\]
The starting data are the objects \(X, Y, Y'\) with the maps \(f\) and \(j\), which form the
lower-right corner. The remaining corner \(f^{-1}Y'\) is what the construction produces.
To see that the square above is a pullback square, take any commuting square with apex \(A\),
\[
\begin{array}{ccc}
A & \xrightarrow{h} & Y' \\[4pt]
{\scriptstyle g}\big\downarrow & & \big\downarrow{\scriptstyle j} \\[4pt]
X & \xrightarrow{f} & Y
\end{array}
\]
so that \(f \circ g = j \circ h\). For each \(a \in A\) we have
\(f(g(a)) = j(h(a)) = h(a) \in Y'\), hence \(g(a) \in f^{-1}Y'\). We define \(k : A \to f^{-1}Y'\)
by \(k(a) = g(a)\). Then \(i \circ k = g\), and \(f'(k(a)) = f(g(a)) = h(a)\) gives
\(f' \circ k = h\), so \(k\) makes the diagram commute. It is unique, since \(i\) is the inclusion
and so any \(k\) with \(i \circ k = g\) satisfies \(k(a) = g(a)\) for all \(a\). Thus \(f^{-1}Y'\)
with \(i\) and \(f'\) is the pullback of the cospan \(X \xrightarrow{f} Y \xleftarrow{j} Y'\).
This is the source of the name. One says that \(Y'\) is "pulled back" along \(f\) to the subset
\(f^{-1}Y'\) of \(X\).
Example: intersections are pullbacks
Let \(X\) and \(Y\) be subsets of a set \(Z\). Their intersection sits in a square of inclusions
\[
\begin{array}{ccc}
X \cap Y & \hookrightarrow & Y \\[4pt]
\big\downarrow & & \big\downarrow \\[4pt]
X & \hookrightarrow & Z
\end{array}
\]
and this is a pullback square. The square is the special case of the inverse-image example in
which \(f : X \hookrightarrow Z\) is the inclusion and the subset is \(Y \subseteq Z\), since the
inverse image \(f^{-1}Y = \{x \in X \mid x \in Y\}\) is exactly \(X \cap Y\). The intersection is
thus the fibered product of \(X\) and \(Y\) over their common ambient set, recovering the earlier
description of \(X \cap Y\) as a meet from the wider vantage of pullbacks over \(Z\) rather than
products in the subset order.
Pairing over a base
The shift from a point to an arbitrary base object is what turns a cartesian product into a
fibered product, and it is the categorical content shared by inverse images and intersections.
Wherever two structures are to be combined into the pairs that agree over shared data, the
construction is a pullback, and its defining property is that a compatible pair of maps determines
a single map into the combined object. Records matched on a common key, two bundles over the same
base combined fiber by fiber, and two local pieces agreeing on their overlap are all of this kind.
Monics
Pullbacks supply the setting for a notion that will recur throughout the theory. For functions between
sets, injectivity is the basic and useful property that distinct inputs have distinct outputs. In an
arbitrary category there are no elements to compare, so injectivity in its literal form does not make
sense. There is, however, a property phrased entirely in terms of maps that plays the same role, and
it is characterized by a pullback square.
Definition: Monic
Let \(\mathscr{A}\) be a category. A map \(f : X \to Y\) is monic (or a
monomorphism) if for every object \(A\) and every pair of maps
\(x, x' : A \to X\),
\[
f \circ x = f \circ x' \implies x = x' .
\]
The condition is that \(f\) can be cancelled on the left. If two maps into \(X\) become equal after
composing with \(f\), they were already equal. Viewed as a
generalized element
of \(X\), a map \(A \to X\) is a probe of \(X\) by the object \(A\), and the definition reads as the
statement that \(f\) carries distinct generalized elements of \(X\) to distinct generalized elements
of \(Y\). Being monic is thus the generalized-element form of injectivity, with the arbitrary probe
\(A\) in place of a one-element set. The two examples below confirm that in the familiar categories
this recovers injectivity exactly.
Example: monics in Set
In \(\mathbf{Set}\) a map is monic if and only if it is injective. If \(f : X \to Y\) is injective
and \(f \circ x = f \circ x'\) for maps \(x, x' : A \to X\), then \(f(x(a)) = f(x'(a))\) for every
\(a \in A\), so \(x(a) = x'(a)\) by injectivity, giving \(x = x'\). Thus \(f\) is monic.
Conversely, suppose \(f\) is monic and take any \(u, v \in X\) with \(f(u) = f(v)\). Let \(A = 1\)
be a one-element set and let \(x, x' : 1 \to X\) be the maps picking out \(u\) and \(v\). Then
\(f \circ x = f \circ x'\), since both pick out the common value \(f(u) = f(v)\), so \(x = x'\) by
the monic property, which says \(u = v\). Hence \(f\) is injective.
Example: monics in Grp and Vect
The same equivalence holds in categories of algebraic structures. A
group homomorphism,
or a linear map of vector spaces, is monic exactly when it is injective. That an injective
homomorphism is monic follows as in \(\mathbf{Set}\), since the underlying map is injective and
the cancelled maps \(x, x'\) are homomorphisms.
For the converse one again tests against a single element, but a one-element group or vector space
carries no information. One uses instead the free structure on one generator, namely the group
\(\mathbb{Z}\) or the one-dimensional space \(k\), whose homomorphisms into a target correspond to
single elements of that target, since a homomorphism out of \(\mathbb{Z}\) is determined by the
image of \(1\), which may be any element, and likewise a linear map out of \(k\). A map
\(A \to X\) out of the free structure on one generator selects an element of \(X\), and running
the argument of the previous example with this \(A\) in place of \(1\) shows that a monic
homomorphism is injective.
The reason monics belong beside pullbacks is the following characterization, which expresses
left-cancellability as a single universal square and so makes monics available wherever pullbacks
are understood.
Lemma: Monics as Pullbacks
A map \(f : X \to Y\) is monic if and only if the square
\[
\begin{array}{ccc}
X & \xrightarrow{1} & X \\[4pt]
{\scriptstyle 1}\big\downarrow & & \big\downarrow{\scriptstyle f} \\[4pt]
X & \xrightarrow{f} & Y
\end{array}
\]
with both maps from the top-left copy of \(X\) the identity, is a
pullback.
Proof
The square commutes, since \(f \circ 1 = f = f \circ 1\). The question is whether it has the
universal property of a pullback of the cospan \(X \xrightarrow{f} Y \xleftarrow{f} X\). A
compatible pair on that cospan is an object \(A\) with maps \(a, b : A \to X\) satisfying
\(f \circ a = f \circ b\). Both projections of the square are the identity on \(X\), so the
universal property demands, for each such pair, a unique \(\bar{f} : A \to X\) with
\(1 \circ \bar{f} = a\) and \(1 \circ \bar{f} = b\), that is, a unique \(\bar{f}\) with
\(\bar{f} = a\) and \(\bar{f} = b\).
Suppose first that \(f\) is monic. Given a compatible pair \(a, b : A \to X\) with
\(f \circ a = f \circ b\), the monic property gives \(a = b\). Setting \(\bar{f} = a\) then
satisfies \(\bar{f} = a\) and \(\bar{f} = b\), and any map with both properties equals \(a\),
so \(\bar{f}\) is unique. The square is therefore a pullback.
Conversely, suppose the square is a pullback, and let \(a, b : A \to X\) satisfy
\(f \circ a = f \circ b\). Then \((a, b)\) is a compatible pair on the cospan, so by the
universal property there is a unique \(\bar{f} : A \to X\) with \(\bar{f} = a\) and
\(\bar{f} = b\). The existence of such a \(\bar{f}\) forces \(a = \bar{f} = b\). Hence
\(f \circ a = f \circ b\) implies \(a = b\), which is the monic property.
The value of the characterization is that it transfers facts about pullbacks to facts about monics. A
construction or functor known to respect pullbacks will respect this particular square, and so carry
monics to monics. Read in this direction, results established for limits yield results for monics with
no further work. The link to limits is also the reason monics are introduced here rather than in
isolation, and their further properties, together with the dual notion obtained by reversing every
arrow, are taken up once limits have been developed in full.
Three Constructions, One Shape
Products, equalizers, and pullbacks have been treated as three constructions. Set side by side, they
are visibly variations on a single theme. Each starts with a configuration of objects and maps and
produces a new object equipped with maps to the objects of the configuration. In each, the new object
is characterized by the universal property that every other candidate factors through it in exactly
one way. The constructions differ only in the shape of the starting configuration. Isolating that
shape is the step that unifies them.
Consider the starting data of each construction, stripped of the universal object it generates. For a
binary product it is a pair of objects with no maps between them,
\[
X \quad Y .
\]
For an equalizer it is a parallel pair of maps,
\[
X \rightrightarrows Y ,
\]
carrying the labels \(s\) and \(t\). For a pullback it is a cospan,
\[
X \xrightarrow{s} Z \xleftarrow{t} Y .
\]
Each of these is a small diagram of objects and maps, and the construction in each case extracts a
universal object lying over that diagram. The difference between the three lies entirely in which
diagram one begins with.
A diagram of a given shape, drawn inside a category \(\mathscr{A}\), is exactly a
functor
into \(\mathscr{A}\) from a category that encodes the shape. The simplest shapes make this concrete.
An object of \(\mathscr{A}\) amounts to a functor \(\mathbf{1} \to \mathscr{A}\) from the one-object
category, which labels the single object with the name of an object of \(\mathscr{A}\). A map in
\(\mathscr{A}\) amounts to a functor \(\mathbf{2} \to \mathscr{A}\), where \(\mathbf{2}\) is the
category with two objects \(0\) and \(1\), one non-identity map \(0 \to 1\), and nothing else. Such a
functor selects a map of \(\mathscr{A}\) together with its source and target. The same idea names the
three shapes above. Let
\[
\begin{align*}
\mathbf{T} &= \{\bullet \quad \bullet\}, \\\\
\mathbf{E} &= \big\{\bullet \rightrightarrows \bullet\big\}, \\\\
\mathbf{P} &= \big\{\bullet \rightarrow \bullet \leftarrow \bullet\big\}
\end{align*}
\]
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 out of each into \(\mathscr{A}\) then reproduces
exactly the starting data examined above, namely a pair of objects, a parallel pair of maps, and a
cospan. The three configurations are thus one kind of object, a functor into \(\mathscr{A}\),
differing only in their domain.
The shape is an index category
The category encoding the shape is called an index category, and a functor from
it into \(\mathscr{A}\) is a diagram of that shape in \(\mathscr{A}\). Products,
equalizers, and pullbacks correspond to the index categories \(\mathbf{T}\), \(\mathbf{E}\), and
\(\mathbf{P}\). Changing the index category changes the construction while leaving the form of the
universal property intact. What remains constant across all three is the act of forming, from a
diagram, a single universal object that maps to the diagram and through which every compatible
family of maps factors uniquely. That constant act is the notion of a limit, and the three
constructions of this page are its first instances, one index category each.