Theorem 6.30.8: for a concave bifunction G : ℝ^m → ℝ^n with perturbation function
h = sup G, a vector u* ∈ ℝ^m is a Kuhn--Tucker vector for (Q) if and only if h(0) is
finite and -u* ∈ ∂ h(0). In Lean, finiteness of h(0) is expressed by h 0 ≠ ⊤ and
h 0 ≠ ⊥.
Theorem 6.30.5: if g : ℝ^n → (-∞, +∞] is proper and convex, then for every x, x* ∈ ℝ^n
one has the Fenchel--Young inequality ⟪x, x*⟫ ≤ g x + g*(x*). Moreover, equality holds if and
only if x* is a Euclidean subgradient of g at x, equivalently x* ∈ ∂ g(x) under the
standard identification of ℝ^n with its dual.
Theorem 6.30.6: if g : ℝ^n → (-∞, +∞] is a proper closed convex function and g* is its
Fenchel conjugate, then for every x, x* ∈ ℝ^n one has
x* ∈ ∂ g(x) if and only if x ∈ ∂ g*(x*), where both subdifferentials are interpreted in the
Euclidean sense on Fin n → ℝ.