practical proof systems for sat and qbf
play

Practical Proof Systems for SAT and QBF Marijn J.H. Heule Dagstuhl - PowerPoint PPT Presentation

Practical Proof Systems for SAT and QBF Marijn J.H. Heule Dagstuhl Seminar on SAT and Interactions September 20, 2016 1/47 Introduction to SAT and QBF Proof Checking Clausal Proof Systems for SAT and QBF Abstract Proof System for SAT


  1. Practical Proof Systems for SAT and QBF Marijn J.H. Heule Dagstuhl Seminar on SAT and Interactions September 20, 2016 1/47

  2. Introduction to SAT and QBF Proof Checking Clausal Proof Systems for SAT and QBF Abstract Proof System for SAT Inprocessing Clausal Proofs for QBF Preprocessing From Clausal Proofs to Skolem Functions Future Directions and Conclusions 2/47

  3. SAT and QBF solving have many applications... graph theory train safety formal verification bioinformatics planning cryptography combinatorics rewrite termination encode solver decode ..., but how can we be sure that their results are correct? 3/47

  4. Motivation for validating unsatisfiability proofs Satisfiability solvers are used in amazing ways... ◮ Hardware and software verification (Intel and Microsoft) ◮ Hard-Combinatorial problems: ◮ van der Waerden numbers [Dransfield, Marek, and Truszczynski, 2004; Kouril and Paul, 2008] ◮ Gardens of Eden in Conway’s Game of Life [Hartman, Heule, Kwekkeboom, and Noels, 2013] ◮ Erdős Discrepancy Problem [Konev and Lisitsa, 2014] ..., but SAT solvers may have errors and only return yes/no. ◮ Documented bugs in SAT, SMT, and QBF solvers [Brummayer and Biere, 2009; Brummayer et al., 2010] ◮ Implementation errors often imply conceptual errors ◮ Proofs now mandatory for the annual SAT Competitions. ◮ Mathematical results require a stronger justification than a simple yes/no by a solver. UNSAT must be checkable. 4/47

  5. Proofs and Refutations A clause C is solutions-preserving with respect to a formula F if all solutions of F satisfy C (denoted by ≡ ). A proof trace is a sequence of solutions-preserving clauses. Solutions-preserving should be checkable in polynomial time. Formula Proof 5/47

  6. Proofs and Refutations A clause C is solutions-preserving with respect to a formula F if all solutions of F satisfy C (denoted by ≡ ). A proof trace is a sequence of solutions-preserving clauses. Solutions-preserving should be checkable in polynomial time. ≡ Formula Proof 5/47

  7. Proofs and Refutations A clause C is solutions-preserving with respect to a formula F if all solutions of F satisfy C (denoted by ≡ ). A proof trace is a sequence of solutions-preserving clauses. Solutions-preserving should be checkable in polynomial time. ≡ ≡ Formula Proof 5/47

  8. Proofs and Refutations A clause C is solutions-preserving with respect to a formula F if all solutions of F satisfy C (denoted by ≡ ). A proof trace is a sequence of solutions-preserving clauses. Solutions-preserving should be checkable in polynomial time. ≡ ≡ ≡ Formula Proof 5/47

  9. Proofs and Refutations A clause C is solutions-preserving with respect to a formula F if all solutions of F satisfy C (denoted by ≡ ). A proof trace is a sequence of solutions-preserving clauses. Solutions-preserving should be checkable in polynomial time. ≡ ≡ ≡ ≡ Formula Proof 5/47

  10. Proofs and Refutations A clause C is solutions-preserving with respect to a formula F if all solutions of F satisfy C (denoted by ≡ ). A proof trace is a sequence of solutions-preserving clauses. Solutions-preserving should be checkable in polynomial time. ≡ ≡ ≡ ≡ Formula Proof ⊥ A refutation is a proof trace containing the empty clause, ⊥ . 5/47

  11. Forward versus Backward Proof Checking backward checking original formula ⊥ forward checking 6/47

  12. Solutions-Preserving Modulo x Let ϕ be an assignment and x a literal. We denote with ϕ ⊗ x a copy of ϕ in which the assignment to x is flipped. If ϕ does not assign x , then ϕ ⊗ x assigns x to true . A clause C is solutions-preserving modulo x (SPM x ) with respect to a formula F if and only if for every solution ϕ of F , ϕ or ϕ ⊗ x satisfies F and C . Example Consider the formula F = ( x ∨ y ) ∧ ( x ∨ ¯ y ) . The clause (¯ x ∨ y ) is solutions-preserving modulo y with respect to F . F has two solutions ϕ 1 := { x = 1 , y = 1 } and ϕ 2 := { x = 1 , y = 0 } . ϕ 1 satisfies C (and F ) and ϕ 2 ⊗ y satisfies F and C . All techniques in state-of-the-art SAT solvers can be expressed using SPM x steps [Järvisalo, Heule, and Biere 2012]. 7/47

  13. Introduction to QBF A quantified Boolean formula (QBF) is a propositional formula where variables are existentially ( ∃ ) or universally ( ∀ ) quantified. a ∨ c ) ∧ (¯ Consider the formula ∀ a ∃ b , c . ( a ∨ b ) ∧ (¯ b ∨ ¯ c ) 1 0 c 0 b ⊤ A model is: a 1 c b ⊤ 0 1 a ∨ c ) ∧ (¯ Consider the formula ∃ b ∀ a ∃ c . ( a ∨ b ) ∧ (¯ b ∨ ¯ c ) 0 a 0 ⊥ b 0 ⊥ A counter-model is: 1 a c 1 1 ⊥ 8/47

  14. Motivation for our QBF Proof System Lots of “discrepancies” and unique results in QBF solvers: ◮ i.e., results that disagree with the majority of solvers. To gain confidence in QBF results they need to be validated: ◮ existing methods cannot validate some QBF preprocessing. QBF preprocessing is crucial for fast performance: ◮ most state-of-the-art solvers use the preprocessor bloqqer; ◮ current methods can produce exponentially large proofs or require exponential checking time in worst case; ◮ some techniques cannot be checked with these methods. 9/47

  15. Clause Deletion and Satisfaction A clause C is unsatisfiability-preserving with respect to a formula F if C does not occur in all unsatisfiable cores of F (denoted by ≡ S ). U N A satisfaction trace is a sequence of unsatisfiability-preserving clause eliminations. Unsatisfiability-preserving should be checkable in polynomial time. 1 3 2 1 Formula Proof 3 4 4 2 10/47

  16. Clause Deletion and Satisfaction A clause C is unsatisfiability-preserving with respect to a formula F if C does not occur in all unsatisfiable cores of F (denoted by ≡ S ). U N A satisfaction trace is a sequence of unsatisfiability-preserving clause eliminations. Unsatisfiability-preserving should be checkable in polynomial time. 1 1 1 3 2 ≡ 2 1 Formula Proof U N S 3 3 4 4 4 2 10/47

  17. Clause Deletion and Satisfaction A clause C is unsatisfiability-preserving with respect to a formula F if C does not occur in all unsatisfiable cores of F (denoted by ≡ S ). U N A satisfaction trace is a sequence of unsatisfiability-preserving clause eliminations. Unsatisfiability-preserving should be checkable in polynomial time. 1 1 1 3 1 2 ≡ 2 ≡ 2 1 4 Formula Proof U N S U N S 3 3 3 4 4 4 4 2 10/47

  18. Clause Deletion and Satisfaction A clause C is unsatisfiability-preserving with respect to a formula F if C does not occur in all unsatisfiable cores of F (denoted by ≡ S ). U N A satisfaction trace is a sequence of unsatisfiability-preserving clause eliminations. Unsatisfiability-preserving should be checkable in polynomial time. 1 1 1 1 1 3 2 ≡ 2 ≡ 2 ≡ 2 1 4 Formula Proof U N S U N S U N S 3 3 3 3 4 2 4 4 4 4 2 10/47

  19. Clause Deletion and Satisfaction A clause C is unsatisfiability-preserving with respect to a formula F if C does not occur in all unsatisfiable cores of F (denoted by ≡ S ). U N A satisfaction trace is a sequence of unsatisfiability-preserving clause eliminations. Unsatisfiability-preserving should be checkable in polynomial time. 1 1 1 1 3 1 2 ≡ 2 ≡ 2 ≡ 2 ≡ 1 4 Formula Proof U N S U N S U N S U N S 3 3 3 3 4 2 4 4 4 4 2 A proof of satisfaction removes all clauses, including all added: the formula is unsatisfiability-equivalent to the empty formula. Clause deletion also reduces the costs to check proofs. 10/47

  20. Clausal Proof Systems for SAT and QBF 11/47

  21. Ideal Properties of a Proof System for SAT Solvers Resolution Proofs Zhang and Malik, 2003 Van Gelder, 2008; Biere, 2008 Clausal Proofs Easy to Emit Goldberg and Novikov, 2003 Van Gelder, 2008 Clausal proofs + clause deletion Compact Heule, Hunt, Jr., and Wetzler [STVR 2014] Optimized clausal proof checker Checked Efficiently Heule, Hunt, Jr., and Wetzler [FMCAD ’13] Clausal RAT proofs Expressive Heule, Hunt, Jr., and Wetzler [CADE 2013] RAT proofs + clause deletion Wetzler, Heule, and Hunt, Jr. [SAT 2014] 12/47

  22. Clausal Proof System Learn: add a clause * Preserve satisfiability Unsatisfiable * Learn empty clause init ( π. ) ψ Satisfiable * Forget last clause Forget: remove a clause * Preserve unsatisfiablity 13/47

  23. Abstract Proof System for SAT Inprocessing joint work with Matti Järvisalo and Armin Biere 14/47

  24. Inprocessing: Advantages Interleave burst of preprocessing-style inference steps with conflict-driven clause-learning search Combine various preprocessing techniques ◮ Variable elimination, subsumption, self-subsuming resolution, failed literals, equivalent literals, blocked clause elimination, hidden tautology elimination, unhiding, . . . Lingeling ats [Biere, 2013] SAT Competition 2013 Applications SAT+UNSAT instances 300 instances, 1-h timeout per instance Configuration #solved SAT UNSAT flags default 182 90 92 no inprocessing 158 89 69 –inprocessing=0 no pre/inprocessing 144 80 64 –plain=1 15/47

Recommend


More recommend