Higher Order Unification via Explicit Substitutions

Gilles Dowek Thérèse Hardin Claude Kirchner 1
1 PROTHEO - Constraints, automatic deduction and software properties proofs
INRIA Lorraine, LORIA - Laboratoire Lorrain de Recherche en Informatique et ses Applications
Abstract : Higher order unification is equational unification for $\beta\eta$-conversion. But it is not first order equational unification, as substitution has to avoid capture. Thus the methods for equational unification (such as narrowing) built upon grafting (i.e. substitution without renaming), cannot be used for higher order unification, which needs specific algorithms. Our goal in this paper is to reduce higher order unification to first order equational unification in a suitable theory. This is achived by replacing substitution by grafting, but this replacement is not straightforward as it raises two major problems. First, some unification problems have solutions with grafting but no solution with substitution. Then equational unification algorithms rest upon the fact that grafting and reduction commute. But grafting and $\beta\eta$-reduction do not commute in $\lambda$-calculus and reducing an equation may change the set of its solutions. This difficulty comes from the interaction between the substitutions initiated by $\beta \eta$-reduction and the ones initiated by the unification process. The difference is at the variable level. 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 these two kinds of variables and such that reduction and grafting commute. For that, the application of a substitution of a reduction variable to a unification one must be delayed until this variable is instantiated. Such a separation and a delay are provided by a calculus of explicit substitutions. Unification in such a calculus can be performed by well-known algorithms such as narrowing, but we present a specialized algorithm for a greater efficiency. At last we show how to relate unification in $\lambda$-calculus and in a calculus with explicit substitutions. Thus we come up with a new higher order unification algorithm which eliminates some burdens of the previous algorithms, in particular the functional handling of scopes. Huet's algorithm, can be seen as a specific strategy for our algorithm, since each of its step is decomposed in elementary ones, giving a more atomic description of the unification process. Also, solved forms in $\lambda$-calculus can easily be computed from solved forms in $\ls$-calculus.
Type de document :
Rapport
[Research Report] RR-2709, INRIA. 1995, pp.42
Liste complète des métadonnées

Littérature citée [2 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00077197
Contributeur : Rapport de Recherche Inria <>
Soumis le : lundi 29 mai 2006 - 17:18:25
Dernière modification le : jeudi 11 janvier 2018 - 06:19:58
Document(s) archivé(s) le : lundi 5 avril 2010 - 21:42:46

Fichiers

Identifiants

  • HAL Id : inria-00077197, version 1

Collections

Citation

Gilles Dowek, Thérèse Hardin, Claude Kirchner. Higher Order Unification via Explicit Substitutions. [Research Report] RR-2709, INRIA. 1995, pp.42. 〈inria-00077197〉

Partager

Métriques

Consultations de la notice

286

Téléchargements de fichiers

152