[proofplan]
Choose a finite generating family for $M$ and apply $f$ to each generator. The key point is that $R$-linearity carries an $R$-linear expression for an element $m \in M$ into the corresponding $R$-linear expression for $f(m)$. Thus every element of $\operatorname{im} f$ is generated by the finite family of images of the chosen generators. The zero-generator case is included by the usual empty-sum convention.
[/proofplan]
custom_env
admin
[step:Choose a finite generating family for $M$]
Since $M$ is finitely generated, there exist an integer $k \ge 0$ and elements $m_1, \ldots, m_k \in M$ such that every element $m \in M$ can be written in the form
\begin{align*}
m = \sum_{i=1}^{k} r_i m_i
\end{align*}
for some coefficients $r_1, \ldots, r_k \in R$. If $k = 0$, this statement means that the only such sum is the empty sum $0_M$, so $M = 0$.
Define elements $n_1, \ldots, n_k \in N$ by
\begin{align*}
n_i := f(m_i)
\end{align*}
for each $i \in \{1, \ldots, k\}$. The family $n_1, \ldots, n_k$ is finite.
[/step]
custom_env
admin
[step:Show that the images of the generators span $\operatorname{im} f$]Let $y \in \operatorname{im} f$. By the definition of image, there exists $m \in M$ such that
\begin{align*}
y = f(m).
\end{align*}
Since $m_1, \ldots, m_k$ generate $M$, choose coefficients $r_1, \ldots, r_k \in R$ such that
\begin{align*}
m = \sum_{i=1}^{k} r_i m_i.
\end{align*}
Using additivity and compatibility with the left $R$-action for the $R$-[module homomorphism](/page/Module%20Homomorphism) $f$, we obtain
\begin{align*}
y = f(m) = f\left(\sum_{i=1}^{k} r_i m_i\right) = \sum_{i=1}^{k} r_i f(m_i) = \sum_{i=1}^{k} r_i n_i.
\end{align*}
Thus every element of $\operatorname{im} f$ lies in the submodule of $N$ generated by $n_1, \ldots, n_k$.[/step]
custom_env
admin
[guided]We want to prove that $\operatorname{im} f$ is finitely generated, so we need to exhibit a finite list of elements of $\operatorname{im} f$ and prove that every element of $\operatorname{im} f$ is an $R$-linear combination of that list. The natural finite list is obtained by applying $f$ to the chosen generators of $M$:
\begin{align*}
n_i := f(m_i)
\end{align*}
for each $i \in \{1, \ldots, k\}$.
Now take an arbitrary element $y \in \operatorname{im} f$. By the definition of the image of a function, there is some $m \in M$ with
\begin{align*}
y = f(m).
\end{align*}
Because $m_1, \ldots, m_k$ generate $M$, this particular element $m$ has an expression
\begin{align*}
m = \sum_{i=1}^{k} r_i m_i
\end{align*}
for some $r_1, \ldots, r_k \in R$.
The reason this expression is useful is that $f$ is an $R$-module homomorphism. That means $f$ is additive and respects scalar multiplication by elements of $R$. Therefore applying $f$ to the displayed expression for $m$ gives
\begin{align*}
f(m) = f\left(\sum_{i=1}^{k} r_i m_i\right) = \sum_{i=1}^{k} r_i f(m_i).
\end{align*}
Since $n_i = f(m_i)$ by definition, we get
\begin{align*}
y = f(m) = \sum_{i=1}^{k} r_i n_i.
\end{align*}
This proves that the arbitrary element $y \in \operatorname{im} f$ is generated by the finite family $n_1, \ldots, n_k$.[/guided]
custom_env
admin
[step:Conclude finite generation of the image]
Each element $n_i$ lies in $\operatorname{im} f$ because $n_i = f(m_i)$ with $m_i \in M$. The previous step proves that every element of $\operatorname{im} f$ is an $R$-linear combination of $n_1, \ldots, n_k$. Hence
\begin{align*}
\operatorname{im} f = Rn_1 + \cdots + Rn_k.
\end{align*}
Therefore $\operatorname{im} f$ is finitely generated as a left $R$-module.
If $k = 0$, then $M = 0$, so $\operatorname{im} f = \{0_N\}$, which is generated by the empty family under the empty-sum convention. Thus the conclusion also holds in the zero-generator case.
[/step]