The combination problem in automated reasoning

Decision procedures are algorithms that can reason about the validity or satisfiability of logical formulae in a given decidable theory, and that always terminate with a positive or negative answer. The major advantage of decision procedures is efficiency. It is often possible to obtain a fast and efficient decision procedure for a specific domain by cleverly exploiting the structure of the domain itself. However, this efficiency comes at the price of specialization. Most reasoning problems typically involve a complex mixture of multiple domains, which means that a decision procedure for a specific domain can be applied only if it can be combined with the decision procedures for the other domains. One of the first and most important results in the field of combination was obtained by Nelson and Oppen, who presented a method for combining decision procedures for first-order theories satisfying certain conditions into a single decision procedure for the union theory. Although the Nelson-Oppen method is still considered to be state-of-the-art, it has two major restrictions: (1) the theories to combine must be stably infinite; (2) the signatures of the theories must be disjoint. In this thesis we introduce new techniques for relaxing the restrictions of the Nelson-Oppen method, thus widening the range of reasoning problems that can be solved with combination methods. Our main contributions include: (1) new combination methods that address the problem of combining theories that are not stably infinite; (2) the introduction of Combination tableaux (C-tableaux), a general framework, based on Smullyan tableaux, that can be seen as a generalization of the Nelson-Oppen method to the combination of arbitrary theories, not necessarily stably infinite, and not necessarily over disjoint signatures; (3) new combination methods for combining sets and multisets with integers.

[1]  J. Schwartz,et al.  Decision procedures for elementary sublanguages of set theory. I. Multi‐level syllogistic and some extensions , 1980 .

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

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

[4]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[5]  J. Heijenoort From Frege To Gödel , 1967 .

[6]  Wilhelm Ackermann,et al.  Solvable Cases Of The Decision Problem , 1954 .

[7]  C. H. Langford Some Theorems on Deducibility , 1926 .

[8]  E. Zermelo Untersuchungen über die Grundlagen der Mengenlehre. I , 1908 .

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

[10]  Calogero G. Zarba A Tableau Calculus for Combining Non-disjoint Theories , 2002, TABLEAUX.

[11]  MASAHIRO FUJITA,et al.  Formal Verification Techniques for Digital Systems , 1998 .

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

[13]  Cesare Tinelli,et al.  A New Correctness Proof of the {Nelson-Oppen} Combination Procedure , 1996, FroCoS.

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

[15]  Leo Marcus,et al.  Using the State Delta Verification System (SDVS) for Hardware Verification , 1992, TPCD.

[16]  Cesare Tinelli,et al.  A New Approach for Combining Decision Procedure for the Word Problem, and Its Connection to the Nelson-Oppen Combination Method , 1997, CADE.

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

[18]  Harald Ganzinger,et al.  Superposition Modulo a Shostak Theory , 2003, CADE.

[19]  H. Enderton Elements of Set Theory , 1977 .

[20]  L. G. H. Cijan A polynomial algorithm in linear programming , 1979 .

[21]  Calogero G. ZarbaStanford Combining Lists with Integers ? , 2001 .

[22]  Peter J. Downey,et al.  Assignment Commands with Array References , 1978, JACM.

[23]  James H. Davenport,et al.  Real Quantifier Elimination is Doubly Exponential , 1988, J. Symb. Comput..

[24]  Robert E. Shostak,et al.  A Practical Decision Procedure for Arithmetic with Function Symbols , 1979, JACM.

[25]  Robert E. Shostak,et al.  An algorithm for reasoning about equality , 1977, CACM.

[26]  Greg Nelson,et al.  Fast Decision Procedures Based on Congruence Closure , 1980, JACM.

[27]  Frank Plumpton Ramsey,et al.  On a Problem of Formal Logic , 1930 .

[28]  Cesare Tinelli,et al.  Cooperation of Background Reasoners in Theory Reasoning by Residue Sharing , 2003, Journal of Automated Reasoning.

[29]  Charles Gregory Nelson,et al.  Techniques for program verification , 1979 .

[30]  Wilfrid Hodges,et al.  A Shorter Model Theory , 1997 .

[31]  David L. Dill,et al.  Checking validities and proofs with CVC and flea , 2002 .

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

[33]  David S. Johnson,et al.  Computers and In stractability: A Guide to the Theory of NP-Completeness. W. H Freeman, San Fran , 1979 .

[34]  Christos H. Papadimitriou,et al.  On the complexity of integer programming , 1981, JACM.

[35]  Calogero G. Zarba Combining Multisets with Integers , 2002, CADE.

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

[37]  Natarajan Shankar,et al.  PVS: Combining Specification, Proof Checking, and Model Checking , 1996, FMCAD.

[38]  E. Beth The foundations of mathematics : a study in the philosophy of science , 1959 .

[39]  H. B. Sipma,et al.  Combining Theories Sharing Dense Orders , 2003 .

[40]  Calogero G. Zarba,et al.  A New Fast Tableau-Based Decision Procedure for an Unquantified Fragment of Set Theory , 1998, FTP.

[41]  F. Ramsey The foundations of mathematics , 1932 .

[42]  Calogero G. Zarba,et al.  Combining Sets with Integers , 2002, FroCoS.

[43]  Bernd Finkbeiner,et al.  Verifying Temporal Properties of Reactive Systems: A STeP Tutorial , 2000, Formal Methods Syst. Des..

[44]  Silvio Ghilardi,et al.  Quantifier Elimination and Provers Integration , 2003, FTP.

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

[46]  Sentot Kromodimoeljo,et al.  EVES: An Overview , 1991, VDM Europe.

[47]  Derek C. Oppen,et al.  Reasoning about recursively defined data structures , 1978, POPL.

[48]  M. Fischer,et al.  SUPER-EXPONENTIAL COMPLEXITY OF PRESBURGER ARITHMETIC , 1974 .

[49]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[50]  David Jefferson,et al.  Verification Decidability of Presburger Array Programs , 1980, JACM.

[51]  Dexter Kozen,et al.  Complexity of finitely presented algebras , 1977, STOC '77.

[52]  John McCarthy,et al.  Towards a Mathematical Science of Computation , 1962, IFIP Congress.

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

[55]  Z. Manna,et al.  Integrating decision procedures for temporal verification , 1998 .

[56]  David L. Dill,et al.  A decision procedure for an extensional theory of arrays , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[57]  George E. Collins,et al.  Quantifier elimination for real closed fields by cylindrical algebraic decomposition , 1975 .

[58]  A. Tiwari,et al.  Decision procedures in automated deduction , 2000 .

[59]  Natarajan Shankar,et al.  ICS: Integrated Canonizer and Solver , 2001, CAV.

[60]  Christophe Ringeissen,et al.  Cooperation of Decision Procedures for the Satisfiability Problem , 1996, FroCoS.

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

[62]  Thomas Jech,et al.  About the Axiom of Choice , 1973 .

[63]  Greg Nelson,et al.  Combining satisability procedures by equality-sharing , 1984 .

[64]  Jeanne Ferrante,et al.  A Decision Procedure for the First Order Theory of Real Addition with Order , 1975, SIAM J. Comput..

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

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

[67]  F. Hartogs,et al.  Über das Problem der Wohlordnung , 1915 .

[68]  P. Bernays,et al.  Zum Entscheidungsproblem der mathematischen Logik , 1928 .

[69]  Derek C. Oppen,et al.  Complexity, Convexity and Combinations of Theories , 1980, Theor. Comput. Sci..

[70]  Melvin Fitting,et al.  First-Order Logic and Automated Theorem Proving , 1990, Graduate Texts in Computer Science.

[71]  Ju. V. Matijasevic,et al.  ENUMERABLE SETS ARE DIOPHANTINE , 2003 .

[72]  C. Silver Who invented Cantor's back-and-forth argument? , 1994 .

[73]  Alonzo Church,et al.  A note on the Entscheidungsproblem , 1936, Journal of Symbolic Logic.

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

[75]  Leopold Löwenheim Über Möglichkeiten im Relativkalkül , 1915 .