Eisenbud Exercise 2.4 (Practice with $\text{Hom}$ and $\otimes$) I finished doing Exercise 2.4 from Eisenbud: Commutative Algebra, with a View Toward Algebraic Geometry, and I was wondering if I could have someone look over my solutions to check if everything is correct. Thanks!
(If someone can just tell me if my answers are correct or not, without checking the proofs, I would appreciate that too!)

I will write my solution to each problem in separate bullets, with their justifications immediately below.

*

*$\text{Hom}_\mathbf{Z}(\mathbf{Z}/(n),\mathbf{Z}/(m)) \cong (\mathbf{Z}/(m))[n]$ as $\mathbf{Z}$-modules.

If $\phi:\mathbf{Z}/(n)\to\mathbf{Z}/(m)$ is a $\mathbf{Z}$-module homomorphism, then it is determined by $\phi(1)$ whence it is necessary that $n\cdot \phi(1) = \phi([n]) = \phi([0])\equiv [0]$
. So $\phi(1)$ is an $n$-torsion element of $\mathbf{Z}/(m)$. Moreover, it is not difficult to check that every map which sends $\phi(1)$ to an $n$-torsion element in $\mathbf{Z}/(m)$ is a well-defined $\mathbf{Z}$-module homomorphism. Therefore, the map sending $\phi\to \phi(1)$ defines an isomorphism of $\mathbf{Z}$-modules.

*

*$\text{Hom}_{k[x]}(k[x]/(x^n),k[x]/(x^m)) \cong k[x]/(x^{n})$ as $k[x]$-modules.

The maps $k[x]/(x^n)\to k[x]/(x^m)$ are in bijection with maps $k[x]\to k[x]/(x^m)$ for which $(x^n)$ is contained in its kernel.
Let $\phi:k[x]\to k[x]/(x^m)$ be a module homomorphism. Then $\phi([f]) = f\cdot \phi([1])$ whence $\phi$ is determined by $\phi([1])$. Then $(x^n)$ is contained in $\ker\phi$ if and only if $ x^n\cdot \phi([1]) = \phi([x^n]) = \phi([0]) = [0] $ so that if $\phi([1]) = [a_{m-1}x^{m-1} + \dots a_1x + a_0]$ then $a_i = 0$ for all $i < m-n$. This is a necessary condition if $\phi$ exists. I will show that $\phi$ exists for every such choice of $\phi([1])$.
Let $\phi_g$ be the multiplication-by-$g$ map defined as $\phi_g([f]) = [fg]$. It is clearly well-defined and a module homomorphism. Indeed, $\phi([1]) = [g]$. We just have to choose $g$ so that if $[g] = [a_{m-1}x^{m-1} + \dots a_1x + a_0]$ then $a_i = 0$ for all $i < m-n$. This will ensure that $\phi_g$ sends $(x^n)$ to zero, and hence our homomorphisms are exactly these multiplication by $g$ maps.
It is not difficult to see that the map $\text{Hom}_{k[x]}(k[x]/(x^n),k[x]/(x^m)) \to k[x]/(x^{n})$ by sending the element $\phi_g$ to the polynomial $g$ after shifting its degrees down by $m-n$ steps is a module isomorphism.
So far we have assumed that $m > n$. If $m \leq n$ then $g$ is allowed to be any polynomial, and hence the isomorphism still holds.

*

*$\mathbf{Z}/(n)\otimes_{\mathbf{Z}}\mathbf{Z}/(m) \cong \mathbf{Z}/(\gcd(n,m))$
First, notice that the tensor product is generated by $1\otimes 1$ and is therefore a cyclic module.
\begin{align*}
 n(1\otimes 1) &= n\otimes 1 = 0 \\
 m(1\otimes 1) &= 1\otimes m = 0
\end{align*}
Therefore, $\gcd(m,n)(1\otimes 1) = 0$ and thus the following map is well-defined:
\begin{align*}
 \mathbf{Z}/(\gcd(n,m))&\to \mathbf{Z}/(n)\otimes_{\mathbf{Z}}\mathbf{Z}/(m) \\
 [k] &\mapsto k (1\otimes 1)
\end{align*}
To show that it is an isomorphism, we will construct its inverse by invoking the universal property of the tensor product. Basically, it suffices to see that the following map is $\mathbf{Z}$-bilinear.
\begin{align*}
 \mathbf{Z}/(n)\times\mathbf{Z}/(m) &\to \mathbf{Z}/(\gcd(n,m)) \\
 (k,l) &\mapsto [kl]
\end{align*}
Let us just say we are done, because I do not want to belabor this point.

*

*$k[x]/(x^n) \otimes_{k[x]} k[x]/(x^m) \cong k[x]/(x^{\min(n,m)})$ as $k[x]$-modules.

First, we notice that $k[x]/(x^n) \otimes_{k[x]} k[x]/(x^m)$ is a cyclic module generated by $[1]\otimes [1]$.
In one direction, we send $[f]\in k[x]/(x^{\min(n,m)})$ to $[f]([1]\otimes [1])$ which is well-defined by the bilinearity of the tensor product. In the other direction, we define a $k[x]$-bilinear map as follows.
\begin{align*}
 k[x]/(x^n) \times k[x]/(x^m) &\to k[x]/(x^{\min(n,m)}) \\
 [f]\times [g] &\mapsto [fg] \ (\text{mod } (x^{\min(n,m)}))
\end{align*}
This is well-defined, and everything works (I'm pretty sure) so we finish by just calling the universal property.

*

*$k[x]\otimes_k k[x] \cong k[x,y]$ as a $k$-algebra.

We write $k[x]\otimes_k k[y]$ for better clarity. As modules, we see that:
\begin{align*}
 k[x]\otimes_k k[y] &\cong k[x]\otimes_k \oplus_{n=1}^\infty ky^n \\
 &\cong \oplus_{n=1}^\infty (k[x]\otimes_k ky^n) \tag{commute the sum and tensor} \\
 &\cong \oplus_{n=1}^\infty (k[x]\otimes_k k) \\
 &\cong \oplus_{n=1}^\infty k[x]
\end{align*}
However, for each factor in the direct sum, the multiplicative structure is basically $(\ast)$ given by adding the monomial $y^n$ and hence as $k$-algebras we have that $k[x]\otimes_k k[x]\cong (k[x])[y]$
$(\ast)$ Is there an easy way to make this rigorous, without writing out elements explicitly? Is this even correct?
Thanks!
 A: I think everything is okay.
For the first item, note also that $\mathbb Z/(m) [n]$ consists of the classes $[k]$ for which $m \mid nk$. Writing $d = \gcd(m,n)$ and $m = dx, n = dy$, this is equivalent to having $x \mid yk$. But since $x$ and $y$ are coprime, moreover this it the same as $x \mid k$.
Hence $\mathbb Z/(m)[n] = \{[k] \colon k \in (m/\gcd(n,m))\mathbb{Z}\} = (m/\gcd(n,m))\mathbb{Z}/m\mathbb{Z} = \mathbb{Z}/(\gcd(n,m))$.
Next; if $I,J$ are ideals of a commutative ring $R$, then $R/I \otimes R/J = R/I+J$, see here. In PIDs such as $\mathbb{Z}$ and $k[x]$ we get $(a)+(b) = (\gcd(a,b))$ which coincides with what you have done.
For the latter exercise, here is a nonsensical argument: in general if $A$ and $B$ are commutative $k$-algebras, then
$$
\hom(A \otimes_k B, C) \simeq \hom(A,C) \times \hom(B,C).
$$
naturally in $A,B$ and $C$.
The $\hom$ is the $k$-algebra one. On the other hand, if $S$ is a finite set then the polynomial algebra on $S$ satisfies
$$
\hom(k[S],C) = \prod_{s\in S}C
$$
and thus we have a natural isomorphism
$$
\hom(k[x]\otimes_k k[y],C) \simeq \hom(k[x],C)\times \hom(k[y],C) \simeq C \times C \simeq \hom(k[x,y],C).
$$
We can then apply the Yoneda lemma.
