Typage bidirectionnel générique dans un logical framework pour les théories des types dépendants
Auteur / Autrice : | Thiago Felicissimo |
Direction : | Frédéric Blanqui, Gilles Dowek |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 18/09/2024 |
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 : | Laboratoire : Laboratoire Méthodes formelles (Gif-sur-Yvette, Essonne ; 2021-....) |
Référent : Faculté des sciences d'Orsay | |
graduate school : Université Paris-Saclay. Graduate School Informatique et sciences du numérique (2020-….) | |
Jury : | Président / Présidente : Christine Paulin-Mohring |
Examinateurs / Examinatrices : Andrej Bauer, Herman Geuvers, Marc Bezem, Temur Kutsia, Frank Pfenning | |
Rapporteur / Rapporteuse : Andrej Bauer, Herman Geuvers |
Mots clés
Mots clés contrôlés
Résumé
Les théories des types dépendants sont des systèmes formels qui peuvent être utilisés à la fois comme langages de programmation et pour la formalisation des mathématiques, et constituent la base de plusieurs assistants de preuve tels que Coq et Agda. Afin d'unifier leur étude, les Logical Frameworks (LFs) fournissent un méta-langage unifié permettant de définir ces théories, dans lequel diverses notions universelles sont intégrées par défaut et où des méta-théorèmes génériques peuvent être prouvés. Cette thèse se concentre sur les LFs conçus pour être implémentés, avec pour objectif de fournir des type-checkers génériques. Notre principale contribution est un nouveau LF permettant de représenter les théories des types avec leurs syntaxes non annotées habituelles. La clé pour permettre de supprimer des annotations sans compromettre la décidabilité du typage est l'intégration du typage bidirectionnel, une discipline dans laquelle le jugement de typage est décomposé en modes d'inférence et de checking. Si le typage bidirectionnel est déjà bien étudié dans la littérature, l'une des contributions centrales de notre travail est sa formulation dans un LF, ce qui donne un traitement générique pour toutes les théories définissables dans notre système. Notre proposition a été implémentée dans le type-checker générique BiTTs, permettant son utilisation avec diverses théories.En plus de notre contribution principale, nous proposons des avancés dans l'étude de Dedukti, un LF appartenant à la même famille que le système que nous proposons. Tout d'abord, nous revisitons le problème de la correction des encodages dans Dedukti en proposant une méthodologie qui permet de démontrer plus facilement la conservativité. De plus, nous montrons comment Dedukti peut être utilisé en pratique comme outil de traduction de preuves, en proposant une transformation pour partager des preuves avec des systèmes prédicatifs. Cette transformation a permis la traduction de preuves de Matita vers Agda, aboutissant aux toutes premières preuves en Agda du Petit Théorème de Fermat et du Postulat de Bertrand.