Projet :
COQ

Précédent : Certification de
compilateurs Remonter : Spécifications et preuves de
programmes Suivant : Résultats nouveaux
Logiciels
Participants : Bruno Barras, Judicaël Courant, David
Delahaye, Jean-Christophe Filliâtre, Eduardo Giménez, Hugo
Herbelin, Henri Laulhère, Patrick Loiseleur, Christine Paulin
[Correspondante], Amokrane Saïbi.
Résumé :
Le système Coq développé dans le projet est un assistant
à la démonstration qui permet de développer interactivement des
spécifications et des preuves.
La principale originalité du logiciel Coq est le
formalisme utilisé qui comporte:
- une notion primitive de définitions mutuellement inductives
permettant des spécifications de haut niveau soit dans un style
fonctionnel en déclarant des types concrets et en définissant
des fonctions par des équations représentant un calcul, soit
dans un style déclaratif en spécifiant des relations à l'aide
de clauses;
- une interprétation des preuves comme des programmes
certifiés mise en
uvre dans une compilation
des preuves sous forme de programmes ML mais aussi des outils
pour associer un programme à une spécification et engendrer
automatiquement des obligations de preuve permettant de
justifier sa correction;
- une notion primitive de définitions co-inductives
permettant de représenter directement des structures infinies
régulières et de construire des preuves sur de tels objets sans
passer par la notion classique de bi-simulation.
Au niveau de l'architecture de l'assistant les principales
fonctionnalités sont :
- un système de bibliothèques mathématiques modulaires
permettant de compiler et recharger rapidement des théories
mathématiques;
- la possibilité d'introduire des notations spécifiques par
l'utilisation de grammaires et fonctions d'impression
interprétées;
- la possibilité de développer des tactiques comme des
programmes Ocaml sophistiqués qui peuvent ensuite être chargés
et utilisés dans l'environnement.
La version V6.2 du système Coq est disponible à l'URL
http://coq.inria.fr/assis-fra.html.
Écrite en Objective Caml, elle fonctionne sur la plupart des
stations de travail Unix et également sous Windows.
Coq est utilisé sur une centaine de sites. Nous avons
des utilisateurs intensifs dans le milieu industriel (au CNET
Lannion, chez Dassault-Aviation et au sein de l'action VIP du GIE
Dyade), dans le milieu académique en Europe (Edimbourg, Hollande,
Espagne, Italie, Portugal) et en France (Bordeaux, Lyon,
Marseille, Nancy, Nantes, Nice, Paris 6, Strasbourg).
Une liste électronique modérée par Micaela Mayero (mailto:coq-club@pauillac.inria.fr) permet
l'échange entre les personnes intéressées par le système.

Précédent : Certification de
compilateurs Remonter : Spécifications et preuves de
programmes Suivant : Résultats nouveaux