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

drat trim efficient checking and trimming using
SMART_READER_LITE
LIVE PREVIEW

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)


slide-1
SLIDE 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

slide-2
SLIDE 2

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 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.

slide-3
SLIDE 3

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 2

  • Motivation
  • Approach
  • Proof Formats
  • Input, Output, and Applications
  • Evaluation

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.

slide-4
SLIDE 4

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 3

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]

slide-5
SLIDE 5

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 3

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
slide-6
SLIDE 6

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 4

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
slide-7
SLIDE 7

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 4

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
slide-8
SLIDE 8

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 4

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

slide-9
SLIDE 9

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 5

Proof Formats

Easy to Emit Compact Checked Efficiently Expressive Resolution Proofs

[Zhang and Malik, 2003] [Van Gelder, 2008] [Biere, 2008]

slide-10
SLIDE 10

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 5

Proof Formats

Easy to Emit Compact Checked Efficiently Expressive Resolution Proofs

[Zhang and Malik, 2003] [Van Gelder, 2008] [Biere, 2008]

Clausal (RUP) Proofs

[Goldberg and Novikov, 2003] [Van Gelder, 2008]

slide-11
SLIDE 11

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 5

Proof Formats

Easy to Emit Compact Checked Efficiently Expressive Resolution Proofs

[Zhang and Malik, 2003] [Van Gelder, 2008] [Biere, 2008]

Clausal (RUP) Proofs

[Goldberg and Novikov, 2003] [Van Gelder, 2008]

RAT Proofs

[Heule, Hunt, Jr., and Wetzler, CADE 2013]

slide-12
SLIDE 12

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 5

Proof Formats

Easy to Emit Compact Checked Efficiently Expressive Resolution Proofs

[Zhang and Malik, 2003] [Van Gelder, 2008] [Biere, 2008]

Clausal (RUP) Proofs

[Goldberg and Novikov, 2003] [Van Gelder, 2008]

DRUP (DRUP-Trim)

[Heule, Hunt, Jr., and Wetzler, FMCAD 2013]

RAT Proofs

[Heule, Hunt, Jr., and Wetzler, CADE 2013]

slide-13
SLIDE 13

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 5

Proof Formats

Easy to Emit Compact Checked Efficiently Expressive Resolution Proofs

[Zhang and Malik, 2003] [Van Gelder, 2008] [Biere, 2008]

Clausal (RUP) Proofs

[Goldberg and Novikov, 2003] [Van Gelder, 2008]

DRUP (DRUP-Trim)

[Heule, Hunt, Jr., and Wetzler, FMCAD 2013]

DRAT (DRAT-Trim)

[Wetzler, Heule, and Hunt, Jr., SAT 2014]

RAT Proofs

[Heule, Hunt, Jr., and Wetzler, CADE 2013]

slide-14
SLIDE 14

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 6

Overview

p cnf 4 10 1 2 -3 0

  • 1 -2 3 0
  • 1 -2 -3 0

2 3 -4 0

  • 2 -3 4 0
  • 1 -3 -4 0

1 3 4 0

  • 1 2 4 0

1 -2 -4 0

  • 1 2 -4 0

CNF Formula

  • 1 0

d -1 2 4 0 2 0

DRAT Proof

p cnf 4 8 1 2 -3 0

  • 1 -2 3 0

2 3 -4 0

  • 2 -3 4 0
  • 1 -3 -4 0

1 3 4 0

  • 1 2 4 0

1 -2 -4 0

Trimmed Formula

  • 1 0

d -1 -2 3 0 d -1 -3 -4 0 d -1 2 4 0 2 0 d 1 2 -3 0 d 2 3 -4 0

Optimized Proof

1 1 2 -3 0 2 -1 -2 3 0 4 2 3 -4 0 5 -2 -3 4 0 6 -1 -3 -4 0 7 1 3 4 0 8 -1 2 4 0 9 1 -2 -4 0 11 -1 0 2 6 8 0 12 2 0 1 4 7 11 0 13 0 5 7 9 11 12 0

TraceCheck+

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

Console Output

DRAT-trim

Input Output

slide-15
SLIDE 15

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 7

Input

p cnf 4 10 1 2 -3 0

  • 1 -2 3 0
  • 1 -2 -3 0

2 3 -4 0

  • 2 -3 4 0
  • 1 -3 -4 0

1 3 4 0

  • 1 2 4 0

1 -2 -4 0

  • 1 2 -4 0

CNF Formula

  • 1 0

d -1 2 4 0 2 0

DRAT Proof

DRAT-trim

Input Output

slide-16
SLIDE 16

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 7

Input

p cnf 4 10 1 2 -3 0

  • 1 -2 3 0
  • 1 -2 -3 0

2 3 -4 0

  • 2 -3 4 0
  • 1 -3 -4 0

1 3 4 0

  • 1 2 4 0

1 -2 -4 0

  • 1 2 -4 0

CNF Formula

  • 1 0

d -1 2 4 0 2 0

DRAT Proof

DRAT-trim

Input Output

slide-17
SLIDE 17

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 7

Input

p cnf 4 10 1 2 -3 0

  • 1 -2 3 0
  • 1 -2 -3 0

2 3 -4 0

  • 2 -3 4 0
  • 1 -3 -4 0

1 3 4 0

  • 1 2 4 0

1 -2 -4 0

  • 1 2 -4 0

CNF Formula

  • 1 0

d -1 2 4 0 2 0

DRAT Proof

  • DIMACS format

DRAT-trim

Input Output

slide-18
SLIDE 18

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 7

Input

p cnf 4 10 1 2 -3 0

  • 1 -2 3 0
  • 1 -2 -3 0

2 3 -4 0

  • 2 -3 4 0
  • 1 -3 -4 0

1 3 4 0

  • 1 2 4 0

1 -2 -4 0

  • 1 2 -4 0

CNF Formula

  • 1 0

d -1 2 4 0 2 0

DRAT Proof

  • DIMACS format
  • DRAT format
  • Each line is either:
  • Lemma (clause) with

RUP or RAT property

  • Deletion instruction with

“d ” prefix

DRAT-trim

Input Output

slide-19
SLIDE 19

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 8

Output and Applications

DRAT-trim

Input Output

slide-20
SLIDE 20

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 8

Output and Applications

DRAT-trim

Input Output

slide-21
SLIDE 21

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 8

Output and Applications

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

Console Output

DRAT-trim

Input Output

  • Basic output about

success/failure

  • Provide assurance to user
  • Diagnose bugs in solving
  • Verify competition results
slide-22
SLIDE 22

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 8

Output and Applications

p cnf 4 8 1 2 -3 0

  • 1 -2 3 0

2 3 -4 0

  • 2 -3 4 0
  • 1 -3 -4 0

1 3 4 0

  • 1 2 4 0

1 -2 -4 0

Trimmed Formula

DRAT-trim

Input Output

  • Subset of original formula
  • DIMACS format
  • Minimal unsatisfiable

subset (MUS) preprocessing

  • Craig interpolants
slide-23
SLIDE 23

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 8

Output and Applications

  • 1 0

d -1 -2 3 0 d -1 -3 -4 0 d -1 2 4 0 2 0 d 1 2 -3 0 d 2 3 -4 0

Optimized Proof

DRAT-trim

Input Output

  • Subset of original

proof with extra deletion information

  • DRAT format
  • Proof replay
  • Mechanically-verified

proof checking

slide-24
SLIDE 24

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 8

Output and Applications

1 1 2 -3 0 2 -1 -2 3 0 4 2 3 -4 0 5 -2 -3 4 0 6 -1 -3 -4 0 7 1 3 4 0 8 -1 2 4 0 9 1 -2 -4 0 11 -1 0 2 6 8 0 12 2 0 1 4 7 11 0 13 0 5 7 9 11 12 0

TraceCheck+

DRAT-trim

Input Output

  • Resolution and

dependency graph

  • TraceCheck+ format
  • Better input to MUS than a

formula

  • Craig interpolants
  • Detailed account of solving

for debugging

slide-25
SLIDE 25

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 8

Output and Applications

DRAT-trim

Input Output

slide-26
SLIDE 26

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 9

Overview

p cnf 4 10 1 2 -3 0

  • 1 -2 3 0
  • 1 -2 -3 0

2 3 -4 0

  • 2 -3 4 0
  • 1 -3 -4 0

1 3 4 0

  • 1 2 4 0

1 -2 -4 0

  • 1 2 -4 0

CNF Formula

  • 1 0

d -1 2 4 0 2 0

DRAT Proof

p cnf 4 8 1 2 -3 0

  • 1 -2 3 0

2 3 -4 0

  • 2 -3 4 0
  • 1 -3 -4 0

1 3 4 0

  • 1 2 4 0

1 -2 -4 0

Trimmed Formula

  • 1 0

d -1 -2 3 0 d -1 -3 -4 0 d -1 2 4 0 2 0 d 1 2 -3 0 d 2 3 -4 0

Optimized Proof

1 1 2 -3 0 2 -1 -2 3 0 4 2 3 -4 0 5 -2 -3 4 0 6 -1 -3 -4 0 7 1 3 4 0 8 -1 2 4 0 9 1 -2 -4 0 11 -1 0 2 6 8 0 12 2 0 1 4 7 11 0 13 0 5 7 9 11 12 0

TraceCheck+

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

Console Output

DRAT-trim

Input Output

slide-27
SLIDE 27

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 10

Example Benchmark

Bioinformatics Benchmark from SAT Competition 2009 rbcl_xits_07_UNSAT.cnf

c Solving time: 110 seconds c Validation time: 194 seconds c 31676 of 57446 clauses in core c 1072932 of 1225647 lemmas in core using 37392110 resolution steps c 0 RAT lemmas in core; 688434 redundant literals in core lemmas s VERIFIED

Solving with Glucose 3.0

c Solving time: 4 seconds c Validation time: 25 seconds c 39673 of 57446 clauses in core c 41359 of 59616 lemmas in core using 1316017 resolution steps c 13039 RAT lemmas in core; 30449 redundant literals in core lemmas s VERIFIED

Solving with Coprocessor and Glucose 3.0

slide-28
SLIDE 28

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 11

Solving versus Validation

Validation Time (seconds) Solving Time (seconds)

Results of SAT Competition 2014

Application Hard-Combinatorial

  • DRAT-trim used to check

results of this year’s competition

  • All techniques used in

competition are supported by DRAT-trim

  • Validation time is within

limits of competition

  • Several solvers reported

UNSAT on SAT benchmarks

slide-29
SLIDE 29

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 12

  • DRAT-trim is an unsatisfiability proof checker designed

to validate all contemporary SAT preprocessing and solving techniques

  • The tool can optionally emit trimmed formulas,
  • ptimized proofs, and dependency graphs
  • Solvers can take more risks when results are validated
  • Interested to see what uses the SAT community can find

for DRAT-trim

Conclusions

slide-30
SLIDE 30

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 12

  • DRAT-trim is an unsatisfiability proof checker designed

to validate all contemporary SAT preprocessing and solving techniques

  • The tool can optionally emit trimmed formulas,
  • ptimized proofs, and dependency graphs
  • Solvers can take more risks when results are validated
  • Interested to see what uses the SAT community can find

for DRAT-trim

Conclusions

http://cs.utexas.edu/~marijn/drat-trim/

slide-31
SLIDE 31

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 13

Recent Work

Verifying Refutations with Extended Resolution

Published: Conference on Automated Deduction (CADE 2013)

Mechanical Verification of SAT Refutations with Extended Resolution

Published: Interactive Theorem Proving (ITP 2013)

Trimming while Checking Clausal Proofs

Published: Formal Methods in Computer-Aided Design (FMCAD 2013)

DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs

Published: Theory and Applications of Satisfiability Testing (SAT 2014)

slide-32
SLIDE 32

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 13

Recent Work

Verifying Refutations with Extended Resolution

Published: Conference on Automated Deduction (CADE 2013)

Mechanical Verification of SAT Refutations with Extended Resolution

Published: Interactive Theorem Proving (ITP 2013)

Trimming while Checking Clausal Proofs

Published: Formal Methods in Computer-Aided Design (FMCAD 2013)

DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs

Published: Theory and Applications of Satisfiability Testing (SAT 2014)

http://cs.utexas.edu/~marijn/drat-trim/

QRAT-trim (QBF proof checking)
 IJCAR, July 19, 15:00

slide-33
SLIDE 33

Nathan Wetzler DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs / 13 13

Recent Work

Verifying Refutations with Extended Resolution

Published: Conference on Automated Deduction (CADE 2013)

Mechanical Verification of SAT Refutations with Extended Resolution

Published: Interactive Theorem Proving (ITP 2013)

Trimming while Checking Clausal Proofs

Published: Formal Methods in Computer-Aided Design (FMCAD 2013)

DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs

Published: Theory and Applications of Satisfiability Testing (SAT 2014)

http://cs.utexas.edu/~marijn/drat-trim/

Thank you for your attention!

QRAT-trim (QBF proof checking)
 IJCAR, July 19, 15:00