![]()
Précédent : Collaboration de solveurs Remonter :
Contraintes Suivant : Contraintes
diophantiennes linéaires
Participants : Régis Curien, Claude Kirchner, Christophe Ringeissen
Nous avons continué dans deux directions notre étude de la description de l'unification d'ordre supérieur par une théorie équationnelle du premier ordre. D'une part la spécialisation de nos résultats au cas des patterns et d'autre part l'extension permettant de travailler modulo des théories équationnelles du premier ordre comme l'associativité-commutativité. Nous avons également donné un algorithme efficace de filtrage d'ordre 2 modulo l'associativité-commutativité.
Plus précisement, à partir de la procédure d'unification
d'ordre supérieur que nous avons élaboré l'an dernier et qui est
basée sur l'utilisation du calcul de substitutions explicites
, nous avons étudié
avec Gilles Dowek du projet COQ, Thérèse Hardin du projet PARA et
Frank Pfenning de CMU, le cas des patterns d'ordre supérieurs
introduit par Miller. L'algorithme général se spécialise au cas
des patterns où il devient déterministe grâce à la propriété
d'inversibilité à droite des substitutions explicites restreintes
aux patterns [24]. Nous avons également
précisé les éléments d'une implantation efficace de l'algorithme
abstrait et de sa généralisation au cas de la simplification de
système d'équations ne comportant pas que des patterns. Testée
comme moteur dans ELF, un langage de programmation logique
d'ordre supérieur avec contraintes développé par Frank Pfenning,
cette implantation a donné de bons résultats expérimentaux.
Afin de permettre dans ce contexte l'introduction de symboles
vérifiant des propriétés équationnelles du premier ordre, nous
avons étudié la notion d'unification associée. La
E-unification d'ordre supérieur est définie comme
l'unification modulo la relation d'équivalence
engendrée par la
-conversion et une théorie équationnelle du premier ordre
E. Nous avons montré comment réduire la
E-unification d'ordre supérieur à un problème
d'unification du premier ordre dans un mélange formé de E
et d'une théorie de substitutions explicites
qui est une extension du
-calcul intégrant en partie la théorie équationnelle E et
ses symboles de fonctions. Il s'agit d'un mélange de théories
équationnelles non-disjointes pour lequel les résultats connus
sur la combinaison des procédures d'unification ne s'appliquent
pas. C'est pourquoi nous avons conçu une nouvelle procédure
complète de
-unification [33]
qui s'appuie sur celle développée pour la
-unification. Ceci conduit simplement à considérer des règles de
transformation supplémentaires pour gérer l'interaction entre
E et
.
En se restreignant au cas du filtrage du second ordre et à l'associativité-commutativité comme théorie équationnelle, Régis Curien a, dans le cadre de sa thèse, élaboré un algorithme efficace en collaboration avec Z. Qian et H. Shi de l'université de Brême. Cet algorithme évite la règle d'imitation qui peut être coûteuse et la remplace par un calcul précis de partition des sous-termes à considérer pour un symbole associatif-commutatif. Ceci élimine de nombreuses solutions redondantes calculées par l'algorithme simple du filtrage d'ordre 2 modulo l'associativité-commutativité et qui rendent celui-ci impraticable, comme Régis Curien l'avait constaté dans sa première implantation. L'algorithme a été implanté par les chercheurs de l'université de Brême et l'ensemble du travail a été présenté à la conférence RTA [22].