In the category of sets, let $\mathbf{0}$ be the inital object. I want to prove that the projection $p_1: X \times \mathbf{0} \rightarrow \mathbf{0}$ is an isomorphism.
So far I have shown the following. Take the unique map $\mathbf{0} \rightarrow X$ and the identity $\mathbf{0} \rightarrow \mathbf{0}$, then since $X \times \mathbf{0}$ is a product and maps from $\mathbf{0}$ are unique $p_1 ! = id_\mathbf{0}$ where $!:\mathbf{0} \rightarrow X \times \mathbf{0}$. Now I want to prove that $! p_1 = id_{X \times \mathbf{0}}$, but i can't see how to get it started.
We can generalize what you want to prove to any cartesian closed category. Let $0$ be a terminal object in a ccc $\mathcal{C}$, and let $X$ be any $\mathcal{C}$-object Then by definition of the exponential, for any $Y$, we have $Hom(X\times 0, Y) \simeq Hom( 0, Y^X)$. But this second set is of size $1$, as $0$ is initial, and so for all $Y$, we have $card(Hom(X\times 0, Y))= 1$. This shows that $X\times 0$ is initial. But since it is initial, any arrow that comes from it to itself is the identity (since said arrow is unique, by definition of initial objects). In particuler, since $!p_1 : X\times 0 \to X\times 0$, we have $!p_1 = id_{X\times 0}$