Connexion

English version

PPS UMR 7126 – Laboratoire
Preuves, Programmes et Systèmes

Accueil · Présentation · Membres · Publications · Séminaire · Groupes de travail · Projets · πr²

Créé en 1999 par Pierre-Louis Curien, le groupe Preuves, Programmes et Systèmes (PPS) a été un laboratoire commun au CNRS et à l'université Paris Diderot jusqu'au 31 décembre 2015. Il a été dirigé successivement par Pierre-Louis Curien et Thomas Ehrhard.

Depuis le 1er janvier 2016, PPS est une équipe de l'IRIF, unité mixte de recherche - UMR 8243 - du Centre National de la Recherche Scientifique (CNRS) et de l'Université Paris-Diderot – Paris 7. PPS comporte également une Équipe-Projet Commune πr² de l'INRIA et a un rôle moteur dans l'Initiative de Recherche sur l'Informatique du Logiciel Libre, structure d'accueil commune à l'INRIA, l'Université Paris-Diderot et l'UPMC.

PPS fédère les énergies de chercheurs, enseignants-chercheurs et doctorants issus de cultures différentes (informatique et logique mathématique) pour travailler sur une thématique assez précise : celle des langages de programmation et des systèmes distribués, et de leurs fondements logiques. Dans cette perspective, il développe de nouvelles méthodes de développement et de maintenance des systèmes dans le domaine du logiciel libre. Enfin, PPS est un acteur essentiel dans le domaine du développement des assistants à la preuve. Notre projet de recherche est fondé sur la conviction que la logique (et plus particulièrement la théorie de la démonstration), mais aussi la théorie des catégories, et d'autres théories mathématiques comme l'homologie ou l'homotopie, ou les probabilités, ont une part importante à jouer pour élucider le sens des programmes, afin de les rendre plus sûrs, et qu'inversement l'informatique, comme la physique a pu l'être et continue de l'être, peut être une source dans laquelle la logique et d'autres domaines des mathématiques peuvent puiser pour se renouveler.

Une grande part de la recherche théorique menée à PPS reste inspirée par la correspondance de Curry-Howard : c'est une découverte des années 1960 qui semblait n'avoir qu'une portée mineure, mais qui s'est révélée d'une importance capitale. Elle établit en effet une relation tout-à-fait remarquable entre les preuves et les programmes, qui transforme le λ-calcul en un puissant outil de théorie de la démonstration : les intuitions informatiques deviennent fondamentales en logique mathématique. Et il est fascinant de constater qu'il y a une réciproque : les méthodes de logique deviennent essentielles pour des problèmes importants posés par l'industrie informatique. Le tout premier étant le problème de la correction des programmes. Un vérificateur de preuves comme Coq, développé à l'INRIA sur la base d'une extension de la théorie des types de Martin-Löf (le «calcul des constructions»), et qui est donc fondé sur la correspondance de Curry-Howard intuitionniste, est effectivement utilisé dans l'industrie pour prouver des programmes.

La correspondance de Curry-Howard s'applique dans plusieurs contextes : au départ à la logique intuitionniste (qui n'accepte par le tiers exclu), puis à la logique linéaire, qui réconcilie le caractère constructif de la logique intuitionniste (lequel garantit, par exemple, que toute preuve d'existence peut fournir un témoin) avec les symétries de la logique classique, et enfin à la logique classique.

Il s'agit donc d'un domaine du plus haut intérêt, entre logique et informatique, qui renouvelle complètement nos idées sur les démonstrations mathématiques, et qui est riche d'applications, non seulement à la preuve de programmes, mais aussi à la théorie des langages de programmation, au parallélisme, à la communication, etc.

Les thématiques du laboratoire peuvent être regroupées en six directions principales :

Jeux et modèles de la programmation
La distinction traditionnelle entre syntaxe et sémantique s'est bien atténuée, faisant apparaître certains modèles comme de la syntaxe épurée. Comme le titre l'indique, il y est beaucoup question de modèles de jeux, devenus l'objet d'actives recherches depuis une dizaine d'années, et de polarités, apparues plus récemment.
Théorie de la démonstration et λ-calcul
Dans ce thème, intimement lié au précédent, l'accent est mis sur la syntaxe : notamment élimination des coupures (la contre-partie logique de l'évaluation des programmes) et réseaux de preuves (qui sont des représentations géométriques des preuves que la logique linéaire a permis de construire), mais aussi dualités de calcul, et bon vieux λ-calcul (la charpente syntaxique de la logique intuitionniste et des langages de programmation fonctionnelle) simplement typé. Avec la création de l'Équipe Projet Commune πr² (INRIA Rocquencourt - PPS), le laboratoire est devenu le principal maître d'oeuvre du développement du noyau du système d'aide à la preuve Coq. Il participe activement à la recherche théorique sur le calcul des constructions (formalisme à la base de Coq) et sur ses extensions.
Spécifications et réalisabilité
L'ambition ici est de débusquer quel programme se cache derrière tel ou tel théorème des mathématiques. Il fallait commencer par la logique classique, puis prendre les axiomes de la théorie des ensembles. Le principal outil pour cette étude est la réalisabilité, qui prend un peu le contre-pied des deux thèmes précédents en ce qu'elle ne suppose pas les formules avant les preuves, mais au contraire considère les formules comme des spécifications, ou ensembles de programmes (non typés) ayant le même comportement.
Réécriture
Ici, l'on déborde du strict cadre de la logique pour étudier les propriétés des systèmes de réécriture et des systèmes de réécriture d'ordre supérieur (c'est-à-dire avec variables liées), pour lesquels le cadre des calculs de substitutions explicites est très utile. Un bon laboratoire d'utilisation des techniques de réécriture est celui des isomorphismes de types (avec des applications informatiques à la recherche de programmes en bibliothèque). Des méthodes axiomatiques pour la réécriture ont été développées. Un autre thème encore en émergence est celui de la réécriture n-dimensionnelle, où il ne s'agit plus de réécrire des mots ou des termes, mais aussi des surfaces, des volumes, etc.
Programmation
Le laboratoire développe de nouvelles méthodes dans des domaines qui vont des protocoles réseau jusqu'aux applications Web en passant par des nouvelles approches du génie logiciel. Ces développements mettent en oeuvre des outils formels et rigoureux basés sur la théorie des types et la logique. Cette activité s'est renforcée avec la création de l'Initiative de Recherche et Innovation sur le Logiciel Libre (IRILL), structure d'accueil commune à l'INRIA, l'Université Paris Diderot et l'UPMC.
Logique, Concurrence et Modélisation
Un nouveau front de recherche s'est ouvert à PPS, autour de la modélisation de la programmation dite concurrente (calculs de processus) et mobile, qu'il s'agisse d'en rechercher les fondements logiques (nous avons une certaine expérience dans ce domaine), ou de les appliquer à une troisième science : la biologie, et plus précisément à la modélisation des processus de la biologie moléculaire.

Pour une présentation plus détaillée du groupe PPS (alors laboratoire), vous pouvez consulter les Rapports de Recherche (2003, 2007, 2012).