927 -- Exemples de preuve d’algorithme : correction, terminaison.
De AgregmathKL
Sommaire
Plan Olivier et Yon (2013)
Plan
Petite intro (mentionner le problème de preuve de correction et terminaison des boucles)
Preuves informelles [Cormen]
Étude de la correction
Invariant de boucle, exemple du tri insertion. Remarque que certains algorithmes incorrects sont intéressants (ex : Soloway-Strassen).
- Étude de la terminaison
Problème indécidable. Ensembles bien fondés. Variant de boucle.
- Exemple complet : Algorithme de Hopcroft [Carton + preuve modifiée] (DEV)
Écrire l'algo sur le plan. Ne prouver que la correction si trop long.
Preuves formelles [Winskel]
- Langage IMP
Syntaxe, définitions
- Sémantique dénotationnelle
Sémantique des commandes surtout, en particulier du while.
Remarque : a priori on pourrait faire la sémantique opérationnelle aussi.
- Règles de Hoare
Langage d'assertions, triplet de Hoare. Exemple pour le calcul de la factorielle (autre DEV possible a priori).
Correction des règles (DEV).
- Plus faibles préconditions
Développements
- Proposés
- Autres possibles
- Correction du calcul de la factorielle avec les règles de Hoare
Références
- Cormen et al.
- Carton