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.
Sommaire
1 Conception
2 Succès
3 Utilisation
4 Théorèmes prouvés avec des assistants de preuve
5 Assistants de preuve
6 Voir aussi
7 Références
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 |
Puissance 4, en 1988 ;- la non-existence de plan projectif fini d’ordre 10, en 1989 ;
- Le théorème des quatre couleurs, en 2005 ;
- la conjecture de Kepler, en 1999, finalement démontrée le 10 août 2014[5],[6] ;
- le théorème de Feit-Thompson, un théorème important de théorie des groupes, en 2012[7].
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 |
- Coq
- Isabelle
- Mizar
- PhoX
- PVS
Voir aussi |
- Complexité des preuves
- Décidabilité et indécidabilité
- Démonstration automatique de théorèmes
- Logique mathématique
- Méthode formelle
Références |
Jean-Paul Delahaye, « Du rêve à la réalité des preuves », Pour la Science, avril 2011, p. 90-95.
(en) Freek Wiedijk, Formalizing 100 Theorems, mai 2015.
(en) « The Hundred Greatest Theorems ».
Bruno Barras, « Coq en Coq », Rapport INRIA, INRIA, vol. RR-3026, 2006(lire en ligne)
« Kepler avait-il raison ? » (consulté le 20 octobre 2014)
Sean Bailly, « La conjecture de Kepler formellement démontrée », sur pourlascience.fr, 26 août 2014(consulté le 28 octobre 2014).
(en) « Feit-Thompson theorem has been totally checked in Coq » (consulté le 20 novembre 2012)
- Portail des mathématiques
- Portail de l’informatique
- Portail de la logique
- Portail de l'informatique théorique