Comparing Unification Algorithms in First-Order Theorem Proving

Unification is one of the key procedures in first-order theorem provers. Most first-order theorem provers use the Robinson unification algorithm. Although its complexity is in the worst case exponential, the algorithm is easy to implement and examples on which it may show exponential behaviour are believed to be atypical. More sophisticated algorithms, such as the Martelli and Montanari algorithm, offer polynomial complexity but are harder to implement. Very little is known about the practical perfomance of unification algorithms in theorem provers: previous case studies have been conducted on small numbers of artificially chosen problem and compared term-to-term unification while the best theorem provers perform set-of-terms-to-term unification using term indexing. To evaluate the performance of unification in the context of term indexing, we made large-scale experiments over the TPTP library containing thousands of problems using the COMPITmethodology. Our results confirm that the Robinson algorithm is the most efficient one in practice. They also reveal main sources of inefficiency in other algorithms. We present these results and discuss various modification of unification algorithms.

[1]  Thomas Hillenbrand,et al.  WALDMEISTER - High-Performance Equational Deduction , 1997, Journal of Automated Reasoning.

[2]  Matthias Fuchs,et al.  DISCOUNT: A SYstem for Distributed Equational Deduction , 1995, RTA.

[3]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

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

[5]  I. V. Ramakrishnan,et al.  Term Indexing , 1995, Lecture Notes in Computer Science.

[6]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[7]  Peter Graf Substitution Tree Indexing , 1995, RTA.

[8]  I. V. Ramakrishnan,et al.  Term Indexing , 2001, Handbook of Automated Reasoning.

[9]  Andrei Voronkov,et al.  The design and implementation of VAMPIRE , 2002, AI Commun..

[10]  Leonidas J. Guibas,et al.  The Analysis of Double Hashing , 1978, J. Comput. Syst. Sci..

[11]  Malik Ghallab,et al.  A Practically Efficient and Almost Linear Unification Algorithm , 1988, Artif. Intell..

[12]  A. B. Kahn,et al.  Topological sorting of large networks , 1962, CACM.

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

[14]  Andrei Voronkov,et al.  On the Evaluation of Indexing Techniques for Theorem Proving , 2001, IJCAR.

[15]  Geoff Sutcliffe,et al.  The TPTP Problem Library , 1994, Journal of Automated Reasoning.

[16]  Peter Ruzicka,et al.  An Almost Linear Robinson Unification ALgorithm , 1988, MFCS.

[17]  Michel Bidoit,et al.  A Rehabilitation of Robinson's Unification Algorithm , 1983, IFIP Congress.

[18]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[19]  R. Vogt High Performance Equational Deduction , 1997 .

[20]  Mike Paterson,et al.  Linear Unification , 1978, J. Comput. Syst. Sci..

[21]  Václav Koubek,et al.  Mathematical Foundations of Computer Science 1988 , 1988, Lecture Notes in Computer Science.

[22]  C. L. Hamblin Translation to and from Polish Notation , 1962, Comput. J..

[23]  François Fages,et al.  Average-Case Analysis of Unification Algorithms , 1991, Theor. Comput. Sci..

[24]  Alberto Martelli,et al.  An Efficient Unification Algorithm , 1982, TOPL.