Theorem 4.2 — Under H1–H3 the SDP (15) has quadratic growth at every optimum and a unique solution
ProvedRobustSDP.Uniqueness.theorem_4_2Consider the semidefinite program in the variables ,
where with symmetric , with , , and . This is the robust counterpart of an uncertain SDP under full norm-bounded perturbations with and .
Assume
- H1: (15) is strictly feasible;
- H2: (15) is inf-compact: every sublevel set is bounded;
- H3(a): the nullspace of is the same proper subspace of for all ;
- H3(b): has full column rank for every .
Then (15) satisfies the quadratic growth condition at every optimal point : there are such that every feasible with satisfies
Consequently (15) has exactly one optimal point .
Uniqueness of the robust solution is what makes robustification a regularization of ill-posed SDPs, and quadratic growth is the property from which the paper's Hölder-stability results follow.
Formalization Note The conclusion has both parts of the theorem: quadratic growth at every optimal point, and existence and uniqueness of the optimal pair (existence is part of the paper's claim, via H1 and H2). is the Euclidean norm on ; the paper's form of the QGC is equivalent to this local form. The QGC is stated for (15) rather than for the paper's reformulation (16), with which it agrees near because . The standing assumptions (p. 33) and symmetry of (p. 33) are explicit hypotheses.
import Mathlib import Definitions.Def_RobustSDP_Uniqueness_Model import Definitions.Def_RobustSDP_Uniqueness_Hypotheses open Matrix
namespace RobustSDP.Uniqueness
/-- **Theorem 4.2** (El Ghaoui–Oustry–Lebret 1998, p. 39). If H1–H3 hold, the SDP (15) satisfies the
quadratic growth condition at every optimal point `y_opt = (x_opt, τ_opt)`; consequently (15) has
a unique solution `(x, τ)`. Standing assumptions: `c ≠ 0` and `F₀, …, F_m` symmetric (p. 33). -/
theorem theorem_4_2 {m n p q : ℕ} (D : SDPData m n p q) (c : Fin m → ℝ) (hc : c ≠ 0)
(hsym : D.Symmetric) (h1 : D.Slater) (h2 : D.InfCompact c) (h3a : D.H3a) (h3b : D.H3b) :
(∀ y : (Fin m → ℝ) × ℝ, D.IsOptimal c y → D.QGC c y) ∧
∃! y : (Fin m → ℝ) × ℝ, D.IsOptimal c y := by sorry
end RobustSDP.Uniqueness
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Let be arbitrary natural numbers. The statement then takes three inputs:
- Data . is an object of type
SDPData m n p q, which is defined in the imported moduleDefinitions.Def_RobustSDP_Uniqueness_Model. That definition is not part of the code given to this audit. Its fields, and how enter it (for example as matrix dimensions or numbers of blocks), cannot be read from the statement. - Vector . is a real vector indexed by .
- Candidate points . These are pairs with and , so they live in .
The theorem assumes all six of the following hypotheses:
- , meaning is not the zero vector of .
- satisfies the predicate
Symmetric. - satisfies the predicate
Slater. - satisfies the predicate
InfCompactrelative to . - satisfies the predicate
H3a. - satisfies the predicate
H3b.
The last five predicates come from the imported modules Definitions.Def_RobustSDP_Uniqueness_Model and Definitions.Def_RobustSDP_Uniqueness_Hypotheses. Their definitions are not included in the audited code. This read-back therefore cannot say which conditions on and they impose. In particular, it cannot say whether they can all hold at once, or how they depend on . The only thing visible is that InfCompact depends on and the other four do not. The docstring gives the statement a paper-theorem label and an informal gloss. That text is a comment, not part of the formal assertion, and nothing here is based on it.
The conclusion is the conjunction of two claims. Both use IsOptimal and QGC, which are also defined in the imported modules and not shown here. Write for " satisfies IsOptimal for and ", and for " satisfies QGC for and ".
- (a) Every pair that satisfies
IsOptimalalso satisfiesQGC:
- (b) There is exactly one pair with :
This asserts both that such a pair exists and that it is unique. Uniqueness is of the whole pair, so both the -part and the -part are unique.
Degenerate cases:
- . Then has exactly one element, the empty vector, and that element is the zero vector. So the hypothesis cannot be satisfied, and the theorem says nothing (it is vacuously true) when .
- . The hypothesis can be satisfied.
- , or equal to zero, and junk values. What happens here depends entirely on the imported definitions of
SDPData,Symmetric,Slater,InfCompact,H3a,H3b,IsOptimalandQGC. None of them is visible. So this read-back cannot say:- whether any of the six hypotheses fails, or holds trivially, when those dimensions are zero;
- whether those definitions involve total-function default values, such as division by zero, subtraction in , or infima or suprema of empty or unbounded sets, that could make the hypotheses or conclusions vacuous.
- The six hypotheses together. If they can never all hold at once for some choice of , the theorem is vacuous for that choice. The code shown does not settle whether this happens.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.