Proof Complexity and SAT Solving Sam Buss and Jakob Nordstr¨Om
Total Page:16
File Type:pdf, Size:1020Kb
✐ ✐ “ProofComplexityChapter” — 2020/10/20 — 20:48 — page 233 — #1 ✐ ✐ Handbook of Satisfiability 233 Armin Biere, Marijn Heule, Hans van Maaren and Toby Walsh IOS Press, 2021 © 2021 Sam Buss and Jakob Nordstr¨om. All rights reserved. Chapter 7 Proof Complexity and SAT Solving Sam Buss and Jakob Nordstr¨om 7.1. Introduction The satisfiability problem (SAT) — i.e., to determine whether a given a formula in propositional logic has a satisfying assignment or not — is of central importance to both the theory of computer science and the practice of automatic theorem proving and proof search. Proof complexity — i.e., the study of the complexity of proofs and the difficulty of searching for proofs — joins the theoretical and practical aspects of satisfiability. For theoretical computer science, SAT is the canonical NP-complete problem, even for conjunctive normal form (CNF) formulas [Coo71, Lev73]. In fact, SAT is very efficient at expressing problems in NP in that many of the standard NP- complete problems, including the question of whether a (nondeterministic) Turing machine halts within n steps, have very efficient, almost linear time, reductions to the satisfiability of CNF formulas.1 A popular hypothesis in the computational complexity community is the Strong Exponential Time Hypothesis (SETH), which says that any algorithm for solving CNF SAT must have worst-case running time (roughly) 2n on instances with n variables [IP01, CIP09]. This hypothesis has been widely studied in recent years, and has served as a basis for proving conditional hardness results for many other problems. In other words, CNF SAT serves as the canonical hard decision problem, and is frequently conjectured to require exponential time to solve. In contrast, for practical theorem proving, CNF SAT is the core method for encoding and solving problems. On one hand, the expressiveness of CNF formulas means that a large variety of problems can be faithfully and straightforwardly translated into CNF SAT problems. On the other hand, the message that SAT is supposed to be hard to solve does not seem to have reached practitioners of SAT solving; instead, there has been enormous improvements in performance in SAT algorithms over the last decades. Amazingly, state-of-the-art algorithms for deciding satisfiability — so-called SAT solvers — can routinely handle real-world 1Formally, these reductions run in quasilinear time, i.e. time at most n(log n)k for some constant k. For these quasilinear time reductions of the Turing machine halting problem to CNF SAT, see [Sch78, PF79, Rob79, Rob91, Coo88]. ✐ ✐ ✐ ✐ ✐ ✐ “ProofComplexityChapter” — 2020/10/20 — 20:48 — page 234 — #2 ✐ ✐ 234 Chapter 7. Proof Complexity and SAT Solving instances involving hundreds of thousands or even millions of variables. It is a dramatic development that SAT solvers can often run in (close to) linear time! Thus, theoreticians view SAT as being infeasible, while practitioners view it as being (often) feasible. There is no contradiction here. First, it is possible construct tiny formulas with just a few hundred variables that are totally beyond reach for even the best of today’s solvers. Conversely, the large instances which are solved by SAT solvers are based on problems that seem to be “easy” in some sense, although they are very large. However, we currently lack a good theoretical explanation for what makes these problems “easy”. Most SAT solvers are general-purpose and written in a very generic way that does not seem to exploit special properties of the underlying problem. Nonetheless, although SAT solvers will sometimes fail miserably, they succeed much more frequently than might be expected. This raises the questions of how practical SAT solvers can perform so well on many large problems and of what distinguishes problems that can be solved by SAT solvers from problems that cannot. The best current SAT solvers are based on conflict-driven clause learning (CDCL) [MS99, MMZ+01].2 Some solvers also incorporate elements of algebraic reasoning (e.g., Gaussian elimination) and/or geometric reasoning (e.g., linear in- equalities), or use algebraic or geometric methods as the foundation rather than CDCL. Another augmentation of CDCL that has attracted much interest is ex- tended resolution (ER). How can we analyze the power of such algorithms? Our best approach is to study the underlying methods of reasoning and what they are able or unable to do in principle. This leads to the study of proof systems such as resolution, extended resolution, Nullstellensatz, polynomial calculus, cutting planes, et cetera. Proof complexity, as initiated in modern form by [CR79, Rec75], studies these system mostly from the viewpoint of the complexity of static, com- pleted proofs. With a few exceptions (perhaps most notably automatability3 as defined in [BPR00]), research in proof complexity ignores the constructive, algo- rithmic aspects of SAT solvers. Nonetheless, proof complexity has turned out to be a very useful tool for studying practical SAT solvers, in particular, because it is a way to obtain mathematically rigorous bounds on solver performance. Lower bounds on the complexity of proofs in a proof systems show fundamen- tal limitations on what one can hope to achieve using SAT solvers based on the corresponding method of reasoning. Conversely, upper bounds can be viewed as indications of what should be possible to achieve using a method of reasoning, if only proof search using this method could be implemented efficiently enough. We want to stress, though, that the tight connections to proof complexity come with a price. Since proof complexity studies what reasoning can be achieved by a method in principle, ignoring the algorithmic challenge of actually imple- menting such reasoning, it becomes very hard to say anything meaningful about satisfiable formulas. In principle, it is very hard to rule out that a solver could simply zoom in on a satisfying assignment right away, and this will of course only take linear time. For unsatisfiable formulas, however, a (complete) solver will have to certify that there is no satisfying assignment, and for many SAT 2A similar technique for constraint satisfaction problems (CSPs) was independently devel- oped in [BS97]. 3Automatability is sometimes also called automatizability. ✐ ✐ ✐ ✐ ✐ ✐ “ProofComplexityChapter” — 2020/10/20 — 20:48 — page 235 — #3 ✐ ✐ Chapter 7. Proof Complexity and SAT Solving 235 solving methods used in practice this is a computational task that is amenable to mathematical analysis. This article, therefore, will focus almost exclusively on unsatisfiable formulas. This is, admittedly, a severe limitation, but it is dictated by the limitations of our current mathematical knowledge. There has been some work on proof complexity of satisfiable formulas by reducing this to problems about unsatisfiable subformulas (e.g., in [AHI05]), but the literature here is very limited. Having said this, we want to point out that the setting of unsatisfiable formulas is nevertheless very interesting, since in many real-world applications proving unsatisfiability is the objective, and conventional wisdom is that such instances are often the hardest ones. This chapter is intended as an overview of the connection between SAT solv- ing and proof complexity aimed at readers who wish to become more familiar with either (or both) of these areas. We focus on the proof systems underlying current approaches to SAT solving. Our goal is first to explain how SAT solvers correspond to proof systems and second to review some of the complexity results known for these proof systems. We will discuss resolution (corresponding to basic CDCL proof search), Nullstellensatz and polynomial calculus (corresponding to algebraic approaches such as Gr¨obner basis computations), cutting planes (cor- responding to pseudo-Boolean solving), extended resolution (corresponding to the DRAT proof logging system used for CDCL solvers with pre-/inprocessing), and will also briefly touch on Frege systems and bounded-depth Frege systems. We want to emphasize that we do not have space to cover more than a small part of the research being done in proof complexity. Some useful mate- rial for further reading are the survey articles [BP98a, Seg07] and the recent book [Kra19]. Additionally, we would like to mention the authors’ own surveys [Bus99, Bus12, Nor13]. The present chapter is adapted from and partially over- laps with the second author’s survey [Nor15], but has been thoroughly rewritten and substantially expanded with new material. 7.1.1. Outline of This Survey Chapter The rest of this chapter is organized as follows. Section 7.2 presents a quick review of preliminaries. We discuss the resolution proof system and describe the connection to CDCL SAT solvers in Section 7.3, and then give an overview of some of the proof complexity results known for resolution in Section 7.4. In Section 7.5 we consider the algebraic proof systems Nullstellensatz and polynomial calculus, and also briefly touch on algebraic SAT solving. In Section 7.6 we move on to the geometric proof system cutting planes and the connections to conflict-driven pseudo-Boolean solving, after which we give an overview of what is known in proof complexity about different flavours of the cutting planes proof system in Section 7.7. We review extended resolution and DRAT in Section 7.8, and then continue to Frege and extended Frege proof systems and bounded-depth Frege systems in Sections 7.9 and 7.10. Section 7.11 gives some concluding remarks. 7.2. Preliminaries We use the notation [n] = 1, 2,...,n for n a positive integer. We write N = 0, 1, 2, 3,... to denote the{ set of all natural} numbers and N+ = N 0 for the { } \{ } ✐ ✐ ✐ ✐ ✐ ✐ “ProofComplexityChapter” — 2020/10/20 — 20:48 — page 236 — #4 ✐ ✐ 236 Chapter 7. Proof Complexity and SAT Solving set of positive integers. 7.2.1. Propositional Logic A Boolean variable x ranges over values true and false; unless otherwise stated, we identify 1 with true and 0 with false.