Membres de PPS : connectez-vous

INS2I INSMI CNRS Université Paris Diderot

PPS Laboratoire

Preuves, Programmes et Systèmes

CNRS UMR 7126

Présentation du laboratoire PPS

PPS est un laboratoire qui 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. Notre projet de recherche est en effet 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é.
  • 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 est doté d'un véritable pôle de programmation, qui développe des produits logiciels, principalement (mais non exclusivement) autour du langage de programmation fonctionnelle Caml. Le laboratoire développe aussi une activité systèmes autour de Jaluna/Chorus, et une activité protocoles réseaux autour de IPv6. Près de la moitié des chercheurs et enseignants-chercheurs de PPS consacrent une part importante de leur temps à programmer, que cette activité soit au centre de leur activité de recherche, ou qu'elle constitue pour eux une activité annexe (contributions à des logiciels libres, par exemple).
  • 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 laboratoire, vous pouvez consulter les Rapport de Recherche PPS (2003, 2007).