Assumptions: pullbacks, terminal object
Conclusions: binary products
Reason: If 111 is a terminal object, then X×1Y=X×YX \times_1 Y = X \times YX×1Y=X×Y.