previous up next top index
Précédent : Collaboration de solveurs Remonter : Contraintes Suivant : Contraintes diophantiennes linéaires


Unification d'ordre supérieur

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 tex2html_wrap_inline783 , 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 tex2html_wrap_inline787 engendrée par la tex2html_wrap_inline789 -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 tex2html_wrap_inline797 qui est une extension du tex2html_wrap_inline783 -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 tex2html_wrap_inline803 -unification [33] qui s'appuie sur celle développée pour la tex2html_wrap_inline783 -unification. Ceci conduit simplement à considérer des règles de transformation supplémentaires pour gérer l'interaction entre E et tex2html_wrap_inline783 .

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].



previous up next top index Précédent : Collaboration de solveurs Suivant : Contraintes diophantiennes linéaires Remonter : Contraintes