Applications of Propositional Reasoning Systems CSE 473 – Autumn 2003
Testing Circuit Equivalence Do two circuits compute the same function? Circuit optimization Is there input for which the two circuits compute different values? C C’ nand A B A B
Testing Circuit Equivalence nand D E A B A B
Symbolic Model Checking Any finite state machine is characterized by a transition function CPU Networking protocol Wish to prove some invariant holds for any possible inputs Bounded model checking: formula is sat iff invariant fails k steps in the future
The SAT Competition strikes back… In Italia What is a good SAT solver ? One that participates !
The hidden face of the Italian coast! Thanks to LRI (Orsay, France) DIST (Genoa, Italia) 522 cpu days (2 clusters, 2 phases) 34 solvers (4 incomplete), 993 benchmarks, 15 Athlon 1800+ and 8 P4 2.4 Ghz 1Gb RAM
The competition: why? ? Provide a (regular) picture of current state-of-the-art SAT solvers “Measure” the progress each year Motivate (again and again) the field! Visibility One (important) question last year : Would submitters be able to made substantial progress in only one year?
The Benchmarks (industrial) 323 benchmarks, 45 series Hard_eq_check (E. Goldberg) [16,1] Addm (J. Kukula) [6, 1] Equivalence check of two randomly structured adders with multiple addends Li-exam, test (R. Li) [12, 2] : formulated from unit covering problem of logic minimization of logic ircuit benchmark test4 Ferry, gripper, hanoi [24,3] : based on TSP (tunable satplan). A DIMACS generator for planing problems in PDDL format 'l2s‘ [11,1]: (V. Schuppan) Bounded model checking of Bwolen Yangs collection of benchmarks for SMV in conjunction with a method to convert liveness to safety. And a lot of E. Zarpas BMC formulae…
Complete Industrial Industrial, Sat + Unsat
Complete handmade HandMade, Sat + Unsat
Incomplete Random Random, Sat
The solvers (5/8) saturn (S. Prestwich) [IR]: Saturn performs local search in a space of partial truth assignments that are consistent under unit propagation. It is a DPLL procedure with depth-first search replaced by an incomplete form of backtracking (Incomplete Dynamic Backtracking). The difference between version 2 and version 1 is a form of conflict diagnosis: variables are selected for unassignment by analysing the causes of dead-ends during search. satzilla (K. Leyton-Brown, E. Nudelman, G. Andrew, C. Gomes, J. McFadden, B. Selman, Y. Shoham) [CD, CD-HC] : Portfollio of algorithms: 2clseq, Limmat, JeruSat, OKsolver, Relsat, Sato, Satzrand, and Zchaff. Satzilla2 also contains eqsatz and Heerhugo.