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.