Higher order unification via explicit substitutions

Citation
G. Dowek et al., Higher order unification via explicit substitutions, INF COMPUT, 157(1-2), 2000, pp. 183-235
Citations number
50
Categorie Soggetti
Information Tecnology & Communication Systems
Journal title
INFORMATION AND COMPUTATION
ISSN journal
08905401 → ACNP
Volume
157
Issue
1-2
Year of publication
2000
Pages
183 - 235
Database
ISI
SICI code
0890-5401(200002/03)157:1-2<183:HOUVES>2.0.ZU;2-D
Abstract
Higher order unification is equational unification for beta eta-conversion. But it is not first order equational unification, as substitution has to a void capture. Thus, the methods for equational unification (such as narrowi ng) built upon grafting (i.e,, substitution without renaming) cannot be use d for higher order unification, which needs specific algorithms. Our goal i n this paper is to reduce higher order unification to first order equationa l unification in a suitable theory. This is achieved by replacing substitut ion by grafting, but this replacement is not straightforward as it raises t wo major problems. First, some unification problems have solutions with gra fting but no solution with substitution. Then equational unification algori thms rest upon the fact that grafting and reduction commute. But grafting a nd beta eta-reduction do not commute in lambda-calculus and reducing an equ ation may change the set of its solutions. This difficulty comes from the i nteraction between the substitutions initiated by prl-reduction and the one s initiated by the unification process. Two kinds of Variables are involved : those of beta eta-conversion and those of unification. So, we need to set up a calculus which distinguishes between these two kinds of variables and such that reduction and grafting commute. For this purpose, the applicatio n of a substitution of a reduction variable to a unification one must be de layed until this variable is instantiated. Such a separation and delay are provided by a calculus of explicit substitutions. Unification in such a cal culus can be performed by well-known algorithms such as narrowing, but we p resent a specialised algorithm for greater efficiency. At last we show how to relate unification in lambda-calculus and in a calculus with explicit su bstitutions. Thus, we come up with a new higher order unification algorithm which eliminates some burdens of the previous algorithms, in particular th e functional handling of scopes. Huet's algorithm can be seen as a specific strategy for our algorithm, since each of its steps can be decomposed into elementary ones, leading to a more atomic description of the unification p rocess. Also, solved forms in lambda-calculus can easily be computed from s olved forms in lambda sigma-calculus. (C) 2000 Academic Press.