Assistant de preuve

En informatique (ou en mathématiques assistées par informatique), un assistant de preuve est un logiciel permettant l'écriture et la vérification de preuves mathématiques, soit sur des théorèmes au sens usuel des mathématiques, soit sur des assertions relatives à l'exécution de programmes informatiques.

Conception

Beaucoup de projets ont été lancés pour formaliser les mathématiques, en 1966, Nicolaas de Bruijn lance le projet Automath, suivi par d'autres projets. Les projets les plus avancés sont le projet Mizar en Pologne, le projet HOL (en)-Isabelle en Grande-Bretagne et aux États-Unis et le projet Coq en France[1].

Le but de ces projets est de mettre à la disposition du mathématicien des outils informatiques pour l’aider à élaborer une version formelle du résultat auquel il s’intéresse. Le logiciel stocke aussi les résultats démontrés auparavant.

L'écriture de preuves entièrement formelles est une activité extrêmement fastidieuse ; de nombreuses étapes qui seraient sautées, car considérées comme évidentes pour le lecteur familier des mathématiques, doivent être décortiquées dans les plus grands détails. Cependant, l'assistant de preuve peut fournir plus ou moins d'automatisation pour limiter le travail de l'utilisateur humain.

Certains assistants de preuve, tels que PVS, possèdent des procédures de décision dans des domaines souvent utilisés et décidables (tels que l'arithmétique de Presburger) ; souvent, on leur ajoute des procédures de semi-décision (qui ne se terminent pas forcément avec succès).

Succès

Selon une étude de Freek Wiedijk évoquée en 2011 dans le magazine Pour la Science[1] mais réactualisée depuis[2], sur la liste des « 100 théorèmes mathématiques les plus importants » — liste attribuée à Paul et Jack Abad[3] — 91 des 100 théorèmes ont été formalisés.

Avec les assistants de preuve actuels, le travail de formalisation est rendu fastidieux par un langage complexe[1].

Utilisation

Les assistants de preuve sont utiles pour la démonstration des problèmes très complexes, et aident à produire une démonstration formelle. Le célèbre problème des quatre couleurs est l'un des problèmes résolus avec cet outil.

Une objection à l'usage d'assistants de preuve est que, de toute façon, la sécurité des preuves obtenues repose sur le bon fonctionnement de l'assistant. En effet, les assistants de preuves sont de gros logiciels complexes, dont on peut soupçonner qu'ils soient eux-mêmes bugués. Un assistant de preuve bugué peut permettre de démontrer l'absurde. Certains assistants de preuve, comme Coq, produisent un terme de preuve dont la vérification peut être déléguée à un logiciel beaucoup plus simple qu'un assistant complet ; ainsi, Coq produit des termes du calcul des constructions (inductives, à présent), un lambda-calcul typé d'ordre supérieur, dont on peut relativement facilement vérifier s'ils sont correctement typés. Coq, de plus, a lui-même été prouvé dans Coq par son vérificateur de démonstrations, ce qui rend la confiance que l'on peut avoir dans ce logiciel un peu plus légitime[4].

Théorèmes prouvés avec des assistants de preuve

Note sur la terminologie : l'utilisation de preuve à la place de démonstration est, en toute rigueur, un anglicisme, en tant que traduction directe du mot proof, mais l'utilisation du mot « preuve » fait maintenant partie du langage des spécialistes et cet article se plie à cet usage. La difficulté est d'autant plus grande que le mot « démonstration » a un usage courant différent en anglais.

Assistants de preuve

Références

  1. Jean-Paul Delahaye, « Du rêve à la réalité des preuves », Pour la Science, , p. 90-95.
  2. (en) Freek Wiedijk, Formalizing 100 Theorems, mai 2015.
  3. (en) « The Hundred Greatest Theorems ».
  4. Bruno Barras, « Coq en Coq », Rapport INRIA, INRIA, vol. RR-3026, (lire en ligne)
  5. « Kepler avait-il raison ? » (consulté le )
  6. Sean Bailly, « La conjecture de Kepler formellement démontrée », sur pourlascience.fr, (consulté le ).
  7. (en) « Feit-Thompson theorem has been totally checked in Coq » (consulté le )

Voir aussi

Articles connexes

  • Portail des mathématiques
  • Portail de l’informatique
  • Portail de la logique
  • Portail de l'informatique théorique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.