Intuition on product definition in category theory I just have a question on product of 2 objects in category theory.
Given a category $\mathcal{C}$ we would like to define a product of 2 objects $A,B \in \mathcal{C}$. The definition says that $D \in \mathcal {C}$ is a product of $A$ and $B$ if for all $E\in \mathcal{C}$ there exists a unique morphisme $m:C\to D$ such that $p\circ m=f$ and $q\circ m=g$ with $p:D\to A$, $q:D\to B$, $f:E\to A$ and $g:E\to B$.
I would like to understand why this definition allows us for real to say that $D$ is a product of $A$ and $B$. I understand that given the triplet $(p,q,D)$ is not enough to say that $D$ is a "good" product; so we need to add some conditions on projections and $D$. Those conditions are exactly the unicity of morphism $m$ and applications $f,g$. But, I don't really see why adding these conditions allow to define the product of 2 objects "correctly". If someone could clarify all of this and give his intuition on this, I would really appriciate it. Thank you in advance
 A: Here is the short answer: The conditions which you describe make sure that $\mathcal C(z,a\times b) \to \mathcal C(z,a) \times \mathcal C(z,b)$, $f \mapsto (\pi_af,\pi_bf)$ is an isomorphism for all $z$. This is why you can say sentences like: A map into $a\times b$ is the same as a pair of maps (one into $a$ and one into $b$).
Here is the long version. I assume that you know about the Yoneda lemma. A lot of interesting definitions in category theory are actually representations of $\mathtt{Set}$-valued functors. A representation of a contravariant functor $F: \mathcal C \to \mathtt{Set}$ is an object $c$ in $\mathcal C$ together with a natural isomorphism $\alpha: \mathcal C(-,c) \to F$ of functors. A representation usually tells us that the maps into $c$ have a nice description, namely $F$.
For example consider $\mathcal C =  \mathtt{Set}$ and $c = \{0,1\} = \Omega$. Then the set maps from $A$ into $\Omega$ correspond naturally to the subsets of $A$, and $\mathtt{Set}(-,\Omega)$ is naturally isomorphic to the power set functor.
There are many (!) examples of representable covariant and contravariant functors in category theory. You could define the product of two objects $a$ and $b$ as follows. It should be an object $a\times b$ such that maps into $a\times b$ correspond naturally to pairs of maps into $a$ and $b$. In other words you like to have a representation $\alpha: \mathcal C(-,a\times b) \to \mathcal C(-,a) \times  \mathcal C(-,b)$. This determines $a\times b$ up to unique compatible isomorphisms.
Now here is the catch. Because of Yoneda's lemma giving a natural transformation $\alpha: \mathcal C(-,c) \to F$ is the same as specifying an element $\alpha(1_c)\in Fc$, and $\alpha$ is an isomorphism if and only if $\alpha(1_c) \in Fc$ is terminal in the category of elements of $F$. Now in the case of a representation $\mathcal C(-,a\times b) = \mathcal C(-,a) \times \mathcal C(-,b)$ this means that specifying the natural isomorphism is the same as giving a pair of morphisms $(\pi_a,\pi_b) \in \mathcal C(a\times b,a)\times \mathcal C(a\times b,b)$. The condition that the transformation is an isomorphism becomes the universal property of the product, which you describe in your question.
