A New Correctness Proof of the {Nelson-Oppen} Combination Procedure

The Nelson-Oppen combination procedure, which combines satisfiability procedures for a class of first-order theories by propagation of equalities between variables, is one of the most general combination methods in the field of theory combination. We describe a new non- deterministic version of the procedure that has been used to extend the Constraint Logic Programming Scheme to unions of constraint theories. The correctness proof of the procedure that we give in this paper not only constitutes a novel and easier proof of Nelson and Oppen’s original results, but also shows that equality sharing between the satisfiability procedures of the component theories, the main idea of the method, can be confined to a restricted set of variables.

[1]  Chen C. Chang,et al.  Model Theory: Third Edition (Dover Books On Mathematics) By C.C. Chang;H. Jerome Keisler;Mathematics , 1966 .

[2]  Joseph R. Shoenfield,et al.  Mathematical logic , 1967 .

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

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

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

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

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

[8]  Alexander Herold Combination of Unification Algorithms , 1986, CADE.

[9]  Erik Tidén Unification in Combinations of Collapse-Free Theories with Disjoint Sets of Function Symbols , 1986, CADE.

[10]  Ehud Shapiro,et al.  Third International Conference on Logic Programming , 1986 .

[11]  Katherine A. Yelick,et al.  Unification in Combinations of Collapse-Free Regular Theories , 1987, J. Symb. Comput..

[12]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[13]  Manfred Schmidt-Schauß Unification in a Combination of Arbitrary Disjoint Equational Theories , 1988, CADE.

[14]  Alexandre Boudet Unification in a Combination of Equational Theories: an Efficient Algorithm , 1990, CADE.

[15]  Hélène Kirchner,et al.  A Constraint Solver in Finite Algebras and Its Combination with Unification Algorithms , 1992, JICSLP.

[16]  Christophe Ringeissen,et al.  Unification in a Combination of Equational Theories with Shared Constants and its Application to Primal Algebras , 1992, LPAR.

[17]  Franz Baader,et al.  Unification in the Union of Disjoint Equational Theories: Combining Decision Procedures , 1992, CADE.

[18]  Franz Baader,et al.  Combination Techniques and Decision Problems for Disunification , 1995, Theor. Comput. Sci..

[19]  Franz Baader,et al.  Combination Techniques and Decision Problems for Disunification , 1993, RTA.

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

[21]  Hélène Kirchner,et al.  Constraint Solving by Narrowing in Combined Algebraic Domains , 1994, ICLP.

[22]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[23]  Christophe Ringeissen,et al.  Combination Techniques for Non-Disjoint Equational Theories , 1994, CADE.

[24]  Franz Baader,et al.  On the Combination of Symbolic Constraints, Solution Domains, and Constraint Solvers , 1995, CP.

[25]  Franz Baader,et al.  Combination of Constraint Solving Techniques: An Algebraic POint of View , 1995, RTA.

[26]  Nicolas Beldiceanu,et al.  Constraint Logic Programming , 2010, 25 Years GULP.