Thèse soutenue

Interopérabilité entre systèmes de preuves en utilisant le cadre logique Dedukti

FR  |  
EN
Auteur / Autrice : François Thiré
Direction : Gilles DowekStéphane Lengrand
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 03/12/2020
Etablissement(s) : université Paris-Saclay
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication
Partenaire(s) de recherche : référent : École normale supérieure Paris-Saclay (Gif-sur-Yvette, Essonne ; 1912-....)
graduate school : Université Paris-Saclay. Graduate School Informatique et sciences du numérique (2020-....)
Laboratoire : Institut national de recherche en informatique et en automatique (France). Unité de recherche (Saclay, Ile-de-France)
Jury : Président / Présidente : Roberto Di Cosmo
Examinateurs / Examinatrices : Cézary Kaliszyk, Herman Geuvers, Chantal Keller, Raphaël Cauderlier, Véronique Benzaken
Rapporteurs / Rapporteuses : Cézary Kaliszyk, Herman Geuvers

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

Il existe aujourd'hui une large famille de systèmes de preuve baséesur différentes logiques: Le calcul des constructions inductives, lalogique d'ordre supérieur, la théorie des ensembles, etc... Undésavantage majeur de cette diversité est, que les théorèmes sontprouvés de nombreuses fois. Une possibilité pour résoudre ce problèmeest de rendre les systèmes de preuve interoperables. Dans cette thèse,nous avons attaqué le problème d'interopérabilité entre systèmes depreuve aussi bien sur le plan théorique que le plan pratique enutilisant le cadre logique Dedukti.Notre voyage commence avec l'exploration des systèmes de typescumulatifs (CTS), une famille de systèmes de type qui étend celle dessystèmes de types pures avec une relation de sous-typage. Les CTSfournissent aujourd'hui une squelette commun a beaucoup de logiquesutilisés aujourd'hui. Les logiques derrières les systèmes Coq,HOL-Light, Lean, Matita ou bien PVS peuvent toutes être vues comme desextensions des CTS avec des fonctionnalités différentes (typesinductifs, irrelevance de la preuve, sous-typage propositionnel,...). Nous définissons une nouvelle notion de traduction entreCTS. Entre autre, nous expliquons un nouvel algorithme (correct maisincomplet) pour déterminer si une preuve écrite dans un CTS peut-êtretraduire dans un autre CTS. Cet algorithme peut aussi être vu commeune extension de l'algorithme de Coq qui permet de vérifier qu'unensemble de contraintes sur les univers est cohérent. Finalement, nousproposons un nouvel encodage des CTS dans Dedukti et nous prouvonsque cet encodage est correct. Ces résultats montrent que Dedukti estun cadre logique approprié sur le plan théorique pour étudierl'interopérabilité entre systèmes de preuve.Nous poursuivons notre voyage avec une étude de cas: le petit théorèmede Fermat prouvé en Matita. Nous montrons comment nous avons putraduire cette preuve vers différents systèmes à travers le cadrelogique Dedukti. Cette traduction se repose principalement sur deuxoutils que nous avons créees :- Dkmeta qui permet d'utiliser la réécriture comme un langage à partentière pour écrire des traductions de preuves. Un avantage de cetoutil est qu'il ré-utilise la syntaxe de Dedukti.- Universo, un outil qui permet d'implémenter l'algorithme mentionnéprécédemment qui permet de traduire une preuve d'un CTS (en Dedukti)vers un autre.Cette procédure semi-automatique permet de traduire la preuve du petitthéorème de Fermat dans une logique assez faible mais expressive quel'on appelle STTforall. STTforall est une version constructive de lathéorie des types simples avec du polymorphisme prénexe. La simplicitéde cette logique permet d'exporter des preuves de STTforall vers denombreux systèmes de preuve. Cette étude de cas montre que Deduktiest tout aussi efficace en tant qu'outil pour faire del'interopérabilité sur le plan pratique.Les outils que nous avons développés dans cette thèse ne sont passpécifiques à cette traduction et peuvent être réutilisés pourd'autres systèmes de preuve dont un encodage en Dedukti est connu(comme Coq ou bien Agda).Finalement, nous concluons ce voyage avec l'exportation du petitthéorème de Fermat vers cinq systèmes de preuve différents: Coq, Lean,Matita, OpenTheory (membre de la famille des systèmes de preuve basésur la logique d'ordre supérieure) et PVS. Cette traduction estdisponible via un site web appelé Logipedia.Logipedia n'a pas été créé seulement pour cette traduction mais avecl'objectif de contenir beaucoup plus de preuves que l'on pourraitpartager entre plusieurs systèmes de preuves. Cela rendrait Logipediaalors une encyclopédie de preuves formelles en ligne.