Typechecking in the lambda-Pi-Calculus Modulo : Theory and Practice

Résumé : La vérification automatique de preuves consiste à faire vérifier par un ordinateur la validité de démonstrations d'énoncés mathématiques. Cette vérification étant purement calculatoire, elle offre un haut degré de confiance. Elle est donc particulièrement utile pour vérifier qu'un logiciel critique, c'est-à-dire dont le bon fonctionnement a un impact important sur la sécurité ou la vie des personnes, des entreprises ou des biens, correspond exactement à sa spécification. DEDUKTI est l'un de ces vérificateurs de preuves. Il implémente un système de type, le lambda-Pi-Calcul Modulo, qui est une extension du lambda-calcul avec types dépendants avec des règles de réécriture du premier ordre. Suivant la correspondance de Curry-Howard, DEDUKTI implémente à la fois un puissant langage de programmation et un système logique très expressif. Par ailleurs, ce langage est particulièrement bien adapté à l'encodage d'autres systèmes logiques. On peut, par exemple, importer dans DEDUKTI des théorèmes prouvés en utilisant d'autres outils tels que COQ, HOL ou encore ZENON, ouvrant ainsi la voie à l'interopérabilité entre tous ces systèmes. Le lambda-Pi-Calcul Modulo est un langage très expressif. En contrepartie, certaines propriétés fondamentales du système, telles que l'unicité des types ou la stabilité du typage par réduction, ne sont pas garanties dans le cas général et dépendent des règles de réécriture considérées. Or ces propriétés sont nécessaires pour garantir la cohérence des systèmes de preuve utilisés, mais aussi pour prouver la correction et la complétude des algorithmes de vérification de types implémentés par DEDUKTI. Malheureusement, ces propriétés sont indécidables. Dans cette thèse, nous avons donc cherché à concevoir des critères garantissant la stabilité du typage par réduction et l'unicité des types et qui soient décidables, de manière à pouvoir être implémentés par DEDUKTI. Pour cela, nous donnons une nouvelle définition du lambda-Pi-Calcul Modulo qui rend compte de l'aspect itératif de l'ajout des règles de réécriture dans le système en les explicitant dans le contexte. Une étude détaillée de ce nouveau calcul permet de comprendre qu'on peut ramener le problème de la stabilité du typage par réduction et de l'unicité des types à deux propriétés plus simples, qui sont la compatibilité du produit et le bon typage des règles de réécriture. Nous étudions donc ces deux propriétés séparément et en donnons des conditions suffisantes effectives. Ces idées ont été implémentées dans DEDUKTI, permettant d'augmenter grandement sa généralité et sa fiabilité.
Type de document :
Thèse
Systems and Control [cs.SY]. Ecole Nationale Supérieure des Mines de Paris, 2015. English. 〈NNT : 2015ENMP0027〉
Liste complète des métadonnées

Littérature citée [77 références]  Voir  Masquer  Télécharger

https://pastel.archives-ouvertes.fr/tel-01299180
Contributeur : Abes Star <>
Soumis le : jeudi 7 avril 2016 - 12:12:09
Dernière modification le : lundi 12 novembre 2018 - 11:02:56
Document(s) archivé(s) le : vendredi 8 juillet 2016 - 12:40:49

Fichier

2015ENMP0027_archivage.pdf
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-01299180, version 1

Collections

Citation

Ronan Saillard. Typechecking in the lambda-Pi-Calculus Modulo : Theory and Practice. Systems and Control [cs.SY]. Ecole Nationale Supérieure des Mines de Paris, 2015. English. 〈NNT : 2015ENMP0027〉. 〈tel-01299180〉

Partager

Métriques

Consultations de la notice

464

Téléchargements de fichiers

199