Combination of convex theories: Modularity, deduction completeness, and explanation

Decision procedures are key components of theorem provers and constraint satisfaction systems. Their modular combination is of prime interest for building efficient systems, but their effective use is often limited by poor interface capabilities, when such procedures only provide a simple ''sat/unsat'' answer. In this paper, we develop a framework to design cooperation schemas between such procedures while maintaining modularity of their interfaces. First, we use the framework to specify and prove the correctness of classic combination schemas by Nelson-Oppen and Shostak. Second, we introduce the concept of deduction complete satisfiability procedures, we show how to build them for large classes of theories, then we provide a schema to modularly combine them. Third, we consider the problem of modularly constructing explanations for combinations by re-using available proof-producing procedures for the component theories.

[1]  Orna Grumberg,et al.  A game-based framework for CTL counterexamples and 3-valued abstraction-refinement , 2007, TOCL.

[2]  David Detlefs,et al.  Simplify: a theorem prover for program checking , 2005, JACM.

[3]  Cesare Tinelli,et al.  Unions of non-disjoint theories and combinations of satisfiability procedures , 2003, Theor. Comput. Sci..

[4]  Hélène Kirchner,et al.  On Superposition-Based Satisfiability Procedures and Their Combination , 2005, ICTAC.

[5]  Sylvain Conchon,et al.  Canonization for disjoint unions of theories , 2005, Inf. Comput..

[6]  Hélène Kirchner,et al.  Automatic Combinability of Rewriting-Based Satisfiability Procedures , 2006, LPAR.

[7]  Deepak Kapur,et al.  Shostak's Congruence Closure as Completion , 1997, RTA.

[8]  Harald Ganzinger,et al.  Shostak Light , 2002, CADE.

[9]  Claude Marché,et al.  Normalized Rewriting: An Alternative to Rewriting Modulo a Set of Equations , 1996, J. Symb. Comput..

[10]  Christophe Ringeissen,et al.  Nelson-Oppen, Shostak and the Extended Canonizer: A Family Picture with a Newborn , 2004, ICTAC.

[11]  Albert Oliveras,et al.  Proof-Producing Congruence Closure , 2005, RTA.

[12]  Alexandre Boudet Combining Unification Algorithms , 1993, J. Symb. Comput..

[13]  Maria Paola Bonacina,et al.  New results on rewrite-based satisfiability procedures , 2006, TOCL.

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

[15]  Maria Paola Bonacina,et al.  Decidability and Undecidability Results for Nelson-Oppen and Rewrite-Based Decision Procedures , 2006, IJCAR.

[16]  Stephan Merz,et al.  Expressiveness + Automation + Soundness: Towards Combining SMT Solvers and Interactive Proof Assistants , 2006, TACAS.

[17]  Pascal Fontaine Techniques for verification of concurrent systems with invariants , 2004 .

[18]  Li-Yang Tan,et al.  The Algebra of Equality Proofs , 2005, RTA.

[19]  Robert E. Tarjan,et al.  Efficiency of a Good But Not Linear Set Union Algorithm , 1972, JACM.

[20]  Charles E. Hughes,et al.  Intelligent backtracking in CLP(ℜ) , 2005, Annals of Mathematics and Artificial Intelligence.

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

[22]  Michaël Rusinowitch,et al.  A rewriting approach to satisfiability procedures , 2003, Inf. Comput..

[23]  Robert E. Shostak,et al.  Deciding Combinations of Theories , 1982, JACM.

[24]  Silvio Ghilardi,et al.  A comprehensive combination framework , 2008, TOCL.

[25]  Jörg H. Siekmann,et al.  8th International Conference on Automated Deduction , 1986, Lecture Notes in Computer Science.

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

[27]  Natarajan Shankar,et al.  Justifying Equality , 2005, Electron. Notes Theor. Comput. Sci..

[28]  Ashish Tiwari,et al.  Abstract Congruence Closure , 2003, Journal of Automated Reasoning.

[29]  Robert E. Tarjan,et al.  Variations on the Common Subexpression Problem , 1980, J. ACM.

[30]  Natarajan Shankar,et al.  Combining Shostak Theories , 2002, RTA.

[31]  Calogero G. Zarba,et al.  Combining Decision Procedures , 2002, 10th Anniversary Colloquium of UNU/IIST.

[32]  Natarajan Shankar,et al.  On Shostak's Decision Procedure for Combinations of Theories , 1996, CADE.

[33]  Christophe Ringeissen,et al.  Combining Proof-Producing Decision Procedures , 2007, FroCoS.

[34]  Wolfgang Thomas,et al.  Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics , 1990 .

[35]  Deepak Kapur A Rewrite Rule Based Framework for Combining Decision Procedures , 2002, FroCoS.

[36]  Sylvain Conchon,et al.  Strategies for combining decision procedures , 2003, Theor. Comput. Sci..

[37]  Tobias Nipkow,et al.  Combining Matching Algorithms: The Regular Case , 1991, J. Symb. Comput..

[38]  Jan van Leeuwen,et al.  Formal models and semantics , 1990 .

[39]  Silvio Ghilardi,et al.  Decision procedures for extensions of the theory of arrays , 2007, Annals of Mathematics and Artificial Intelligence.

[40]  Henny B. Sipma,et al.  What's Decidable About Arrays? , 2006, VMCAI.

[41]  Albert Rubio,et al.  Paramodulation-Based Theorem Proving , 2001, Handbook of Automated Reasoning.

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

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

[44]  Peter J. Stuckey,et al.  The Cassowary linear arithmetic constraint solving algorithm , 2001, TCHI.

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