4.2.4 Pushouts

    Let $A$, $B$, and $C$ be sets and let $f\colon C\to A$ and $g\colon C\to B$ be functions.

    The pushout of $A$ and $B$ over $C$ along $f$ and $g$1 is the pushout of $A$ and $B$ over $C$ along $f$ and $g$ in $\mathsf{Sets}$ as in Unresolved reference, Unresolved reference.


    1. 1Further Terminology: Also called the fibre coproduct of $A$ and $B$ over $C$ along $f$ and $g$.

    Concretely, the pushout of $A$ and $B$ over $C$ along $f$ and $g$ is the pair $(A\mathbin {\textstyle \coprod _{C}}B,\left\{ \mathrm{inj}_{1},\mathrm{inj}_{2}\right\} )$ consisting of:

    1. 1.

      The Colimit. The set $A\mathbin {\textstyle \coprod _{C}}B$ defined by

      \[ A\mathbin {\textstyle \coprod _{C}}B\mathrel {\smash {\overset {\mathclap {\scriptscriptstyle \text{def}}}=}}A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}B/\mathord {\sim }_{C}, \]

      where $\mathord {\sim }_{C}$ is the equivalence relation on $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}B$ generated by $(0,f(c))\sim _{C}(1,g(c))$.

    2. 2.

      The Cocone. The maps

      \begin{align*} \mathrm{inj}_{1} & \colon A\to A\mathbin {\textstyle \coprod _{C}}B,\\ \mathrm{inj}_{2} & \colon B\to A\mathbin {\textstyle \coprod _{C}}B \end{align*}

      given by

      \begin{align*} \mathrm{inj}_{1}(a) & \mathrel {\smash {\overset {\mathclap {\scriptscriptstyle \text{def}}}=}}[(0,a)]\\ \mathrm{inj}_{2}(b) & \mathrel {\smash {\overset {\mathclap {\scriptscriptstyle \text{def}}}=}}[(1,b)]\end{align*}

      for each $a\in A$ and each $b\in B$.

    We claim that $A\mathbin {\textstyle \coprod _{C}}B$ is the categorical pushout of $A$ and $B$ over $C$ with respect to $(f,g)$ in $\mathsf{Sets}$. First we need to check that the relevant pushout diagram commutes, i.e. that we have

    Indeed, given $c\in C$, we have

    \begin{align*} [\mathrm{inj}_{1}\circ f](c) & = \mathrm{inj}_{1}(f(c))\\ & = [(0,f(c))]\\ & = [(1,g(c))]\\ & = \mathrm{inj}_{2}(g(c))\\ & = [\mathrm{inj}_{2}\circ g](c),\end{align*}

    where $[(0,f(c))]=[(1,g(c))]$ by the definition of the relation $\mathord {\sim }$ on $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}B$. Next, we prove that $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}_{C}B$ satisfies the universal property of the pushout. Suppose we have a diagram of the form

    in $\mathsf{Sets}$. Then there exists a unique map $\phi \colon A\mathbin {\textstyle \coprod _{C}}B\to P$ making the diagram
    commute, being uniquely determined by the conditions

    \begin{align*} \phi \circ \mathrm{inj}_{1} & = \iota _{1},\\ \phi \circ \mathrm{inj}_{2} & = \iota _{2} \end{align*}

    via

    \[ \phi (x)=\begin{cases} \iota _{1}(a) & \text{if $x=[(0,a)]$,}\\ \iota _{2}(b) & \text{if $x=[(1,b)]$} \end{cases} \]

    for each $x\in A\mathbin {\textstyle \coprod _{C}}B$, where the well-definedness of $\phi $ is guaranteed by the equality $\iota _{1}\circ f=\iota _{2}\circ g$ and the definition of the relation $\mathord {\sim }$ on $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}B$ as follows:

    1. 1.

      Case 1: Suppose we have $x=[(0,a)]=[(0,a')]$ for some $a,a'\in A$. Then, by Remark 4.2.4.1.3, we have a sequence

      \[ (0,a)\sim 'x_{1}\sim '\cdots \sim 'x_{n}\sim '(0,a'). \]
    2. 2.

      Case 2: Suppose we have $x=[(1,b)]=[(1,b')]$ for some $b,b'\in B$. Then, by Remark 4.2.4.1.3, we have a sequence

      \[ (1,b)\sim 'x_{1}\sim '\cdots \sim 'x_{n}\sim '(1,b'). \]
    3. 3.

      Case 3: Suppose we have $x=[(0,a)]=[(1,b)]$ for some $a\in A$ and $b\in B$. Then, by Remark 4.2.4.1.3, we have a sequence

      \[ (0,a)\sim 'x_{1}\sim '\cdots \sim 'x_{n}\sim '(1,b). \]

    In all these cases, we declare $x\sim 'y$ iff there exists some $c\in C$ such that $x=(0,f(c))$ and $y=(1,g(c))$ or $x=(1,g(c))$ and $y=(0,f(c))$. Then, the equality $\iota _{1}\circ f=\iota _{2}\circ g$ gives

    \begin{align*} \phi ([x]) & = \phi ([(0,f(c))])\\ & \mathrel {\smash {\overset {\mathclap {\scriptscriptstyle \text{def}}}=}}\iota _{1}(f(c))\\ & = \iota _{2}(g(c))\\ & \mathrel {\smash {\overset {\mathclap {\scriptscriptstyle \text{def}}}=}}\phi ([(1,g(c))])\\ & = \phi ([y]), \end{align*}

    with the case where $x=(1,g(c))$ and $y=(0,f(c))$ similarly giving $\phi ([x])=\phi ([y])$. Thus, if $x\sim 'y$, then $\phi ([x])=\phi ([y])$. Applying this equality pairwise to the sequences

    \begin{align*} (0,a)& \sim 'x_{1}\sim '\cdots \sim 'x_{n}\sim '(0,a'),\\ (1,b)& \sim 'x_{1}\sim '\cdots \sim 'x_{n}\sim '(1,b'),\\ (0,a)& \sim ’x_{1}\sim ’\cdots \sim ’x_{n}\sim ’(1,b)\end{align*}

    gives

    \begin{align*} \phi ([(0,a)]) & = \phi ([(0,a')]),\\ \phi ([(1,b)]) & = \phi ([(1,b')]),\\ \phi ([(0,a)]) & = \phi ([(1,b)]), \end{align*}

    showing $\phi $ to be well-defined.

    In detail, by Chapter 10: Conditions on Relations, Construction 10.5.2.1.2, the relation $\mathord {\sim }$ of Definition 4.2.4.1.1 is given by declaring $a\sim b$ iff one of the following conditions is satisfied:

    1. 1.

      We have $a,b\in A$ and $a=b$.

    2. 2.

      We have $a,b\in B$ and $a=b$.

    3. 3.

      There exist $x_{1},\ldots ,x_{n}\in A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}B$ such that $a\sim 'x_{1}\sim '\cdots \sim 'x_{n}\sim 'b$, where we declare $x\sim 'y$ if one of the following conditions is satisfied:

      1. (a)

        There exists $c\in C$ such that $x=(0,f(c))$ and $y=(1,g(c))$.

      2. (b)

        There exists $c\in C$ such that $x=(1,g(c))$ and $y=(0,f(c))$.

      In other words, there exist $x_{1},\ldots ,x_{n}\in A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}B$ satisfying the following conditions:

      1. (c)

        There exists $c_{0}\in C$ satisfying one of the following conditions:

        1. (i)

          We have $a=f(c_{0})$ and $x_{1}=g(c_{0})$.

        2. (ii)

          We have $a=g(c_{0})$ and $x_{1}=f(c_{0})$.

      2. (d)

        For each $1\leq i\leq n-1$, there exists $c_{i}\in C$ satisfying one of the following conditions:

        1. (i)

          We have $x_{i}=f(c_{i})$ and $x_{i+1}=g(c_{i})$.

        2. (ii)

          We have $x_{i}=g(c_{i})$ and $x_{i+1}=f(c_{i})$.

      3. (e)

        There exists $c_{n}\in C$ satisfying one of the following conditions:

        1. (i)

          We have $x_{n}=f(c_{n})$ and $b=g(c_{n})$.

        2. (ii)

          We have $x_{n}=g(c_{n})$ and $b=f(c_{n})$.

    It is common practice to write $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}_{C}B$ for the pushout of $A$ and $B$ over $C$ along $f$ and $g$, omitting the maps $f$ and $g$ from the notation and instead leaving them implicit, to be understood from the context.

    However, the set $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}_{C}B$ depends very much on the maps $f$ and $g$, and sometimes it is necessary or useful to note this dependence explicitly. In such situations, we will write $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}_{f,C,g}B$ or $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{f,g}_{C}B$ for $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}_{C}B$.

    Here are some examples of pushouts of sets.

    1. 1.

      Wedge Sums of Pointed Sets. The wedge sum of two pointed sets of Chapter 6: Pointed Sets, Definition 6.3.3.1.1 is an example of a pushout of sets.

    2. 2.

      Intersections via Unions. Let $X$ be a set. We have

      for each $A,B\in \mathcal{P}(X)$.

    Item 1: Wedge Sums of Pointed Sets
    This follows by definition, as the wedge sum of two pointed sets is defined as a pushout.

    Item 2: Intersections via Unions
    Indeed, $A\mathbin {\textstyle \coprod _{A\cap B}}B$ is the quotient of $A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}B$ by the equivalence relation obtained by declaring $(0,a)\sim (1,b)$ iff $a=b\in A\cap B$, which is in bijection with $A\cup B$ via the map with $[(0,a)]\mapsto a$ and $[(1,b)]\mapsto b$.

    Let $A$, $B$, $C$, and $X$ be sets.

    1. 1.

      Functoriality. The assignment $(A,B,C,f,g)\mapsto A\mathbin {\textstyle \coprod _{f,C,g}}B$ defines a functor

      \[ -_{1}\mathbin {\textstyle \coprod _{-_{3}}}-_{1}\colon \mathsf{Fun}(\mathcal{P},\mathsf{Sets})\to \mathsf{Sets}, \]

      where $\mathcal{P}$ is the category that looks like this:

      In particular, the action on morphisms of $-_{1}\mathbin {\textstyle \coprod _{-_{3}}}-_{1}$ is given by sending a morphism
      in $\mathsf{Fun}(\mathcal{P},\mathsf{Sets})$ to the map $\xi \colon A\mathbin {\textstyle \coprod _{C}}B\overset {\exists !}{\to }A'\mathbin {\textstyle \coprod _{C'}}B'$ given by

      \[ \xi (x)\mathrel {\smash {\overset {\mathclap {\scriptscriptstyle \text{def}}}=}}\begin{cases} \phi (a) & \text{if $x=[(0,a)]$},\\ \psi (b) & \text{if $x=[(1,b)]$} \end{cases} \]

      for each $x\in A\mathbin {\textstyle \coprod _{C}}B$, which is the unique map making the diagram

      commute.

    2. 2.

      Adjointness. We have an adjunction

      witnessed by a bijection

      \[ \mathsf{Sets}_{X/}(A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}_{X}B,C),\cong \operatorname {\mathrm{Hom}}_{\mathsf{Sets}_{X/}\times \mathsf{Sets}_{X/}}((A,B),(C,C)) \]

      natural in $(A,B)\in \operatorname {\mathrm{Obj}}(\mathsf{Sets}_{X/}\times \mathsf{Sets}_{X/})$ and in $C\in \operatorname {\mathrm{Obj}}(\mathsf{Sets}_{X/})$.

  • 3.

    Associativity. Given a diagram

    in $\mathsf{Sets}$, we have isomorphisms of sets

    \[ (A\mathbin {\textstyle \coprod _{X}}B)\mathbin {\textstyle \coprod _{Y}}C\cong (A\mathbin {\textstyle \coprod _{X}}B)\mathbin {\textstyle \coprod _{B}}(B\mathbin {\textstyle \coprod _{Y}}C) \cong A\mathbin {\textstyle \coprod _{X}}(B\mathbin {\textstyle \coprod _{Y}}C) \]

    where these pullbacks are built as in the diagrams

  • 4.

    Interaction With Composition. Given a diagram

    in $\mathsf{Sets}$, we have isomorphisms of sets

    \begin{align*} X\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{\phi \circ f,\psi \circ g}_{K}Y & \cong (X\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{\phi ,j_{1}}_{A}(A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{f,g}_{K}B))\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{i_{2},i_{1}}_{A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{f,g}_{K}B}((A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{f,g}_{K}B)\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{j_{2},\psi }_{B}Y)\\ & \cong X\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{\phi ,i}_{A}((A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{f,g}_{K}B)\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{j_{2},\psi }_{B}Y)\\ & \cong (X\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{\phi ,i_{1}}_{A}(A\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{f,g}_{K}B))\mathchoice {\mathbin {\textstyle \coprod }}{\mathbin {\textstyle \coprod }}{\mathbin {\scriptstyle \textstyle \coprod }}{\mathbin {\scriptscriptstyle \textstyle \coprod }}^{j,\psi }_{B}Y \end{align*}

    where

    \[ \begin{aligned} j_{1} & = \mathrm{inj}^{A\times ^{f,g}_{K}B}_{1},\\ i_{1} & = \mathrm{inj}^{(A\times ^{f,g}_{K}B)\times ^{q_{2},\psi }_{Y}}_{1},\\ i & = j_{1}\circ \mathrm{inj}^{(A\times ^{f,g}_{K}B)\times ^{q_{2},\psi }_{B}Y}_{1}, \end{aligned} \qquad \begin{aligned} j_{2} & = \mathrm{inj}^{A\times ^{f,g}_{K}B}_{2},\\ i_{2} & = \mathrm{inj}^{X\times ^{\phi ,q_{1}}_{A\times ^{f,g}_{K}B}(A\times ^{f,g}_{K}B)}_{2},\\ j & = j_{2}\circ \mathrm{inj}^{X\times ^{\phi ,q_{1}}_{A}(A\times ^{f,g}_{K}B)}_{2}, \end{aligned} \]

    and where these pullbacks are built as in the diagrams

  • 5.

    Unitality. We have isomorphisms of sets

    natural in $(A,f)\in \operatorname {\mathrm{Obj}}(\mathsf{Sets}_{X/})$.

  • 6.

    Commutativity. We have an isomorphism of sets

    natural in $(A,f),(B,g)\in \operatorname {\mathrm{Obj}}(\mathsf{Sets}_{X/})$.

  • 7.

    Interaction With Coproducts. We have

  • 8.

    Symmetric Monoidality. The triple $(\mathsf{Sets}_{X/},\mathbin {\textstyle \coprod _{X}},X)$ is a symmetric monoidal category.

  • Item 1: Functoriality
    This is a special case of functoriality of co/limits, Unresolved reference, Unresolved reference of Unresolved reference, with the explicit expression for $\xi $ following from the commutativity of the cube pushout diagram.

    Item 2: : Adjointness
    This follows from the universal property of the coproduct (pushouts are coproducts in $\mathsf{Sets}_{X/}$).

    Item 3: Associativity
    Omitted.

    Item 4: Interaction With Composition
    Omitted.

    Item 5: Unitality
    Omitted.

    Item 6: Commutativity
    Omitted.

    Item 7: Interaction With Coproducts
    Omitted.

    Item 8: Symmetric Monoidality
    Omitted.


Noticed something off, or have any comments? Feel free to reach out!


You can also use the contact form below: