Efficient Interpolant Generation in Satisfiability Modulo Theories

The problem of computing Craig Interpolants for propositional (SAT) formulas has recently received a lot of interest, mainly for its applications in formal verification. However, propositional logic is often not expressive enough for representing many interesting verification problems, which can be more naturally addressed in the framework of Satisfiability Modulo Theories, SMT. Although some works have addressed the topic of generating interpolants in SMT, the techniques and tools that are currently available have some limitations, and their performace still does not exploit the full power of current state-of-the-art SMT solvers. In this paper we try to close this gap. We present several techniques for interpolant generation in SMT which overcome the limitations of the current generators mentioned above, and which take full advantage of state-of-the-art SMT technology. These novel techniques can lead to substantial performance improvements wrt. the currently available tools. We support our claims with an extensive experimental evaluation of our implementation of the proposed techniques in the MathSAT SMT solver.

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

[2]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

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

[4]  Kenneth L. McMillan,et al.  An interpolating theorem prover , 2005, Theor. Comput. Sci..

[5]  Armin Biere,et al.  Theory and Applications of Satisfiability Testing - SAT 2006, 9th International Conference, Seattle, WA, USA, August 12-15, 2006, Proceedings , 2006, SAT.

[6]  Robert Nieuwenhuis Automated Deduction - CADE-20, 20th International Conference on Automated Deduction, Tallinn, Estonia, July 22-27, 2005, Proceedings , 2005, CADE.

[7]  Edmund M. Clarke,et al.  Efficient Craig Interpolation for Linear Diophantine (Dis)Equations and Linear Modular Equations , 2008, CAV.

[8]  G. Cabodi,et al.  Stepping Forward with Interpolants in Unbounded Model Checking , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[9]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[10]  Viorica Sofronie-Stokkermans,et al.  Constraint solving for interpolation , 2007, J. Symb. Comput..

[11]  Ranjit Jhala,et al.  Array Abstractions from Proofs , 2007, CAV.

[12]  Allan Clark,et al.  Semantic-Based Development of Service-Oriented Systems , 2006, FORTE.

[13]  Marco Bozzano,et al.  Verifying Industrial Hybrid Systems with MathSAT , 2005, BMC@CAV.

[14]  Oded Maler,et al.  Fast and Flexible Difference Constraint Propagation for DPLL(T) , 2006, SAT.

[15]  Bing Li,et al.  Efficient Abstraction Refinement in Interpolation-Based Unbounded Model Checking , 2006, TACAS.

[16]  Kenneth L. McMillan,et al.  Lazy Abstraction with Interpolants , 2006, CAV.

[17]  Shuvendu K. Lahiri,et al.  Zap: Automated Theorem Proving for Software Analysis , 2005, LPAR.

[18]  Pavel Pudlák,et al.  Lower bounds for resolution and cutting plane proofs and monotone computations , 1997, Journal of Symbolic Logic.

[19]  Albert Oliveras,et al.  DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic , 2005, CAV.

[20]  Calogero G. Zarba,et al.  Interpolation for data structures , 2006, SIGSOFT '06/FSE-14.

[21]  Ranjit Jhala,et al.  Interpolant-Based Transition Relation Approximation , 2007, Log. Methods Comput. Sci..

[22]  Robert J. Vanderbei,et al.  Linear Programming: Foundations and Extensions , 1998, Kluwer international series in operations research and management service.

[23]  Joao Marques-Silva Interpolant Learning and Reuse in SAT-Based Model Checking , 2007, Electron. Notes Theor. Comput. Sci..

[24]  Marco Bozzano,et al.  Efficient theory combination via boolean search , 2006, Inf. Comput..

[25]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[26]  Roberto Bruttomesso,et al.  Delayed theory combination vs. Nelson-Oppen for satisfiability modulo theories: a comparative analysis , 2006, Annals of Mathematics and Artificial Intelligence.

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

[28]  Madan Musuvathi,et al.  A Combination Method for Generating Interpolants , 2005, CADE.

[29]  Thomas A. Henzinger,et al.  Abstractions from proofs , 2004, POPL.

[30]  Daniel Kroening,et al.  Lifting Propositional Interpolants to the Word-Level , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[31]  Ranjit Jhala,et al.  A Practical and Complete Approach to Predicate Refinement , 2006, TACAS.

[32]  Alessandro Cimatti,et al.  SAT-Based Bounded Model Checking for Timed Systems , 2002 .

[33]  Marco Bozzano,et al.  MathSAT: Tight Integration of SAT and Mathematical Decision Procedures , 2005, Journal of Automated Reasoning.

[34]  Albert Oliveras,et al.  Fast congruence closure and extensions , 2007, Inf. Comput..