Formalisation et developpement d'une tactique reflexive pour la demonstration automatique en coq
Auteur / Autrice : | Stephane Lescuyer |
Direction : | Evelyne Contejean |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 04/01/2011 |
Etablissement(s) : | Paris 11 |
Ecole(s) doctorale(s) : | Ecole doctorale Informatique de Paris-Sud |
Partenaire(s) de recherche : | Laboratoire : Laboratoire de recherche en informatique (Orsay, Essonne ; 1998-2020) |
Equipe de recherche : Proval (Saclay ; 19..-2012) | |
Jury : | Président / Présidente : Hugo Herbelin |
Examinateurs / Examinatrices : Evelyne Contejean, Hugo Herbelin, Pierre Crégut, Natarajan Shankar, Burkhart Wolff, Sylvain Conchon, Sava Krstic | |
Rapporteurs / Rapporteuses : Pierre Crégut, Natarajan Shankar |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Dans cette thèse, nous proposons une amélioration de l'automatisation des preuves dans l'assistant de preuve Coq. Cette automatisation est obtenue en intégrant à Coq les procédures de décision pour la logique propositionnelle, l'égalité et l'arithmétique linéaire constituant le noyau du solveur SMT Alt-Ergo. Cette intégration est réalisée en utilisant la technique de preuve par réflexion, qui consiste à développer en Coq ces algorithmes et à prouver formellement leur correction de manière à les exécuter directement dans l'assistant de preuve. Comme les algorithmes formalisés en Coq sont exactement ceux utilisés dans le noyau d'Alt-Ergo, notre travail permet également d'augmenter considérablement la confiance que l'on peut avoir dans ce dernier. En particulier, il utilise un algorithme original de combinaison de l'égalité modulo une théorie, inspiré de la combinaison de Shostak et appelé CC(X), et dont la justification est relativement complexe.Notre développement Coq est utilisable sous la forme de tactiques qui permettent de valider automatiquement des formules combinant logique propositionnelle, égalité et arithmétique. Afin que ces tactiques soient le plus efficaces possibles, nous avons attaché une grande importance aux performances de notre implantation Coq, et en particulier à l'utilisation de structures de données efficaces courantes, dont nous proposons ici une bibliothèque.