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 COMPIT methodology. 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.
KeywordsHash Function Theorem Prover Function Symbol Unification Algorithm Term Indexing
Unable to display preview. Download preview PDF.
- 3.Corbin, J., Bidoit, M.: A rehabilitation of Robinson’s unification algorithm. In: IFIP Congress, pp. 909–914 (1983)Google Scholar
- 10.Paterson, M.S., Wegman, M.N.: Linear unification. In: STOC 1976, pp. 181–186. ACM, New York (1976)Google Scholar
- 11.Ramakrishnan, I.V., Sekar, R.C., Voronkov, A.: Term indexing. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 1853–1964 (2001)Google Scholar
- 15.Schulz, S.: E — a brainiac theorem prover 15(2-3), 111–126 (2002)Google Scholar