Home · Members · Research · Publications · Students/PhD
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.
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.
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.