----
> [!definition] Definition. ([[categorical pushout]])
> Let $\mathsf{C}$ be a [[category]]. A **pushout** or **fibered coproduct** is the [[categorical colimit|colimit]] of the [[diagram]] $\mathscr{K}$:
>
> ```tikz
> \usepackage{tikz-cd}
> \usepackage{amsmath}
> \begin{document}
> % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZARgBpiBdUkANwEMAbAVxiRAC0QBfU9TXfIRRkADFVqMWbAJrdeIDNjwEiI8uPrNWiEAA1u4mFADm8IqABmAJwgBbJGpA4ISAEzVNUnRbmWb9xEdnJDIJLTZjEGoGOgAjGAYABX5lIRArLGMACxwDLiA
> \begin{tikzcd}
> & Y \\
> X & Z \arrow[l, "f"] \arrow[u, "g"']
> \end{tikzcd}
> \end{document}
> ```
> that is, the data of an object $L$ of $\mathsf{C}$ together with morphisms $\lambda_{X}$, $\lambda_{Y}$ making the diagram
>
> ```tikz
> \usepackage{tikz-cd}
> \usepackage{amsmath}
> \begin{document}
> % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZARgBpiBdUkANwEMAbAVxiRAC0QBfU9TXfIRQAGUsKq1GLNgBluvEBmx4CRUZWr1mrRCAAa8vssFEy4zVJ0gAmtwkwoAc3hFQAMwBOEALZJRIHAgkACYLbTY3QxBPHz9qQKQAZjDpXUcQagY6ACMYBgAFfhUhEA8sRwALHCiY30RkgKDEMklw3QAddqzvbKg6AH1bTJy8wuNVXTLK6p53LzrQxqQWrVSQTu7egYMuCi4gA
> \begin{tikzcd}
> L & Y \arrow[l, "\lambda_Y"'] \\
> X \arrow[u, "\lambda_X"] & Z \arrow[l, "f"] \arrow[u, "g"']
> \end{tikzcd}
> \end{document}
> ```
>
> commute and being [[terminal object|initial]]/[[universal property|universal]] with respect to this requirement: if $(M, \mu_{X}, \mu_{Y})$ also completes the [[diagram]] $\mathscr{K}$ into a commutative square, then there is a unique morphism $L \to M$ making the following diagram commute:
>
> ```tikz
> \usepackage{tikz-cd}
> \usepackage{amsmath}
> \begin{document}
> % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZAJgBpiBdUkANwEMAbAVxiRAC0QBfU9TXfIRQBGUsKq1GLNgBluvEBmx4CRUZWr1mrRCAAa8vssFEy4zVJ0gAmocX8VQ5AAZSziVum6AstwkwoAHN4IlAAMwAnCABbJFcQHAgkMkltNjC7SJi46kSkAGYLNN1AkGoGOgAjGAYABQcTXQisQIALHEyo2MRChKTEUVSvEAAdEYroyqg6AH1bcqqa+uNVJpb2zuzEFLyBouGxianZgx5wruTc-oAWamqwKAL4zysx6KYZ04Us7t7d25A90eiAAtPlnpY2G8PvMQBVqnUGqsQM02h0ziAfkhBv9ylgwFZpnBWgEykNXiMYAAPLBwHBwAAEAEI-FwgA
> \begin{tikzcd}
> M & & \\
> & L \arrow[lu, "\exists !", dashed] & Y \arrow[l, "\lambda_Y"'] \arrow[llu, "\mu_Y"', bend right] \\
> & X \arrow[u, "\lambda_X"] \arrow[luu, "\mu_X", bend left] & Z \arrow[l, "f"] \arrow[u, "g"']
> \end{tikzcd}
> \end{document}
> ```
>
>
Common notations include $L=X \sqcup_{Z} Y$, $L=X +_{Z} Y$.
----
####
> [!note] Why is this a colimit?
> Recall that a [[diagram]] of shape $\mathsf{I}$ is a [[covariant functor|functor]] $\mathsf{I} \xrightarrow{\mathscr{K}}\mathsf{C}$, hence it makes sense to consider (the existence of) its (co)limit. Here, if we wanted to be precise, we would say $\mathsf{I}$ is the 'indexing [[category]]' consisting of objects $\boldsymbol 0, \boldsymbol 1, \boldsymbol 2$ and morphisms $\boldsymbol 0 \leftarrow \boldsymbol 2 \to \boldsymbol 1$, such that the entire category can be depicted as follows:
>
> ```tikz
> \usepackage{tikz-cd}
> \usepackage{amsmath}
> \usepackage{amsfonts}
> \begin{document}
> % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZARgBpiBdUkANwEMAbAVxiRAB12BbOnACwBGAM2AAmAL4hxpdJlz5CKAAzkqtRizace-YcCWTps7HgJEyStfWatEHbr0EjihtTCgBzeEVBCAThBcSCogOBBILjIg-oHB1GFIEhTiQA
> \begin{tikzcd}
> & \mathbf{1} \\
> \mathbf{0} & \mathbf{2} \arrow[l] \arrow[u]
> \end{tikzcd}
> \end{document}
> ```
> Then we would denote $\mathscr{K}(\boldsymbol 0):=X$, $\mathscr{K}(\boldsymbol 1):=Y$, $\mathscr{K}(\boldsymbol 2):=Z$. And $\mathscr{K}(\boldsymbol 0 \leftarrow \boldsymbol 2):=f$, $\mathscr{K}(\boldsymbol 1 \leftarrow 2):=g$.
>
> The pushout is the colimit of $\mathscr{K}$. That is, it is the data of some object $L$ of $\mathsf{C}$, together with morphisms $\lambda_{X}: \mathscr{K}(\boldsymbol 0)=X \to L$, $\lambda_{Y}:\mathscr{K}(\boldsymbol 1)=Y \to L$, $\lambda_{Z}:\mathscr{K}(2) \to L$, that is initial with respect to making the diagrams
>
> ```tikz
> \usepackage{tikz-cd}
> \usepackage{amsmath}
> \begin{document}
> % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZARgBoAmAXVJADcBDAGwFcYkQAtEAX1PU1z5CKAAyli1Ok1bsAMjz4gM2PASLlxkhizaJOC-iqFEyIrdN0h5vQ4LWiK5newAaBpQNXDkGszW0yegCaPJIwUADm8ESgAGYAThAAtkhiIDgQSGRSznoAOnmM9EkARlD0APpcNEUlMIwACp7GevFYEQAWOO4Jyak0GUgALP4W7LE9iSmIGumZiACso7kgESA19HWNzfYgbZ3dNiC90yNzWcuBIAVFpeUVbkcnSEvniADMl5Y3xWWVIRstk0jLt9l1Jn0ZgN5p8clcfndKlxuJRuEA
> \begin{tikzcd}
> & L & Y \arrow[l, "\lambda_Y"'] \\
> L & & Z \arrow[u, "g"'] \arrow[lu, "\lambda_Z"] \\
> X \arrow[u, "\lambda_X"] & Z \arrow[lu, "\lambda_Z"'] \arrow[l, "f"] &
> \end{tikzcd}
> \end{document}
> ```
> each commute, or equivalently making the single diagram
>
> ```tikz
> \usepackage{tikz-cd}
> \usepackage{amsmath}
> \begin{document}
> % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZARgBpiBdUkANwEMAbAVxiRAC0QBfU9TXfIRQAGUsKq1GLNgBluvEBmx4CRUZWr1mrRCAAa8vssFEy4zVJ0gAmtwkwoAc3hFQAMwBOEALZJRIHAgkACYLbTY3QxBPHz9qQKQAZjDpXUcQagY6ACMYBgAFfhUhEA8sRwALHCiY30RkgKDEMklw3QAddqzvbKg6AH1bTJy8wuNVXTLK6p53LzrQxqQWrVSQTu7egYNZ6Pm4peaUqw26Hr7+zi4KLiA
> \begin{tikzcd}
> L & Y \arrow[l, "\lambda_Y"'] \\
> X \arrow[u, "\lambda_X"] & Z \arrow[l, "f"] \arrow[u, "g"'] \arrow[lu, "\lambda_Z"]
> \end{tikzcd}
> \end{document}
> ```
> commute. Of course, the definition of $\lambda_{Z}$ is set the moment that $\lambda_{X}$ and $\lambda_{Y}$ are specified, and so its data is redundant: one only needs to specify $(L, \lambda_{X}, \lambda_{Y})$ making the square
>
> ```tikz
> \usepackage{tikz-cd}
> \usepackage{amsmath}
> \begin{document}
> % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZARgBpiBdUkANwEMAbAVxiRAC0QBfU9TXfIRQAGUsKq1GLNgBluvEBmx4CRUZWr1mrRCAAa8vssFEy4zVJ0gAmtwkwoAc3hFQAMwBOEALZJRIHAgkACYLbTY3QxBPHz9qQKQAZjDpXUcQagY6ACMYBgAFfhUhEA8sRwALHCiY30RkgKDEMklw3QAddqzvbKg6AH1bTJy8wuNVXTLK6p53LzrQxqQWrVSQTu7egYMuCi4gA
> \begin{tikzcd}
> L & Y \arrow[l, "\lambda_Y"'] \\
> X \arrow[u, "\lambda_X"] & Z \arrow[l, "f"] \arrow[u, "g"']
> \end{tikzcd}
> \end{document}
> ```
>
> commute (and being [[terminal object|initial]] with respect to this requirement).
----
#### References
> [!backlink]
> ```dataview
> TABLE rows.file.link as "Further Reading"
> FROM [[]]
> FLATTEN file.tags as Tag
> WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom"
> GROUP BY Tag
> ```
> [!frontlink]
> ```dataview
> TABLE rows.file.link as "Further Reading"
> FROM outgoing([[]])
> FLATTEN file.tags as Tag
> WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom"
> GROUP BY Tag
> ```