TSAT++: an Open Platform for Satisfiability Modulo Theories

Abstract This paper describes TSAT++ , an open platform which realizes the lazy SAT-based approach to Satisfiability Modulo Theories (SMT). SMT is the problem of determining satisfiability of a propositional combination of T-literals, where T is a first-order theory for which a satisfiability procedure for a set of ground atoms is known. TSAT++ enjoys a modular design in which an enumerator and a theory-specific satisfiability checker cooperate in order to solve SMT. Modularity allows both different enumerators, and satisfiability checkers for different theories (or combinations of theories), to be plugged in, as far as they comply to a simple and well-defined interface. A number of optimization techniques are also implemented in TSAT++ , which are independent of the modules used (and of the corresponding theory). Some experimental results are presented, showing that TSAT++ , instantiated for Separation Logic, is competitive with, or faster than, state-of-the-art solvers for that very logic.

[1]  Martha E. Pollack,et al.  Efficient solution techniques for disjunctive temporal reasoning problems , 2003, Artif. Intell..

[2]  Gilles Audemard,et al.  Bounded Model Checking for Timed Systems , 2002, FORTE.

[3]  Daniel P. Miranker,et al.  A Complexity Analysis of Space-Bounded Learning Algorithms for the Constraint Satisfaction Problem , 1996, AAAI/IAAI, Vol. 1.

[4]  Piergiorgio Bertoli,et al.  A SAT Based Approach for Solving Formulas over Boolean and Linear Mathematical Propositions , 2002, CADE.

[5]  Manolis Koubarakis,et al.  Backtracking algorithms for disjunctions of temporal constraints , 1998, Artif. Intell..

[6]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[7]  Patrick Prosser,et al.  HYBRID ALGORITHMS FOR THE CONSTRAINT SATISFACTION PROBLEM , 1993, Comput. Intell..

[8]  Ofer Strichman,et al.  Deciding Separation Formulas with SAT , 2002, CAV.

[9]  Enrico Giunchiglia,et al.  Embedding complex decision procedures inside an interactive theorem prover , 1993, Annals of Mathematics and Artificial Intelligence.

[10]  Daniel S. Weld,et al.  The LPSAT Engine & Its Application to Resource Planning , 1999, IJCAI.

[11]  Sanjit A. Seshia,et al.  Modeling and Verification of Out-of-Order Microprocessors in UCLID , 2002, FMCAD.

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

[13]  Enrico Giunchiglia,et al.  A SAT-based Decision Procedure for the Boolean Combination of Difference Constraints , 2004, SAT.

[14]  Enrico Giunchiglia,et al.  SAT-Based Procedures for Temporal Reasoning , 1999, ECP.

[15]  Amedeo Cesta,et al.  Incremental Forward Checking for the Disjunctive Temporal Problem , 2000, ECAI.

[16]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[17]  Cesare Tinelli,et al.  DPLL( T): Fast Decision Procedures , 2004, CAV.

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