[step:Separate attainable levels from strict objective improvement]Let $x^* \in \mathbb{R}^n$ denote the primal optimal point in the theorem statement, and let $p^* = f_0(x^*)$ denote the primal optimal value. Define the convex set
\begin{align*}
C := \{(u,t) \in \mathbb{R}^m \times \mathbb{R} : \text{there exists } x \in \mathbb{R}^n \text{ with } Ax=b,\ f_i(x) \leq u_i \text{ for all } i,\ f_0(x)-p^* \leq t\}.
\end{align*}
The set $C$ is nonempty because it contains $(f_1(x^*),\dots,f_m(x^*),0)$, and convexity of $C$ follows from convexity of $f_0,\dots,f_m$ and linearity of the constraint $Ax=b$.
Define the open convex set
\begin{align*}
D := (-\infty,0)^m \times (-\infty,0) \subset \mathbb{R}^m \times \mathbb{R}.
\end{align*}
The sets $C$ and $D$ are disjoint: if $(u,t) \in C \cap D$, then some $x \in \mathbb{R}^n$ satisfies $Ax=b$, $f_i(x)<0$ for all $i$, and $f_0(x)<p^*$, contradicting the definition of $p^*$.
Thus $C$ is a nonempty convex set, while $D$ is an open convex set disjoint from $C$. We use the finite-dimensional strict separating hyperplane theorem in the following explicit form: if $C_1 \subset \mathbb{R}^k$ is nonempty and convex, $C_2 \subset \mathbb{R}^k$ is open and convex, and $C_1 \cap C_2=\varnothing$, then there exist a nonzero vector $a \in \mathbb{R}^k$ and a scalar $\gamma \in \mathbb{R}$ such that $a \cdot z_1 \geq \gamma \geq a \cdot z_2$ for all $z_1 \in C_1$ and $z_2 \in C_2$. Applying this theorem with $k=m+1$, $C_1=C$, and $C_2=D$, there exist $(\nu,\mu) \in \mathbb{R}^m \times \mathbb{R}$, not both zero, and $\gamma \in \mathbb{R}$ such that
\begin{align*}
\nu \cdot u + \mu t \geq \gamma \geq \nu \cdot v + \mu s
\end{align*}
for every $(u,t) \in C$ and every $(v,s) \in D$.
Since $v_i$ and $s$ may tend independently to $-\infty$ inside $D$, the inequality on $D$ forces
\begin{align*}
\nu_i \geq 0 \text{ for } i=1,\dots,m.
\end{align*}
and
\begin{align*}
\mu \geq 0.
\end{align*}
Also, taking $(v,s) \to (0,0)$ with $(v,s) \in D$ gives $\gamma \geq 0$.
Because $x^*$ is feasible and optimal, the point
\begin{align*}
(f_1(x^*),\dots,f_m(x^*),0)
\end{align*}
belongs to $C$. Hence
\begin{align*}
\sum_{i=1}^m \nu_i f_i(x^*) \geq \gamma \geq 0.
\end{align*}
On the other hand, $\nu_i \geq 0$ and $f_i(x^*) \leq 0$ for each $i$, so
\begin{align*}
\sum_{i=1}^m \nu_i f_i(x^*) \leq 0.
\end{align*}
Therefore
\begin{align*}
\gamma = 0,\qquad \sum_{i=1}^m \nu_i f_i(x^*) = 0.
\end{align*}
Since each summand $\nu_i f_i(x^*)$ is nonpositive, this implies
\begin{align*}
\nu_i f_i(x^*) = 0 \text{ for every } i=1,\dots,m.
\end{align*}
It remains in this step to show $\mu>0$. Suppose instead that $\mu=0$. Since $(\nu,\mu)$ is nonzero, $\nu \neq 0$. Let $\bar{x}$ be the Slater point. Then
\begin{align*}
(f_1(\bar{x}),\dots,f_m(\bar{x}),f_0(\bar{x})-p^*) \in C,
\end{align*}
so separation gives
\begin{align*}
\sum_{i=1}^m \nu_i f_i(\bar{x}) \geq 0.
\end{align*}
But $\nu \in \mathbb{R}^m_+ \setminus \{0\}$ and $f_i(\bar{x})<0$ for every $i$, so
\begin{align*}
\sum_{i=1}^m \nu_i f_i(\bar{x}) < 0,
\end{align*}
a contradiction. Thus $\mu>0$.
Define $\nu^* \in \mathbb{R}^m_+$ by
\begin{align*}
\nu_i^* := \frac{\nu_i}{\mu} \text{ for } i=1,\dots,m.
\end{align*}
For every $x \in \mathbb{R}^n$ with $Ax=b$, the point
\begin{align*}
(f_1(x),\dots,f_m(x),f_0(x)-p^*)
\end{align*}
belongs to $C$, so
\begin{align*}
f_0(x)+\sum_{i=1}^m \nu_i^* f_i(x) \geq p^*.
\end{align*}
At $x=x^*$, complementary slackness gives equality.[/step]