Faire chauffer Why3 avec de l'induction
Résumé
Cet article présente une extension de l'outil Why3 pour permettre des preuves par récurrence sur des instances de prédicats inductifs, c'est-à-dire sur des dérivations finiment construites. Elle se compose d'une nouvelle construction de filtrage pour analyser la forme d'une telle dérivation, d'une part, et d'une nouvelle notion de variant pour justifier la terminaison d'une fonction récursive qui procède selon la taille d'une dérivation, d'autre part. Nous montrons comment cette extension peut être implémentée de façon conservative, sans presque rien modifier dans le générateur de conditions de vérification de Why3. Enfin, nous illustrons la solidité de cette contribution en traduisant de Coq vers Why3 une preuve non triviale contenant un grand nombre de raisonnements par récurrence sur des prédicats inductifs.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|