  This paper analyzes to what extent it is possible to efficiently reduce the
number of clauses in NP-hard satisfiability problems, without changing the
answer. Upper and lower bounds are established using the concept of
kernelization. Existing results show that if NP is not contained in coNP/poly,
no efficient preprocessing algorithm can reduce n-variable instances of CNF-SAT
with d literals per clause, to equivalent instances with $O(n^{d-e})$ bits for
any e > 0. For the Not-All-Equal SAT problem, a compression to size
$\~O(n^{d-1})$ exists. We put these results in a common framework by analyzing
the compressibility of binary CSPs. We characterize constraint types based on
the minimum degree of multivariate polynomials whose roots correspond to the
satisfying assignments, obtaining (nearly) matching upper and lower bounds in
several settings. Our lower bounds show that not just the number of
constraints, but also the encoding size of individual constraints plays an
important role. For example, for Exact Satisfiability with unbounded clause
length it is possible to efficiently reduce the number of constraints to n+1,
yet no polynomial-time algorithm can reduce to an equivalent instance with
$O(n^{2-e})$ bits for any e > 0, unless NP is a subset of coNP/poly.
