Thèse soutenue

Synthèse de preuves de programmes dans le calcul des constructions inductives

FR  |  
EN
Auteur / Autrice : Catherine Parent
Direction : Luc Bougé
Type : Thèse de doctorat
Discipline(s) : Sciences appliquées
Date : Soutenance en 1995
Etablissement(s) : École normale supérieure de Lyon (Lyon ; 1987-2009)

Résumé

FR

Cette thèse s'intéresse au problème de la certification de programmes fonctionnels. Nous étudions une approche très particulière. Il est bien connu qu'une preuve mathématique constructive d'une formule affirmant l'existence d'un objet satisfaisant une certaine propriété peut s'interpréter comme une méthode effective de construction de l'objet. Dans cette approche, la spécification du programme est représentée par une formule logique et développer le programme correspond à prouver cette formule. Il existe différentes méthodes pour extraire de la preuve mathématique la partie calculatoire qui représente le programme qui, de par sa méthode de construction, est certifié correct. Cette thèse s'intéresse au problème inverse de l'extraction de programme, à savoir étant donnés une spécification et un programme, reconstruire une preuve de la spécification dont le contenu algorithmique correspond au programme donné. Ce problème n'est évidemment pas décidable. Le mieux que l'on puisse espérer est d'engendrer un certain nombre d'obligations de preuves portant sur des parties atomiques du programme et correspondant aux propriétés logiques qui doivent être vérifiées. Même ce but ne peut être atteint. En effet, la preuve du programme nécessite en général de connaître les propriétés intermédiaires des sous-programmes qui peuvent être plus fortes que la spécification initiale. Cette thèse étudie d'abord une méthode d'extraction faible d'un programme à partir d'une preuve qui garde trace des spécifications intermédiaires. À partir d'un tel programme, on montre qu'il est déterministe de retrouver les obligations de preuves minimales. Ensuite, des méthodes heuristiques sont proposées pour retrouver la preuve à partir d'un programme naturel ne comportant que des annotations partielles. Finalement, la thèse présente la mise en œuvre de cette méthode comme tactique de l'assistant de preuve Coq qui a permis le développement de différents exemples dont des programmes de tri.