Existential Quantification as Incremental SAT

This paper presents an elegant algorithm for existential quantifier elimination using incremental SAT solving. This approach contrasts with existing techniques in that it is based solely on manipulating the SAT instance rather than requiring any reengineering of the SAT solver or needing an auxiliary data-structure such as a BDD. The algorithm combines model enumeration with the generation of shortest prime implicants so as to converge onto a quantifier-free formula presented in CNF. We apply the technique to a number of hardware circuits and transfer functions to demonstrate the effectiveness of the method.

[1]  Andy King,et al.  Widening ROBDDs with Prime Implicants , 2006, TACAS.

[2]  R. Read Every one a Winner or how to Avoid Isomorphism Search when Cataloguing Combinatorial Configurations , 1978 .

[3]  Michael S. Hsiao,et al.  Efficient preimage computation using a novel success-driven ATPG , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[4]  Helmut Veith,et al.  25 Years of Model Checking - History, Achievements, Perspectives , 2008, 25 Years of Model Checking.

[5]  Albert Oliveras,et al.  SMT Techniques for Fast Predicate Abstraction , 2006, CAV.

[6]  Andy King,et al.  Range and Set Abstraction using SAT , 2010, Electron. Notes Theor. Comput. Sci..

[7]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[8]  Roberto Bruttomesso,et al.  The MathSAT 4 SMT Solver ( Tool Paper ) , 2008 .

[9]  Robert Moran Everyone a winner. , 1997, Nursing standard (Royal College of Nursing (Great Britain) : 1987).

[10]  Shuvendu K. Lahiri,et al.  A Symbolic Approach to Predicate Abstraction , 2003, CAV.

[11]  Jörg Brauer,et al.  Automatic Abstraction for Intervals Using Boolean Formulae , 2010, SAS.

[12]  Bastian Schlich,et al.  Model checking of software for microcontrollers , 2010, TECS.

[13]  Marco Roveri,et al.  Computing Predicate Abstractions by Integrating BDDs and SMT Solvers , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[14]  Kenneth L. McMillan,et al.  Applying SAT Methods in Unbounded Symbolic Model Checking , 2002, CAV.

[15]  Igor L. Markov,et al.  Faster SAT and smaller BDDs via common function structure , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[16]  Zijiang Yang,et al.  SAT-Based Image Computation with Application in Reachability Analysis , 2000, FMCAD.

[17]  Randal E. Bryant,et al.  A View from the Engine Room: Computational Support for Symbolic Model Checking , 2008, 25 Years of Model Checking.

[18]  Cormac Flanagan,et al.  Predicate abstraction for software verification , 2002, POPL '02.

[19]  David Monniaux,et al.  Quantifier Elimination by Lazy Model Enumeration , 2010, CAV.

[20]  S. Genaim,et al.  Modeling Secure Information Flow with Boolean Functions , 2004 .

[21]  David A. Plaisted,et al.  A Structure-Preserving Clause Form Translation , 1986, J. Symb. Comput..

[22]  Olivier Coudert,et al.  Implicit and incremental computation of primes and essential primes of Boolean functions , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[23]  Randal E. Bryant,et al.  Boolean Analysis of MOS Circuits , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[24]  Christopher Umans The Minimum Equivalent DNF Problem and Shortest Implicants , 2001, J. Comput. Syst. Sci..

[25]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[26]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[27]  Archie Blake Canonical expressions in Boolean algebra , 1938 .

[28]  Daniel Kroening,et al.  Ranking function synthesis for bit-vector relations , 2010, Formal Methods Syst. Des..

[29]  Helmut Veith,et al.  SAT Based Predicate Abstraction for Hardware Verification , 2003, SAT.

[30]  Natarajan Shankar,et al.  Abstract and Model Check While You Prove , 1999, CAV.

[31]  Daniel Kroening,et al.  A SAT-based algorithm for reparameterization in symbolic simulation , 2004, Proceedings. 41st Design Automation Conference, 2004..

[32]  John S. Schlipf,et al.  Extending Existential Quantification in Conjunctions of BDDs , 2006, J. Satisf. Boolean Model. Comput..

[33]  James H. Kukula,et al.  Checking satisfiability of a conjunction of BDDs , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[34]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[35]  Vasco M. Manquinho,et al.  Prime implicant computation using satisfiability algorithms , 1997, Proceedings Ninth IEEE International Conference on Tools with Artificial Intelligence.

[36]  Kim Marriott,et al.  Two Classes of Boolean Functions for Dependency Analysis , 1998, Sci. Comput. Program..

[37]  David L. Dill,et al.  Experience with Predicate Abstraction , 1999, CAV.

[38]  Niklas Sörensson,et al.  Translating Pseudo-Boolean Constraints into SAT , 2006, J. Satisf. Boolean Model. Comput..

[39]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[40]  Fabio Somenzi,et al.  CirCUs: A Hybrid Satisfiability Solver , 2004, SAT.

[41]  Jörg Brauer,et al.  Approximate Quantifier Elimination for Propositional Boolean Formulae , 2011, NASA Formal Methods.

[42]  Willard Van Orman Quine,et al.  A Way to Simplify Truth Functions , 1955 .