An Efficient Unification Algorithm

The unification problem in f'mst-order predicate calculus is described in general terms as the solution of a system of equations, and a nondeterministic algorithm is given. A new unification algorithm, characterized by having the acyclicity test efficiently embedded into it, is derived from the nondeterministic one, and a PASCAL implementation is given. A comparison with other well-known unification algorithms shows that the algorithm described here performs well in all cases.

[1]  M. V. Zilli Complexity of the unification algorithm for first-order expressions , 1975 .

[2]  Giorgio Levi,et al.  Proving Program Properties, Symbolic Evaluation and Logical Procedural Semantics , 1975, MFCS.

[3]  Gérard P. Huet,et al.  A Unification Algorithm for Typed lambda-Calculus , 1975, Theor. Comput. Sci..

[4]  Karl N. Levitt,et al.  Reasoning about programs , 1973, Artif. Intell..

[5]  Mike Paterson,et al.  Linear unification , 1976, STOC '76.

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

[7]  Richard C. T. Lee,et al.  Symbolic logic and mechanical theorem proving , 1973, Computer science classics.

[8]  E. Shortliffe Computer-based medical consultations: mycin (elsevier north holland , 1976 .

[9]  Alberto Martelli,et al.  Unification in linear time and space: a structured presentation , 1976 .

[10]  David H. D. Warren,et al.  Prolog - the language and its implementation compared with Lisp , 1977, Artificial Intelligence and Programming Languages.

[11]  Carl Hewitt,et al.  Description and Theoretical Analysis (Using Schemata) of Planner: A Language for Proving Theorems and Manipulating Models in a Robot , 1972 .

[12]  John Darlington,et al.  A Transformation System for Developing Recursive Programs , 1977, J. ACM.

[13]  Robert A. Kowalski,et al.  Predicate Logic as Programming Language , 1974, IFIP Congress.

[14]  Alberto Martelli,et al.  Theorem Proving with Structure Sharing and Efficient Unification , 1977, IJCAI.

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

[16]  Fernando Pereira,et al.  Prolog - the language and its implementation compared with Lisp , 1977, Artificial Intelligence and Programming Languages.

[17]  Edward H. Shortliffe,et al.  Computer-based medical consultations, MYCIN , 1976 .

[18]  D. Knuth,et al.  Simple Word Problems in Universal Algebras , 1983 .

[19]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[20]  David C. Luckham,et al.  Automatic program verification III: a methodology for verifying programs. , 1974 .

[21]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[22]  S BoyerRoger,et al.  Ttle sharing of structure in theorem proving programs , 1972 .

[23]  D WarrenDavidH,et al.  Prolog - the language and its implementation compared with Lisp , 1977 .