drat trim efficient checking and trimming using
play

DRAT-trim: Efficient Checking and Trimming Using Expressive - PowerPoint PPT Presentation

DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler Marijn J.H. Heule Warren A. Hunt, Jr. The University of Texas at Austin Theory and Applications of Satisfiability Solving (SAT)


  1. DRAT-trim: Efficient Checking and � Trimming Using Expressive Clausal Proofs Nathan Wetzler � Marijn J.H. Heule � Warren A. Hunt, Jr. � � The University of Texas at Austin � � Theory and Applications of Satisfiability Solving (SAT) � Vienna, Austria � July 14, 2014

  2. Outline DRAT-trim is an unsatisfiability proof checking utility that can validate all presently-known SAT solving and preprocessing techniques and optionally produce trimmed formulas, optimized proofs, and resolution and dependency graphs. DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 2 / 13

  3. Outline DRAT-trim is an unsatisfiability proof checking utility that can validate all presently-known SAT solving and preprocessing techniques and optionally produce trimmed formulas, optimized proofs, and resolution and dependency graphs. • Motivation � • Approach � • Proof Formats � • Input, Output, and Applications � • Evaluation DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 2 / 13

  4. Motivation Satisfiability solvers are used in amazing ways... � - Hardware verification: Centaur x86 verification � - 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] DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 3 / 13

  5. Motivation Satisfiability solvers are used in amazing ways... � - Hardware verification: Centaur x86 verification � - 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 satisfiability solvers have errors. � - Documented bugs in SAT, SMT, and QBF solvers 
 [Brummayer and Biere, 2009; Brummayer et al., 2010] � - Competition winners have contradictory results 
 (HWMCC winners from 2011 and 2012) � - Implementation errors often imply conceptual errors DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 3 / 13

  6. Approach Verify SAT solvers � - Requires verification of all crucial search techniques � - Delicate balance between efficiency and ease of verification � - Verification is specific to one solver � - New developments in solving require additional proof effort DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 4 / 13

  7. Approach Verify SAT solvers � - Requires verification of all crucial search techniques � - Delicate balance between efficiency and ease of verification � - Verification is specific to one solver � - New developments in solving require additional proof effort DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 4 / 13

  8. Approach Verify SAT solvers � - Requires verification of all crucial search techniques � - Delicate balance between efficiency and ease of verification � - Verification is specific to one solver � - New developments in solving require additional proof effort Validate SAT solver output � - Emit a “proof” of unsatisfiability from SAT solver � - A proof checker can validate results from many 
 state-of-the-art solvers � - Proof checker uses limited number of techniques and can be mechanically verified DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 4 / 13

  9. Proof Formats Resolution Proofs � [Zhang and Malik, 2003] � [Van Gelder, 2008] � [Biere, 2008] Easy to Emit Compact Checked Efficiently Expressive DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 5 / 13

  10. Proof Formats Resolution Proofs � [Zhang and Malik, 2003] � [Van Gelder, 2008] � [Biere, 2008] Easy to Emit Clausal (RUP) Proofs � [Goldberg and Novikov, 2003] � [Van Gelder, 2008] Compact Checked Efficiently Expressive DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 5 / 13

  11. Proof Formats Resolution Proofs � [Zhang and Malik, 2003] � [Van Gelder, 2008] � [Biere, 2008] Easy to Emit Clausal (RUP) Proofs � [Goldberg and Novikov, 2003] � [Van Gelder, 2008] Compact RAT Proofs � [Heule, Hunt, Jr., and Wetzler, CADE 2013] Checked Efficiently Expressive DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 5 / 13

  12. Proof Formats Resolution Proofs � [Zhang and Malik, 2003] � [Van Gelder, 2008] � [Biere, 2008] Easy to Emit Clausal (RUP) Proofs � [Goldberg and Novikov, 2003] � [Van Gelder, 2008] Compact RAT Proofs � [Heule, Hunt, Jr., and Wetzler, CADE 2013] Checked Efficiently DRUP (DRUP-Trim) � [Heule, Hunt, Jr., and Wetzler, FMCAD 2013] Expressive DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 5 / 13

  13. Proof Formats Resolution Proofs � [Zhang and Malik, 2003] � [Van Gelder, 2008] � [Biere, 2008] Easy to Emit Clausal (RUP) Proofs � [Goldberg and Novikov, 2003] � [Van Gelder, 2008] Compact RAT Proofs � [Heule, Hunt, Jr., and Wetzler, CADE 2013] Checked Efficiently DRUP (DRUP-Trim) � [Heule, Hunt, Jr., and Wetzler, FMCAD 2013] Expressive DRAT (DRAT-Trim) � [Wetzler, Heule, and Hunt, Jr., SAT 2014] DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 5 / 13

  14. Overview Input Output CNF Formula Console Output p cnf 4 10 c 8 of 10 clauses in core 1 2 -3 0 c 3 of 3 lemmas in core using 15 resolution steps -1 -2 3 0 c 1 RAT lemmas in core; 0 redundant literals in core lemmas -1 -2 -3 0 s VERIFIED 2 3 -4 0 -2 -3 4 0 DRAT-trim -1 -3 -4 0 Trimmed Formula Optimized Proof TraceCheck + 1 3 4 0 -1 0 -1 2 4 0 1 1 2 -3 0 p cnf 4 8 d -1 -2 3 0 1 -2 -4 0 2 -1 -2 3 0 1 2 -3 0 d -1 -3 -4 0 -1 2 -4 0 4 2 3 -4 0 -1 -2 3 0 d -1 2 4 0 5 -2 -3 4 0 2 3 -4 0 2 0 6 -1 -3 -4 0 -2 -3 4 0 DRAT Proof d 1 2 -3 0 7 1 3 4 0 -1 -3 -4 0 d 2 3 -4 0 8 -1 2 4 0 1 3 4 0 -1 0 0 9 1 -2 -4 0 -1 2 4 0 d -1 2 4 0 11 -1 0 2 6 8 0 1 -2 -4 0 2 0 12 2 0 1 4 7 11 0 0 13 0 5 7 9 11 12 0 DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 6 / 13

  15. Input Input Output CNF Formula p cnf 4 10 1 2 -3 0 -1 -2 3 0 -1 -2 -3 0 2 3 -4 0 -2 -3 4 0 DRAT-trim -1 -3 -4 0 1 3 4 0 -1 2 4 0 1 -2 -4 0 -1 2 -4 0 DRAT Proof -1 0 d -1 2 4 0 2 0 0 DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 7 / 13

  16. Input Input Output CNF Formula p cnf 4 10 1 2 -3 0 -1 -2 3 0 -1 -2 -3 0 2 3 -4 0 -2 -3 4 0 DRAT-trim -1 -3 -4 0 1 3 4 0 -1 2 4 0 1 -2 -4 0 -1 2 -4 0 DRAT Proof -1 0 d -1 2 4 0 2 0 0 DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 7 / 13

  17. Input Input Output CNF Formula p cnf 4 10 1 2 -3 0 • DIMACS format -1 -2 3 0 -1 -2 -3 0 2 3 -4 0 -2 -3 4 0 DRAT-trim -1 -3 -4 0 1 3 4 0 -1 2 4 0 1 -2 -4 0 -1 2 -4 0 DRAT Proof -1 0 d -1 2 4 0 2 0 0 DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 7 / 13

  18. Input Input Output CNF Formula p cnf 4 10 1 2 -3 0 • DIMACS format -1 -2 3 0 -1 -2 -3 0 2 3 -4 0 -2 -3 4 0 DRAT-trim -1 -3 -4 0 1 3 4 0 -1 2 4 0 1 -2 -4 0 -1 2 -4 0 • DRAT format � • Each line is either: � DRAT Proof -1 0 - Lemma (clause) with d -1 2 4 0 2 0 RUP or RAT property � 0 - Deletion instruction with “ d ” prefix DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 7 / 13

  19. Output and Applications Input Output DRAT-trim DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 8 / 13

  20. Output and Applications Input Output DRAT-trim DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 8 / 13

  21. Output and Applications Input Output Console Output c 8 of 10 clauses in core c 3 of 3 lemmas in core using 15 resolution steps c 1 RAT lemmas in core; 0 redundant literals in core lemmas s VERIFIED DRAT-trim • Basic output about success/failure � • Provide assurance to user � • Diagnose bugs in solving � • Verify competition results DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 8 / 13

  22. Output and Applications Input Output DRAT-trim • Subset of original formula � Trimmed Formula p cnf 4 8 • DIMACS format � 1 2 -3 0 -1 -2 3 0 • Minimal unsatisfiable 2 3 -4 0 -2 -3 4 0 subset (MUS) -1 -3 -4 0 preprocessing � 1 3 4 0 -1 2 4 0 • Craig interpolants 1 -2 -4 0 DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 8 / 13

  23. Output and Applications Input Output DRAT-trim • Subset of original Optimized Proof -1 0 proof with extra d -1 -2 3 0 deletion information � d -1 -3 -4 0 d -1 2 4 0 • DRAT format � 2 0 d 1 2 -3 0 d 2 3 -4 0 • Proof replay � 0 • Mechanically-verified proof checking DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs Nathan Wetzler 8 / 13

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend