Higher-Order Unification Revisited: Complete Sets of Transformations

In this paper, we reexamine the problem of general higher-order unification and develop an approach based on the method of transformations on systems of terms which has its roots in Herbrand's thesis, and which was developed by Martelli and Montanari in the context of first-order unification. This method provides an abstract and mathematically elegant means of analyzing the invariant properties of unification in various settings by providing a clean separation of the logical issues from the specification of procedural information. Our major contribution is three-fold. First, we have extended the Herbrand-Martelli-Montanari method of transformations on systems to higher-order unification and pre-unification; second, we have used this formalism to provide a more direct proof of the completeness of a method for higher-order unification than has previously been available; and, finally, we have shown the completeness of the strategy of eager variable elimination. In addition, this analysis provides another justification of the design of Huet's procedure, and shows how its basic principles work in a more general setting. Finally, it is hoped that this presentation might form a good introduction to higher-order unification for those readers unfamiliar with the field.

[1]  GERARD P. HUET,et al.  The Undecidability of Unification in Third Order Logic , 1973, Inf. Control..

[2]  Gérard P. Huet,et al.  A Mechanization of Type Theory , 1973, IJCAI.

[3]  William M. Farmer,et al.  A unification algorithm for second-order monadic terms , 1988, Ann. Pure Appl. Log..

[4]  Warren D. Goldfarb,et al.  The Undecidability of the Second-Order Unification Problem , 1981, Theor. Comput. Sci..

[5]  J. Roger Hindley,et al.  Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.

[6]  Donald Michie,et al.  Machine Intelligence 4 , 1970 .

[7]  Wayne Snyder,et al.  Complete Sets of Transformations for General E-Unification , 1989, Theor. Comput. Sci..

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

[9]  Gopalan Nadathur,et al.  A Logic Programming Approach to Manipulating Formulas and Programs , 1987, SLP.

[10]  Frank Pfenning,et al.  Partial polymorphic type inference and higher-order unification , 1988, LISP and Functional Programming.

[11]  Harold T. Hodes,et al.  The | lambda-Calculus. , 1988 .

[12]  Peter B. Andrews An introduction to mathematical logic and type theory - to truth through proof , 1986, Computer science and applied mathematics.

[13]  William Michael Farmer Length of proofs and unification theory (second-order, complexity proofs) , 1984 .

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

[15]  Jean H. Gallier,et al.  Logic for Computer Science: Foundations of Automatic Theorem Proving , 1985 .

[16]  Peter B. Andrews,et al.  AUTOMATING HIGHER-ORDER LOGIC , 1984 .

[17]  Dale A. Miller,et al.  Proofs in Higher-Order Logic , 1983 .

[18]  Marek Zaionc The Set of Unifiers in Typed Lambda-Calculus as Regular Expression , 1985, RTA.

[19]  Tomasz Pietrzykowski A Complete Mechanization of Second-Order Type Theory , 1973, JACM.

[20]  Lawrence C. Paulson,et al.  Natural Deduction as Higher-Order Resolution , 1986, J. Log. Program..

[21]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[22]  Conal Elliott,et al.  Higher-order Unification with Dependent Function Types , 1989, RTA.

[23]  Gopalan Nadathur,et al.  Some Uses of Higher-Order Logic in Computational Linguistics , 1986, ACL.

[24]  Amy P. Felty,et al.  Specifying Theorem Provers in a Higher-Order Logic Programming Language , 1988, CADE.

[25]  Gerard P. Hubt A mechanization of type theory , 1973, IJCAI 1973.

[26]  G. Nadathur A higher-order logic as the basis for logic programming , 1987 .

[27]  Wayne Snyder,et al.  A General Complete E-Unification Procedure , 1987, RTA.

[28]  Georg Winterstein Unification in Second Order Logic , 1977, J. Inf. Process. Cybern..

[29]  John Hannan,et al.  Enriching a Meta-Language With Higher-Order Features , 1988 .

[30]  Peter B. Andrews Theorem Proving via General Matings , 1981, JACM.

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

[32]  Peter B. Andrews Resolution in type theory , 1971, Journal of Symbolic Logic.

[33]  J. R. Guard,et al.  Semi-Automated Mathematics , 1969, JACM.

[34]  Tomasz Pietrzykowski,et al.  Mechanizing omega-Order Type Theory Through Unification , 1976, Theor. Comput. Sci..

[35]  Dale Miller,et al.  Uses of Higher-Order Unification for Implementing Program Transformers , 1988, ICLP/SLP.

[36]  R. Statman,et al.  On the Existence of Closed Terms in the Typed lambda Calculus II: Transformations of Unification Problems , 1981, Theor. Comput. Sci..

[37]  J. Roger Hindley,et al.  Introduction to Combinators and Lambda-Calculus , 1986 .

[38]  J. R. Guard AUTOMATED LOGIC FOR SEMI-AUTOMATED MATHEMATICS , 1964 .

[39]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[40]  Nicolas Both,et al.  Considérations Algébriques Sur la Théorie de la Démonstration , 1974 .