Substitutions explicites et unification d'ordre supérieur
Auteur / Autrice : | Daniel Briaud |
Direction : | Pierre Lescanne |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 1997 |
Etablissement(s) : | Nancy 1 |
Partenaire(s) de recherche : | autre partenaire : Université Henri Poincaré Nancy 1. Faculté des sciences et techniques |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Les lambda-calculs à substitutions explicites fournissent un cadre formel pour l'étude de la théorie des substitutions. Ils constituent ainsi un pont entre le lambda-calcul et les programmes. Notre contribution, composée de deux volets, porte sur l'étude en soi des lambda-calculs à substitutions explicites et sur l'emploi d'un tel calcul comme pont entre théorie et pratique. Le premier volet a pour but l'explicitation de la eta-réduction, le second à trait à l'unification d'ordre supérieur. Notre travail sur la eta-réduction se résume ainsi. La beta-réduction du lambda-calcul distingue certaines fonctions extensionnellement égales. En ajoutant la règle de eta-réduction, on obtient une égalité extensionnelle. Nous définissons et étudions une règle eta opératoire et indépendante d'un calcul a substitutions explicites donne. Ceci nous conduit à une variante non-conditionnelle de eta, nommée eta. Nous montrons que la réduction générée est une extension conservative de la beta-eta-réduction, cela sur l'ensemble des lambda-termes typables avec l'intersection. Le second problème qui nous intéresse, l'unification d'ordre supérieur, consiste à résoudre des équations entre lambda-termes simplement types. Sa programmation demeure difficile à vérifier car l'algorithme classique est formellement défini au moyen de la substitution du lambda-calcul. Décrire une procédure d'unification d'ordre supérieur à l'aide de substitutions explicites établit une passerelle entre l'unification d'ordre supérieur et son implantation. Une approche précédente se fonde sur le système lambda-sigma' et s'appuie sur la composition et la confluente ouverte. Notre approche, basée sur le système lambda-upsilon, montre que ni l'une ni l'autre ne sont nécessaires pour exprimer l'unification d'ordre supérieur au moyen d'un lambda-calcul à substitutions explicites. Notre travail à ce sujet simplifie, sur plusieurs plans, les travaux précédents sur ce thème