PPS INRIA Project-Team πr²

Home · Members · Research · Publications · Students/PhD

Research themes

Crossed-fertilisation of proof theory and program theory

The syntactic correspondence between proofs and programs (so-called Curry-Howard correspondence) irrigated logic and computer science in the last 30 years. In the last 15 years, new achievements have been obtained (discovery of a relation between logical reasoning by contradiction and control operators; between the formalism known as "sequent calculus" and the structures used in abstract evaluation machines, relevance of side effects in computing with the axiom of choice, ...). One of the objectives of π r² is to explore the consequences and foundations of these recent progresses, especially by studying the logical content of the notion of continuation delimiters introduced in functional programming and by studying the relations between the operations of reflection and reification in programming and the notions of soundness and completeness in logic.

Study of type theory and of the Calculus of Inductive Constructions seen as programming languages

The Calculus of Inductive Constructions is the name of the formalism underlying the Coq proof assistant. The Calculus of Inductive Constructions derives from Martin-Löf's type theory and is both an expressive logical formalism (comparable in strength to set theory) and a strongly-typed functional programming language (a kind of formalism classified as "type theory"). The Calculus of Inductive Constructions is a rather young formalism about which several questions of a technical nature are open. One of the objectives of πr² is to explore some of these questions: a native treatment of so-called "inversion" constraints with application to the typing of the pattern-matching programming construct in presence of "rich" types, support for a syntactic form of extensionality (so-called "eta-conversion") with applications to the design of unification and type-inference algorithms in the presence of rich types.

Development of the Coq system, especially as a dependently-typed programming language

The Coq proof assistant offers an environment for semi-interactive development of proofs in an expressive logic build on top of a strongly-typed programming languages. Jointly developed by several teams at INRIA and outside INRIA, Coq is equally used for the formalisation of mathematics and the certification of properties of programs. Natively equipped with dependent types, Coq has a role to play as a richly-typed programming language. Some objectives of πr² here are the development of certified programming libraries, the certification of the extraction process from Coq programs to functional programming languages such as Objective Caml, the development of new proof methods (so-called "tactics"). The πr² team also develops Pangolin which is a tool dedicated to the certification of functional programs.


Collaborative projects

Current projects

  • Site ANR Cathre (Catégories, Homotopie et Réécriture)
  • ANR RAPIDO (Raisonner et Programmer avec des Données Infinies)
  • Site ANR Paral-ITP (Pervasive Parallelism in Highly-Trusted Interactive Theorem Proving Platforms)
  • Site ADT INRIA Coq
  • Site IDEX Sorbonne-Paris-Cité Project Focal (Formalisation du calcul algébrique)

Past projects

  • Site European Project CerCo (Certified Complexity)
  • Site ANR DeCert (Deduction and Certification)
  • Site ARC INRIA CeProMi