Isomorphism of modules arising from algebraic topology While studying for a course in algebraic topology, the following question popped out:

Let $S,R$ be two commutative rings with unit, $A,B$ two $S$-modules, and assume that $R$ is also an $S$-module. Is it true that:
  $$\hom_S(A\otimes_SB,R)\cong\hom_S(A,R)\otimes_R\hom_S(B,R)$$
  holds in general? And if not, under what kind of assumptions it could hold?

A little background could be of help. In our case, we had a map $f:S_p(X)\otimes_\mathbb{Z}S_q(Y)\to R$ (where $S_\bullet(X)$ is the singular chain complex on $X$), and a while later, the same map had to become an element of $S^p(X;R)\otimes_RS^q(Y;R)$ for a construction to work out. Thus in the question it would be enough to assume that $S=\mathbb{Z}$ and that $A,B$ are free abelian groups.
I tried to prove this for a while, and I think I got close to something looking like a proof for the simplified case exposed above (using generators of $A$ and $B$ and explicit homomorphisms between modules), however I'm not sure about all of the steps. I would really like an elegant proof relying on universal properties (or category theory), or a simple counterexample, if the statement is not true.
 A: There is a canonical homomorphism from $\hom_S(A,R) \otimes_R \hom_S(B,R)$ to $\hom_S(A \otimes_S B,R)$. The question is if this is an isomorphism of $R$-modules.
It is true when $A$ and $B$ are finitely generated and projective (the standard proof works - show that $S$ works and that the class of "good" modules is closed under direct sums as well as direct summands).
Otherwise, it doesn't hold (even when $R=S$ is a field).
A: If we think of a map $F \in Hom(V \otimes V,k)$ as a matrix with $A_{ij} = F(e_i \otimes e_j)$, where $\{e_j\}$ is a basis of $V$, then in the finite dimensional case, we can recover any map $\hom(V \otimes V, k)$ as a finite sum of matricies of the form $vw^T$, which is what an element of $\hom(V, k) \otimes \hom(V,k)$ essentially is under the canonical map. The easiest way to do this is just take one appropriately scaled $\delta_i^T\delta_j$ for each entry of the matrix and add them up.
However, in the infinite dimensional case, the finite sums from $\hom(V,k) \otimes \hom(V,k)$ aren't enough to catch all the functions in $\hom(V\otimes V,k)$. An easy way to see this is to observe that the rank of an operator of the form $vw^T$ is finite dimensional, and so any finite sum of these will also have an finite dimensional rank.
