[proofplan]
For part (1), monicity of an integral relation $s^n = a_{n-1} s^{n-1} + \cdots + a_0$ bounds every power of $s$ by a fixed finite generating set: we show by induction that $s^k \in \operatorname{span}_R\{1, s, \ldots, s^{n-1}\}$ for every $k \geq 0$, whence this span equals $R[s]$. For part (2), we apply part (1) in a tower $R = S_0 \subseteq S_1 \subseteq \cdots \subseteq S_n = S$ with $S_i = S_{i-1}[s_i]$, and combine the resulting finite generating sets using transitivity of finite generation for modules: products of generators at each stage generate the composite.
[/proofplan]
[step:Fix an integral relation for $s$ that witnesses $n = \deg_R(s)$]
Let $S = R[s]$ with $s \in S$ integral over $R$. By the definition of [integral over a ring](/page/Integral%20Ring%20Extension), there exist $n \geq 1$ and $a_0, \ldots, a_{n-1} \in R$ with
\begin{align*}
s^n + a_{n-1} s^{n-1} + \cdots + a_1 s + a_0 = 0,
\end{align*}
equivalently,
\begin{align*}
s^n = -a_{n-1} s^{n-1} - \cdots - a_1 s - a_0 \in R + Rs + \cdots + Rs^{n-1}. \tag{$\ast$}
\end{align*}
Set
\begin{align*}
M = R + Rs + \cdots + Rs^{n-1} \subseteq S,
\end{align*}
the $R$-submodule of $S$ generated by $\{1, s, s^2, \ldots, s^{n-1}\}$.
[guided]
Let $S = R[s]$ with $s$ integral over $R$. By the definition of [integral over a ring](/page/Integral%20Ring%20Extension), there exist $n \geq 1$ and $a_0, \ldots, a_{n-1} \in R$ with
\begin{align*}
s^n + a_{n-1} s^{n-1} + \cdots + a_1 s + a_0 = 0.
\end{align*}
Solving this for $s^n$ gives the crucial identity
\begin{align*}
s^n = -a_{n-1} s^{n-1} - \cdots - a_1 s - a_0. \tag{$\ast$}
\end{align*}
Why is this helpful? It expresses the "first uncontrolled" power $s^n$ as an $R$-linear combination of the lower powers $\{1, s, \ldots, s^{n-1}\}$. Our strategy will be to show that this containment bootstraps to every higher power: $s^{n+1}, s^{n+2}, \ldots$ all lie in the finite-dimensional span.
Define
\begin{align*}
M = R + Rs + \cdots + Rs^{n-1} = \{c_0 + c_1 s + \cdots + c_{n-1} s^{n-1} : c_i \in R\},
\end{align*}
which is by construction an $R$-submodule of $S$. Our aim is $M = S$, i.e., $M = R[s]$.
[/guided]
[/step]
[step:Prove by induction that every power $s^k$ lies in $M$]
We claim: for every integer $k \geq 0$, we have $s^k \in M$. We proceed by strong induction on $k$.
**Base cases** ($0 \leq k \leq n-1$): $s^k$ is one of the generators of $M$, so $s^k \in M$.
**Inductive step** ($k \geq n$): suppose $s^j \in M$ for all $0 \leq j < k$. We must show $s^k \in M$. Writing $k = n + (k - n)$ with $k - n \geq 0$ and multiplying $(\ast)$ by $s^{k-n}$:
\begin{align*}
s^k = s^{k-n} \cdot s^n = -a_{n-1} s^{k-1} - a_{n-2} s^{k-2} - \cdots - a_1 s^{k-n+1} - a_0 s^{k-n}.
\end{align*}
Each exponent on the right satisfies $k - n \leq j \leq k - 1$, so $j < k$ and by the inductive hypothesis $s^j \in M$. Since $M$ is closed under $R$-linear combinations, $s^k \in M$. This completes the induction.
In particular, $S = R[s] = \operatorname{span}_R\{s^k : k \geq 0\} \subseteq M$, and $M \subseteq S$ by construction. Hence $S = M$ is generated as an $R$-module by the finite set $\{1, s, \ldots, s^{n-1}\}$.
[guided]
We prove by strong induction on $k \geq 0$ that $s^k \in M$. The base cases $0 \leq k \leq n-1$ are immediate because $s^k$ is one of the generators of $M$ by construction.
For the inductive step, fix $k \geq n$ and assume $s^j \in M$ for every $0 \leq j < k$. We want to show $s^k \in M$. How do we reduce a high power $s^k$ to lower powers? Multiply the integral relation $(\ast)$ by $s^{k-n}$:
\begin{align*}
s^k = s^{k-n} \cdot s^n = s^{k-n}\bigl(-a_{n-1} s^{n-1} - \cdots - a_0\bigr) = -a_{n-1} s^{k-1} - \cdots - a_0 s^{k-n}.
\end{align*}
Now observe: every power of $s$ appearing on the right-hand side has exponent between $k - n$ and $k - 1$, all strictly less than $k$. By the inductive hypothesis, each $s^j$ with $k - n \leq j \leq k - 1$ lies in $M$. The right-hand side is an $R$-linear combination of such elements, and $M$ is closed under $R$-linear combinations, so $s^k \in M$.
This is the central mechanism: monicity in the integral relation gives us a **recurrence** expressing each high power in terms of lower powers. The recurrence has depth $n$ (we go back $n$ steps), and iterating it keeps the number of generators bounded at $n$.
Finally, $S = R[s]$ is by definition the smallest $R$-subalgebra containing $s$, which is exactly the $R$-span of $\{s^k : k \geq 0\}$. Since every $s^k \in M$, we have $S \subseteq M$, and conversely $M \subseteq S$ because each generator $s^k$ lies in $S$. Therefore $S = M$ is $R$-generated by $\{1, s, \ldots, s^{n-1}\}$, which is finite. This proves part (1).
[/guided]
[/step]
[step:Build a tower $R = S_0 \subseteq S_1 \subseteq \cdots \subseteq S_n = S$ for part (2)]
Let $S = R[s_1, \ldots, s_n]$ with each $s_i$ integral over $R$. Define inductively
\begin{align*}
S_0 = R, \qquad S_i = S_{i-1}[s_i] \text{ for } 1 \leq i \leq n.
\end{align*}
Then $S_n = R[s_1, \ldots, s_n] = S$ (since adjoining elements one at a time is equivalent to adjoining them simultaneously in a commutative ring). We will show inductively that each $S_i$ is finitely generated as an $S_0 = R$-module.
[guided]
For part (2), the idea is to reduce to part (1) by adjoining the $s_i$ one at a time. Define the tower
\begin{align*}
R = S_0 \subseteq S_1 \subseteq S_2 \subseteq \cdots \subseteq S_n = S
\end{align*}
where $S_i = S_{i-1}[s_i]$ for $1 \leq i \leq n$. At each stage we adjoin a single integral element. To apply part (1) at the $i$-th stage, we need $s_i$ to be integral over $S_{i-1}$ — but we only know $s_i$ is integral over $R$. These are **different** integrality statements. Fortunately, the implication is one-way:
[/guided]
[/step]
[step:Verify that each $s_i$ is integral over $S_{i-1}$, not just over $R$]
Each $s_i$ is integral over $R$ by hypothesis, witnessed by a monic polynomial $f_i \in R[x]$ with $f_i(s_i) = 0$. Since $R \subseteq S_{i-1}$, the inclusion of polynomial rings gives $f_i \in S_{i-1}[x]$, and $f_i$ remains monic (monicity is preserved under ring extension because the leading coefficient is $1$, which is the identity of both $R$ and $S_{i-1}$). Therefore $s_i$ is integral over $S_{i-1}$.
[guided]
Each $s_i$ satisfies a monic polynomial $f_i \in R[x]$ with $f_i(s_i) = 0$. We claim $s_i$ is also integral over $S_{i-1}$: the polynomial $f_i$, viewed as an element of the larger ring $S_{i-1}[x]$ via the inclusion $R[x] \hookrightarrow S_{i-1}[x]$, is still monic (because its leading coefficient is $1$, which is the identity element, and the identity is preserved under ring inclusion). So $f_i \in S_{i-1}[x]$ is a monic polynomial satisfied by $s_i$, which is exactly the definition of integrality over $S_{i-1}$.
This step is subtle but essential: "integral over $R$" is not the same as "integral over $S_{i-1}$" in general, but there is always one-way passage from the smaller to the larger ring — a monic polynomial with coefficients in $R$ is also a monic polynomial with coefficients in $S_{i-1}$, just regarded as lying in the larger coefficient ring.
[/guided]
[/step]
[step:Apply part (1) and transitivity of finite generation to conclude]
[claim:Finite generation is transitive in towers]
If $T' \supseteq T$ is a ring extension and $u_1, \ldots, u_m \in T'$ generate $T'$ as a $T$-module, and if $T \supseteq T_0$ is a ring extension and $v_1, \ldots, v_p \in T$ generate $T$ as a $T_0$-module, then $\{v_q u_r : 1 \leq q \leq p, \, 1 \leq r \leq m\}$ generates $T'$ as a $T_0$-module.
[/claim]
[proof]
Let $w \in T'$. Since $\{u_r\}$ generates $T'$ over $T$, we write
\begin{align*}
w = \sum_{r=1}^m t_r u_r, \qquad t_r \in T.
\end{align*}
Each $t_r \in T$ expands as $t_r = \sum_{q=1}^p c_{r,q} v_q$ with $c_{r,q} \in T_0$, since $\{v_q\}$ generates $T$ over $T_0$. Substituting:
\begin{align*}
w = \sum_{r=1}^m \left( \sum_{q=1}^p c_{r,q} v_q \right) u_r = \sum_{q=1}^p \sum_{r=1}^m c_{r,q} (v_q u_r).
\end{align*}
This exhibits $w$ as a $T_0$-linear combination of the products $\{v_q u_r\}$, proving the claim. Note that this uses associativity and commutativity of multiplication in $T'$, both of which hold because $T'$ is a (commutative) ring.
[/proof]
We now induct on $i$ to show $S_i$ is finitely generated as an $R$-module.
**Base case** ($i = 0$): $S_0 = R$ is finitely generated over $R$ by $\{1\}$.
**Inductive step**: assume $S_{i-1}$ is finitely generated over $R$ by some finite set $\{v_1, \ldots, v_p\} \subseteq S_{i-1}$. Since $s_i$ is integral over $S_{i-1}$ (previous step), part (1) of the theorem applies to the ring extension $S_{i-1} \subseteq S_{i-1}[s_i] = S_i$, and produces a finite $S_{i-1}$-generating set $\{1, s_i, \ldots, s_i^{k_i - 1}\}$ for $S_i$, where $k_i$ is the degree of a monic polynomial witnessing integrality of $s_i$ over $S_{i-1}$. By the claim with $T_0 = R$, $T = S_{i-1}$, $T' = S_i$, the finite set
\begin{align*}
\{v_q \cdot s_i^{l} : 1 \leq q \leq p, \, 0 \leq l \leq k_i - 1\}
\end{align*}
generates $S_i$ as an $R$-module.
Taking $i = n$ gives the conclusion: $S = S_n$ is finitely generated as an $R$-module, completing the proof of part (2).
[guided]
We induct on $i$ to show that each $S_i$ is finitely generated as an $R$-module.
**Base case**: $S_0 = R$ is generated over itself by $\{1\}$, a finite set.
**Inductive step**: suppose $S_{i-1}$ is finitely generated over $R$ by a finite set $\{v_1, \ldots, v_p\}$. We have just verified that $s_i$ is integral over $S_{i-1}$, so part (1) applies to the extension $S_{i-1} \subseteq S_{i-1}[s_i] = S_i$: it yields a finite set $\{1, s_i, s_i^2, \ldots, s_i^{k_i - 1}\}$ generating $S_i$ as an $S_{i-1}$-module, where $k_i$ is the degree of the monic polynomial witnessing integrality of $s_i$ over $S_{i-1}$.
Now we have two layers of finite generation: $S_{i-1}$ is $R$-generated by $\{v_1, \ldots, v_p\}$, and $S_i$ is $S_{i-1}$-generated by $\{1, s_i, \ldots, s_i^{k_i-1}\}$. The claim proved above — that finite generation is transitive in towers of modules — tells us that the $p \cdot k_i$ products $\{v_q s_i^l\}$ generate $S_i$ as an $R$-module. Since this is a finite set, the inductive step is complete.
Taking $i = n$: $S = S_n$ is finitely generated as an $R$-module, proving part (2). The finite generating set we have constructed is explicit: iteratively take products of the generators at each stage.
[/guided]
[/step]