[proofplan]
The shadow-price inequality says that the affine function with slope $(-\nu^*,-\rho^*)$ supports the convex value function $p$ from below at the origin. This is precisely the assertion that $(-\nu^*,-\rho^*)$ is a subgradient of $p$ at $(0,0)$. We then use the elementary fact that a finite convex function differentiable at a point has exactly one subgradient there, namely its gradient. Applying that fact at the origin gives the envelope formula.
[/proofplan]
[step:Interpret the shadow-price inequality as a subgradient condition]
Define the vector
\begin{align*}
g := (-\nu^*,-\rho^*) \in \mathbb{R}^m \times \mathbb{R}^r.
\end{align*}
For a finite convex function $p: N \to \mathbb{R}$ and a point $z_0 \in N$, a vector $q \in \mathbb{R}^{m+r}$ belongs to the subdifferential $\partial p(z_0)$ when there is a neighbourhood $M \subset N$ of $z_0$ such that, for every $z \in M$,
\begin{align*}
p(z) \geq p(z_0) + q^\top (z-z_0).
\end{align*}
Here we take $z_0 := (0,0)$ and $z := (u,v)$. Since
\begin{align*}
g^\top ((u,v)-(0,0)) = (-\nu^*)^\top u + (-\rho^*)^\top v = -(\nu^*)^\top u - (\rho^*)^\top v,
\end{align*}
the assumed shadow-price inequality is exactly
\begin{align*}
p(u,v) \geq p(0,0) + g^\top ((u,v)-(0,0))
\end{align*}
for every $(u,v) \in N_0$. Hence
\begin{align*}
(-\nu^*,-\rho^*) \in \partial p(0,0).
\end{align*}
[guided]
The multiplier pair gives an affine lower bound for the perturbed value function. To compare this with the definition of a subgradient, we first package the two multiplier vectors into one vector:
\begin{align*}
g := (-\nu^*,-\rho^*) \in \mathbb{R}^m \times \mathbb{R}^r.
\end{align*}
The subgradient condition at the origin says that $g$ is a valid supporting slope for $p$ at $(0,0)$. Written out, this means that for all perturbations $(u,v)$ in some neighbourhood of the origin,
\begin{align*}
p(u,v) \geq p(0,0) + g^\top ((u,v)-(0,0)).
\end{align*}
Now compute the affine term using the definition of $g$:
\begin{align*}
g^\top ((u,v)-(0,0)) = (-\nu^*)^\top u + (-\rho^*)^\top v = -(\nu^*)^\top u - (\rho^*)^\top v.
\end{align*}
Therefore the displayed subgradient inequality is exactly the shadow-price inequality assumed in the statement:
\begin{align*}
p(u,v) \geq p(0,0) - (\nu^*)^\top u - (\rho^*)^\top v.
\end{align*}
Thus the shadow-price inequality is not merely analogous to a subgradient condition; it is precisely the subgradient condition for the vector $(-\nu^*,-\rho^*)$ at the origin. Hence
\begin{align*}
(-\nu^*,-\rho^*) \in \partial p(0,0).
\end{align*}
[/guided]
[/step]
[step:Show that differentiability makes the subdifferential a singleton]
Let $q \in \partial p(0,0)$ be arbitrary. We prove that $q = \nabla p(0,0)$. Let $w \in \mathbb{R}^m \times \mathbb{R}^r$ be arbitrary. Since $N$ is open and contains $(0,0)$, there exists $\varepsilon_w > 0$ such that $tw \in N$ whenever $|t| < \varepsilon_w$.
For $0 < t < \varepsilon_w$, the subgradient inequality applied at $tw$ gives
\begin{align*}
p(tw) \geq p(0,0) + t q^\top w.
\end{align*}
After subtracting $p(0,0)$ and dividing by $t > 0$, we obtain
\begin{align*}
\frac{p(tw)-p(0,0)}{t} \geq q^\top w.
\end{align*}
Since $p$ is differentiable at $(0,0)$, the directional difference quotient converges to $\nabla p(0,0)^\top w$ as $t \downarrow 0$. Therefore
\begin{align*}
\nabla p(0,0)^\top w \geq q^\top w.
\end{align*}
Apply the same argument to the direction $-w$. For $0 < t < \varepsilon_w$, the subgradient inequality applied at $-tw$ gives
\begin{align*}
p(-tw) \geq p(0,0) - t q^\top w.
\end{align*}
Subtracting $p(0,0)$, dividing by $t>0$, and sending $t \downarrow 0$ gives
\begin{align*}
-\nabla p(0,0)^\top w \geq -q^\top w.
\end{align*}
Equivalently,
\begin{align*}
\nabla p(0,0)^\top w \leq q^\top w.
\end{align*}
Combining the two inequalities yields
\begin{align*}
\nabla p(0,0)^\top w = q^\top w.
\end{align*}
Since $w \in \mathbb{R}^{m+r}$ was arbitrary, the Euclidean [inner product](/page/Inner%20Product) separates vectors, so $q = \nabla p(0,0)$. Hence
\begin{align*}
\partial p(0,0) = \{\nabla p(0,0)\}.
\end{align*}
[/step]
[step:Identify the multiplier vector with the gradient]
From the first step,
\begin{align*}
(-\nu^*,-\rho^*) \in \partial p(0,0).
\end{align*}
From the second step,
\begin{align*}
\partial p(0,0) = \{\nabla p(0,0)\}.
\end{align*}
Therefore
\begin{align*}
(-\nu^*,-\rho^*) = \nabla p(0,0).
\end{align*}
This proves the envelope formula. If the optimal multiplier pair is unique, then this identity determines that unique pair by reading off the negative of the gradient components corresponding to the perturbation variables $u$ and $v$.
[/step]