[proofplan]
For part (1), we use the [Tensor Product of Homomorphisms](/theorems/2912) construction to form $f^{-1} \otimes g^{-1}$ and verify it is a two-sided inverse by checking on pure tensors and using the composition formula $(f \otimes g) \circ (f^{-1} \otimes g^{-1}) = (f \circ f^{-1}) \otimes (g \circ g^{-1})$. For part (2), we show that every pure tensor in the codomain lies in the image, and then use the fact that pure tensors generate the codomain.
[/proofplan]
[step:Establish the composition formula for tensor products of homomorphisms]
Let $f: M \to M'$, $f': M' \to M''$ be $R$-module homomorphisms, and let $g: N \to N'$, $g': N' \to N''$ be $R$-module homomorphisms. We claim that
\begin{align*}
(f' \otimes g') \circ (f \otimes g) = (f' \circ f) \otimes (g' \circ g): M \otimes_R N \to M'' \otimes_R N''.
\end{align*}
Both sides are $R$-module homomorphisms from $M \otimes_R N$ to $M'' \otimes_R N''$. On a pure tensor $m \otimes n \in M \otimes_R N$:
\begin{align*}
((f' \otimes g') \circ (f \otimes g))(m \otimes n) &= (f' \otimes g')(f(m) \otimes g(n)) = f'(f(m)) \otimes g'(g(n)) \\
&= (f' \circ f)(m) \otimes (g' \circ g)(n) = ((f' \circ f) \otimes (g' \circ g))(m \otimes n).
\end{align*}
Since pure tensors generate $M \otimes_R N$, the two homomorphisms agree on all elements. By the uniqueness part of the [Tensor Product of Homomorphisms](/theorems/2912), they are equal.
Similarly, $\operatorname{id}_M \otimes \operatorname{id}_N = \operatorname{id}_{M \otimes_R N}$, since on pure tensors $(\operatorname{id}_M \otimes \operatorname{id}_N)(m \otimes n) = m \otimes n$.
[guided]
Before proving parts (1) and (2), we establish a composition law that makes the tensor product of homomorphisms functorial. The key identity is $(f' \otimes g') \circ (f \otimes g) = (f' \circ f) \otimes (g' \circ g)$.
Why does this hold? By the [Tensor Product of Homomorphisms](/theorems/2912), a homomorphism out of $M \otimes_R N$ is uniquely determined by its values on pure tensors. So it suffices to check the identity on elements of the form $m \otimes n$:
\begin{align*}
((f' \otimes g') \circ (f \otimes g))(m \otimes n) &= (f' \otimes g')(f(m) \otimes g(n)) = f'(f(m)) \otimes g'(g(n)) \\
&= (f' \circ f)(m) \otimes (g' \circ g)(n) = ((f' \circ f) \otimes (g' \circ g))(m \otimes n).
\end{align*}
The first equality uses the definition of $f \otimes g$, the second uses the definition of $f' \otimes g'$, and the third rearranges using function composition. Since both sides agree on pure tensors and pure tensors generate $M \otimes_R N$, the maps are equal.
We also need that $\operatorname{id}_M \otimes \operatorname{id}_N = \operatorname{id}_{M \otimes_R N}$: on generators, $(\operatorname{id}_M \otimes \operatorname{id}_N)(m \otimes n) = \operatorname{id}_M(m) \otimes \operatorname{id}_N(n) = m \otimes n$, so the map is the identity.
[/guided]
[/step]
[step:Prove part (1): if $f$ and $g$ are isomorphisms, then $f \otimes g$ is an isomorphism with inverse $f^{-1} \otimes g^{-1}$]
Since $f: M \to M'$ is an isomorphism, $f^{-1}: M' \to M$ is an $R$-module homomorphism with $f^{-1} \circ f = \operatorname{id}_M$ and $f \circ f^{-1} = \operatorname{id}_{M'}$. Similarly, $g^{-1} \circ g = \operatorname{id}_N$ and $g \circ g^{-1} = \operatorname{id}_{N'}$.
By the [Tensor Product of Homomorphisms](/theorems/2912), $f^{-1} \otimes g^{-1}: M' \otimes_R N' \to M \otimes_R N$ exists. Applying the composition formula from the previous step:
\begin{align*}
(f^{-1} \otimes g^{-1}) \circ (f \otimes g) &= (f^{-1} \circ f) \otimes (g^{-1} \circ g) = \operatorname{id}_M \otimes \operatorname{id}_N = \operatorname{id}_{M \otimes_R N}, \\
(f \otimes g) \circ (f^{-1} \otimes g^{-1}) &= (f \circ f^{-1}) \otimes (g \circ g^{-1}) = \operatorname{id}_{M'} \otimes \operatorname{id}_{N'} = \operatorname{id}_{M' \otimes_R N'}.
\end{align*}
Hence $f \otimes g$ is an isomorphism with inverse $f^{-1} \otimes g^{-1}$.
[/step]
[step:Prove part (2): if $f$ and $g$ are surjective, then $f \otimes g$ is surjective]
The $R$-module $M' \otimes_R N'$ is generated by pure tensors $\{m' \otimes n' : m' \in M', n' \in N'\}$, meaning every element of $M' \otimes_R N'$ is a finite sum $\sum_{i=1}^k r_i(m_i' \otimes n_i')$ with $r_i \in R$, $m_i' \in M'$, $n_i' \in N'$.
Let $m' \otimes n'$ be an arbitrary pure tensor in $M' \otimes_R N'$. Since $f$ is surjective, there exists $m \in M$ with $f(m) = m'$. Since $g$ is surjective, there exists $n \in N$ with $g(n) = n'$. Then
\begin{align*}
(f \otimes g)(m \otimes n) = f(m) \otimes g(n) = m' \otimes n'.
\end{align*}
Hence every pure tensor $m' \otimes n'$ lies in the image $\operatorname{im}(f \otimes g)$. Since $\operatorname{im}(f \otimes g)$ is a submodule of $M' \otimes_R N'$ (as the image of an $R$-module homomorphism) and it contains all pure tensors, which generate $M' \otimes_R N'$, we conclude $\operatorname{im}(f \otimes g) = M' \otimes_R N'$. Therefore $f \otimes g$ is surjective.
[guided]
The argument for surjectivity has two ingredients: (1) every element of $M' \otimes_R N'$ is built from pure tensors, and (2) surjectivity of $f$ and $g$ lets us lift each pure tensor.
For (1): by definition of the tensor product, every element is a finite $R$-linear combination of pure tensors $m' \otimes n'$.
For (2): given any pure tensor $m' \otimes n' \in M' \otimes_R N'$, surjectivity of $f$ gives $m \in M$ with $f(m) = m'$, and surjectivity of $g$ gives $n \in N$ with $g(n) = n'$. Then $(f \otimes g)(m \otimes n) = f(m) \otimes g(n) = m' \otimes n'$.
Why does lifting generators suffice for surjectivity of the whole map? The image $\operatorname{im}(f \otimes g)$ is a submodule of $M' \otimes_R N'$ (the image of any module homomorphism is a submodule). Since this submodule contains all pure tensors and pure tensors generate $M' \otimes_R N'$, the image must be all of $M' \otimes_R N'$.
Note that the converse fails: $f \otimes g$ can be surjective without $f$ and $g$ being individually surjective (e.g., if $M' \otimes_R N' = 0$). The statement is one-directional.
[/guided]
[/step]