Colimits of Diagrams

Cocones and Colimits Sums, Coequalizers, Pushouts Colimits in Set Epics

Cocones and Colimits

The limit of a diagram was built from maps running into the diagram: a vertex with a leg to each object, the legs compatible with the edges. Reversing every one of those arrows yields a second construction of equal standing. A vertex now sends a leg out to each object, the legs again compatible with the edges, and the universal such vertex — the one through which every other factors — is the colimit. Like limits, colimits occur throughout mathematics, and the whole theory is obtained by dualizing the one already built.

The dualization is carried out once, at the level of the diagram, and every later notion follows. A diagram \(D : \mathbf{I} \to \mathscr{A}\) has an opposite \(D^{\mathrm{op}} : \mathbf{I}^{\mathrm{op}} \to \mathscr{A}^{\mathrm{op}}\), the same assignment of objects read in the categories with their arrows reversed. A cone on \(D^{\mathrm{op}}\) is, read back in \(\mathscr{A}\), a family of maps out of the objects of \(D\) rather than into them. This is the only definition needed; the rest is naming.

Definition: Cocone

Let \(\mathscr{A}\) be a category, \(\mathbf{I}\) a small category, and \(D : \mathbf{I} \to \mathscr{A}\) a diagram. A cocone on \(D\) is a cone on \(D^{\mathrm{op}}\). Explicitly, it is an object \(A \in \mathscr{A}\), the vertex of the cocone, together with a family of maps \[ \big(D(I) \xrightarrow{\;f_I\;} A\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}\), \[ f_J \circ Du = f_I . \]

The vertex is again a single object, but the family now points away from the diagram: each vertex of the diagram is given a map into \(A\). The compatibility condition reads along the edges the other way — travelling first by the edge \(Du : D(I) \to D(J)\) and then by the leg \(f_J\) out of \(D(J)\) must agree with the leg \(f_I\) out of \(D(I)\). A cocone is thus a way of mapping a whole diagram compatibly into a single object at once. Where a cone gathers a diagram from above, a cocone receives it from below, and among all cocones on a diagram there is, in good cases, a most efficient one through which all others factor uniquely.

Definition: Colimit

Let \(D : \mathbf{I} \to \mathscr{A}\) be a diagram. A colimit of \(D\) is a limit of \(D^{\mathrm{op}}\): a cocone \[ \big(D(I) \xrightarrow{\;p_I\;} C\big)_{I \in \mathbf{I}} \] with the universal property that for every cocone \(\big(D(I) \xrightarrow{f_I} A\big)_{I \in \mathbf{I}}\) on \(D\), there exists a unique map \(\bar{f} : C \to A\) such that \(\bar{f} \circ p_I = f_I\) for all \(I \in \mathbf{I}\). The maps \(p_I\) are called the coprojections of the colimit.

The colimit is the universal cocone: every cocone factors through it in exactly one way, the unique map running out of \(C\) where the limit's unique map ran into \(L\). When a colimit exists, the vertex \(C\) is written \(\operatorname{colim} D\), and by the same mild abuse as before one often calls the object \(C\) alone the colimit, leaving the coprojections understood.

Uniqueness follows at once, the colimit being a limit in \(\mathscr{A}^{\mathrm{op}}\).

Proposition: Uniqueness of Colimits

Let \(D : \mathbf{I} \to \mathscr{A}\) be a diagram. If \(\big(D(I) \xrightarrow{p_I} C\big)_{I \in \mathbf{I}}\) and \(\big(D(I) \xrightarrow{p'_I} C'\big)_{I \in \mathbf{I}}\) are both colimits of \(D\), then there is a unique isomorphism \(\theta : C \to C'\) such that \(\theta \circ p_I = p'_I\) for all \(I \in \mathbf{I}\).

Proof

The result is the uniqueness of limits read in \(\mathscr{A}^{\mathrm{op}}\); a direct argument is recorded for self-containment. Since \(\big(D(I) \xrightarrow{p'_I} C'\big)\) is a cocone on \(D\) and \(C\) is a colimit, there is a unique \(\theta : C \to C'\) with \(\theta \circ p_I = p'_I\) for all \(I\). Symmetrically there is a unique \(\theta' : C' \to C\) with \(\theta' \circ p'_I = p_I\) for all \(I\). Then \((\theta' \circ \theta) \circ p_I = \theta' \circ p'_I = p_I\) for all \(I\), so \(\theta' \circ \theta\) is a map \(C \to C\) commuting with the coprojections of \(C\); the identity \(1_C\) is another, and the uniqueness clause of \(C\)'s universal property forces \(\theta' \circ \theta = 1_C\). The same argument on \(C'\) gives \(\theta \circ \theta' = 1_{C'}\), so \(\theta\) is the asserted isomorphism, unique by its defining property.

As with limits, the requirement that \(\mathbf{I}\) be small makes the colimits defined here the small colimits, and these are the only colimits that will concern us.

Sums, Coequalizers, Pushouts

Three shapes gave the three basic limits, and the same three shapes, with their diagrams read into the opposite category, give the three basic colimits. A discrete shape yields the sum, the parallel pair yields the coequalizer, and the cospan turned into a span yields the pushout. Each is named and then identified in the familiar categories, where it takes a concrete and recognizable form.

Sums

A diagram of discrete shape is a family of objects with no edges to impose any condition, and a cocone on it is a family of maps out of those objects into a common vertex. The universal such cocone is the sum.

Definition: Sum

A sum, or coproduct, is a colimit over a discrete category. For a family \((X_i)_{i \in I}\) of objects of \(\mathscr{A}\) indexed by a set \(I\), regarded as a diagram on the discrete category with object-set \(I\), the sum is written \(\sum_{i \in I} X_i\) or \(\coprod_{i \in I} X_i\); it is an object equipped with coprojections \(\big(X_i \to \sum_{i \in I} X_i\big)_{i \in I}\) through which every family of maps \(\big(X_i \to A\big)_{i \in I}\) factors uniquely. When \(I = \{1, \ldots, n\}\) is finite the sum is written \(X_1 + \cdots + X_n\), and when \(n = 0\) it is written \(0\).

The empty case is the cleanest instance of the duality. A sum of the empty family is a colimit of the empty diagram, whose only cocone-data is the vertex itself; this is an initial object, the dual of the terminal object that the empty product gave. The initial object is the empty sum, and the notation \(0\) for it is the same notation used for an initial object throughout.

Example: sums in Set

In \(\mathbf{Set}\) the sum is the coproduct, the disjoint union that records each element together with its origin. For two sets the coprojections \(X_1 \to X_1 + X_2 \leftarrow X_2\) are injections whose images partition \(X_1 + X_2\): every element of \(X_1 + X_2\) is \(p_1(x_1)\) for a unique \(x_1 \in X_1\) or \(p_2(x_2)\) for a unique \(x_2 \in X_2\), but not both. Given any cocone, a pair of functions \(f_1 : X_1 \to A\) and \(f_2 : X_2 \to A\), the unique factoring map \(\bar{f}\) is forced: \(\bar{f}\) must send \(p_1(x_1)\) to \(f_1(x_1)\) and \(p_2(x_2)\) to \(f_2(x_2)\), and the partition makes this a well-defined function, manifestly the only one through which the cocone factors. The disjoint union thus carries exactly the universal property of the sum.

Example: sums in Vect

For vector spaces \(X_1\) and \(X_2\) the maps \(i_1 : X_1 \to X_1 \oplus X_2\) and \(i_2 : X_2 \to X_1 \oplus X_2\) given by \(i_1(x_1) = (x_1, 0)\) and \(i_2(x_2) = (0, x_2)\) exhibit the direct sum \(X_1 \oplus X_2\) as a sum: any pair of linear maps \(f_1 : X_1 \to A\), \(f_2 : X_2 \to A\) factors through \(\bar{f}(x_1, x_2) = f_1(x_1) + f_2(x_2)\), the unique linear map with \(\bar{f} \circ i_1 = f_1\) and \(\bar{f} \circ i_2 = f_2\). The direct sum is therefore the binary sum in \(\mathbf{Vect}_k\).

The direct sum \(X_1 \oplus X_2\) was already seen to be the product of \(X_1\) and \(X_2\), and it is now seen to be their sum as well: in \(\mathbf{Vect}_k\) the product and the sum of two objects coincide. This is a feature of \(\mathbf{Vect}_k\) and categories like it, not a general law, and it reflects the special circumstance that a finite product of vector spaces carries canonical inclusions as well as canonical projections. In \(\mathbf{Set}\) the product \(X_1 \times X_2\) and the sum \(X_1 + X_2\) are entirely different — one a set of pairs, the other a tagged union. In a poset the two part the other way: the meet of a family was its limit, and dually the sum of a family \((x_i)_{i \in I}\) is its least upper bound, or join, written \(\bigvee_{i \in I} x_i\), with binary join \(x_1 \vee x_2\), generally distinct from the meet. A join of the empty family is an initial object of the poset, which is a least element: an element \(0\) with \(0 \le a\) for every \(a\). In the real line under its order the join is the supremum and there is no least element; in a power set under inclusion the join is union and the least element is the empty set; in the positive integers ordered by divisibility the join is least common multiple and the least element is \(1\), since \(1\) divides everything.

Coequalizers

The parallel-pair shape gives the dual of the equalizer. Where the equalizer of \(s, t : X \to Y\) was the universal map into \(X\) equalizing the pair, the coequalizer is the universal map out of \(Y\) coequalizing it.

Definition: Coequalizer

A coequalizer is a colimit over the parallel-pair shape. Given a diagram \(s, t : X \to Y\), a coequalizer of \(s\) and \(t\) is a map \(p : Y \to C\) satisfying \(p \circ s = p \circ t\) and universal with this property: for every map \(q : Y \to A\) with \(q \circ s = q \circ t\) there is a unique \(\bar{q} : C \to A\) with \(\bar{q} \circ p = q\). It is the dual of the equalizer.

Coequalizers turn out to be a categorical form of quotient. To identify the coequalizer in \(\mathbf{Set}\) one needs the construction of the smallest equivalence relation containing a given relation. For a binary relation \(R\) on a set \(A\), viewed as a subset \(R \subseteq A \times A\), there is a smallest equivalence relation \(\sim\) containing \(R\), the equivalence relation generated by \(R\): any equivalence relation containing \(R\) also contains \(\sim\). It may be obtained as the intersection of all equivalence relations containing \(R\), the intersection of equivalence relations being again one; or constructed explicitly, by first symmetrizing \(R\) to \(S = \{(a, a') \mid (a, a') \in R \text{ or } (a', a) \in R\}\) and then declaring \(a \sim a'\) when there is a finite chain \[ a = a_0, \quad (a_0, a_1) \in S, \quad (a_1, a_2) \in S, \quad \ldots, \quad (a_{n-1}, a_n) \in S, \quad a_n = a' , \] a zigzag of related steps joining \(a\) to \(a'\). The chains of length zero supply reflexivity, concatenation supplies transitivity, and the symmetry of \(S\) is preserved, so \(\sim\) is an equivalence relation; it is the smallest one containing \(R\) because any equivalence relation containing \(R\) contains \(S\) and is closed under such chains.

The universal property of a quotient by an equivalence relation is what makes the coequalizer come out as a quotient. For an equivalence relation \(\sim\) on a set \(A\), the quotient map \(p : A \to A/{\sim}\) onto the set of equivalence classes is surjective and satisfies \(p(a) = p(a') \iff a \sim a'\). For any set \(B\), the functions \(A/{\sim} \to B\) correspond bijectively, by composition with \(p\), to the functions \(f : A \to B\) that respect \(\sim\), in the sense that \(a \sim a'\) implies \(f(a) = f(a')\). When \(\sim\) is generated by a relation \(R\), respecting \(\sim\) is the same as respecting \(R\) alone: \(f(a) = f(a')\) for all \((a, a') \in R\) already forces \(f(a) = f(a')\) for all \(a \sim a'\), since the relation \(\{(a, a') \mid f(a) = f(a')\}\) is an equivalence relation containing \(R\) and hence containing \(\sim\). This reduction of "respects \(\sim\)" to "respects \(R\)" is exactly the cocone condition for a coequalizer.

Example: coequalizers in Set

Given \(s, t : X \to Y\) in \(\mathbf{Set}\), let \(\sim\) be the equivalence relation on \(Y\) generated by the relation \(R = \{(s(x), t(x)) \mid x \in X\}\), and take the quotient map \(p : Y \to Y/{\sim}\). Then \(p \circ s = p \circ t\), since \(s(x) \sim t(x)\) for every \(x \in X\) by construction. For any \(q : Y \to A\) with \(q \circ s = q \circ t\), the map \(q\) respects \(R\) and so respects \(\sim\), hence factors uniquely as \(q = \bar{q} \circ p\) through the quotient. Thus \(p : Y \to Y/{\sim}\) is the coequalizer of \(s\) and \(t\): it glues together exactly the pairs \(s(x), t(x)\) and nothing more.

Example: coequalizers in Ab

For a parallel pair of homomorphisms \(s, t : A \to B\) of abelian groups, the difference \(t - s : A \to B\) is a homomorphism, and its image \(\operatorname{im}(t - s)\) is a subgroup of \(B\). The coequalizer of \(s\) and \(t\) is the canonical quotient homomorphism \(B \to B/\operatorname{im}(t - s)\). A homomorphism \(q : B \to A'\) satisfies \(q \circ s = q \circ t\) exactly when \(q \circ (t - s) = 0\), that is when \(\operatorname{im}(t - s) \subseteq \ker q\), which is precisely the condition for \(q\) to factor through the quotient by \(\operatorname{im}(t - s)\); the factoring is unique because the quotient map is surjective.

Pushouts

The cospan that gave the pullback becomes, with its arrows reversed, a span; the colimit over it is the pushout.

Definition: Pushout

A pushout is a colimit over the span shape \(\bullet \leftarrow \bullet \to \bullet\). Given a span \[ Y \xleftarrow{\;s\;} X \xrightarrow{\;t\;} Z , \] a pushout is a commutative square \[ \begin{array}{ccc} X & \xrightarrow{\;s\;} & Y \\\\ {\scriptstyle t}\big\downarrow & & \big\downarrow \\\\ Z & \xrightarrow{\phantom{s}} & P \end{array} \] universal among such squares: for every object \(A\) with maps \(Y \to A\) and \(Z \to A\) agreeing on \(X\), there is a unique map \(P \to A\) commuting with both. A pushout in \(\mathscr{A}\) is a pullback in \(\mathscr{A}^{\mathrm{op}}\).

Example: pushouts in Set

For a span \(Y \xleftarrow{s} X \xrightarrow{t} Z\) in \(\mathbf{Set}\), the pushout is \(P = (Y + Z)/{\sim}\), where \(\sim\) is the equivalence relation on the sum \(Y + Z\) generated by \(s(x) \sim t(x)\) for all \(x \in X\); the coprojection \(Y \to P\) sends an element to its class, and similarly for \(Z \to P\). The construction places \(Y\) and \(Z\) side by side and then glues each \(s(x)\) to the corresponding \(t(x)\). When \(Y\) and \(Z\) are subsets of a common set \(A\) and \(X = Y \cap Z\) with \(s, t\) the inclusions, the pushout is the union \(Y \cup Z\): the square with corners \(Y \cap Z\), \(Y\), \(Z\), \(Y \cup Z\) is a pushout square, gluing \(Y\) and \(Z\) along their overlap. In \(\mathbf{Set}\) this same square is also a pullback, a coincidence special to the category of sets.

The pushout subsumes the sum as a degenerate case. If \(\mathscr{A}\) has an initial object \(0\), then for objects \(Y, Z\) the span \(Y \leftarrow 0 \to Z\) has a unique form, and its pushout is exactly the sum \(Y + Z\): with nothing to glue, the two objects are merely placed side by side. The pushout is thus to the sum what the pullback was to the product, a construction over a base that reduces to the unbased one when the base is initial.

Gluing spaces and the van Kampen theorem

The pushout is the categorical form of gluing, and it travels into topology through the fundamental group. A space assembled from two open pieces overlapping in a third is a pushout square in the category of spaces, the overlap mapping into each piece. The van Kampen theorem states that, under suitable hypotheses on the pieces and their overlap, applying the fundamental group to such a square — replacing each space by its fundamental group and each map by the induced homomorphism — yields a pushout square of groups. The fundamental group of a space built by gluing is therefore computed by gluing the fundamental groups of its pieces, the gluing being a pushout in both settings. This is one of the principal tools for computing fundamental groups, and it is a statement that a particular construction is carried from one category to another.

Colimits in Set

The limit of a set-valued diagram was a subset of a product, cut out by the compatibility conditions. The colimit is the mirror construction: a quotient of a sum, with the compatibility conditions imposed by gluing rather than by selection. Before stating the general formula one more shape is worth naming, dual to the inverse limit met among limits.

A diagram \(D : (\mathbb{Z}_{\geq 0}, \le) \to \mathscr{A}\) on the non-negative integers in their usual order is a sequence of objects and maps \[ X_0 \xrightarrow{\;s_1\;} X_1 \xrightarrow{\;s_2\;} X_2 \xrightarrow{\;s_3\;} \cdots \] running forward. Colimits of such diagrams are traditionally called direct limits, the dual of the inverse limits that ran backward. The older terms are made redundant by the general words colimit and limit, but remain in wide use and are worth recognizing.

Proposition: Colimits in Set

Let \(D : \mathbf{I} \to \mathbf{Set}\) be a diagram. Its colimit is \[ \operatorname{colim} D = \Big(\textstyle\sum_{I \in \mathbf{I}} D(I)\Big)\Big/{\sim} , \] the sum of the sets \(D(I)\) modulo the equivalence relation \(\sim\) generated by \(x \sim (Du)(x)\) for every map \(u : I \to J\) in \(\mathbf{I}\) and every \(x \in D(I)\). The coprojections send an element of \(D(I)\) to its class.

Proof

For any set \(A\), the functions out of the quotient, \(\big(\sum_{I} D(I)\big)/{\sim} \;\to\; A\), correspond bijectively with the functions \(f : \sum_{I} D(I) \to A\) that respect \(\sim\); and since \(\sim\) is generated by the relations \(x \sim (Du)(x)\), respecting \(\sim\) is the same as the condition \(f(x) = f\big((Du)(x)\big)\) for all \(u : I \to J\) and all \(x \in D(I)\), by the reduction of "respects \(\sim\)" to "respects the generating relation" used for coequalizers. A function on the sum is a family of functions \(\big(D(I) \xrightarrow{f_I} A\big)_{I \in \mathbf{I}}\), one on each summand, and the condition \(f(x) = f((Du)(x))\) reads on the summands as \(f_I(x) = f_J\big((Du)(x)\big)\), namely \(f_I = f_J \circ Du\) for every \(u : I \to J\) — exactly the condition that the family be a cocone on \(D\) with vertex \(A\). Maps out of the quotient therefore correspond bijectively, and naturally in \(A\), with cocones on \(D\); the quotient with its coprojections is the universal cocone, which is the colimit.

The two formulas in \(\mathbf{Set}\) sit opposite each other in a single sentence: the limit is a subset of a product, the colimit a quotient of a sum. Selection against gluing is the whole of the difference, and it accounts for the difference in flavour that the two constructions carry wherever they appear.

A geometric instance makes the contrast tangible. The sphere \(S^2\) may be presented in either way. As a subset of Euclidean space it is \(\{(x, y, z) \in \mathbb{R}^3 \mid x^2 + y^2 + z^2 = 1\}\), a subspace of the product \(\mathbb{R}^3 = \mathbb{R} \times \mathbb{R} \times \mathbb{R}\), and so a limit: it is the equalizer of the two maps \(s, t : \mathbb{R}^3 \to \mathbb{R}\) given by \(s(x, y, z) = x^2 + y^2 + z^2\) and \(t(x, y, z) = 1\), an equation captured by an equalizer. Alternatively the sphere may be presented as two disks glued along a circle, the quotient of the sum of two copies of the open disk \(D\) — a colimit. As a coequalizer it is \[ S^1 \times (0, 1) \rightrightarrows D + D \longrightarrow S^2 , \] where the cylinder \(S^1 \times (0, 1)\) is the overlap of the two disks and the two maps are the inclusions of that overlap into each copy.

The two viewpoints have different strengths. The limit presentation fixes an arbitrary choice of coordinate system, embedding the space in an ambient product; the colimit presentation fixes an arbitrary choice of decomposition into pieces. In modern geometry the colimit viewpoint tends to have the upper hand, since a space is more naturally regarded as built from standard pieces than as carved out of a coordinate space — an atlas of charts presents a manifold as a colimit of Euclidean pieces. The deeper reason is structural: one is frequently concerned with maps out of a space, and a map out of a colimit is exactly a compatible family of maps out of its pieces, which is what the definition of colimit delivers. The dual constructions are no longer dual in their convenience once a direction of mapping is fixed.

Epics

One notion from the limit side remains to be dualized. The monic, defined by left-cancellability and introduced alongside the pullback, has a dual defined by right-cancellability, and the development of colimits is what the introduction of monics deferred it to. The dual is obtained, as always, by reversing every arrow.

Definition: Epic

Let \(\mathscr{A}\) be a category. A map \(f : X \to Y\) is epic (or an epimorphism) if for all objects \(Z\) and all maps \(g, g' : Y \to Z\), \[ g \circ f = g' \circ f \;\Longrightarrow\; g = g' . \] This is the formal dual of the monic condition: an epic in \(\mathscr{A}\) is a monic in \(\mathscr{A}^{\mathrm{op}}\). An epic is right-cancellable, where a monic is left-cancellable.

Where monic was the categorical form of injectivity, epic is in some sense the categorical form of surjectivity. But the resemblance is looser. The monic condition closely mirrors the elementwise definition of injectivity, while the epic condition does not mirror the definition of surjectivity in the same way, and the examples bear this out: in categories where surjectivity makes sense, epic is only sometimes the same as surjective.

Example: epics in Set

In \(\mathbf{Set}\) a map is epic if and only if it is surjective. A surjection is certainly epic, since two functions agreeing on all of the image of \(f\) agree everywhere \(f\) reaches, which is all of \(Y\). For the converse, suppose \(f : X \to Y\) is not surjective; take \(Z\) to be a two-element set \(\{\texttt{true}, \texttt{false}\}\), let \(g : Y \to Z\) be the characteristic function of the image of \(f\) — sending the image to \(\texttt{true}\) and the rest of \(Y\) to \(\texttt{false}\) — and let \(g'\) be the constant function with value \(\texttt{true}\). Then \(g \circ f = g' \circ f\), both constant at \(\texttt{true}\) on \(X\), yet \(g \ne g'\) because \(f\) misses some point of \(Y\), where the two disagree. So a non-surjection is not epic, and epic coincides with surjective.

Any isomorphism in any category is both monic and epic. In \(\mathbf{Set}\) the converse holds as well, a map that is both monic and epic being both injective and surjective, hence invertible. In general, however, monic and epic together fall short of isomorphism, and the next examples show epic itself parting from surjective.

Example: epics in categories of algebras

In categories of algebraic structures any surjective homomorphism is epic. In some, the converse holds and epic means surjective: this is so in \(\mathbf{Ab}\) and \(\mathbf{Vect}_k\), where the argument is direct, and in \(\mathbf{Grp}\), where it is true but considerably harder to prove. In others the converse fails. In \(\mathbf{Ring}\) the inclusion \(\mathbb{Z} \hookrightarrow \mathbb{Q}\) is epic but not surjective: a ring homomorphism out of \(\mathbb{Q}\) is determined by its values on \(\mathbb{Z}\), since the value at \(1/n\) is forced to be the inverse of the value at \(n\), so two homomorphisms agreeing on \(\mathbb{Z}\) agree on \(\mathbb{Q}\). This same inclusion is monic, being injective, and so is a map that is both monic and epic without being an isomorphism.

Example: epics in Haus

In the category of Hausdorff topological spaces and continuous maps, a map with dense image is epic. Two continuous maps into a Hausdorff space that agree on a dense subset agree everywhere, since the set on which they agree is closed and contains a dense set; so a map whose image is dense is right-cancellable. Here epic is strictly weaker than surjective, a dense proper subset giving a non-surjective epic.

The characterization of monics by pullback squares dualizes too. Just as a monic was recognized by a pullback square built from its identity maps, an epic is recognized by the mirror-image pushout square, and the result is the formal dual of the pullback characterization.

Lemma: Epics as Pushouts

A map \(f : X \to Y\) is epic if and only if the square \[ \begin{array}{ccc} X & \xrightarrow{\;f\;} & Y \\\\ {\scriptstyle f}\big\downarrow & & \big\downarrow{\scriptstyle 1_Y} \\\\ Y & \xrightarrow{\;1_Y\;} & Y \end{array} \] is a pushout.

Proof

The square commutes, both composites being \(f\). A cocone on the span \(Y \xleftarrow{f} X \xrightarrow{f} Y\) with vertex \(Z\) is a pair of maps \(g, g' : Y \to Z\) with \(g \circ f = g' \circ f\); since the square's coprojections are both \(1_Y\), a map \(h : Y \to Z\) factors the cocone exactly when \(h = g\) and \(h = g'\). The pushout property is that each such pair admits a unique such \(h\).

If \(f\) is epic, right-cancellability gives \(g = g'\) for every compatible pair, so \(h = g\) is the unique factoring map and the square is a pushout. Conversely, if the square is a pushout, then any \(g, g'\) with \(g \circ f = g' \circ f\) form a cocone, and the existence of an \(h\) with \(h = g\) and \(h = g'\) forces \(g = g'\); so \(f\) is right-cancellable, hence epic.

The value of the characterization is, as on the limit side, that it transfers facts about pushouts to facts about epics: a construction or functor known to respect pushouts carries epics to epics. With the colimit and its three constructions in hand, and the dual of the monic accounted for, the two universal constructions of arbitrary shape stand complete and dual to one another, each defined for every diagram, unique up to compatible isomorphism, and present throughout the categories met so far.