---
title: "Colimits: Coproducts, Coequalizers, Pushouts"
module: Limits and Colimits
moduleNumber: 4
lessonNumber: 3
order: 403
summary: >
  Colimits are limits in the opposite category: cocones replace cones, and the
  universal cocone is initial rather than terminal. Coproducts glue objects
  side by side, coequalizers impose relations and produce quotients, pushouts
  glue along a shared part, and in Set every colimit is a quotient of a
  disjoint union. Directed colimits admit a clean elementwise description.
topics: [Limits and Colimits]
sources:
  - book: Leinster
    ref: "§5.2 Colimits: definition and examples"
  - book: Simmons
    ref: "Ch. 2 §2.6–2.7 (coequalizers, pushouts); §4.7 Confluent colimits in Set"
  - book: Barr & Wells
    ref: "Ch. 9 §9.4 Coequalizers; §9.5 Cocones; §9.6 More about sums"
draft: false
---

Every concept of the [theory of limits](/category-theory/limits-colimits/limits)
has a mirror image obtained by reversing all arrows, and the
[duality principle](/category-theory/universal-properties/constructions-on-categories)
says the mirrored theory comes for free. A limit gathers maps _into_ a
universal object; a colimit gathers maps _out of_ one. The constructions dual
to products, equalizers, and pullbacks are coproducts, coequalizers, and
pushouts, and where limits build objects as subobjects of products (solution
sets, fibered products), colimits build them as quotients of sums (disjoint
unions, gluings, identifications). Whenever a construction takes given objects
and produces a new object receiving maps from them, a colimit is the likely
formalism; the lowest common multiple in the divisibility order and the
gluing of coordinate patches into a manifold are both examples.[^lein-colim]

## Cocones and the initial cocone

> **Definition (Cocone and colimit).** Let $D : \mathsf{I} \to \mathcal{A}$ be a
> diagram, and write $D^{\mathrm{op}} : \mathsf{I}^{\mathrm{op}} \to
> \mathcal{A}^{\mathrm{op}}$ for the corresponding functor between opposites. A
> **cocone** on $D$ is a cone on $D^{\mathrm{op}}$, and a **colimit** of $D$ is
> a limit of $D^{\mathrm{op}}$. We write the colimit vertex as
> $\operatorname{colim} D$ and call its legs $p_I : D(I) \to \operatorname{colim} D$
> the **coprojections**.

Unwound into $\mathcal{A}$ itself, a cocone is an object $A$ (the vertex)
with arrows $f_I : D(I) \to A$ such that $f_J \circ D(u) = f_I$ for every edge
$u : I \to J$, and a colimit is a cocone $\bigl(D(I) \xrightarrow{p_I}
C\bigr)_I$ through which every cocone factors by a unique mediating arrow
$\bar f : C \to A$ with $\bar f \circ p_I = f_I$.[^lein-cocone] Where the limit
was the terminal cone, the colimit is the **initial cocone**. Everything proved
for limits dualizes on the spot: colimits are unique up to a unique compatible
isomorphism, the coprojections are collectively epic, and a map _out of_
$\operatorname{colim} D$ is the same thing as a cocone on $D$:

$$
\mathcal{A}(\operatorname{colim} D, A) \;\cong\;
\{\text{cocones on } D \text{ with vertex } A\},
\qquad \text{natural in } A.
$$

Maps out of a colimit are easy to describe; that asymmetry is why colimit-style
presentations dominate in geometry, where one mostly needs to construct maps
_off_ a space.

$$
% caption: A cocone under a diagram: the legs point from the nodes up to the
% vertex, and the colimit C is the cocone every other cocone factors through.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
\node (A) at (2.6,3.4) {$A$};
\node (C) at (0,2.2) {$C$};
\node (DI) at (-2.4,0) {$D(I)$};
\node (DJ) at (0,0) {$D(J)$};
\node (DK) at (2.4,0) {$D(K)$};
\draw[->, acc, thick] (DI) -- (C) node[midway, above left] {$p_I$};
\draw[->, acc, thick] (DJ) -- (C) node[midway, left] {$p_J$};
\draw[->, acc, thick] (DK) -- (C) node[midway, above right] {$p_K$};
\draw[->, dashed] (C) -- (A) node[midway, above left] {$u$};
\draw[->, black, bend right=14] (DK) to (A);
\draw[->, black] (DI) -- (DJ) node[midway, below] {$D(u)$};
\draw[->, black] (DK) -- (DJ) node[midway, below] {$D(v)$};
\end{tikzpicture}
$$

Naming conventions for duals are irregular: sometimes a "co-" is added or
removed (limit/colimit, product/coproduct), sometimes the pair is
initial/terminal or pullback/pushout. The table keeps the pairs straight.

| Limit-side | Shape | Colimit-side |
| --- | --- | --- |
| terminal object $1$ | $\varnothing$ | initial object $0$ |
| product $\prod_i X_i$ | discrete | coproduct (sum) $\coprod_i X_i$ |
| equalizer | $\bullet \rightrightarrows \bullet$ | coequalizer |
| pullback $X \times_Z Y$ | corner | pushout $X +_Z Y$ |
| inverse limit of a chain | $(\mathbb{N},\le)^{\mathrm{op}}$ | direct limit of a chain |

## Coproducts

> **Definition (Coproduct).** A **coproduct** (or **sum**) is a colimit over a
> discrete shape. For a family $(X_i)_{i \in I}$ it consists of an object
> $\coprod_i X_i$ with **injections** $p_i : X_i \to \coprod_i X_i$ such that
> every family $f_i : X_i \to A$ factors as $f_i = \bar f \circ p_i$ for a
> unique $\bar f : \coprod_i X_i \to A$. The empty coproduct is an initial
> object.

In $\mathbf{Set}$ the coproduct is the disjoint union: the injections have
disjoint images covering $X_1 + X_2$, so any element lies in exactly one image
and $\bar f$ is defined case by case, $\bar f(p_1(x_1)) = f_1(x_1)$ and $\bar
f(p_2(x_2)) = f_2(x_2)$.[^lein-sum] Elsewhere the coproduct can look quite
different from a disjoint union:

- **$\mathbf{Vect}_k$.** The direct sum $X_1 \oplus X_2$ with $i_1(x) = (x,0)$,
  $i_2(y) = (0,y)$ is the coproduct, the _same_ object that serves as the
  product. Finite products and coproducts of vector spaces coincide, a
  degeneracy special to additive settings and false in
  $\mathbf{Set}$.[^lein-vect]
- **Ordered sets.** In a poset viewed as a category, the coproduct of a family
  is its least upper bound (join) $\bigvee_i x_i$; the initial object is a
  least element. In $(\mathcal{P}(S), \subseteq)$ the join is union; in
  $(\mathbb{N}, \mid)$ it is the lowest common multiple, and the least element
  is $1$.
- **$\mathbf{Grp}$.** The coproduct is the free product $G \ast{} H$, generated
  by words alternating between the two groups; nothing like the underlying
  disjoint union.

The underlying set of $G \ast{} H$, or of $X_1 \oplus X_2$, is not the disjoint
union of the underlying sets; forgetful functors to $\mathbf{Set}$ tend to
[preserve limits but not colimits](/category-theory/limits-colimits/limits-and-functors).

> **Worked example.** In the poset $(\mathbb{N}, \mid)$ ordered by divisibility,
> viewed as a category with one arrow $m \to n$ whenever $m \mid n$, the coproduct
> of $4$ and $6$ is their join: the smallest $n$ with $4 \mid n$ and $6 \mid n$,
> which is $\operatorname{lcm}(4, 6) = 12$. The injections are the arrows $4 \to
> 12$ and $6 \to 12$, and the universal property reads: any $n$ divisible by both
> $4$ and $6$ is divisible by $12$. Dually the product is the meet
> $\gcd(4, 6) = 2$.

## Coequalizers

> **Definition (Coequalizer).** Given a parallel pair $s, t : X \to Y$, a
> **coequalizer** is an arrow $p : Y \to C$ with $p \circ s = p \circ t$,
> universal with this property: any $h : Y \to A$ with $h \circ s = h \circ t$
> factors as $h = \bar h \circ p$ for a unique $\bar h : C \to A$.

Every coequalizer is **epic**, dually to "every equalizer is monic." The
coequalizer is the categorical quotient, and in $\mathbf{Set}$ it is a literal
one. Given $s, t : X \to Y$, let $\sim$ be the equivalence relation on
$Y$ **generated by** $s(x) \sim t(x)$ for all $x \in X$ — the smallest
equivalence relation containing the relation $R = \{(s(x), t(x)) \mid x \in X\}$,
obtained by symmetrizing $R$ and chaining zigzags. The quotient map

$$
p : Y \longrightarrow Y/\!\sim
$$

is the coequalizer: maps out of $Y/\!\sim$ correspond exactly to maps $h$ out
of $Y$ with $h(s(x)) = h(t(x))$ for all $x$, which is the universal
property.[^lein-coeq] The pair $(s, t)$ lists the identifications to impose,
and the coequalizer imposes them and nothing more.

$$
% caption: A quotient as a coequalizer in Set: the pair s, t lists which
% elements of Y to identify, and C is Y with exactly those identifications.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
% X block
\draw[black] (0,0.4) rectangle (1.5,2.4);
\node[black, anchor=south] at (0.75,2.45) {$X$};
\fill[black] (0.75,1.9) circle (1.5pt);
\fill[black] (0.75,0.9) circle (1.5pt);
% Y block
\draw[black] (3.2,0.4) rectangle (4.7,2.4);
\node[black, anchor=south] at (3.95,2.45) {$Y$};
\fill[acc] (3.6,2.0) circle (1.5pt);
\fill[acc] (4.3,1.6) circle (1.5pt);
\fill[acc] (3.6,1.0) circle (1.5pt);
\fill[acc] (4.3,0.7) circle (1.5pt);
% s,t arrows from X points to Y points
\draw[->, black] (0.85,1.95) -- (3.5,2.0);
\draw[->, black] (0.85,1.85) -- (4.2,1.62);
\node[black, font=\scriptsize] at (2.2,2.15) {$s$; $t$};
\draw[->, black] (0.85,0.95) -- (3.5,1.0);
\draw[->, black] (0.85,0.85) -- (4.2,0.73);
% C block: merged classes
\draw[black] (6.4,0.4) rectangle (7.9,2.4);
\node[black, anchor=south] at (7.15,2.45) {$C$};
\fill[acc] (7.15,1.8) circle (2.2pt);
\fill[acc] (7.15,0.85) circle (2.2pt);
\draw[->, acc, thick] (4.85,1.4) -- (6.25,1.4) node[midway, above] {$p$};
\node[font=\scriptsize, black, align=center] at (7.15,-0.15) {equivalence classes};
\end{tikzpicture}
$$

> **Worked example.** Let $X = \{u, v\}$ and $Y = \{1, 2, 3, 4\}$ with $s, t : X
> \to Y$ given by $s(u) = 1$, $t(u) = 2$, $s(v) = 3$, $t(v) = 4$. The relation
> $R = \{(1, 2), (3, 4)\}$ generates the equivalence relation whose classes are
> $\{1, 2\}$ and $\{3, 4\}$, so the coequalizer is the quotient map
> $$
> p : Y \longrightarrow \{[1], [3]\}, \qquad p(1) = p(2) = [1], \quad p(3) =
> p(4) = [3].
> $$
> A map $h : Y \to A$ satisfies $h \circ s = h \circ t$ exactly when $h(1) =
> h(2)$ and $h(3) = h(4)$, and any such $h$ factors through $p$ by the
> well-defined $\bar h([1]) = h(1)$, $\bar h([3]) = h(3)$.

In algebraic categories the same idea runs through the relevant quotient
construction. For $s, t : A \to B$ in $\mathbf{Ab}$, the difference $t - s$ is
a homomorphism, and the coequalizer is the canonical quotient

$$
B \longrightarrow B / \operatorname{im}(t - s),
$$

mirroring the equalizer $\ker(t-s)$ on the limit side.[^lein-ab] In
$\mathbf{Grp}$ one quotients by the normal subgroup generated by the elements
$s(a)t(a)^{-1}$; in $\mathbf{Top}$ one takes the $\mathbf{Set}$ coequalizer
with the quotient topology. Coequalizers also expose the asymmetry of "epic":
in $\mathbf{Ring}$ the inclusion $\mathbb{Z} \hookrightarrow \mathbb{Q}$ is
epic without being surjective, so epics, unlike coequalizers of concrete
quotients, need not be onto.[^lein-epic]

## Pushouts

> **Definition (Pushout).** A **pushout** of a span $Y \xleftarrow{s} X
> \xrightarrow{t} Z$ is an object $P$ with arrows $q_1 : Y \to P$, $q_2 : Z \to
> P$ such that $q_1 \circ s = q_2 \circ t$, universal among commutative squares
> on the span. We write $P = Y +_X Z$. A pushout in $\mathcal{A}$ is a pullback
> in $\mathcal{A}^{\mathrm{op}}$.

$$
% caption: The pushout square: the span through X is glued into P, and any
% other commutative square on the span factors through P uniquely.
\begin{tikzpicture}[scale=1.0, >=stealth, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
\node (X) at (0,1.8) {$X$};
\node (Y) at (2.6,1.8) {$Y$};
\node (Z) at (0,0) {$Z$};
\node (P) at (2.6,0) {$P$};
\node (A) at (4.7,-1.2) {$A$};
\draw[->] (X) -- (Y) node[midway, above] {$s$};
\draw[->] (X) -- (Z) node[midway, left] {$t$};
\draw[->, acc, thick] (Y) -- (P) node[midway, right] {$q_1$};
\draw[->, acc, thick] (Z) -- (P) node[midway, below] {$q_2$};
\draw[acc, thick] (2.3,0.3) -- (2.3,0.55) -- (2.05,0.55);
\draw[->, dashed] (P) -- (A) node[midway, above right] {$u$};
\draw[->, black, bend left=20] (Y) to (A);
\draw[->, black, bend right=16] (Z) to (A);
\end{tikzpicture}
$$

The pushout glues $Y$ and $Z$ along the common part $X$. The $\mathbf{Set}$
formula makes the gluing literal: $Y +_X Z = (Y + Z)/\!\sim$ where $\sim$ is
generated by $s(x) \sim t(x)$, i.e. take the disjoint union, then identify the
two images of each point of $X$.[^lein-push] Two special cases organize the
picture.

- **Union along an intersection.** For subsets $Y, Z \subseteq A$, the square
  of inclusions with $Y \cap Z$ in the top corner and $Y \cup Z$ in the bottom
  is a pushout in $\mathbf{Set}$; the formula places $Y$ and $Z$ side by side
  and glues the copy of $Y \cap Z$ in each. (The same square is also a
  pullback, a coincidence special to sets.)
- **Coproducts as pushouts.** If the category has an initial object $0$, the
  pushout of the unique span $Y \leftarrow 0 \rightarrow Z$ recovers the
  coproduct $Y + Z$: gluing along nothing is placing side by side.

> **Worked example.** Glue two two-point "intervals" at an endpoint. Take
> $X = \{\ast\}$, $Y = \{y_0, y_1\}$, $Z = \{z_0, z_1\}$, with $s(\ast) = y_1$
> and $t(\ast) = z_0$. The pushout is
> $$
> Y +_X Z = (Y + Z)/\!\sim, \qquad y_1 \sim z_0,
> $$
> which welds $Y$'s right end to $Z$'s left end: $Y +_X Z = \{y_0,\ y_1 = z_0,\
> z_1\}$, a three-point chain. Replacing the endpoints by whole intervals $Y = Z
> = [0, 1]$ and gluing $1 \in Y$ to $0 \in Z$ gives $[0, 2]$ in $\mathbf{Top}$;
> identifying both endpoints instead gives the circle $S^1$.

Attaching a cell to a space, gluing two spaces along a common subspace, and
assembling surfaces from patches are all pushouts in $\mathbf{Top}$. The **van Kampen theorem** has exactly this
shape: under suitable hypotheses, the fundamental-group functor sends a pushout
square of spaces to a pushout square of groups.[^lein-vk]

## Colimits in Set and the two-sided picture

The general colimit formula in $\mathbf{Set}$ dualizes the
limit-as-subset-of-a-product formula. For any diagram $D : \mathsf{I} \to
\mathbf{Set}$,

$$
\operatorname{colim} D \;=\;
\Bigl(\coprod_{I \in \mathsf{I}} D(I)\Bigr) \Big/ \sim,
$$

where $\sim$ is the equivalence relation generated by $x \sim (Du)(x)$ for
every edge $u : I \to J$ and every $x \in D(I)$. A limit in $\mathbf{Set}$ is a
**subset of a product**; a colimit is a **quotient of a sum**.[^lein-colimset]

A sphere admits both presentations (Leinster's example). As a limit-style
object, the sphere is an equalizer: $S^2 \hookrightarrow \mathbb{R}^3 \rightrightarrows
\mathbb{R}$, where the parallel maps are $(x,y,z) \mapsto x^2 + y^2 + z^2$ and
the constant $1$ — an equation captured by an equalizer, at the cost of a
choice of coordinates. As a colimit-style object, the sphere is a coequalizer:
two open disks glued along a cylindrical belt,

$$
S^1 \times (0,1) \;\rightrightarrows\; D + D \;\longrightarrow\; S^2,
$$

the two parallel maps being the inclusions of the belt into each disk — a
gluing captured by a coequalizer, at the cost of a choice of decomposition. An
atlas presents a manifold as a colimit of Euclidean balls, and the colimit
view dominates modern geometry because maps out of a gluing amount to
compatible families of maps on the patches.[^lein-sphere]

$$
% caption: One sphere, two presentations: cut out of a product by an equation
% (limit style), or glued from two disks along a belt (colimit style).
\begin{tikzpicture}[scale=1.0, >=stealth, font=\footnotesize]
\definecolor{acc}{HTML}{4A6FA5}
% left: sphere as solution set
\draw[black] (-0.2,-0.2) rectangle (2.8,2.6);
\draw[acc, thick] (1.3,1.2) circle (0.85);
\node[black, font=\scriptsize, anchor=south west] at (-0.15,-0.15) {ambient product};
\node[acc, font=\scriptsize] at (1.3,2.35) {equation cuts};
% right: sphere as glued disks
\begin{scope}[xshift=4.6cm]
\draw[acc, thick] (0.7,1.7) circle (0.75);
\draw[acc, thick] (2.1,0.7) circle (0.75);
\draw[acc!60, thick, dashed] (1.15,1.3) ellipse (0.42 and 0.22);
\node[black, font=\scriptsize, anchor=north] at (0.7,0.85) {patch 1};
\node[black, font=\scriptsize, anchor=south] at (2.1,1.55) {patch 2};
\node[acc, font=\scriptsize] at (1.4,2.6) {glue along belt};
\end{scope}
\end{tikzpicture}
$$

## Directed and confluent colimits

Colimits of chains, and more generally of directed diagrams, were studied under
the name **direct limits** before category theory supplied their general
definition.

> **Definition (Directed poset).** A poset $I$ is **directed** if every pair
> $i, j \in I$ has an upper bound $k \geq i, j$. It is **confluent** if every
> pair with a common lower bound has an upper bound. Directed implies
> confluent.[^sim-directed]

For a diagram $A$ over a confluent poset in $\mathbf{Set}$ — write $x|_j \in
A(j)$ for the image of $x \in A(i)$ under the connecting map $A(i) \to A(j)$,
$i \leq j$ — the generated equivalence relation collapses to a single
condition:

$$
(x, i) \sim (y, j)
\quad\Longleftrightarrow\quad
\exists\, k \geq i, j : \; x|_k = y|_k .
$$

Two tagged elements are identified precisely when they eventually agree.
Confluence is what makes this relation transitive without any zigzag closure:
given agreement at $l$ and at $m$, the nodes $l, m$ share the lower bound $j$,
so confluence supplies $n \geq l, m$ where both agreements combine. The colimit
is the set of eventual-agreement classes, with coprojections $x \mapsto [x,
i]$.[^sim-confluent] For an increasing chain of sets $X_0 \subseteq X_1
\subseteq \cdots$ with inclusion maps, the direct limit is just the union
$\bigcup_n X_n$: every element is eventually present, and eventual agreement is
equality. Dually, the [inverse limit](/category-theory/limits-colimits/limits)
of a decreasing chain is the intersection.

The same eventual-agreement construction computes directed colimits in
$\mathbf{Grp}$, $\mathbf{Ring}$, and the other algebraic categories, because
the operations of any finite set of classes can be evaluated at a common
upper-bound stage. This finite-data
property is the seed of the theory of filtered colimits and finitely
presentable objects; here it is enough to know that directed colimits in
$\mathbf{Set}$ exist and have elements that are "elements at some stage, up to
eventual agreement."

Which categories have all colimits? $\mathbf{Set}$, $\mathbf{Grp}$,
$\mathbf{Vect}_k$, $\mathbf{Top}$ all do (**cocomplete** is the term dual to
complete), and the generation theorem dualizes: coproducts plus coequalizers
give all colimits. But computing a colimit in an algebraic category is
generally harder than computing a limit, precisely because the forgetful
functor no longer does the work. Both computations, worked out underneath a
forgetful functor, appear in
[computing limits in concrete categories](/category-theory/limits-colimits/computing-limits).

[^lein-colim]: **Leinster**, _Basic Category Theory_, Ch. 5 opening and §5.2 — colimits as the ubiquitous dual, with lcm-in-divisibility as a first example.
[^lein-cocone]: **Leinster**, _Basic Category Theory_, §5.2, Definition 5.2.1 — cocone and colimit by dualization, with the explicit unwound form and coprojections.
[^lein-sum]: **Leinster**, _Basic Category Theory_, §5.2, Definition 5.2.2 and Example 5.2.4 — sums as colimits over discrete shapes and the disjoint-union verification in $\mathbf{Set}$.
[^lein-vect]: **Leinster**, _Basic Category Theory_, §5.2, Example 5.2.5 — the direct sum of vector spaces is both product and coproduct.
[^lein-coeq]: **Leinster**, _Basic Category Theory_, §5.2, Remarks 5.2.8 and Example 5.2.9 — the equivalence relation generated by a relation, and the quotient map as the coequalizer in $\mathbf{Set}$; Simmons §2.6, Examples 2.6.6–2.6.7.
[^lein-ab]: **Leinster**, _Basic Category Theory_, §5.2, Example 5.2.10 — coequalizers in $\mathbf{Ab}$ via $B/\mathrm{im}(t-s)$; the $\mathbf{Grp}$ case is Simmons, Exercise 2.6.3(b).
[^lein-epic]: **Leinster**, _Basic Category Theory_, §5.2, Definition 5.2.17 and Example 5.2.19 — epics as dual monics; $\mathbb{Z} \hookrightarrow \mathbb{Q}$ epic in $\mathbf{Ring}$.
[^lein-push]: **Leinster**, _Basic Category Theory_, §5.2, Definition 5.2.11 and Example 5.2.12 — pushouts, the $(Y+Z)/\sim$ formula, the union-along-intersection square, and coproducts as pushouts from an initial object (Example 5.2.13).
[^lein-vk]: **Leinster**, _Basic Category Theory_, §5.2, Example 5.2.14 — the van Kampen theorem as a pushout-preservation statement.
[^lein-colimset]: **Leinster**, _Basic Category Theory_, §5.2, Example 5.2.16 — the colimit of any small diagram in $\mathbf{Set}$ as a quotient of the sum, verified through the cocone correspondence.
[^lein-sphere]: **Leinster**, _Basic Category Theory_, §5.2, Figure 5.2 and surrounding discussion — the sphere as an equalizer in coordinates and as a coequalizer of glued disks, and why maps out of colimits favour the gluing view.
[^sim-directed]: **Simmons**, _An Introduction to Category Theory_, §4.7, Definition 4.7.1 — directed and confluent posets.
[^sim-confluent]: **Simmons**, _An Introduction to Category Theory_, §4.7 — the tagged disjoint union, the eventual-agreement relation, its transitivity via confluence, and the verification that the quotient is the colimit.
