[proofplan]
We proceed by induction on the degree $n = [K : k]$ of the splitting field extension. When $f$ splits in $k$ already, the result is immediate. For the inductive step, we pick an irreducible factor of $f$ over $k$, adjoin one of its roots, use the correspondence between roots of irreducible polynomials to extend $\sigma$ to the simple extension, and then apply the inductive hypothesis to complete the extension to the full splitting field.
[/proofplan]
[step:Establish the induction framework on $[K : k]$]
We induct on $n = [K : k]$, the degree of the splitting field extension.
**Base case** ($n = 1$): If $[K : k] = 1$, then $K = k$, so $f$ already splits over $k$. Similarly, $\sigma(f)$ splits over $k'$, so $K' = k'$. We set $\tilde{\sigma} = \sigma$, which is already an isomorphism $K = k \xrightarrow{\sim} k' = K'$ extending $\sigma$.
**Inductive hypothesis**: Assume the statement holds for all field isomorphisms $\tau: F \xrightarrow{\sim} F'$, all polynomials $g \in F[x]$, and all splitting fields with $[\text{splitting field of } g \text{ over } F : F] < n$.
[guided]
The natural measure of complexity for a splitting field construction is the degree $[K : k]$. Each time we adjoin a root we reduce the degree of the remaining extension, so induction on $[K : k]$ will terminate. The base case $[K : k] = 1$ means $f$ already factors into linear factors over $k$ itself, and no extension is needed.
We induct on $n = [K : k]$.
**Base case** ($n = 1$): If $[K : k] = 1$, then $K = k$. Since $K$ is a splitting field of $f$ over $k$ and $K = k$, the polynomial $f$ splits into linear factors over $k$. Applying $\sigma$ (which is a ring isomorphism $k[x] \xrightarrow{\sim} k'[x]$ by extending coefficient-wise), $\sigma(f)$ splits into linear factors over $k'$, so $K' = k'$. We set $\tilde{\sigma} = \sigma: k \xrightarrow{\sim} k'$, which is trivially an extension of $\sigma$.
**Inductive hypothesis**: Assume the theorem holds whenever the splitting field extension has degree strictly less than $n$.
[/guided]
[/step]
[step:Select an irreducible factor of $f$ and adjoin a root]
Since $[K : k] = n > 1$, the polynomial $f$ does not split over $k$. Let $p \in k[x]$ be an irreducible factor of $f$ with $\deg p \ge 2$. Since $K$ is a splitting field of $f$ over $k$, $f$ splits completely in $K[x]$, so $p$ has a root $\alpha \in K$. Because $p$ is irreducible over $k$, the minimal polynomial of $\alpha$ over $k$ is $p$ (up to a unit scalar), and
\begin{align*}
[k(\alpha) : k] = \deg p \ge 2.
\end{align*}
Consider the image $\sigma(p) \in k'[x]$. Since $\sigma: k \xrightarrow{\sim} k'$ is a field isomorphism, it induces a ring isomorphism $\sigma_*: k[x] \xrightarrow{\sim} k'[x]$ defined by applying $\sigma$ to each coefficient. Because $\sigma_*$ preserves the degree and the property of being irreducible (an element is irreducible iff it cannot be written as a product of two elements of smaller degree, and $\sigma_*$ preserves degrees and is bijective), $\sigma(p)$ is irreducible in $k'[x]$. Since $\sigma(p)$ divides $\sigma(f)$ in $k'[x]$ and $\sigma(f)$ splits completely in $K'$, the polynomial $\sigma(p)$ has a root $\alpha' \in K'$.
[guided]
Since $n > 1$, the polynomial $f$ has an irreducible factor $p \in k[x]$ with $\deg p \ge 2$ (if every irreducible factor were linear, $f$ would split over $k$ and we would have $K = k$, contradicting $n > 1$). Since $K$ is a splitting field of $f$ over $k$, every irreducible factor of $f$ splits in $K$, so $p$ has at least one root $\alpha \in K$.
Why is $p$ the minimal polynomial of $\alpha$ over $k$? Because $p(\alpha) = 0$ and $p$ is irreducible over $k$, so $p$ cannot factor further, meaning no polynomial of smaller degree in $k[x]$ can vanish at $\alpha$. Hence $\operatorname{min}(\alpha, k) = c \cdot p$ for some $c \in k^\times$, and $[k(\alpha) : k] = \deg p \ge 2$.
Now consider $\sigma(p)$, the polynomial obtained by applying $\sigma$ to each coefficient of $p$. The isomorphism $\sigma: k \xrightarrow{\sim} k'$ extends to a ring isomorphism $\sigma_*: k[x] \xrightarrow{\sim} k'[x]$ by acting on coefficients. Ring isomorphisms preserve irreducibility: if $\sigma(p) = g \cdot h$ in $k'[x]$ with $\deg g, \deg h \ge 1$, then $p = \sigma^{-1}(g) \cdot \sigma^{-1}(h)$ in $k[x]$ with $\deg \sigma^{-1}(g) = \deg g \ge 1$ and $\deg \sigma^{-1}(h) = \deg h \ge 1$, contradicting the irreducibility of $p$. Therefore $\sigma(p)$ is irreducible in $k'[x]$.
Since $\sigma(p)$ divides $\sigma(f)$ (because $p \mid f$ implies $\sigma(p) \mid \sigma(f)$), and $\sigma(f)$ splits completely in $K'$, the polynomial $\sigma(p)$ has a root $\alpha' \in K'$.
[/guided]
[/step]
[step:Extend $\sigma$ to an isomorphism $\sigma_1: k(\alpha) \xrightarrow{\sim} k'(\alpha')$]
The field $k(\alpha)$ is isomorphic to $k[x]/(p)$ via the evaluation map $\operatorname{ev}_\alpha: k[x] \to k(\alpha)$ defined by $g(x) \mapsto g(\alpha)$, which has kernel $(p)$. Similarly, $k'(\alpha')$ is isomorphic to $k'[x]/(\sigma(p))$ via evaluation at $\alpha'$.
Define the map
\begin{align*}
\sigma_1: k(\alpha) &\to k'(\alpha') \\
g(\alpha) &\mapsto \sigma(g)(\alpha')
\end{align*}
where for $g = \sum_{i=0}^{m} a_i x^i \in k[x]$, we set $\sigma(g) = \sum_{i=0}^{m} \sigma(a_i) x^i \in k'[x]$.
This map is well-defined: if $g(\alpha) = h(\alpha)$, then $(g - h)(\alpha) = 0$, so $p \mid (g - h)$ in $k[x]$, hence $\sigma(p) \mid \sigma(g - h) = \sigma(g) - \sigma(h)$ in $k'[x]$, so $\sigma(g)(\alpha') = \sigma(h)(\alpha')$.
The map $\sigma_1$ is a field homomorphism because $\sigma$ is a ring homomorphism and evaluation is a ring homomorphism. It is injective because it is a nonzero homomorphism of fields. It is surjective because every element of $k'(\alpha')$ has the form $h(\alpha')$ for some $h \in k'[x]$ with $\deg h < \deg \sigma(p) = \deg p$, and $h = \sigma(g)$ for $g = \sigma^{-1}(h) \in k[x]$, so $h(\alpha') = \sigma(g)(\alpha') = \sigma_1(g(\alpha))$.
Finally, $\sigma_1$ extends $\sigma$: for any $a \in k$, $\sigma_1(a) = \sigma(a)$.
[guided]
The idea here is to use the universal property of simple algebraic extensions. The simple extension $k(\alpha)$ is generated over $k$ by a single element $\alpha$ satisfying the irreducible polynomial $p$. Every element of $k(\alpha)$ can be uniquely written as $g(\alpha)$ for some $g \in k[x]$ with $\deg g < \deg p$. We want to send $\alpha \mapsto \alpha'$ and extend $\sigma$ "coefficient-by-coefficient."
Define
\begin{align*}
\sigma_1: k(\alpha) &\to k'(\alpha') \\
g(\alpha) &\mapsto \sigma(g)(\alpha')
\end{align*}
where $\sigma$ acts on $g$ by applying the isomorphism to each coefficient.
**Well-definedness**: We must check that $\sigma_1$ does not depend on the choice of representative $g$. If $g(\alpha) = h(\alpha)$, then $\alpha$ is a root of $g - h$, so $p \mid (g - h)$ in $k[x]$ (since $p = \operatorname{min}(\alpha, k)$). Applying $\sigma_*$ (which preserves divisibility), $\sigma(p) \mid \sigma(g) - \sigma(h)$ in $k'[x]$. Since $\sigma(p)(\alpha') = 0$, we get $\sigma(g)(\alpha') = \sigma(h)(\alpha')$.
**Homomorphism**: For $g(\alpha), h(\alpha) \in k(\alpha)$:
\begin{align*}
\sigma_1(g(\alpha) + h(\alpha)) &= \sigma_1((g + h)(\alpha)) = \sigma(g + h)(\alpha') = (\sigma(g) + \sigma(h))(\alpha') = \sigma_1(g(\alpha)) + \sigma_1(h(\alpha)),
\end{align*}
and similarly for multiplication, using the fact that $\sigma$ is a ring homomorphism and evaluation is a ring homomorphism.
**Injectivity**: $\sigma_1$ is a ring homomorphism from the field $k(\alpha)$ to the field $k'(\alpha')$, and $\sigma_1(1) = \sigma(1) = 1 \ne 0$, so $\ker \sigma_1$ is a proper ideal of the field $k(\alpha)$. The only proper ideal of a field is $\{0\}$, so $\sigma_1$ is injective.
**Surjectivity**: Every element of $k'(\alpha')$ has the form $h(\alpha')$ for some $h \in k'[x]$ with $\deg h < \deg \sigma(p)$. Since $\sigma: k \xrightarrow{\sim} k'$ is surjective, every coefficient of $h$ lies in the image of $\sigma$, so $h = \sigma(g)$ for $g = \sigma^{-1}(h) \in k[x]$. Then $h(\alpha') = \sigma(g)(\alpha') = \sigma_1(g(\alpha))$.
**Extension of $\sigma$**: For $a \in k$, viewing $a$ as the constant polynomial, $\sigma_1(a) = \sigma(a)(\alpha') = \sigma(a)$. So $\sigma_1|_k = \sigma$.
We now have an isomorphism $\sigma_1: k(\alpha) \xrightarrow{\sim} k'(\alpha')$ extending $\sigma$ with $\sigma_1(\alpha) = \alpha'$.
[/guided]
[/step]
[step:Apply the inductive hypothesis to extend $\sigma_1$ to all of $K$]
The field $K$ is a splitting field of $f$ over $k$, so $K$ is also a splitting field of $f$ over $k(\alpha)$ (since $K$ is generated over $k$ by the roots of $f$, and $k(\alpha) \subset K$). Similarly, $K'$ is a splitting field of $\sigma(f)$ over $k'(\alpha')$.
Compute the degree of the remaining extension:
\begin{align*}
[K : k(\alpha)] = \frac{[K : k]}{[k(\alpha) : k]} = \frac{n}{\deg p} < n
\end{align*}
since $\deg p \ge 2$.
We have a field isomorphism $\sigma_1: k(\alpha) \xrightarrow{\sim} k'(\alpha')$, and $\sigma_1(f) = \sigma(f)$ (since $\sigma_1$ extends $\sigma$ and $f \in k[x]$). The splitting field of $f$ over $k(\alpha)$ is $K$, and the splitting field of $\sigma_1(f) = \sigma(f)$ over $k'(\alpha')$ is $K'$. Since $[K : k(\alpha)] < n$, the inductive hypothesis yields a field isomorphism
\begin{align*}
\tilde{\sigma}: K \xrightarrow{\sim} K'
\end{align*}
extending $\sigma_1$, meaning $\tilde{\sigma}|_{k(\alpha)} = \sigma_1$.
[guided]
We now have an isomorphism $\sigma_1: k(\alpha) \xrightarrow{\sim} k'(\alpha')$ extending $\sigma$. The goal is to extend this further to an isomorphism $K \xrightarrow{\sim} K'$.
The key observation is that $K$ is still a splitting field of $f$ over the larger base field $k(\alpha)$. Why? Because $K$ is generated over $k$ by the roots of $f$, so it is certainly generated over $k(\alpha) \supset k$ by those same roots, and $f$ splits completely in $K$. No smaller subfield of $K$ containing $k(\alpha)$ can have $f$ split completely (otherwise it would be a splitting field of $f$ over $k$ properly contained in $K$, contradicting the minimality of $K$). Similarly, $K'$ is a splitting field of $\sigma(f)$ over $k'(\alpha')$.
The degree of the remaining extension satisfies
\begin{align*}
[K : k(\alpha)] = \frac{[K : k]}{[k(\alpha) : k]} = \frac{n}{\deg p}.
\end{align*}
Since $\deg p \ge 2$, we have $[K : k(\alpha)] \le n/2 < n$, so the inductive hypothesis applies.
We apply the inductive hypothesis with the data:
- Field isomorphism: $\sigma_1: k(\alpha) \xrightarrow{\sim} k'(\alpha')$
- Polynomial: $f \in k[x] \subset k(\alpha)[x]$
- Splitting field of $f$ over $k(\alpha)$: this is $K$
- Splitting field of $\sigma_1(f)$ over $k'(\alpha')$: since $\sigma_1$ extends $\sigma$ and $f$ has coefficients in $k$, $\sigma_1(f) = \sigma(f)$, so this is $K'$
The inductive hypothesis yields a field isomorphism $\tilde{\sigma}: K \xrightarrow{\sim} K'$ with $\tilde{\sigma}|_{k(\alpha)} = \sigma_1$.
[/guided]
[/step]
[step:Verify that $\tilde{\sigma}$ extends $\sigma$]
Since $\tilde{\sigma}|_{k(\alpha)} = \sigma_1$ and $\sigma_1|_k = \sigma$, we have
\begin{align*}
\tilde{\sigma}|_k = (\tilde{\sigma}|_{k(\alpha)})|_k = \sigma_1|_k = \sigma.
\end{align*}
Therefore $\tilde{\sigma}: K \xrightarrow{\sim} K'$ is a field isomorphism extending $\sigma$. This completes the induction and the proof.
[/step]