A push-out of a pull-back

Suppose we are in a category with all push-outs and pull-backs.

Is it true that the push-out of the pull-back diagram $X\leftarrow X\times_T Y\rightarrow Y$ consisting of the two projections is isomorphic to $T$?

Solutions Collecting From Web of "A push-out of a pull-back"

Not always.

Consider the category of groups; in the category of groups, the pullback is the fibered product, and the pushout is the amalgamated free product.

Let $X = Y$ be nontrivial, $T=X\times Y$, and take the maps $X\to T$ and $Y\to T$ to be the canonical immersions. The pullback is
$$\{ (x,y)\in X\times Y\mid (x,1)=(1,y)\} = \{(1,1)\}.$$
Hence the pushout of the pullback is the pushout of the diagram that embeds the trivial group into both $X$ and $Y$; but this pushout is the free product of $X$ and $Y$, not their direct product.


However, the pullback of a pushout is already a pushout, and the pushout of a pullback is already a pushout.

That is: suppose that
{\scriptstyle f}\downarrow&&\\
is a diagram, and $(p_X,p_Y,T)$ is the pushout:
{\scriptstyle f}\downarrow&&\downarrow{\scriptstyle p_Y}\\
Now form the pullback of $(X,Y,T)$:
X\times_T Y&\stackrel{q_Y}{\longrightarrow}&Y\\
\!\!\!\!\!\!\!\!{\scriptstyle q_X}\downarrow&&\downarrow{\scriptstyle p_Y}\\
Then (3) is a pushout diagram.

Indeed, note first that since $p_yg = p_Xf$ (by (2)), by the universal property of the pullback there is a unique arrow $u\colon Z\to X\times_T Y$ such that $g=q_Yu$, and $f=q_Xu$.

Now let $C$ be any object, and let $a\colon X\to C$, $b\colon Y\to C$ be arrows such that $aq_X = bq_Y$. Therefore, $aq_Xu = bq_Yu$, hence $ag = bf$. By the universal property of the pushout (using (2)), there is a unique arrow $v\colon T\to C$ such that $a=vp_X$ and $b=vp_Y$. But this is precisely what we needed to show in order to establish that (3) is a pushout diagram.

The dual argument also holds.

We are really doing three “operations” here: I’m essentially saying that “pullback2(pushout(pullback1)) = pullback1” and “pushout2(pullback(pushout1))=pushout1”. The example above does not qualify because the diagram I start with is not already a pushout.