Une preuve formelle de l'algorithme de Tarjan-1972 pour trouver les composantes fortement connexes dans un graphe - Laboratoire Preuves, Programmes et Systèmes
Communication Dans Un Congrès Année : 2017

Une preuve formelle de l'algorithme de Tarjan-1972 pour trouver les composantes fortement connexes dans un graphe

Résumé

Nous présentons une preuve formelle de l'algorithme de Tarjan (1972) pour trouver les composantes fortement connexes dans un graphe. Cet algorithme exécute une seule passe sur le graphe le parcourant en profondeur d'abord. Notre programme est icí ecrit dans un style de programmation fonctionnelle dans le langage Why3-ML. La preuve utilise des lemmes et des assertions exprimés dans la logique de Why3. La majorité d'entre eux sont prouvés automatiquementàautomatiquementà l'exception de 5 assertions ou lemmes prouvés manuellement en Coq. Une preuve d'une version impérative de ce programme ne figure pas dans notre article, mais nous indiquons comment y parvenir par raffinements successifs. Un point important de notre article est que nos preuves sont intuitives et lisibles par un humain.
Fichier principal
Vignette du fichier
16jfla.pdf (308.27 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01422215 , version 1 (24-12-2016)

Identifiants

  • HAL Id : hal-01422215 , version 1

Citer

Ran Chen, Jean-Jacques Lévy. Une preuve formelle de l'algorithme de Tarjan-1972 pour trouver les composantes fortement connexes dans un graphe. JFLA 2017 - Vingt-huitièmes Journées Francophones des Langages Applicatifs, Jan 2017, Gourette, France. ⟨hal-01422215⟩
487 Consultations
472 Téléchargements

Partager

More