- Présentation
- Publications HAL
- Rapports d'activité
Equipe de recherche PI.R2
Conception, étude et implémentation de langages pour les preuves et les programmes
- Responsable : Pierre-Louis Curien
- Type : Équipe-projet
- Centre(s) de recherche : Paris - Rocquencourt
- Domaine : Algorithmique, programmation, logiciels et architectures
- Thème : Programmation, vérification et preuves
- Université Denis Diderot (Paris 7), CNRS, Laboratoire Preuves, Programmes et Systèmes (7126)
Présentation de l'équipe
L'équipe π r² constituée au sein du laboratoire Preuves, Programmes et Systèmes (UMR 7126), couvre trois champs de recherche :- Un champ de recherche fondamentale autour de la correspondance entre preuves et programmes
- Un champ de recherche théorique autour du formalisme sur lequel repose l'environnement de développement de preuves et de programmes Coq
- Un champ implémentatoire avec le développement du logiciel Coq, notamment dans ses aspects langage de programmation à types « riches »
Axes de recherche
- Fertilisation croisée entre la théorie de la démonstration et la théorie des programmes La correspondance syntaxique entre preuves et programmes, dite correspondance de Curry-Howard a été au cours des 30 dernières années un formidable moteur de la recherche tant pour la logique (la plupart des axiomes logiques sont calculatoires : par exemple, la preuve d'un énoncé existentiel est un procédé de calcul qui ultimement exhibe un témoin de cette existence) que pour la programmation (les types de données sont des formules spécifiant les propriétés des programmes et ces types peuvent être des formules arbitrairement complexes). Dans les 15 dernières années, de nouvelles étapes ont été franchies (mise en évidence d'une connexion entre raisonnement par l'absurde et opérateurs de contrôle, entre le formalisme logique dit « du calcul des séquents » et les structures des machines d'évaluation abstraites, rôle des effets de bord dans l'interprétation calculatoire de l'axiome du choix, ...). L'un des objectifs de π r² est alors d'explorer les conséquences et fondements de ces dernières avancées, notamment en étudiant le contenu logique des délimiteurs de continuations issus de la programmation fonctionnelle, et en étudiant les relations entre les mécanismes de réflexion/réification en programmation et de correction/complétude en logique.
- Étude du Calcul des Constructions Inductives et de la théorie des types dans leurs aspects « langage de programmation » Le Calcul des Constructions Inductives est le nom du formalisme logique sur lequel repose Coq. Ce formalisme, qui dérive de la théorie des types de Martin-Löf, est à la fois un formalisme logique expressif (comparable en force à la théorie des ensembles) et un langage de programmation fonctionnelle fortement typé (type de formalisme que l'on range dans la famille des « théories des types »). Le Calcul des Constructions Inductives est un formalisme relativement jeune au sujet duquel plusieurs questions restent ouvertes. L'un des objectifs de π r² est d'explorer quelques unes de ces questions, certaines étant d'un abord assez technique : traitement plus primitif des contraintes dites d'« inversion » lors des constructions par cas avec application au typage de la programmation par filtrage en présence de types « riches », prise en compte d'une forme syntaxique d'extensionnalité des fonctions (« éta-conversion ») avec applications à la conception d'algorithmes d'unification et d'inférence de type en présence de types riches.
- Développement du logiciel Coq, notamment dans ses aspects langage de programmation Le logiciel Coq est un outil de développement semi-interactif de preuves dans une logique expressive bâtie autour d'un langage de programmation fonctionnelle fortement typé. Développé conjointement par plusieurs équipes INRIA et hors INRIA, Coq est utilisé tant pour la formalisation des mathématiques que pour la certification de propriétés de programmes. Naturellemment doté de types « dépendants », Coq a une carte à jouer comme langage de programmation à type « riches ». Un des objectifs de π r² dans ce cadre est le développement de bibliothèques de programmation certifiés, la certification du processus d'« extraction « de programme Coq vers des langages fonctionnels comme Objective Caml, ainsi que le développement de nouvelles méthodes de preuves (des « tactiques ») pour Coq. L'équipe π r² développe aussi Pangolin qui est un outil spécifique de certification de programmes fonctionnels.
Relations industrielles et internationales
- ANR Déduction et Certification (DeCert)
- Action de Développement Technologique Coq (ADT Coq)
Mots-clés : Environnement de développement de preuves Correspondance preuves/programmes Langages à types dépendants
Equipes de recherche du même thème :
- ABSTRACTION - Interprétation abstraite et analyse statique
- ATEAMS - Analyse et Transformation a base des composition fideles des outils
- CARTE - Théorie des calculs adverses, et sécurité
- CASSIS - Combinaison d'approches pour la sécurité des systèmes infinis
- CELTIQUE - Certification de logiciel par analyse sémantique
- COMETE - Concurrence, Mobilité et Transactions
- CONTRAINTES - Programmation par contraintes
- DEDUCTEAM - Deduction modulo, interopérabilité et démonstration automatique
- FORMES - Méthodes Formelles pour les Systèmes Embarqués
- GALLIUM - Langages de programmation, types, compilation et preuves
- MARELLE - Mathématiques, Raisonnement et Logiciel
- MEXICO - Modeling and Exploitation of Interaction and Concurrency
- MOSCOVA - Mobilité, sécurité, concurrence, vérification et analyse
- PAREO - Ilôts formels: fondements et applications
- PARSIFAL - Recherche de preuve et raisonnement sur des spécifications logiques
- PROSECCO - Programming securely with cryptography
- PROVAL - Proof of Programs
- SECSI - Sécurité des systèmes d'information
- TASC - Theory, Algorithms and Systems for Constraints
- TYPICAL - Types, logique et calcul
- VERIDIS - VERIfication pour les systèmes DIStribués
Contact
Responsable de l'équipe
Pierre-Louis Curien
En savoir plus
Rechercher une équipe
Par centre de recherche Inria
Inria
Inria Channel

Voir aussi