Efficient generation of craig interpolants in satisfiability modulo theories

The problem of computing Craig interpolants has recently received a lot of interest. In this article, we address the problem of efficient generation of interpolants for some important fragments of first-order logic, which are amenable for effective decision procedures, called satisfiability modulo theory (SMT) solvers. We make the following contributions. First, we provide interpolation procedures for several basic theories of interest: the theories of linear arithmetic over the rationals, difference logic over rationals and integers, and UTVPI over rationals and integers. Second, we define a novel approach to interpolate combinations of theories that applies to the delayed theory combination approach. Efficiency is ensured by the fact that the proposed interpolation algorithms extend state-of-the-art algorithms for satisfiability modulo theories. Our experimental evaluation shows that the MathSAT SMT solver can produce interpolants with minor overhead in search, and much more efficiently than other competitor solvers.

[1]  Shuvendu K. Lahiri,et al.  An Efficient Decision Procedure for UTVPI Constraints , 2005, FroCoS.

[2]  Christopher Lynch,et al.  Interpolants for Linear Arithmetic in SMT , 2008, ATVA.

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

[4]  Thomas A. Henzinger,et al.  The software model checker Blast , 2007, International Journal on Software Tools for Technology Transfer.

[5]  Ranjit Jhala,et al.  Interpolant-Based Transition Relation Approximation , 2005, CAV.

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

[7]  CimattiAlessandro,et al.  Efficient generation of craig interpolants in satisfiability modulo theories , 2010 .

[8]  Thomas A. Henzinger,et al.  The software model checker B last : Applications to software engineering , 2007 .

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

[10]  Daniel Kroening,et al.  Decision Procedures - An Algorithmic Point of View , 2008, Texts in Theoretical Computer Science. An EATCS Series.

[11]  Antoine Miné,et al.  The octagon abstract domain , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

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

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

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

[15]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.

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

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

[18]  Sharad Malik,et al.  Computer Aided Verification, 20th International Conference, CAV 2008, Princeton, NJ, USA, July 7-14, 2008, Proceedings , 2008, CAV.

[19]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[20]  Herbert B. Enderton,et al.  A mathematical introduction to logic , 1972 .

[21]  Roberto Bruttomesso,et al.  The MathSAT 4SMT Solver , 2008, CAV.

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

[23]  Michael J. Maher,et al.  Beyond Finite Domains , 1994, PPCP.

[24]  David L. Dill,et al.  A Generalization of Shostak's Method for Combining Decision Procedures , 2002, FroCoS.

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

[26]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[27]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

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

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

[30]  Alberto Griggio,et al.  Efficient Interpolant Generation in Satisfiability Modulo Theories , 2008, TACAS.

[31]  Nikolaj Bjørner,et al.  Proofs and Refutations, and Z3 , 2008, LPAR Workshops.

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

[33]  Allen Van Gelder Verifying Propositional Unsatisfiability: Pitfalls to Avoid , 2007, SAT.

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

[35]  Thomas Ball,et al.  Computer Aided Verification, 18th International Conference, CAV 2006, Seattle, WA, USA, August 17-20, 2006, Proceedings , 2006, CAV.

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

[37]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

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

[39]  Cesare Tinelli,et al.  Ground Interpolation for Combined Theories , 2009, CADE.

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

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

[42]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[43]  Rupak Majumdar,et al.  CSIsat: Interpolation for LA+EUF , 2008, CAV.

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

[45]  Daniel Kroening,et al.  Lifting Propositional Interpolants to the Word-Level , 2007 .

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

[47]  Viorica Sofronie-Stokkermans,et al.  Interpolation in Local Theory Extensions , 2006, Log. Methods Comput. Sci..

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

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

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

[51]  Edmund M. Clarke,et al.  Efficient Craig interpolation for linear Diophantine (dis)equations and linear modular equations , 2008, Formal Methods Syst. Des..

[52]  Alberto Griggio,et al.  Interpolant Generation for UTVPI , 2009, CADE.

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

[54]  Antoine Miné,et al.  The octagon abstract domain , 2001, High. Order Symb. Comput..

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

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

[57]  Cesare Tinelli,et al.  Ground Interpolation for the Theory of Equality , 2009, TACAS.

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