Solution (source code)

= Solution

With a <terminal object> $1$, the <pullback in a category> of $A\to1\leftarrow B$ is the binary <product in a category> $A\times B$. Repetition gives all nonempty finite <products in a category>, and $1$ supplies the empty one.

For $f,g:A\rightrightarrows B$, form the diagonal $\Delta_B:B\to B\times B$ and pull it back along $\langle f,g\rangle:A\to B\times B$. Write the resulting maps as $e:E\to A$ and $h:E\to B$. The equation $\langle f,g\rangle e=\Delta_B h$ says $fe=ge=h$. A map $x:X\to A$ with $fx=gx$ pairs with $fx:X\to B$ to give a unique map into this <pullback in a category>. Thus $e$ is the <equalizer> of $f,g$.

We now have the finite <products in a category> and <equalizers> needed in part (a). \b[A <terminal object> and <pullbacks in a category> therefore suffice for all <finite limits>.]