[step:Handle existential quantifiers by choosing coordinate witnesses on a large set]Assume the theorem holds for $\psi(y,x_1,\dots,x_n)$. Let
\begin{align*}
\varphi(x_1,\dots,x_n) \equiv \exists y\,\psi(y,x_1,\dots,x_n).
\end{align*}
First suppose
\begin{align*}
M \models \exists y\,\psi(y,[a_1]_{\mathcal U},\dots,[a_n]_{\mathcal U}).
\end{align*}
Then there is an element $[b]_{\mathcal U}\in M$, represented by some $b \in P$, such that
\begin{align*}
M \models \psi([b]_{\mathcal U},[a_1]_{\mathcal U},\dots,[a_n]_{\mathcal U}).
\end{align*}
By the induction hypothesis,
\begin{align*}
\{i \in I : M_i \models \psi(b(i),a_1(i),\dots,a_n(i))\}\in \mathcal U.
\end{align*}
This set is contained in
\begin{align*}
\{i \in I : M_i \models \exists y\,\psi(y,a_1(i),\dots,a_n(i))\},
\end{align*}
so upward closure of $\mathcal U$ gives
\begin{align*}
\|\varphi(a_1,\dots,a_n)\|\in \mathcal U.
\end{align*}
Conversely, suppose
\begin{align*}
A :=
\{i \in I : M_i \models \exists y\,\psi(y,a_1(i),\dots,a_n(i))\}
\in \mathcal U.
\end{align*}
For each $i \in A$, choose $b(i)\in |M_i|$ such that
\begin{align*}
M_i \models \psi(b(i),a_1(i),\dots,a_n(i)).
\end{align*}
For each $i \in I\setminus A$, choose an arbitrary element $b(i)\in |M_i|$, possible because each $M_i$ is nonempty. This defines an element $b\in P$. Since
\begin{align*}
A \subset
\{i \in I : M_i \models \psi(b(i),a_1(i),\dots,a_n(i))\},
\end{align*}
upward closure of $\mathcal U$ gives
\begin{align*}
\{i \in I : M_i \models \psi(b(i),a_1(i),\dots,a_n(i))\}\in \mathcal U.
\end{align*}
By the induction hypothesis,
\begin{align*}
M \models \psi([b]_{\mathcal U},[a_1]_{\mathcal U},\dots,[a_n]_{\mathcal U}).
\end{align*}
Therefore
\begin{align*}
M \models \exists y\,\psi(y,[a_1]_{\mathcal U},\dots,[a_n]_{\mathcal U}).
\end{align*}[/step]