Projet : PROTHEO

previous up next contents
Précédent : Réécriture et stratégies Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et


Sous-sections


   
Démonstration automatique

 

Mots clés : déduction, preuves par récurrence, preuves équationnelles, propriété observable, procédures de décision, procédure de complétion, schématisation .

Résumé :

Dans le domaine de la démonstration automatique, nous étudions comment mécaniser le raisonnement par récurrence qui est fondamental en mathématiques et pour effectuer des preuves formelles de propriétés. Nos résultats portent sur les preuves par récurrence en logique équationnelle avec relation d'appartenance, les preuves de propriétés observables, et l'intégration de procédures de décision dans nos démonstrateurs. Nous avons également proposé de nouvelles techniques de preuves dans les théories équationnelles.

Un survol présentant différentes techniques utilisées en déduction automatique et basées sur le concept d'ordre sur les termes ou plus généralement les formules a été publié dans [[21]]. Les actes de la conférence CADE 15 ont été édités par C. et H. Kirchner [[11]]. Adel Bouhoula a présenté dans son habilitation une synthèse de ses résultats récents sur la mécanisation du raisonnement par récurrence [[14]].

Preuves en logique équationnelle avec relation d'appartenance



Participants : Adel Bouhoula, Claude Kirchner, Hélène Kirchner.

La notion de typage apporte aux langages de programmation et aux preuves plus d'expressivité et d'efficacité. Dans les spécifications formelles algébriques, l'introduction d'une relation d'ordre sur l'ensemble des sortes permet de traiter certaines fonctions partielles et certains cas d'erreurs, mais pose des problèmes d'interaction avec les égalités de la spécification. Une première approche de ce problème est décrite dans [[19]]. Plus récemment le cadre de la logique équationnelle avec relation d'appartenance [[17]], formalisé en collaboration avec J.-P. Jouannaud (LRI, Université Paris Sud) et J. Meseguer (SRI International, USA), permet l'utilisation des sous-sortes et la surcharge d'opérateurs, et étend, d'une manière conservative, la logique équationnelle avec sortes ordonnées proposée par J. Goguen en 1970 ainsi que la logique équationnelle partielle. Nous avons étudié la sémantique opérationnelle de ce cadre logique ainsi que les techniques de complétion, de complétude suffisante et de paramétrisation.

Preuves de propriétés observables



Participants : Adel Bouhoula, Michaël Rusinowitch.

Un programme est considéré correct s'il valide toutes les propriétés requises par la spécification. Cependant, bien qu'il existe des différences entre les propriétés énoncées par la spécification et celles vérifiées par le programme, celui-ci peut être considéré correct si ces différences ne sont pas observables, c'est-à-dire si son comportement externe produit des résultats corrects par rapport à la spécification. Ce concept d'observabilité s'est avéré fondamental dans les méthodes de validation formelle, puisque, pour prouver la correction d'un programme par rapport à une spécification, il est souvent essentiel de faire abstraction de certains détails d'implantation et de considérer seulement le comportement observable du programme. Bien qu'un grand nombre de travaux ait été consacré aux aspects sémantiques de l'observabilité, il existe peu d'études sur les techniques de preuves et encore moins d'implantations. Nous avons développé une nouvelle approche pour intégrer la méthode de Context Induction de Hennicker [Hen91] dans le cadre de la récurrence avec ensembles tests [[24]]. L'aspect le plus original de notre technique est la notion de contexte critique, analogue à celle d'ensemble test, qui permet de schématiser l'ensemble des contextes possibles d'un terme.

Intégration de procédures de décision



Participants : Alessandro Armando, Gilles Défourneaux, Denis Lugiez, Michaël Rusinowitch, Sorin Stratulat.

Dans de nombreux cas, les systèmes que nous modélisons afin de réaliser des preuves de propriétés font intervenir des domaines interprétés (arithmétique, listes, ensembles...). Nous voulons par exemple montrer que les spécifications de ces systèmes en SPIKE sont complètes. Si cela n'est pas difficile pour des règles de réécriture simples, ça le devient dès qu'on ajoute des domaines interprétés.

Dans la lignée de [LM94], nous avons défini une classe d'automates d'arbres qui permet de traiter des définitions faisant intervenir des multiensembles et de l'arithmétique linéaire. La classe ne permet pas de couvrir toutes les définitions mais autorise des cas de non linéarité intéressants en pratique. Le résultat de décidabilité du problème du vide pour ces automates dans le cas multiensemble repose sur une preuve complexe utilisant fortement les ensembles semi-linéaires d'entiers. La complexité théorique de l'algorithme obtenu est très élevée, mais il faut noter que cet algorithme peut être grandement amélioré d'une part et que les définitions sur lesquelles on travaille sont de petite taille d'autre part.

Nous avons développé dans SPIKE une approche pour intégrer des procédures de décision. Les détections de redondances ont été étendues pour prendre en compte des théories spécifiques et les opérateurs prédéfinis. Afin de valider cette approche, nous avons prouvé la correction d'un algorithme d'élection : l'algorithme MJRTY [BM91] de Boyer et Moore. Celui-ci a déjà été démontré avec Nuprl et PVS. En simulant un module d'arithmétique linéaire, notre preuve [[41]] ne nécessite qu'une unique intervention pour intercaler un lemme (également utilisé par Nuprl et PVS).

Preuves dans les théories équationnelles



Participants : Claude Kirchner, Christopher Lynch, Michaël Rusinowitch, Christelle Scharff, Laurent Vigneron.

Congruences dans les espaces topologiques.

En collaboration avec A. Wasilewska (Stony Brook University, NewYork), nous avons utilisé le système daTac [[22]] pour étudier des algèbres modélisant des logiques non classiques utilisées en base de données et en fouille de données pour des problèmes de classification d'informations incomplètes ou incertaines.
Nous avons étudié deux types d'algèbres : des algèbres modales et des algèbres approximantes. Les premières sont des algèbres topologiques booléennes, les secondes des algèbres topologiques quasi booléennes. L'étude de ces deux types d'algèbres avec daTac a permis d'engendrer plusieurs propriétés nouvelles intéressantes. Nous avons également comparé les différentes algèbres afin de mettre en valeur les propriétés particulières de chacune [[23]].
Enfin, nous nous sommes intéressés à la notion de congruence dans les espaces topologiques. Nous avons montré l'existence d'une congruence sur certains espaces topologiques et l'avons construite à l'aide de diagrammes [[45]], puis nous avons démontré avec daTac que l'espace quotienté par cette congruence est modélisé par une algèbre topologique quasi-Booléenne [[44]].

Simplification et complétion basique.

La complétion basique est une procédure de saturation utilisant des contraintes sur les termes pour formaliser la déduction de nouvelles formules, en évitant de calculer explicitement des ensembles complets d'unificateurs. Les techniques de simplification sont cruciales en complétion, mais elles se combinent mal avec ces contraintes. R.Nieuwenhui et A.Rubio[NR92] ont proposé une technique appelée simplification basique, qui, combinée à la complétion basique, est complète. Si les conditions d'application de la simplification basique ne sont pas satisfaites, on peut ou bien ne pas simplifier du tout, ou bien appliquer la solution de la contrainte à l'équation avant de simplifier cette dernière. La première solution n'est pas satisfaisante, la seconde va à l'encontre des avantages de la complétion basique. Ces résultats nous ont amenés à étudier les stratégies de simplification en complétion basique. Nous avons développé et prouvé la complétude d'une nouvelle stratégie de simplification pour la complétion basique appelée simplification E-cycle [[37]]. Cette technique a l'avantage d'autoriser strictement plus de simplifications que la simplification basique.

Complétion ordonnée.

La réécriture ordonnée permet de résoudre certains problèmes d'orientation des systèmes de réécriture comme ceux causés par la commutativité. Au lieu d'orienter une équation de gauche à droite ou vice-versa, l'orientation est vérifiée sur les instances de cette équation au moment où elle est appliquée. La réécriture ordonnée est bien-fondée par définition. Néanmoins la décision de la confluence de cette relation est un problème ouvert. Nous avons démontré [[32]] avec H. Comon (LSV Cachan) et P. Narendran (SUNY Albany) que la confluence est décidable pour les systèmes orientés par un ordre LPO (Lexicographic Path Ordering) Le résultat s'étend au cas RPOS. En revanche, la confluence des systèmes avec contraintes d'ordre est indécidable. La réductibilité close est également indécidable.



previous up next contents
Précédent : Réécriture et stratégies Remonter : Résultats nouveaux Suivant : Contrats industriels (nationaux, européens et