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
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
Motivation Trimming while Checking Clausal Proofs Marijn J.H. Heule 3 / 16 Wednesday, October 23, 13
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
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
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
Contributions and Related Work Trimming while Checking Clausal Proofs Marijn J.H. Heule 4 / 16 Wednesday, October 23, 13
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
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
Satisfiability and Resolution Trimming while Checking Clausal Proofs Marijn J.H. Heule 5 / 16 Wednesday, October 23, 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 ¯ Trimming while Checking Clausal Proofs Marijn J.H. Heule 5 / 16 Wednesday, October 23, 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 ¯ Trimming while Checking Clausal Proofs Marijn J.H. Heule 5 / 16 Wednesday, October 23, 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
Resolution Graph / Proof and Core Trimming while Checking Clausal Proofs Marijn J.H. Heule 6 / 16 Wednesday, October 23, 13
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
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
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
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
Checking Lemmas by Unit Propagation Trimming while Checking Clausal Proofs Marijn J.H. Heule 7 / 16 Wednesday, October 23, 13
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
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
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
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
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
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
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
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