[step:Expand a model of the original sentence by choosing Skolem witnesses]Assume that $\mathcal{M}$ is an $L$-structure satisfying $\varphi$. Let $M$ denote the underlying set of $\mathcal{M}$.
For each existential index $i$, let
\begin{align*}
u_i=(x_{j_1},\dots,x_{j_m})
\end{align*}
be the ordered tuple of all variables $x_j$ with $j<i$ and $Q_j=\forall$. We define a function
\begin{align*}
F_i:M^m &\to M
\end{align*}
as follows. The induction invariant is this: after the functions $F_k$ have been defined for all existential indices $k<i$, then for every assignment of elements of $M$ to the universal variables preceding $x_i$, with each earlier existential variable $x_k$ interpreted as $F_k$ evaluated on its preceding universal variables, the remaining suffix of the original prefix is satisfiable. This invariant holds initially because $\mathcal{M}\models \varphi$.
Fix a tuple $a\in M^m$ of values for the variables in $u_i$, together with any values already fixed for earlier universal variables. Because the induction invariant holds at stage $i$, the semantic evaluation of the prefix
\begin{align*}
Q_1x_1\cdots Q_nx_n\,\theta
\end{align*}
guarantees that, whenever the previous existential variables have been chosen according to the earlier functions $F_k$ with $k<i$, the set
\begin{align*}
W_i(a) := \{b\in M : \text{the remaining suffix after }x_i\text{ is satisfiable when }x_i=b\}
\end{align*}
is nonempty. The family $(W_i(a))_{a\in M^m}$ is therefore an indexed family of nonempty subsets of $M$. Using choice, select one element $b_a\in W_i(a)$ for each $a\in M^m$, and define $F_i(a):=b_a$. By the definition of $W_i(a)$, this selected value preserves truth of the remaining suffix after $x_i$.
This recursive construction is well-defined from left to right through the prefix: at stage $i$, all earlier Skolem functions have already been defined, and the induction invariant supplies a witness for the current existential quantifier after the preceding universal values are fixed. The invariant is preserved after defining $F_i$ because $F_i(a)$ was chosen from $W_i(a)$ for each tuple $a$. If the next existential quantifier occurs only after further universal quantifiers, the same invariant remains valid after those universal variables are assigned arbitrary elements of $M$, since satisfiability of the intervening universally quantified part means satisfiability for every such assignment.
Now define an $L^{\mathrm{Sk}}$-expansion $\mathcal{M}^{\mathrm{Sk}}$ of $\mathcal{M}$ by interpreting each new function symbol $f_i$ as $F_i$. We claim that $\mathcal{M}^{\mathrm{Sk}}\models \varphi^{\mathrm{Sk}}$.
Let an arbitrary assignment of elements of $M$ be given for all universally quantified variables of the original prefix. Evaluate every Skolem term $f_i(u_i)$ in $\mathcal{M}^{\mathrm{Sk}}$ using the corresponding tuple of preceding universal values. By construction, this value is exactly the witness chosen for the existential variable $x_i$ at that stage of the prefix. Therefore the resulting assignment of values to all variables $x_1,\dots,x_n$ satisfies the quantifier-free matrix $\theta$ in $\mathcal{M}$. Since the universal assignment was arbitrary, the universal closure $\varphi^{\mathrm{Sk}}$ is true in $\mathcal{M}^{\mathrm{Sk}}$.[/step]