Date of this Version
The unification of simply typed λ-terms modulo the rules of ß- and η-conversions is often called "higher-order" unification because of the possible presence of variables of functional type. This kind of unification is undecidable in general and if unifiers exist, most general unifiers may not exist. In this paper, we show that such unification problems can be coded as a query of the logic programming language Lλ in a natural and clear fashion. In a sense, the translation only involves explicitly axiomatizing in Lλ the notions of equality and substitution of the simply typed λ-calculus: the rest of the unification process can be viewed as simply an interpreter of Lλ searching for proofs using those axioms.
Dale Miller, "Unification of Simply Typed Lambda-Terms as Logic Programming", . March 1991.
Date Posted: 15 August 2007