[proofplan]
Isomorphisms (1), (2), and (4) are the standard commutativity, associativity, and distributivity properties of the tensor product of $R$-modules, with the additional observation that the canonical $R$-module isomorphisms are in fact $S$-linear when one of the factors carries an $S$-module structure. Isomorphism (3) is the only statement requiring new input: it follows by combining the base change isomorphism $M \otimes_R N \cong M \otimes_S (S \otimes_R N)$ with the associativity of $\otimes_S$ and a second application of base change.
[/proofplan]
[step:Prove isomorphism (1): commutativity $M \otimes_R N \cong N \otimes_R M$]
The standard commutativity isomorphism for $R$-modules is defined by the $R$-bilinear map $M \times N \to N \otimes_R M$ sending $(m, n) \mapsto n \otimes m$. By the universal property of $M \otimes_R N$, this induces a unique $R$-module homomorphism
\begin{align*}
\tau: M \otimes_R N &\to N \otimes_R M, \quad m \otimes n \mapsto n \otimes m.
\end{align*}
By the same argument with the roles of $M$ and $N$ reversed, there is an $R$-module homomorphism $\tau': N \otimes_R M \to M \otimes_R N$ with $\tau'(n \otimes m) = m \otimes n$. On pure tensors, $(\tau' \circ \tau)(m \otimes n) = m \otimes n$ and $(\tau \circ \tau')(n \otimes m) = n \otimes m$, so $\tau$ and $\tau'$ are mutually inverse $R$-module isomorphisms.
We verify $\tau$ is $S$-linear. Since $M$ is an $S$-module, the $S$-action on $M \otimes_R N$ is $s \cdot (m \otimes n) = (sm) \otimes n$, and the $S$-action on $N \otimes_R M$ is $s \cdot (n \otimes m) = n \otimes (sm)$. Then:
\begin{align*}
\tau(s \cdot (m \otimes n)) = \tau((sm) \otimes n) = n \otimes (sm) = s \cdot (n \otimes m) = s \cdot \tau(m \otimes n).
\end{align*}
Since pure tensors span $M \otimes_R N$, $\tau$ is $S$-linear, hence an $S$-module isomorphism.
[/step]
[step:Prove isomorphism (2): associativity $(M \otimes_R N) \otimes_R N' \cong M \otimes_R (N \otimes_R N')$]
The standard associativity isomorphism is constructed as follows. For each fixed $z \in N'$, the map $M \times N \to M \otimes_R (N \otimes_R N')$ sending $(m, n) \mapsto m \otimes (n \otimes z)$ is $R$-bilinear, so by the universal property of $M \otimes_R N$ it induces an $R$-module homomorphism $\alpha_z: M \otimes_R N \to M \otimes_R (N \otimes_R N')$ with $\alpha_z(m \otimes n) = m \otimes (n \otimes z)$. The map $(M \otimes_R N) \times N' \to M \otimes_R (N \otimes_R N')$ sending $(w, z) \mapsto \alpha_z(w)$ is then $R$-bilinear (verified on pure tensors $w = m \otimes n$), so the universal property of $(M \otimes_R N) \otimes_R N'$ provides an $R$-module homomorphism
\begin{align*}
\alpha: (M \otimes_R N) \otimes_R N' &\to M \otimes_R (N \otimes_R N'), \quad (m \otimes n) \otimes n' \mapsto m \otimes (n \otimes n').
\end{align*}
By a symmetric construction (first fixing $m \in M$, obtaining maps out of $N \otimes_R N'$, then assembling), there is an $R$-module homomorphism
\begin{align*}
\alpha': M \otimes_R (N \otimes_R N') &\to (M \otimes_R N) \otimes_R N', \quad m \otimes (n \otimes n') \mapsto (m \otimes n) \otimes n'.
\end{align*}
On pure tensors, $(\alpha' \circ \alpha)((m \otimes n) \otimes n') = (m \otimes n) \otimes n'$ and $(\alpha \circ \alpha')(m \otimes (n \otimes n')) = m \otimes (n \otimes n')$, so $\alpha$ and $\alpha'$ are mutually inverse. The $S$-linearity of $\alpha$ follows because $s \in S$ acts on the left factor: $\alpha(s \cdot ((m \otimes n) \otimes n')) = \alpha(((sm) \otimes n) \otimes n') = (sm) \otimes (n \otimes n') = s \cdot (m \otimes (n \otimes n')) = s \cdot \alpha((m \otimes n) \otimes n')$.
[/step]
[step:Prove isomorphism (3): mixed associativity $(M \otimes_R N) \otimes_S M' \cong M \otimes_S (N \otimes_R M')$]
This is the key isomorphism. We apply the [Base Change for Extension of Scalars](/theorems/2916) twice and the $\otimes_S$-associativity once.
**First application of base change.** The $S$-module $M \otimes_R N$ and $S$-module $M'$ are tensored over $S$. We apply the base change isomorphism to $M$ (an $S$-module) and $N$ (an $R$-module) to obtain $M \otimes_R N \cong M \otimes_S (S \otimes_R N)$ as $S$-modules. Therefore:
\begin{align*}
(M \otimes_R N) \otimes_S M' \cong (M \otimes_S (S \otimes_R N)) \otimes_S M'.
\end{align*}
**Associativity of $\otimes_S$.** Applying the standard associativity isomorphism for $\otimes_S$ (with $S$-modules $M$, $S \otimes_R N$, and $M'$):
\begin{align*}
(M \otimes_S (S \otimes_R N)) \otimes_S M' \cong M \otimes_S ((S \otimes_R N) \otimes_S M').
\end{align*}
**Second application of base change.** The module $S \otimes_R N$ is an $S$-module (via the left factor), and $M'$ is an $S$-module. We apply the base change isomorphism to the pair $(M', N)$ with the roles transposed: viewing $M'$ as the $S$-module and $N$ as the $R$-module, the base change isomorphism gives $M' \otimes_R N \cong M' \otimes_S (S \otimes_R N)$. Applying the commutativity isomorphism $\otimes_S$ on both sides:
\begin{align*}
(S \otimes_R N) \otimes_S M' \cong M' \otimes_S (S \otimes_R N) \cong M' \otimes_R N \cong N \otimes_R M',
\end{align*}
where the last step is commutativity of $\otimes_R$.
Assembling these isomorphisms:
\begin{align*}
(M \otimes_R N) \otimes_S M' &\cong M \otimes_S ((S \otimes_R N) \otimes_S M') \cong M \otimes_S (N \otimes_R M').
\end{align*}
On pure tensors, the composite isomorphism sends $(m \otimes n) \otimes m' \mapsto m \otimes (n \otimes m')$, which one verifies by tracing a pure tensor through each step: $(m \otimes n) \otimes m' \mapsto (m \otimes (1 \otimes n)) \otimes m' \mapsto m \otimes ((1 \otimes n) \otimes m') \mapsto m \otimes (n \otimes m')$.
[guided]
Why is isomorphism (3) harder than (1), (2), or (4)? The tensor products in play involve two different base rings: $\otimes_R$ (tensoring over $R$) and $\otimes_S$ (tensoring over $S$). The standard associativity of the tensor product applies to tensor products over a single ring. To handle the mixed case, we use the base change isomorphism to convert $\otimes_R$ into $\otimes_S$ (at the cost of introducing $S \otimes_R N$), apply associativity over $S$, and then convert back.
The chain of isomorphisms is:
\begin{align*}
(M \otimes_R N) \otimes_S M' &\xrightarrow{\text{base change}} (M \otimes_S (S \otimes_R N)) \otimes_S M' \\
&\xrightarrow{\text{assoc. of } \otimes_S} M \otimes_S ((S \otimes_R N) \otimes_S M') \\
&\xrightarrow{\text{base change + comm.}} M \otimes_S (N \otimes_R M').
\end{align*}
Each arrow is an $S$-module isomorphism established by a preceding result, and the composite sends $(m \otimes n) \otimes m'$ to $m \otimes (n \otimes m')$ as claimed.
[/guided]
[/step]
[step:Prove isomorphism (4): distributivity $M \otimes_R \bigl(\bigoplus_{i \in I} N_i\bigr) \cong \bigoplus_{i \in I} (M \otimes_R N_i)$]
For each $i \in I$, let $\iota_i: N_i \hookrightarrow \bigoplus_{j \in I} N_j$ denote the canonical inclusion. For each $i$, the $R$-bilinear map $M \times N_i \to M \otimes_R (\bigoplus_j N_j)$ given by $(m, n) \mapsto m \otimes \iota_i(n)$ induces an $R$-module homomorphism $\alpha_i: M \otimes_R N_i \to M \otimes_R (\bigoplus_j N_j)$. By the universal property of the direct sum, these assemble into an $R$-module homomorphism
\begin{align*}
\alpha: \bigoplus_{i \in I} (M \otimes_R N_i) \to M \otimes_R \left(\bigoplus_{j \in I} N_j\right).
\end{align*}
For the inverse, define the $R$-bilinear map $\Psi: M \times \bigoplus_{i \in I} N_i \to \bigoplus_{i \in I} (M \otimes_R N_i)$ by $\Psi(m, (n_i)_{i \in I}) = (m \otimes n_i)_{i \in I}$, where only finitely many $n_i$ are nonzero. This is $R$-bilinear because the tensor product is bilinear in each component. By the universal property of $M \otimes_R (\bigoplus_i N_i)$, this induces an $R$-module homomorphism
\begin{align*}
\beta: M \otimes_R \left(\bigoplus_{i \in I} N_i\right) \to \bigoplus_{i \in I} (M \otimes_R N_i).
\end{align*}
On a pure tensor $m \otimes \iota_i(n)$ (where $n \in N_i$): $(\beta \circ \alpha)(m \otimes n) = \beta(m \otimes \iota_i(n)) = (m \otimes n)$ in the $i$-th component, which is $m \otimes n$ in $\bigoplus_i (M \otimes_R N_i)$. On a pure tensor $m \otimes (n_i)_i$: $(\alpha \circ \beta)(m \otimes (n_i)_i) = \alpha((m \otimes n_i)_i) = \sum_i m \otimes \iota_i(n_i) = m \otimes \sum_i \iota_i(n_i) = m \otimes (n_i)_i$. Hence $\alpha$ and $\beta$ are mutually inverse.
The $S$-linearity of $\alpha$ and $\beta$ is verified as in the previous isomorphisms: the $S$-action passes through the first factor $M$ in each tensor product.
[/step]