Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT

In the past few years, general-purpose propositional satisfiability (SAT) solvers have improved dramatically in performance and have been used to tackle many new problems.It has also been shown that certain simple fragments of first-order logic can be decided efficiently by first translating the problem into an equivalent SAT problem and then using a fast SAT solver.In this paper, we describe an alternative but similar approach to using SAT in conjunction with a more expressive fragment of first-order logic. However, rather than translating the entire formula up front, the formula is incrementally translated during a search for the solution.A s a result, only that portion of the translation that is actually relevant to the solution is obtained.We describe a number of obstacles that had to be overcome before developing an approach which was ultimately very effective, and give results on verification benchmarks using CVC (Cooperating Validity Checker), which includes the Chaff SAT solver. The results show a performance gain of several orders of magnitude over CVC without Chaff and indicate that the method is more robust than the heuristics found in CVC's predecessor, SVC.

[1]  Joao Marques-Silva,et al.  Algorithms for solving Boolean satisfiability in combinational circuits , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[2]  Harald Ruess,et al.  Lazy Theorem Proving for Bounded Model Checking over Infinite Domains , 2002, CADE.

[3]  Randal E. Bryant,et al.  Exploiting Positive Equality in a Logic of Equality with Uninterpreted Functions , 1999, CAV.

[4]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.

[5]  MASAHIRO FUJITA,et al.  Formal Verification Techniques for Digital Systems , 1998 .

[6]  N. S. Barnett,et al.  Private communication , 1969 .

[7]  Clark W. Barrett,et al.  Ph.D. thesis: Checking the validity of quantifier-free formulas in combinations of first-order theories , 2003 .

[8]  16th Annual IEEE Symposium on Logic in Computer Science, Boston, Massachusetts, USA, June 16-19, 2001, Proceedings , 2001, LICS.

[9]  Amir Pnueli,et al.  Deciding Equality Formulas by Small Domains Instantiations , 1999, CAV.

[10]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[11]  Natarajan Shankar,et al.  Deconstructing Shostak , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[12]  David L. Dill,et al.  CVC: A Cooperating Validity Checker , 2002, CAV.

[13]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[14]  Tracy Larrabee,et al.  Test pattern generation using Boolean satisfiability , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..