The rank-2 polynomial model #
This file and Socp.lean define the formal model behind the main theorem. The
statement-level definitions below (Poly, UPair, sigma2, A, residual,
IsSOS) are duplicated verbatim in the root module Challenge.lean, which is
the statement surface audited by the Palomar registry. Palomar's Comparator
requires the two copies to elaborate to identical terms, so the import list of
this file must stay equal to the import list of Challenge.lean, and the
duplicated definitions must not be edited in one place without the other.
Equations
Instances For
UPair is the rank-2 factor variable \vec u = (u₁,u₂) from the paper.
We work throughout with pairs because the paper's proof of the no-spurious-SOCP
theorem treats the case r = 2, the Pythagoras number of univariate
polynomials; this development formalizes exactly that case.
Instances For
The primal residual σ(u) - p. Vanishing of this residual is exactly the
statement that u is a global minimizer for the polynomial p.
Equations
Instances For
IsSOS p is the concrete rank-2 SOS representation used in the paper:
p = q₁² + q₂². Since every nonnegative univariate polynomial is a sum of two
squares, this is the right notion of feasibility for the main theorem.
Equations
- LowRankUnivariateSOS.IsSOS p = ∃ (q₁ : LowRankUnivariateSOS.Poly) (q₂ : LowRankUnivariateSOS.Poly), p = q₁ ^ 2 + q₂ ^ 2
Instances For
Membership in the image of A_u. In the paper this is the condition
q ∈ im(A_u).
Equations
- LowRankUnivariateSOS.InImageA u q = ∃ (v : LowRankUnivariateSOS.UPair), LowRankUnivariateSOS.A u v = q
Instances For
Membership in the kernel of A_u. In the paper this is v ∈ ker(A_u).
Equations
- LowRankUnivariateSOS.InKerA u v = (LowRankUnivariateSOS.A u v = 0)
Instances For
Membership in the cone generated by σ(ker(A_u)). This is the cone term
in the paper's sufficient condition (C2): im(A_u) + cone(σ(ker(A_u))).
Equations
- LowRankUnivariateSOS.InSigmaKerCone u q = ∃ (ws : Finset LowRankUnivariateSOS.UPair), (∀ w ∈ ws, LowRankUnivariateSOS.InKerA u w) ∧ q = ws.sum LowRankUnivariateSOS.sigma2