Applying the Yoneda-Lemma to prove the existence of Tensor-products In class the professor said when he came to prove the existence of the tensor-product for $A$-modules ($A$ any ring) that the existence and properties of the tensor-product would be one-liners having proved the Yoneda-Lemma (stated below). He then proceeded to other stuff. 
I wanted to fill in the details of this remark, but I really can't see where to go. Could anyone help me on this? 
Thanks a lot! 
Lemma (Yoneda): Let $D$ be a category, $r$ an object in $D$, and $F : D \rightarrow \mathbf{Set}$ a functor. Then there is a bijection: $$\mathrm{Nat}(\mathrm{Hom}(r, -), F) \simeq F(r)$$
given by $(\alpha: \mathrm{Hom}(r, -) \rightarrow F) \mapsto \alpha_r (1_r)$.
 A: As Eric Wofsey says, the Yoneda lemma does not prove that things exist; it proves that things are unique. 
Here is how you can go about proving that things exist using category theory. Let me work with abelian groups for simplicity, although the discussion doesn't really change in general. If $a$ and $b$ are abelian groups, their tensor product $a \otimes b$ is, if exists, the object representing the functor $\text{Bil}(a \times b, -)$ sending an abelian group $c$ to the set of bilinear maps $a \times b \to c$. In general, if $C$ is a cocomplete category, then a functor $F : C \to \text{Set}$ is representable iff it has a left adjoint; if $c$ is the representing object, then the left adjoint takes a set $X$ to the coproduct $\sum_X c$.
Hence what you want is an adjoint functor theorem. A necessary condition for $\text{Bil}(a \times b, -)$ to have a left adjoint is that it preserves limits. This is not hard to check. Next you can apply the presentable adjoint functor theorem: a functor between presentable categories has a left adjoint iff it preserves limits and is accessible; this is a very mild smallness condition and isn't hard to check here either. 
This is quite a bit more annoying than just explicitly constructing the tensor product, but it has the virtue of applying in great generality. 
A: Your professor was greatly exaggerating.  You cannot prove the existence of tensor products from the Yoneda lemma (at least in any straightforward way).  However, you can prove their uniqueness from Yoneda as follows.
By definition, a tensor product of $M$ and $N$ is a module $T$ together with a bilinear map $\mu:M\times N\to T$ such that for any module $S$, composition with $\mu$ gives a bijection between $\operatorname{Hom}(T,S)$ and $\operatorname{Bilin}(M\times N,S)$, where the latter is the set of bilinear maps.  Let $F$ be the functor $F(S)=\operatorname{Bilin}(M\times N,S)$.  Then we see that a tensor product of $M$ and $N$ is exactly a module $T$ together with an element $\mu\in F(T)$ such that the corresponding natural transformation $\operatorname{Hom}(T,-)\to F$ (as in Yoneda) is an isomorphism.  Since by Yoneda, every natural transformation $\operatorname{Hom}(T,-)\to F$ comes from some $\mu\in F(T)$ in this way, this says that a tensor product of $M$ and $N$ is the same thing as an object $T$ together with a natural isomorphism $\alpha:\operatorname{Hom}(T,-)\to F$.
It is now easy to see why tensor products are unique up to (canonical) isomorphism.  Given two tensor products, which we think of as natural isomorphisms $\alpha:\operatorname{Hom}(T,-)\to F$ and $\alpha':\operatorname{Hom}(T',-)\to F$, the composition $\beta:\alpha'^{-1}\alpha:\operatorname{Hom}(T,-)\to\operatorname{Hom}(T',-)$ is also a natural isomorphism.  By Yoneda (taking $F=\operatorname{Hom}(T',-)$), this natural isomorphism comes from an element of $\operatorname{Hom}(T',T)$, i.e. a map $f:T'\to T$.  Similiarly, $\beta^{-1}$ comes from a map $g:T\to T'$.  You can then show that the natural transformation induced by the element $gf\in \operatorname{Hom}(T',T')$ coincides with the composition $\beta^{-1}\beta$, which is the identity.  Since the identity $1\in\operatorname{Hom}(T',T')$ also induces the identity natural transformation $\operatorname{Hom}(T',-)\to\operatorname{Hom}(T',-)$, it follows from Yoneda that $gf=1$.  Similarly, $fg=1$.  Thus $f$ and $g$ are inverse isomorphisms between $T$ and $T'$, compatible with their tensor product structures.
This is, of course, a lot more than one line.  However, it is a very general pattern of argument--the exact same argument would work with $F=\operatorname{Bilin}(M\times N,-)$ replaced by any other functor.  The general statement is that if you have two different objects $T$ and $T'$ and natural isomorphisms from both $\operatorname{Hom}(T,-)$ and $\operatorname{Hom}(T'-)$ to $F$, you get an isomorphism between $T$ and $T'$.  Once you get used to it, this is a very easy argument to use over and over in many different settings without much thought.
In general, the Yoneda lemma typically does not actually make proofs significantly shorter.  Rather, it provides a conceptual framework for thinking about them, namely that for two objects $T$ and $S$, maps $T\to S$ are "the same thing" as natural transformations $\operatorname{Hom}(S,-)\to\operatorname{Hom}(T,-)$.  Sometimes, it might be easier to understand the functors $\operatorname{Hom}(S,-)$ and $\operatorname{Hom}(T,-)$ than the objects $S$ and $T$ themselves (such as when all you know about them is that they are tensor products, so you know what these functors are up to natural isomorphism).  Yoneda then allows you to construct and calculate properties of maps between $S$ and $T$ by instead working with the corresponding natural transformations.
