[proofplan]
We first construct an injective cogenerator for abelian groups, namely $\mathbb{Q}/\mathbb{Z}$: every homomorphism into it extends across subgroup inclusions, and it detects nonzero elements. From this, we build a standard injective left $R$-module $J := \operatorname{Hom}_{\mathbb{Z}}(R,\mathbb{Q}/\mathbb{Z})$ using the right regular action on the argument. Every left $R$-module embeds into a product of copies of $J$, and products of injective modules are injective, giving the required monomorphism into an injective module.
[/proofplan]
[step:Show that $\mathbb{Q}/\mathbb{Z}$ is an injective cogenerator for abelian groups]
We regard abelian groups as $\mathbb{Z}$-modules. Let
\begin{align*}
E := \mathbb{Q}/\mathbb{Z}
\end{align*}
be the quotient abelian group. We prove two facts: every homomorphism from a subgroup into $E$ extends to the whole group, and every nonzero element of an abelian group is detected by some homomorphism into $E$.
[claim:$E$ is injective as a $\mathbb{Z}$-module]
[/claim]
[proof]
Let $A$ be an abelian group, let $B \subset A$ be a subgroup, and let
\begin{align*}
f: B \to E
\end{align*}
be a group homomorphism. We must extend $f$ to a homomorphism $A \to E$.
Let $\mathcal{P}$ be the set of pairs $(C,g)$ such that $C$ is a subgroup of $A$ with $B \subset C$, and
\begin{align*}
g: C \to E
\end{align*}
is a group homomorphism satisfying $g|_B = f$. Partially order $\mathcal{P}$ by declaring $(C,g) \leq (C',g')$ if $C \subset C'$ and $g'|_C = g$. The pair $(B,f)$ belongs to $\mathcal{P}$. If $\{(C_i,g_i)\}_{i \in I}$ is a chain in $\mathcal{P}$, define
\begin{align*}
C_\infty := \bigcup_{i \in I} C_i.
\end{align*}
Because the family is a chain, $C_\infty$ is a subgroup of $A$. Define
\begin{align*}
g_\infty: C_\infty \to E
\end{align*}
by $g_\infty(c) := g_i(c)$ whenever $c \in C_i$. This is well-defined because the chain condition makes the homomorphisms agree on overlaps, and it is a group homomorphism extending $f$. Hence every chain has an upper bound, so [Zorn's lemma](/theorems/1226) gives a maximal pair $(C,g) \in \mathcal{P}$.
We claim that $C=A$. Suppose not, and choose $a \in A \setminus C$. Let $C + \mathbb{Z}a$ be the subgroup generated by $C$ and $a$. There are two cases.
First suppose that no positive integer $n$ satisfies $na \in C$. Then every element of $C+\mathbb{Z}a$ has a unique form $c+ka$ with $c \in C$ and $k \in \mathbb{Z}$. Define
\begin{align*}
\tilde g: C+\mathbb{Z}a \to E
\end{align*}
by
\begin{align*}
\tilde g(c+ka) := g(c).
\end{align*}
Uniqueness of the representation makes $\tilde g$ well-defined, and direct addition shows that it is a homomorphism extending $g$. This contradicts maximality of $(C,g)$.
Second suppose that some positive integer $n$ satisfies $na \in C$. Let $n_0$ be the least positive integer with $n_0a \in C$. Since $E=\mathbb{Q}/\mathbb{Z}$ is divisible, multiplication by $n_0$ on $E$ is surjective. Therefore there exists $e \in E$ such that
\begin{align*}
n_0 e = g(n_0a).
\end{align*}
Define
\begin{align*}
\tilde g: C+\mathbb{Z}a \to E
\end{align*}
by
\begin{align*}
\tilde g(c+ka) := g(c)+ke.
\end{align*}
To check well-definedness, suppose $c+ka=c'+k'a$ with $c,c' \in C$ and $k,k' \in \mathbb{Z}$. Then $(k-k')a=c'-c \in C$. By minimality of $n_0$, the integer $k-k'$ is divisible by $n_0$, so $k-k'=qn_0$ for some $q \in \mathbb{Z}$. Hence
\begin{align*}
g(c)-g(c') &= g(c-c') \\
&= g((k'-k)a) \\
&= g(-qn_0a) \\
&= -qg(n_0a) \\
&= -qn_0 e \\
&= (k'-k)e.
\end{align*}
Thus $g(c)+ke=g(c')+k'e$, so $\tilde g$ is well-defined. It is a homomorphism by direct computation and extends $g$, again contradicting maximality.
Both cases contradict $C \ne A$, so $C=A$. Therefore $f$ extends to a homomorphism $A \to E$, proving that $E$ is injective as a $\mathbb{Z}$-module.
[/proof]
[claim:$E$ detects nonzero elements of abelian groups]
[/claim]
[proof]
Let $A$ be an abelian group and let $a \in A$ with $a \ne 0$. Let $C := \mathbb{Z}a \subset A$ be the cyclic subgroup generated by $a$.
If $a$ has infinite order, define
\begin{align*}
h_0: C \to E
\end{align*}
by $h_0(ka) := k(1/2+\mathbb{Z})$ for $k \in \mathbb{Z}$. Then $h_0(a)=1/2+\mathbb{Z} \ne 0$.
If $a$ has finite order $n \geq 2$, define
\begin{align*}
h_0: C \to E
\end{align*}
by $h_0(ka) := k(1/n+\mathbb{Z})$ for $k \in \mathbb{Z}$. This is well-defined because $n(1/n+\mathbb{Z})=0$, and $h_0(a)=1/n+\mathbb{Z} \ne 0$.
In both cases, the injectivity of $E$ just proved extends $h_0$ to a homomorphism
\begin{align*}
h: A \to E
\end{align*}
with $h(a) \ne 0$.
[/proof]
[/step]
[step:Construct an injective left $R$-module from $\mathbb{Q}/\mathbb{Z}$]
Define the abelian group
\begin{align*}
J := \operatorname{Hom}_{\mathbb{Z}}(R,E),
\end{align*}
where $R$ is regarded as an abelian group under addition. Give $J$ a left $R$-module structure by defining, for $r \in R$, $\phi \in J$, and $s \in R$,
\begin{align*}
(r\phi)(s) := \phi(sr).
\end{align*}
This is a unital left action because
\begin{align*}
((r_1r_2)\phi)(s) &= \phi(s r_1 r_2), \\
(r_1(r_2\phi))(s) &= (r_2\phi)(s r_1) = \phi(s r_1 r_2),
\end{align*}
and $(1_R\phi)(s)=\phi(s)$ for all $s \in R$.
We prove that $J$ is injective in $R\operatorname{-Mod}$. Let $A \subset B$ be a left $R$-submodule inclusion and let
\begin{align*}
u: A \to J
\end{align*}
be an $R$-[linear map](/page/Linear%20Map). Define the associated group homomorphism
\begin{align*}
\tilde u: A \to E
\end{align*}
by
\begin{align*}
\tilde u(a) := u(a)(1_R).
\end{align*}
Since $E$ is injective as a $\mathbb{Z}$-module, there exists a group homomorphism
\begin{align*}
v: B \to E
\end{align*}
such that $v|_A=\tilde u$.
Define
\begin{align*}
U: B \to J
\end{align*}
by
\begin{align*}
U(b)(r) := v(rb)
\end{align*}
for $b \in B$ and $r \in R$. For each fixed $b \in B$, the map $U(b):R \to E$ is a group homomorphism because multiplication $r \mapsto rb$ is additive and $v$ is additive. Thus $U(b) \in J$.
For $r_0 \in R$, $b \in B$, and $s \in R$, we compute
\begin{align*}
U(r_0b)(s) &= v(s r_0 b) \\
&= U(b)(s r_0) \\
&= (r_0 U(b))(s).
\end{align*}
Hence $U(r_0b)=r_0U(b)$, so $U$ is $R$-linear. If $a \in A$ and $r \in R$, then $ra \in A$ and
\begin{align*}
U(a)(r) &= v(ra) \\
&= \tilde u(ra) \\
&= u(ra)(1_R) \\
&= (r u(a))(1_R) \\
&= u(a)(1_R r) \\
&= u(a)(r).
\end{align*}
Therefore $U|_A=u$. Every $R$-linear map from a submodule into $J$ extends across the ambient module, so $J$ is injective in $R\operatorname{-Mod}$.
[guided]
The reason for defining $J=\operatorname{Hom}_{\mathbb{Z}}(R,E)$ is that it converts an $R$-linear extension problem into an ordinary abelian-group extension problem. The left $R$-action is placed on the argument on the right:
\begin{align*}
(r\phi)(s) := \phi(sr).
\end{align*}
This is the correct action for left modules because an $R$-linear map $B \to J$ will be determined by the values of the corresponding abelian-group map $B \to E$ at $1_R$.
We verify injectivity directly. Let $A \subset B$ be a submodule inclusion and let
\begin{align*}
u: A \to J
\end{align*}
be $R$-linear. Evaluation at the identity gives a group homomorphism
\begin{align*}
\tilde u: A \to E, \qquad \tilde u(a):=u(a)(1_R).
\end{align*}
Since $E$ is injective as an abelian group, $\tilde u$ extends to a group homomorphism
\begin{align*}
v: B \to E.
\end{align*}
We now reconstruct an $R$-linear map into $J$ by recording all translates of $b$. Define
\begin{align*}
U: B \to J, \qquad U(b)(r):=v(rb).
\end{align*}
For each $b$, the map $r \mapsto v(rb)$ is additive, so $U(b)$ belongs to $\operatorname{Hom}_{\mathbb{Z}}(R,E)$. The $R$-linearity check is exactly the reason for the right-translation action on $J$:
\begin{align*}
U(r_0b)(s) &= v(s r_0 b) \\
&= U(b)(s r_0) \\
&= (r_0U(b))(s).
\end{align*}
Thus $U(r_0b)=r_0U(b)$ for every $r_0 \in R$ and $b \in B$.
Finally, $U$ really extends $u$. If $a \in A$, then for every $r \in R$,
\begin{align*}
U(a)(r) &= v(ra) \\
&= \tilde u(ra) \\
&= u(ra)(1_R) \\
&= (r u(a))(1_R) \\
&= u(a)(r).
\end{align*}
Therefore $U(a)=u(a)$ in $J$. This proves the extension property for $J$, so $J$ is injective as a left $R$-module.
[/guided]
[/step]
[step:Separate points of an arbitrary left $R$-module by maps into $J$]
Let $M$ be a left $R$-module. For each nonzero element $m \in M$, the cogenerator property of $E$ gives a group homomorphism
\begin{align*}
\lambda_m: M \to E
\end{align*}
such that $\lambda_m(m) \ne 0$.
For each nonzero $m \in M$, define an $R$-linear map
\begin{align*}
\Phi_m: M \to J
\end{align*}
by
\begin{align*}
\Phi_m(x)(r) := \lambda_m(rx)
\end{align*}
for $x \in M$ and $r \in R$. For each fixed $x \in M$, the map $r \mapsto \lambda_m(rx)$ is additive, so $\Phi_m(x) \in J$. For $r_0,r \in R$ and $x \in M$,
\begin{align*}
\Phi_m(r_0x)(r) &= \lambda_m(r r_0 x) \\
&= \Phi_m(x)(r r_0) \\
&= (r_0\Phi_m(x))(r),
\end{align*}
so $\Phi_m$ is $R$-linear. Moreover,
\begin{align*}
\Phi_m(m)(1_R)=\lambda_m(m)\ne 0,
\end{align*}
so $\Phi_m(m)\ne 0$.
[/step]
[step:Embed $M$ into a product of copies of $J$]
Let
\begin{align*}
S := M \setminus \{0\}.
\end{align*}
If $S=\varnothing$, then $M=0$, and the zero map $0 \to J$ is injective. Assume $S \ne \varnothing$. Define the product left $R$-module
\begin{align*}
I := \prod_{m \in S} J
\end{align*}
with coordinatewise addition and scalar multiplication. Define
\begin{align*}
\iota: M \to I
\end{align*}
by
\begin{align*}
\iota(x) := \bigl(\Phi_m(x)\bigr)_{m \in S}.
\end{align*}
Since each $\Phi_m$ is $R$-linear, $\iota$ is $R$-linear.
We prove that $\iota$ is injective. Let $x \in M$ with $x \ne 0$. Then $x \in S$, and the $x$-coordinate of $\iota(x)$ is
\begin{align*}
\Phi_x(x).
\end{align*}
By the preceding step, $\Phi_x(x)\ne 0$. Hence $\iota(x)\ne 0$. Therefore $\ker \iota=\{0\}$, so $\iota$ is injective.
[/step]
[step:Prove that the target product is injective]
It remains to show that $I=\prod_{m \in S}J$ is injective. Let $A \subset B$ be a submodule inclusion and let
\begin{align*}
f: A \to I
\end{align*}
be an $R$-linear map. For each $m \in S$, let
\begin{align*}
\pi_m: I \to J
\end{align*}
be the $m$-th coordinate projection. Since $J$ is injective, the map
\begin{align*}
\pi_m \circ f: A \to J
\end{align*}
extends to an $R$-linear map
\begin{align*}
F_m: B \to J.
\end{align*}
Define
\begin{align*}
F: B \to I
\end{align*}
by
\begin{align*}
F(b) := \bigl(F_m(b)\bigr)_{m \in S}.
\end{align*}
Coordinatewise verification shows that $F$ is $R$-linear. For $a \in A$ and $m \in S$,
\begin{align*}
\pi_m(F(a)) &= F_m(a) \\
&= (\pi_m \circ f)(a) \\
&= \pi_m(f(a)).
\end{align*}
Thus $F(a)=f(a)$ for every $a \in A$, so $F$ extends $f$. Therefore $I$ is injective.
We have constructed an injective left $R$-module $I$ and an injective $R$-linear map $\iota:M\to I$. Since $M$ was arbitrary, $R\operatorname{-Mod}$ has enough injectives.
[/step]