Unification Algorithms Cannot Be Combined in Polynomial Time

We establish that there is no polynomial-time general combination algorithm for unification in finitary equational theories, unless the complexity class #P of counting problems is contained in the class FP of function problems solvable in polynomial time. The prevalent view in complexity theory is that such a collapse is extremely unlikely for a number of reasons, including the fact that the containment of #P in FP implies that P=NP. Our main result is obtained by establishing the intractability of the counting problem for general AG-unification, where AG is the equational theory of Abelian groups. More specifically, we show that computing the cardinality of a minimal complete set of unifiers for general AG-unification is a #P-hard problem. In contrast, AG-unification with constants is known to be solvable in polynomial time. Since an algorithm for general AG-unification can be obtained as a combination of a polynomial-time algorithm for AG-unification with constants and a polynomial-time algorithm for syntactic unification, it follows that no polynomial-time general combination algorithm exists, unless #P is contained in FP. This implication of our main results holds not only for the combination of unification algorithms, but also for the combination of constraint solvers as well. We also show that the counting problem for Boolean ring unification is #P-hard; this gives a lower bound on the performance of all algorithms for general BR-unification.

[1]  Jean-Pierre Jouannaud,et al.  Unification in Boolean Rings and Abelian Groups , 1989, J. Symb. Comput..

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

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

[4]  Mark E. Stickel,et al.  A Unification Algorithm for Associative-Commutative Functions , 1981, JACM.

[5]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. A: Algorithms and Complexity , 1994 .

[6]  Hélène Kirchner,et al.  Combining Symbolic Constraint Solvers on Algebraic Domains , 1994, J. Symb. Comput..

[7]  Qing Guo,et al.  Unification and Matching Modulo Nilpotence , 1996, CADE.

[8]  Leslie G. Valiant,et al.  The Complexity of Enumeration and Reliability Problems , 1979, SIAM J. Comput..

[9]  Patrick Brézillon,et al.  Lecture Notes in Artificial Intelligence , 1999 .

[10]  Phokion G. Kolaitis,et al.  The Complexity of Counting Problems in Equational Matching , 1995, J. Symb. Comput..

[11]  M. Schmidt-Schauβ Unification in a combination of arbitrary disjoint equational theories , 1989 .

[12]  Claude Kirchner,et al.  Solving Equations in Abstract Algebras: A Rule-Based Survey of Unification , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[13]  Seinosuke Toda On the computational power of PP and (+)P , 1989, 30th Annual Symposium on Foundations of Computer Science.

[14]  Ravi Kannan,et al.  Polynomial Algorithms for Computing the Smith and Hermite Normal Forms of an Integer Matrix , 1979, SIAM J. Comput..

[15]  Mark E. Stickel A Complete Unification Algorithm for Associative-Commutative Functions , 1975, IJCAI.

[16]  François Fages Associative-Commutative Unification , 1987, J. Symb. Comput..

[17]  J. Siekmann,et al.  Abelian semigroups , 1987 .

[18]  Dov M. Gabbay,et al.  Handbook of logic in artificial intelligence and logic programming (vol. 1) , 1993 .

[19]  David S. Johnson,et al.  A Catalog of Complexity Classes , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[20]  Phokion G. Kolaitis,et al.  The Complexity of Counting Problems in Equational Matching , 1994, J. Symb. Comput..

[21]  François Fages,et al.  Complete Sets of Unifiers and Matchers in Equational Theories , 1983, CAAP.

[22]  Leslie G. Valiant,et al.  The Complexity of Computing the Permanent , 1979, Theor. Comput. Sci..

[23]  Franz Baader,et al.  Unification theory , 1986, Decis. Support Syst..

[24]  Jean-Louis Lassez,et al.  Computational logic: essays in honor of Alan Robinson , 1991 .

[25]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[26]  Phokion G. Kolaitis,et al.  Computational Complexity of Simultaneous Elementary Matching Problems (Extended Abstract) , 1995, MFCS.

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

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

[29]  Christophe Ringeissen,et al.  Combining Decision Algorithms for Matching in the Union of Disjoint Equational Theories , 1996, Inf. Comput..

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

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

[32]  Tobias Nipkow,et al.  Boolean Unification - The Story So Far , 1989, J. Symb. Comput..

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

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

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

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