trimming while checking clausal proofs
play

Trimming while Checking Clausal Proofs Marijn J.H. Heule Warren A. - PowerPoint PPT Presentation

Trimming while Checking Clausal Proofs Marijn J.H. Heule Warren A. Hunt, Jr. Nathan Wetzler The University of Texas at Austin Formal Methods in Computer-Aided Design (FMCAD) Portland, Oregon October 23, 2013 Wednesday, October 23, 13


  1. Trimming while Checking Clausal Proofs Marijn J.H. Heule Warren A. Hunt, Jr. Nathan Wetzler The University of Texas at Austin Formal Methods in Computer-Aided Design (FMCAD) Portland, Oregon October 23, 2013 Wednesday, October 23, 13

  2. Outline • Motivation and Contributions • Resolution versus Clausal Proofs • Checking Clausal Proofs Efficiently • Experimental Evaluation • Conclusion Trimming while Checking Clausal Proofs Marijn J.H. Heule 2 / 16 Wednesday, October 23, 13

  3. Motivation Trimming while Checking Clausal Proofs Marijn J.H. Heule 3 / 16 Wednesday, October 23, 13

  4. Motivation SAT solvers are used in many tools and applications. - Counter-examples (satisfiable) using symbolic simulation; - Equivalence-checking (unsatisfiable) using miters; - Small explanations (unsatisfiable core) for diagnosis; - Small (trimmed) proofs to validate with a verified checker. Trimming while Checking Clausal Proofs Marijn J.H. Heule 3 / 16 Wednesday, October 23, 13

  5. Motivation SAT solvers are used in many tools and applications. - Counter-examples (satisfiable) using symbolic simulation; - Equivalence-checking (unsatisfiable) using miters; - Small explanations (unsatisfiable core) for diagnosis; - Small (trimmed) proofs to validate with a verified checker. However, - Documented bugs in SAT, SMT, and QBF solvers [Brummayer and Biere, 2009; Brummayer et al., 2010]; - Solvers that emit additional information use lots of memory. Trimming while Checking Clausal Proofs Marijn J.H. Heule 3 / 16 Wednesday, October 23, 13

  6. Motivation SAT solvers are used in many tools and applications. - Counter-examples (satisfiable) using symbolic simulation; - Equivalence-checking (unsatisfiable) using miters; - Small explanations (unsatisfiable core) for diagnosis; - Small (trimmed) proofs to validate with a verified checker. However, - Documented bugs in SAT, SMT, and QBF solvers [Brummayer and Biere, 2009; Brummayer et al., 2010]; - Solvers that emit additional information use lots of memory. We developed a tool that can efficiently validate the results of SAT solvers and produce trimmed formulas and trimmed proofs Trimming while Checking Clausal Proofs Marijn J.H. Heule 3 / 16 Wednesday, October 23, 13

  7. Contributions and Related Work Trimming while Checking Clausal Proofs Marijn J.H. Heule 4 / 16 Wednesday, October 23, 13

  8. Contributions and Related Work Resolution Proofs Zhang and Malik, 2003 Van Gelder, 2008; Biere, 2008 Easy to Emit Clausal Proofs Goldberg and Novikov, 2003 Van Gelder, 2008 Compact Clausal proofs + clause deletion Heule, Hunt, Jr., and Wetzler [STVR 201X] Checked Efficiently A fast clausal proof checker, called DRUP-trim Heule, Hunt, Jr., and Wetzler [FMCAD 2013] Trimming while Checking Clausal Proofs Marijn J.H. Heule 4 / 16 Wednesday, October 23, 13

  9. Contributions and Related Work Resolution Proofs Zhang and Malik, 2003 Van Gelder, 2008; Biere, 2008 Easy to Emit Clausal Proofs Goldberg and Novikov, 2003 Van Gelder, 2008 Compact Clausal proofs + clause deletion Heule, Hunt, Jr., and Wetzler [STVR 201X] Checked Efficiently A fast clausal proof checker, called DRUP-trim Heule, Hunt, Jr., and Wetzler [FMCAD 2013] All approaches can be used for applications such as minimal unsatisfiable core extraction, computing interpolants, reduce proofs Trimming while Checking Clausal Proofs Marijn J.H. Heule 4 / 16 Wednesday, October 23, 13

  10. Satisfiability and Resolution Trimming while Checking Clausal Proofs Marijn J.H. Heule 5 / 16 Wednesday, October 23, 13

  11. Satisfiability and Resolution Given a Boolean formula F , is there an assignment to variables in F such that the formula evaluates to TRUE ? ¯ a¯ b a¯ bc ab ¯ b ac ¯ Trimming while Checking Clausal Proofs Marijn J.H. Heule 5 / 16 Wednesday, October 23, 13

  12. Satisfiability and Resolution Given a Boolean formula F , is there an assignment to variables in F such that the formula evaluates to TRUE ? ¯ a¯ b a¯ bc ab ¯ b ac ¯ a ¯ Checking a solution, such as assignment , is easy. b c ¯ Trimming while Checking Clausal Proofs Marijn J.H. Heule 5 / 16 Wednesday, October 23, 13

  13. Satisfiability and Resolution Given a Boolean formula F , is there an assignment to variables in F such that the formula evaluates to TRUE ? ¯ a¯ b a¯ bc ab ¯ b ac ¯ a ¯ Checking a solution, such as assignment , is easy. b c ¯ Unsatisfiability proofs use lemmas (resolvents): ¯ bc ab ¯ c a c ¯ ac ¯ bc ab ¯ c ac Trimming while Checking Clausal Proofs Marijn J.H. Heule 5 / 16 Wednesday, October 23, 13

  14. Resolution Graph / Proof and Core Trimming while Checking Clausal Proofs Marijn J.H. Heule 6 / 16 Wednesday, October 23, 13

  15. Resolution Graph / Proof and Core ∅ c ¯ a ¯ b a¯ b a¯ ¯ ac ¯ ab ¯ b b¯ c bc resolution graph Trimming while Checking Clausal Proofs Marijn J.H. Heule 6 / 16 Wednesday, October 23, 13

  16. Resolution Graph / Proof and Core ¯ bc ac ∅ ¯ ab a¯ ¯ b c a¯ b ¯ a b¯ c ¯ a¯ b a¯ ¯ b ¯ b b ¯ ¯ ab b ¯ a ¯ ac ¯ ab bc c a¯ b a¯ ¯ ac ¯ ab ¯ b b¯ c bc ¯ ∅ b¯ c b c resolution graph resolution proof Trimming while Checking Clausal Proofs Marijn J.H. Heule 6 / 16 Wednesday, October 23, 13

  17. Resolution Graph / Proof and Core ¯ bc core ac ∅ ¯ ab a¯ ¯ b c a¯ b ¯ a b¯ c ¯ a¯ b a¯ ¯ b ¯ b b ¯ ¯ ab b ¯ a ¯ ac ¯ ab bc c a¯ b a¯ ¯ ac ¯ ab ¯ b b¯ c bc ¯ ∅ b¯ c b c resolution graph resolution proof Trimming while Checking Clausal Proofs Marijn J.H. Heule 6 / 16 Wednesday, October 23, 13

  18. Resolution Graph / Proof and Core ¯ bc core ac ∅ ¯ ab a¯ ¯ b c a¯ b ¯ a b¯ c ¯ a¯ b a¯ ¯ b ¯ b b ¯ ¯ ab b ¯ a ¯ ac ¯ ab bc c a¯ b a¯ ¯ ac ¯ ab ¯ b b¯ c bc ¯ ∅ b¯ c b c resolution proofs are HUGE resolution graph resolution proof Trimming while Checking Clausal Proofs Marijn J.H. Heule 6 / 16 Wednesday, October 23, 13

  19. Checking Lemmas by Unit Propagation Trimming while Checking Clausal Proofs Marijn J.H. Heule 7 / 16 Wednesday, October 23, 13

  20. Checking Lemmas by Unit Propagation A clause is unit with respect to an assignment if all literals in the clause are falsified except for one literal, which is unassigned. Unit propagation: - If a unit clause is found, extend the assignment and repeat. - Else, return the assignment. Trimming while Checking Clausal Proofs Marijn J.H. Heule 7 / 16 Wednesday, October 23, 13

  21. Checking Lemmas by Unit Propagation A clause is unit with respect to an assignment if all literals in the clause are falsified except for one literal, which is unassigned. Unit propagation: - If a unit clause is found, extend the assignment and repeat. - Else, return the assignment. ¯ ¯ ¯ assignment: ¯ c b b b b a ¯ ¯ a c c a a Trimming while Checking Clausal Proofs Marijn J.H. Heule 7 / 16 Wednesday, October 23, 13

  22. Checking Lemmas by Unit Propagation A clause is unit with respect to an assignment if all literals in the clause are falsified except for one literal, which is unassigned. Unit propagation: - If a unit clause is found, extend the assignment and repeat. - Else, return the assignment. ¯ ¯ ¯ ¯ assignment: b ¯ c b b b b a ¯ a ¯ c c a a Trimming while Checking Clausal Proofs Marijn J.H. Heule 7 / 16 Wednesday, October 23, 13

  23. Checking Lemmas by Unit Propagation A clause is unit with respect to an assignment if all literals in the clause are falsified except for one literal, which is unassigned. Unit propagation: - If a unit clause is found, extend the assignment and repeat. - Else, return the assignment. ¯ ¯ ¯ ¯ assignment: b ¯ c b b b b a ¯ ¯ a a a c a c Trimming while Checking Clausal Proofs Marijn J.H. Heule 7 / 16 Wednesday, October 23, 13

  24. Checking Lemmas by Unit Propagation A clause is unit with respect to an assignment if all literals in the clause are falsified except for one literal, which is unassigned. Unit propagation: - If a unit clause is found, extend the assignment and repeat. - Else, return the assignment. ¯ ¯ ¯ ¯ assignment: b ¯ c b b b b a ¯ ¯ a a a c a c Reverse Unit Propagation (RUP) of a lemma: c - Assign all literals in the lemma to false and apply unit propagation - If another clause / lemma becomes ¯ falsified, then the lemma is valid b b ¯ a a c c Trimming while Checking Clausal Proofs Marijn J.H. Heule 7 / 16 Wednesday, October 23, 13

  25. Clausal Proof: Check using Unit Propagation ∅ ¯ b c ¯ a ¯ a c ¯ b ∅ a¯ b a¯ ¯ ac ¯ ab ¯ b b¯ c bc Trimming while Checking Clausal Proofs Marijn J.H. Heule 8 / 16 c c Wednesday, October 23, 13

  26. Clausal Proof: Check using Unit Propagation ∅ ¯ b c ¯ a ¯ a c ¯ ¯ b b ∅ a¯ b a¯ ¯ ¯ ¯ b b ac ¯ ab ¯ b b¯ c bc a ¯ a Trimming while Checking Clausal Proofs Marijn J.H. Heule 8 / 16 c c Wednesday, October 23, 13

  27. Clausal Proof: Check using Unit Propagation ∅ ¯ b c ¯ a ¯ a a ¯ c ¯ ¯ b b ∅ a¯ b a¯ ¯ a b ac ¯ ab ¯ b b¯ c bc ¯ Trimming while Checking Clausal Proofs Marijn J.H. Heule 8 / 16 c c Wednesday, October 23, 13

Recommend


More recommend