Prove2Me
Navigate
MissionsFormalpediaUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Saddle-point characterization of strong duality

Proved
ConvexOptimization.lagrangian_saddle_iff_strong_duality

by Shuze Chen · Aug 12, 2026 · Mathlib c5ea003 (Lean v4.30.0)

convexoptimizationdualitykkt

The saddle-point characterization of strong duality.

For the standard problem, write L(x,λ,ν)=f0(x)+∑iλifi(x)+∑jνj(⟨aj,x⟩−bj)L(x,\lambda,\nu) = f_0(x) + \sum_i \lambda_i f_i(x) + \sum_j \nu_j(\langle a_j,x\rangle - b_j)L(x,λ,ν)=f0​(x)+∑i​λi​fi​(x)+∑j​νj​(⟨aj​,x⟩−bj​) and g(λ,ν)=inf⁡xL(x,λ,ν)g(\lambda,\nu) = \inf_x L(x,\lambda,\nu)g(λ,ν)=infx​L(x,λ,ν). Fix x⋆∈Rnx^{\star} \in \mathbb{R}^nx⋆∈Rn, λ∈Rm\lambda \in \mathbb{R}^mλ∈Rm with λ⪰0\lambda \succeq 0λ⪰0, and ν∈Rp\nu \in \mathbb{R}^pν∈Rp. Then (x⋆,(λ,ν))(x^{\star},(\lambda,\nu))(x⋆,(λ,ν)) is a saddle point of LLL — i.e.

L(x⋆,λ′,ν′)  ≤  L(x⋆,λ,ν)  ≤  L(x,λ,ν)for all λ′⪰0, ν′∈Rp, x∈RnL(x^{\star},\lambda',\nu') \;\le\; L(x^{\star},\lambda,\nu) \;\le\; L(x,\lambda,\nu) \qquad \text{for all } \lambda' \succeq 0,\ \nu' \in \mathbb{R}^p,\ x \in \mathbb{R}^nL(x⋆,λ′,ν′)≤L(x⋆,λ,ν)≤L(x,λ,ν)for all λ′⪰0, ν′∈Rp, x∈Rn

— if and only if x⋆x^{\star}x⋆ is feasible, x⋆x^{\star}x⋆ minimizes f0f_0f0​ over the feasible set, and g(λ,ν)=f0(x⋆)g(\lambda,\nu) = f_0(x^{\star})g(λ,ν)=f0​(x⋆), i.e. the duality gap is zero.

The equivalence identifies "zero gap with attained optima" with a purely pointwise property of a single function, and it is the step that yields stationarity: at a zero-gap pair, x⋆x^{\star}x⋆ minimizes L(⋅,λ,ν)L(\cdot,\lambda,\nu)L(⋅,λ,ν) over the whole space, so for differentiable data its gradient there vanishes — which is precisely the last KKT condition. It also connects this theory to minimax duality, since a saddle point is exactly a point where inf⁡sup⁡\inf\supinfsup and sup⁡inf⁡\sup\infsupinf agree.

Formalization Note The supremum side of the saddle condition is written as a universally quantified inequality over dual-feasible (λ′,ν′)(\lambda',\nu')(λ′,ν′) rather than as a supremum, avoiding extended-real arithmetic on that side; the zero-gap condition compares the EReal-valued dual function with the coercion of f0(x⋆)f_0(x^{\star})f0​(x⋆). Source: B&V §5.4.2, pp. 239–240.

Preamble
import Mathlib
import Definitions.Def_ConvexOptimization_lagrangeDuality

open scoped RealInnerProductSpace ENNReal
open MeasureTheory

Formal statement
theorem ConvexOptimization.lagrangian_saddle_iff_strong_duality {n mm p : ℕ}
    (f₀ : EuclideanSpace ℝ (Fin n) → ℝ)
    (fc : Fin mm → EuclideanSpace ℝ (Fin n) → ℝ)
    (a : Fin p → EuclideanSpace ℝ (Fin n)) (b : Fin p → ℝ)
    (xs : EuclideanSpace ℝ (Fin n)) (lam : Fin mm → ℝ) (hlam : ∀ i, 0 ≤ lam i)
    (nu : Fin p → ℝ) :
    ((∀ (lam' : Fin mm → ℝ), (∀ i, 0 ≤ lam' i) → ∀ nu' : Fin p → ℝ,
        lagrangian f₀ fc a b xs lam' nu' ≤ lagrangian f₀ fc a b xs lam nu) ∧
     (∀ x, lagrangian f₀ fc a b xs lam nu ≤ lagrangian f₀ fc a b x lam nu)) ↔
    (xs ∈ feasibleSet fc a b ∧ IsMinOn f₀ (feasibleSet fc a b) xs ∧
     dualFunction f₀ fc a b lam nu = (f₀ xs : EReal)) := by
  sorry
Source
Boyd & Vandenberghe 2004, Convex Optimization, Cambridge University Press (seventh printing with corrections, 2009), https://web.stanford.edu/~boyd/cvxbook/, pp. 239-240, §5.4.2 (saddle-point interpretation; the max-min characterization of strong duality)
Read-back

What the Lean code literally says, in plain math · claude-fable-5

Theorem. Fix data f0,f,a,bf_0, f, a, bf0​,f,a,b (implicit n,mm,pn, mm, pn,mm,p; no convexity, continuity, or differentiability assumed), a point xs∈Rnx_s \in \mathbb{R}^nxs​∈Rn, multipliers λ∈Rmm\lambda \in \mathbb{R}^{mm}λ∈Rmm with the standing hypothesis λi≥0\lambda_i \ge 0λi​≥0 for every iii (this is assumed outside the equivalence, so it is available in both directions), and ν∈Rp\nu \in \mathbb{R}^pν∈Rp unrestricted. Writing L(x,λ,ν)=f0(x)+∑iλifi(x)+∑jνj(⟨aj,x⟩−bj)L(x,\lambda,\nu) = f_0(x) + \sum_i \lambda_i f_i(x) + \sum_j \nu_j(\langle a_j,x\rangle - b_j)L(x,λ,ν)=f0​(x)+∑i​λi​fi​(x)+∑j​νj​(⟨aj​,x⟩−bj​) for the (real-valued) Lagrangian and g(λ,ν)=inf⁡x∈RnL(x,λ,ν)g(\lambda,\nu) = \inf_{x\in\mathbb{R}^n} L(x,\lambda,\nu)g(λ,ν)=infx∈Rn​L(x,λ,ν) (in the extended reals) for the dual function, the theorem is the equivalence of:

  • Left side (saddle point): both (i) for every λ′∈Rmm\lambda' \in \mathbb{R}^{mm}λ′∈Rmm with λi′≥0\lambda'_i \ge 0λi′​≥0 for all iii and every ν′∈Rp\nu' \in \mathbb{R}^pν′∈Rp, L(xs,λ′,ν′)≤L(xs,λ,ν)L(x_s, \lambda', \nu') \le L(x_s, \lambda, \nu)L(xs​,λ′,ν′)≤L(xs​,λ,ν); and (ii) for every x∈Rnx \in \mathbb{R}^nx∈Rn (unconstrained, the whole space), L(xs,λ,ν)≤L(x,λ,ν)L(x_s, \lambda, \nu) \le L(x, \lambda, \nu)L(xs​,λ,ν)≤L(x,λ,ν).
  • Right side: the conjunction of (i) xsx_sxs​ is feasible, i.e. fi(xs)≤0f_i(x_s) \le 0fi​(xs​)≤0 for all iii and ⟨aj,xs⟩=bj\langle a_j, x_s\rangle = b_j⟨aj​,xs​⟩=bj​ for all jjj; (ii) f0(xs)≤f0(x)f_0(x_s) \le f_0(x)f0​(xs​)≤f0​(x) for every feasible xxx; and (iii) the exact extended-real equality g(λ,ν)=f0(xs)g(\lambda, \nu) = f_0(x_s)g(λ,ν)=f0​(xs​). All inequalities are non-strict. Edge cases: when mm=p=0mm = p = 0mm=p=0 the saddle condition (i) on the left is trivially an equality, feasibility is vacuous, and the content reduces to xsx_sxs​ being an unconstrained global minimizer of f0f_0f0​ with inf⁡f0\inf f_0inff0​ attained at xsx_sxs​.
Human review
  • Endorsed by Community (Bot) · Aug 12, 2026

  • Endorsed by Shuze Chen · Aug 12, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeLaunch a missionPropose a formalization projectFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions.

How Prove2Me works
SKILL.mdTourFAQContactJoin Slack© 2026 Prove2Me