Unification Under a Mixed Prefix

Abstract Unification problems are identified with conjunctions of equations between simply typed λ-terms where free variables in the equations can be universally or existentially quantified. Tow schemes for simplifying quantifier alternation, called Skolemization and raising (a dual of Skolemization), are presented. In this setting where variables of functional type can be quantified and not all types contain closed terms, the naive generalization of first-order Skolemization has several technical problems that are addressed. The method of searching for pre-unifiers described by Huet is easily extended to the mixed prefix setting, although solving flexible-flexible unification problems is undecidable since types may be empty. Unification problems may have numerous incomparable unifiers. Occasionally, unifiers share common factors and general of these are presented. Various optimizations on the general unification search problem are as discussed.

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

[2]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[3]  Richard Statman,et al.  Intuitionistic Propositional Logic is Polynomial-Space Complete , 1979, Theor. Comput. Sci..

[4]  Peter B. Andrews General models and extensionality , 1972, Journal of Symbolic Logic.

[5]  David J. Pym,et al.  Proofs, search and computation in general logic , 1990 .

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

[7]  Wayne Snyder,et al.  Higher-Order Unification Revisited: Complete Sets of Transformations , 1989, J. Symb. Comput..

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

[9]  Leon Henkin,et al.  Completeness in the theory of types , 1950, Journal of Symbolic Logic.

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

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

[12]  References , 1971 .

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

[14]  Gopalan Nadathur,et al.  An Overview of Lambda-PROLOG , 1988, ICLP/SLP.

[15]  Dale Miller,et al.  Unification of Simply Typed Lamda-Terms as Logic Programming , 1991, ICLP.

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

[17]  Dale A. Miller,et al.  AN OVERVIEW OF PROLOG , 1988 .

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

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

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

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

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

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

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

[25]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

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

[27]  Gopalan Nadathur,et al.  Higher-order Horn clauses , 1990, JACM.

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

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

[30]  F. Pfenning Logic programming in the LF logical framework , 1991 .

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

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

[33]  Dale A. Miller,et al.  A compact representation of proofs , 1987, Stud Logica.

[34]  Amy P. Felty,et al.  Specifying and implementing theorem provers in a higher-order logic programming language , 1989 .