Combining Proof-Producing Decision Procedures

Constraint solvers are key modules in many systems with reasoning capabilities (e.g., automated theorem provers). To incorporate constraint solvers in such systems, the capability of producing conflict sets or explanations of their results is crucial. For expressiveness, constraints are usually built out in unions of theories and constraint solvers in such unions are obtained by modularly combining solvers for the component theories. In this paper, we consider the problem of modularly constructing conflict sets for a combined theory by re-using available proof-producing procedures for the component theories. The key idea of our solution to this problem is the concept of explanation graph, which is a labelled, acyclic and undirected graph capable of recording the entailment of some equalities. Explanation graphs allow us to record explanations computed by a proof-producing procedure and to refine the Nelson-Oppen combination method to modularly build conflict sets for disjoint unions of theories. We also study how the computed conflict sets relate to an appropriate notion of minimality.

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

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

[3]  Marco Bozzano,et al.  An Incremental and Layered Procedure for the Satisfiability of Linear Arithmetic Logic , 2005, TACAS.

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

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

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

[7]  C. A. R. Hoare,et al.  Intelligent Systems and Formal Methods in Software Engineering , 2006, IEEE Intelligent Systems.

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

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

[10]  David K. Smith Theory of Linear and Integer Programming , 1987 .

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

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

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

[14]  Duc-Khanh Tran,et al.  Conception de Procédures de Décision par Combinaison et Saturation. (Design of decision procedures by combination and saturation) , 2007 .

[15]  Philip Wadler Call-by-Value Is Dual to Call-by-Name - Reloaded , 2005, RTA.

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

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

[18]  Zhiming Liu,et al.  Theoretical Aspects of Computing - ICTAC 2004, First International Colloquium, Guiyang, China, September 20-24, 2004, Revised Selected Papers , 2005, ICTAC.

[19]  Stephan Schulz,et al.  E - a brainiac theorem prover , 2002, AI Commun..

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

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

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

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

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

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