Précédent : Preuves de protocoles
Remonter : Domaines d'applications Suivant :
Logiciels
Les outils utilisés pour faire des preuves reposent en général sur un traitement de notations de haut-niveau qui sont ensuite traduites vers un langage exécutable. C'est le cas par exemple de la vérification de systèmes réactifs où l'analyse est faite à partir de programmes écrits dans les langages synchrones qui sont ensuite traduits vers des automates.
Afin d'assurer la certification des programmes ainsi obtenus,
il est nécessaire de justifier la correction du compilateur. Le
formalisme de Coq se prête assez bien à ce genre de preuve
du fait de la représentation possible des règles sémantiques par
des définitions inductives et de la possibilité d'obtenir un
compilateur exécutable certifié à partir d'une preuve de
correction de la traduction. Cette approche peut être appliquée
au système Coq lui-même, le noyau de vérification de
preuve est un programme critique qui s'apparente aux compilateurs
et dont le développement peut être fait à l'aide du système
Coq lui-même.