Alignement des concepts et des logiques entre systèmes de preuves

par Emilie Del prete grienenberger (Grienenberger)

Projet de thèse en Informatique

Sous la direction de Gilles Dowek.

Thèses en préparation à université Paris-Saclay , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication , en partenariat avec Laboratoire Méthodes Formelles (laboratoire) et de Ecole Normale Supérieure Paris-Saclay (référent) depuis le 01-10-2019 .


  • Résumé

    Les preuves formelles sont un outil essentiel en sûreté et en sécurité, comme le montre leur utilisation dans plusieurs projets industriels tels la ligne 14 du métro parisien, le système d'exploitation certifié seL4 ou le compilateur C certifié CompCert. Le développement des ces preuves, aussi bien dans le cadre de la sûreté et de la sécurité qu'en mathématiques pures, a mené à la construction de grandes bibliothèques, représentant des millions d'heures de travail. Ces bibliothèques pourraient cependant être rendues plus utilisables et plus durables. En effet, aujourd'hui chaque bibliothèque est spécifique a un système de preuves particulier, et leur interopérabilité est faible. Une manière de remédier à cette situation est de développer des encyclopédies de preuves formelles exprimées dans plusieurs théories et des algorithmes permettant de traduire ces preuves d'une théorie à l'autre. C'est l'objet du projet Logipedia, une encyclopédie de preuves formelles développées dans diverses théories, elles-mêmes exprimées dans le cadre logique Dedukti. La constitution d'une encyclopédie de preuves formelles à partir de différentes bibliothèques provenant de différents systèmes, soulève cependant un certain nombre de questions scientifiques : les notions de nombre entier, de nombre réel, de graphe, et même de connecteurs logiques et de quantificateurs, peuvent être définies de manière différente et il est nécessaire, lors de la constitution d'une encyclopédie, d'{em aligner les concepts}, c'est-à-dire de repérer des homologies entre définitions et entre théorèmes et d'unifier les concepts homologues. Ce projet se décline en plusieurs axes de recherche. Morphismes entre structures Quand deux structures sont isomorphes --- ou simplement homomorphes --- il est possible, dans certains cas, de transporter un théorème et sa preuve d'une structure à une autre. Par exemple, l'isomorphisme entre les différentes constructions du corps des nombre réels permet de transporter le théorème de commutativité de l'addition, ou le théorème des valeurs intermédiaires, d'une structure à l'autre. Connecteurs et quantificateurs classiques et constructifs Les connecteurs logiques --- conjonction, disjonction, négation... --- et les quantificateurs sont définis de manière différente dans différents systèmes, mais ces différentes définitions sont en général isomorphes, ce qui permet de transporter une définition sur une autre. Toutefois, certains systèmes utilisant des connecteurs et des quantificateurs classiques --- HOL Light, PVS, Mizar... --- et d'autres constructifs --- Coq, Matita, Lean, Agda... --- il importe de faire coexister ces différents symboles dans une même logique, c'est-à-dire de construire une logique et démontrer qu'elle a deux fragments qui correspondent aux logiques classique et constructive. Cela mène à la question de l'alignement partiel des notions classiques avec les notions constructives, c'est-à-dire au développement d'algorithmes de constructivisation des preuves. Théorie des types et théories des ensembles Enfin, certaines bibliothèques --- celles de Coq, HOL Light, PVS... --- sont développées dans diverses formes de la théorie des types et d'autres dans diverses formes de la théorie des ensembles --- par exemple, la bibliothèque de Mizar. Il est nécessaire de comprendre comment traduire dans une autre, des preuves développées dans l'une de ces théories.

  • Titre traduit

    Concept alignment between proof systems


  • Résumé

    Formal proofs are an essential tool in safety and security as shown by their use in several industrial projects, such as the Paris metro line 14, the operating system SeL4, or the certified C compiler CompCert. The development of these proofs, both in the case of safety and security and in pure mathematics have lead to the construction or large libraries, accumulating millions of work hours. However, these libraries could be made more usable and more sustainable. Indeed, today, each library is specific to one proof system and their interoperability is poor. A possible remediation is to develop encyclopedias of formal proofs expressed in several theories and algorithms translating these proofs from one theory to another. This is the goal of the project Logipedia, that is an online formal proofs encyclopedia developed in various theories, themselves expressed in the logical framework Dedukti. The construction of an encyclopedia of formal proofs from various libraries coming from various systems, however, raised several research problems: the notions of natural number, of real number, of graph, and even the logical connectives and quantifiers can be defined in different ways, and it is needed, when building such an encyclopedia, to align these concepts, that is to detect homologies between definitions and theorems and unify homologous concepts. This project can be divided into several axes. Morphisms between structures When two structures are isomorphic---or simply homomorphic---it is possible, in some cases, to transport a theorem and its proof from one structure to the other. For example, the isomorphism between the different constructions of the field of real numbers permits to transport the theorem expressing the commutativity of addition or the intermediate value theorem from one structure to another. Classical and constructive connectors and quantifiers Logical connectors---conjunction, disjunction, negation...---and quantifiers are defined in a different way in different systems, but these different definitions are in general isomorphic, which permits to transport one definition over the other. Yet, some systems use classical connectors---HOL Light, PVS, Mizar...--- and other constructive ones---Coq, Matita, Lean, Agda... It is important to make these different symbols live in the same logic, that is to build a ecumenical logic and prove that it contains two fragments corresponding to classical and constructive logics. This leads to the question of the partial alignment of classical notions with constructive ones, and to the development of proof constructivization algorithms. Type theories and set theories Finally, some libraries---such as those of Coq, HOL Light, PVS...---are developed in various forms of type theory and others---for instance the Mizar library---in set theory. We need to understand how to translate proofs developed in one of these theories in another.