Recently I have seen several articles on arxiv that refer to a proof system called sum-of-squares.

Can someone explain what is a sum-of-squares proof and why such proofs are important/interesting?

How are they related to other algebraic proof systems? Are they some kind of dual to Lassere?

  • 11
    $\begingroup$ There is some overview in arxiv.org/abs/1211.1958 . The basic SOS system is defined in passing on page 3 (look for Grigoriev and Vorobjov). $\endgroup$ Commented Nov 20, 2012 at 17:50
  • 3
    $\begingroup$ @Emil, it seems that the paper contains the answers to the questions in the post (it explains the system, its history, and its relevance to recent works), why not post your comment as an answer? $\endgroup$
    – Kaveh
    Commented Nov 21, 2012 at 5:35
  • $\begingroup$ @EmilJeřábek I will accept your comment if you post an expanded version of it as an answer. $\endgroup$
    – Anonymous
    Commented Nov 15, 2013 at 18:57
  • 2
    $\begingroup$ OK, I’ve done that, though I’d have preferred if it were answered by someone who actually understands these systems. $\endgroup$ Commented Dec 10, 2013 at 20:56

2 Answers 2


The basic sum-of-squares proof system, introduced under the name of Positivstellensatz refutations by Grigoriev and Vorobjov, is a “static” proof system for showing that a set of polynomial equations and inequations $$S=\{f_1=0,\dots,f_k=0,h_1\ge0,\dots,h_m\ge0\},$$ where $f_1,\dots,f_k,h_1,\dots,h_m\in\mathbb R[x_1,\dots,x_n]$, has no common solution in $\mathbb R^n$: a refutation of $S$ is given by polynomials $g_i$ and $e_{I,j}$ such that $$\tag{$*$}-1=\sum_{i=1}^kg_if_i+\sum_{I\subseteq\{1,\dots,m\}}\sum_je_{I,j}^2\prod_{i\in I}h_i.$$ (One could work with any real-closed field in place of $\mathbb R$.) Stengle’s Positivstellensatz guarantees that $S$ has a refutation if and only if it has no solution. The main complexity measure here is the degree of the refutation, which is the maximum of total degrees of the polynomials that appear under the sum signs in $(*)$, that is, $g_if_i$ and $e_{I,j}^2\prod_{i\in I}h_i$.

As usual with algebraic proof systems, one can also consider it as a refutation system for unsatisfiable Boolean formulas $\phi$ by including in $S$ the axioms $x_i^2-x_i$ for each variable $x_i$, and a translation of $\phi$ by polynomial inequalities.

More on the history and development of SOS systems can be found in http://arxiv.org/abs/1211.1958 .

  • 1
    $\begingroup$ Is there a standard book? $\endgroup$
    – user34945
    Commented Oct 19, 2015 at 22:28
  • 1
    $\begingroup$ Also are there any use of model theory here? $\endgroup$
    – user34945
    Commented Oct 19, 2015 at 22:28
  • 2
    $\begingroup$ Laserre has a recent book on the optimization aspects. "An Introduction to Polynomial and Semi-Algebraic Optimization" published by Cambridge University Press. $\endgroup$ Commented Oct 20, 2015 at 1:20

SOS can be considered as a proof system where lines are of the form $p(\vec{x}) \geq 0$ where $p(\vec{x})$ is a polynomial in variables $\vec{x}$.

The inference rules are:

  1. $\over x^2-x \geq 0$
  2. $\over x-x^2 \geq 0$
  3. $\over p(\vec{x})^2\geq 0$
  4. $p(\vec{x}) \geq 0 \over p(\vec{x})x \geq 0$
  5. $p(\vec{x}) \geq 0 \over p(\vec{x})(1-x) \geq 0$
  6. $p_1(\vec{x}) \geq 0, \cdots, p_m(\vec{x}) \geq 0 \over \sum_{i=1}^m c_ip_i(\vec{x}) \geq 0$ where $c_1, \cdots, c_m \in \mathbb{R}^+$

The main difference from previous systems is that we have a rule for $p(\vec{x})^2\geq 0$.

There are nice connections with semidefinite programming and approximation algorithms.

For more check out Albert Atserias's recent talk at BIRS workshop Theoretical Foundations of Applied SAT Solving:

  • $\begingroup$ Is this formulation the same as Emil's? Yours is "dynamic", and hence allows for DAG-like proofs, where Emil's is "static", and hence seems to correspond to a tree-like version of yours. So, apparently they are different with respect to complexity (e.g., degree, size in terms of number of monomials, and number of lines). Is this true? $\endgroup$ Commented Feb 17, 2014 at 11:12
  • $\begingroup$ @Iddo, I think you are right. A complexity measure may not be the same. Albert explains in his talk very briefly the correspondence for the main interesting complexity measure if I remember correctly, but if one is interested in other measures then there is a need to be more careful in formulation. $\endgroup$
    – Kaveh
    Commented Feb 17, 2014 at 12:22
  • $\begingroup$ @Kaveh I put up two related questions if you can kindly help, (1) cstheory.stackexchange.com/questions/30930/… (2) cstheory.stackexchange.com/questions/30932/… $\endgroup$
    – user6818
    Commented Mar 27, 2015 at 16:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.