In April 2012,

From December 11, 2012, the team has moved to the Sophie Germain building of the university, which hosts the Mathematics and Computer Science departments of the university.

The research conducted in

Since 2012, the team has also extended its scope to the study of the homotopy of rewriting systems, which shares foundational tools with recent advanced works on the semantics of type theories.

Proof theory is the branch of logic devoted to the study of the structure of proofs. An essential contributor to this field is Gentzen who developed in 1935 two logical formalisms that are now central to the study of proofs. These are the so-called “natural deduction”, a syntax that is particularly well-suited to simulate the intuitive notion of reasoning, and the so-called “sequent calculus”, a syntax with deep geometric properties that is particularly well-suited for proof automation.

Proof theory gained a remarkable importance in computer science when it
became clear, after genuine observations first by Curry in
1958 , then by Howard and de Bruijn at the end of the
60's , , that proofs had the very same
structure as programs: for instance, natural deduction proofs can be
identified as typed programs of the ideal programming language known
as

This proofs-as-programs correspondence has been the starting point to a large spectrum of researches and results contributing to deeply connect logic and computer science. In particular, it is from this line of work that Coquand's Calculus of Constructions stemmed out – a formalism that is both a logic and a programming language and that is at the source of the Coq system .

The

For explaining the Curry-Howard correspondence, it is important to
distinguish between intuitionistic and classical logic: following
Brouwer at the beginning of the 20^{th} century,
classical logic is a logic that accepts the use of reasoning by
contradiction while intuitionistic logic proscribes it. Then,
Howard's observation is that the proofs of the intuitionistic natural
deduction formalism exactly coincide with
programs in the (simply typed)

A major achievement has been accomplished by Martin-Löf who designed in 1971 a formalism, referred to as modern type theory, that was both a logical system and a (typed) programming language .

In 1985, Coquand and Huet , in the Formel
team of Inria-Rocquencourt explored an alternative approach
based on Girard-Reynolds' system

The first public release of CoC dates back to 1989. The same project-team developed the programming language Caml (nowadays coordinated by the Gallium team) that provided the expressive and powerful concept of algebraic data types (a paragon of it being the type of list). In CoC, it was possible to simulate algebraic data types, but only through a not-so-natural not-so-convenient encoding.

In practice, the Calculus of Inductive Constructions derives its strength from being both a logic powerful enough to formalise all common mathematics (as set theory is) and an expressive richly-typed functional programming language (like ML but with a richer type system, no effects and no non-terminating functions).

Since 1984, about 40 persons have contributed to the development of Coq, out of which 7 persons have contributed to bring the system to the place it is now. First Thierry Coquand through his foundational theoretical ideas, then Gérard Huet who developed the first prototypes with Thierry Coquand and who headed the Coq group until 1998, then Christine Paulin who was the main actor of the system based on the CIC and who headed the development group from 1998 to 2006. On the programming side, important steps were made by Chet Murthy who raised Coq from the prototypical state to a reasonably scalable system, Jean-Christophe Filliâtre who turned to concrete the concept of a small trustful certification kernel on which an arbitrary large system can be set up, Bruno Barras and Hugo Herbelin who, among other extensions, reorganised Coq on a new smoother and more uniform basis able to support a new round of extensions for the next decade.

The development started from the Formel team at Rocquencourt but, after Christine Paulin got a position in Lyon, it spread to École Normale Supérieure de Lyon. Then, the task force there globally moved to the University of Orsay when Christine Paulin got a new position there. On the Rocquencourt side, the part of Formel involved in ML moved to the Cristal team (now Gallium) and Formel got renamed into Coq. Gérard Huet left the team and Christine Paulin started to head a Coq team bilocalised at Rocquencourt and Orsay. Gilles Dowek became the head of the team which was renamed into LogiCal. Following Gilles Dowek who got a position at École Polytechnique, LogiCal globally moved to Futurs with a bilocalisation on Orsay and Palaiseau. It then split again giving birth to ProVal. At the same time, the Marelle team (formerly Lemme, formerly Croap) which has been a long partner of the Formel team, invested more and more energy in both the formalisation of mathematics in Coq and in user interfaces for Coq.

After various other spreadings resulting from where the wind pushed former PhD students, the development of Coq got multi-site with the development now realised by employees of Inria, the CNAM and Paris 7.

We next briefly describe the main components of Coq.

The architecture adopts the so-called de Bruijn principle: the well-delimited *kernel*
of Coq ensures the correctness
of the proofs validated by the system. The kernel is rather stable
with modifications tied to the evolution of the underlying Calculus of
Inductive Constructions formalism. The kernel includes an
interpreter of the programs expressible in the CIC and this
interpreter exists in two flavours: a customisable lazy evaluation
machine written in OCaml and a call-by-value bytecode interpreter
written in C dedicated to efficient computations. The kernel also
provides a module system.

The concrete user language of Coq, called *Gallina*, is a
high-level language built on top of the CIC. It includes a type
inference algorithm, definitions by complex pattern-matching, implicit
arguments, mathematical notations and various other high-level
language features. This high-level language serves both for the
development of programs and for the formalisation of mathematical
theories. Coq also provides a large set of commands. Gallina and
the commands together forms the *Vernacular* language of Coq.

Libraries are written in the vernacular language of Coq.
There are libraries for various arithmetical structures and various
implementations of numbers (Peano numbers, implementation of

The tactics are the methods available to conduct proofs. This includes the basic inference rules of the CIC, various advanced higher level inference rules and all the automation tactics. Regarding automation, there are tactics for solving systems of equations, for simplifying ring or field expressions, for arbitrary proof search, for semi-decidability of first-order logic and so on. There is also a powerful and popular untyped scripting language for combining tactics into more complex tactics.

Note that all tactics of Coq produce proof certificates that are checked by the kernel of Coq. As a consequence, possible bugs in proof methods do not hinder the confidence in the correctness of the Coq checker. Note also that the CIC being a programming language, tactics can be written (and certified) in the own language of Coq if needed.

Extraction is a component of Coq that maps programs (or even computational proofs) of the CIC to functional programs (in OCaml, Scheme or Haskell). Especially, a program certified by Coq can further be extracted to a program of a full-fledged programming language then benefiting of the efficient compilation, linking tools, profiling tools, ... of the target software.

Dependently typed programming (shortly DTP) is an emerging concept
referring to the diffuse and broadening tendency to develop
programming languages with type systems able to express program
properties finer than the usual information of simply belonging to
specific data-types. The type systems of dependently-typed programming
languages allow to express properties *dependent* of the input and
the output of the program (for instance
that a sorting program returns a list of same size as its
argument). Typical examples of such languages were the Cayenne
language, developed in the late 90's at Chalmers University in Sweden
and the DML language developed at Boston. Since then, various new
tools have been proposed, either as typed programming languages whose
types embed equalities (

DTP contributes to a general movement leading to the fusion between logic and programming. Coq, whose language is both a logic and a programming language which moreover can be extracted to pure ML code plays a role in this movement and some frameworks for DTP have been proposed on top of Coq (Concoqtion at Rice and Colorado, Ynot at Harvard, Why in the ProVal team at Inria). It also connects to Hoare logic, providing frameworks where pre- and post-conditions of programs are tied with the programs.

DTP approached from the programming language side generally benefits of a full-fledged language (e.g. supporting effects) with efficient compilation. DTP approached from the logic side generally benefits of an expressive specification logic and of proof methods so as to certify the specifications. The weakness of the approach from logic however is generally the weak support for effects or partial functions.

In between the decidable type systems of conventional data-types based
programming languages and the full expressiveness of logically
undecidable formulae an active field of research explores a spectrum
of decidable or semi-decidable type systems for possible use in
dependently programming languages. At the beginning of the spectrum,
this includes for instance the system F's extension ML

Developing libraries for programming languages takes time and generally benefits of a critical mass effect. An advantage is given to languages that start from well-established existing frameworks for which a large panel of libraries exist. Coq is such a framework.

For two decades, the Curry-Howard correspondence was limited to the intuitionistic case but in 1990, an important stimulus spurred on the community following the discovery by Griffin that the correspondence was extensible to classical logic. The community then started to investigate unexplored potential fields of connection between computer science and logic. One of these fields was the computational understanding of Gentzen's sequent calculus while another one was the computational content of the axiom of choice.

Indeed, a significant extension of the Curry-Howard correspondence has been
obtained at the beginning of the 90's thanks to the seminal
observation by Griffin that some operators known as
control operators were typable by the principle of double negation
elimination (

Control operators are operators used to jump from one place of a
program to another place. They were first considered in the 60's by
Landin and Reynolds and started to
be studied in an abstract way in the 80's by Felleisen *et
al* , culminating in Parigot's

The Curry-Howard interpretation of sequent calculus started to be
investigated at the beginning of the 90's. The main technicality of
sequent calculus is the presence of *left introduction* inference
rules and two kinds of interpretations of these rules are
applicable. The first approach interprets left introduction rules as
construction rules for a language of patterns but it does not really
address the problem of the interpretation of the implication
connective. The second approach, started in 1994, interprets left
introduction rules as evaluation context formation rule. This line of
work culminated in 2000 with the design by Hugo Herbelin and
Pierre-Louis Curien of a symmetric calculus exhibiting deep dualities
between the notion of programs and evaluation contexts and between the
standard notions of call-by-name and call-by-value evaluation semantics.

Abstract machines came as an intermediate evaluation device, between
high-level programming languages and the computer microprocessor. The
typical reference for call-by-value evaluation of

Delimited control extends the expressiveness of control operators with
effects: the fundamental result here is a completeness result by
Filinski : any side-effect expressible in monadic
style (and this covers references, exceptions, states, dynamic
bindings, ...) can be simulated in

Coq is one of the 8 most used proof assistants in the world. In Europe, its main challengers are Isabelle (developed in Munich, Germany), HOL (developed in Cambridge, UK) and Mizar (developed in Białystok, Poland).

Coq is used in various research contexts and in a few industrial contexts. It is used in the context of formal mathematics at the University of Nijmegen (constructive algebra and analysis), Inria Sophia-Antipolis (number theory and algebra), Inria-MSR joint lab (group theory), the University of Nice (algebra). It is used in France in the context of computer science at Inria-Rocquencourt (certified compilation), Inria-Saclay (certification of imperative programs), LORIA, Strasbourg (certification of geometry algorithms). Outside France, it is used in the context of computer science e.g. at U. Penn, Harvard (programming languages, semantics), Yale, Ottawa and Berkeley Universities (building of a certified platform for proof-carrying code), University of Princeton (certified compilation), AIST at Tokyo (certification of cryptographic protocols), Microsoft Research Cambridge (proof of imperative programs), ... In the industry, it is used by Gemalto and Trusted Logic (JavaCard formal model and commercial applets certification).

All in all, it is difficult to evaluate how much Coq is used. Two indicators are the readership of the textbook on Coq by Yves Bertot and Pierre Castéran and the number of subscribers to the Coq-club mailing list. More than 1200 copies of the book have been sold. There has been a second printing , and a Chinese translation of the book has been published. There are around 600 subscribers to the mailing list. Coq is taught or used for teaching in many universities: Paris, Bordeaux, Lyon, Nice, Strasbourg, CNAM, Nottingham, Ottawa, U. Penn, Harvard, MIT, Princeton, Yale, Berkeley, Warsaw, Krakow, Rosario in Argentina, ...

Users of the assistant are also disseminating the use of the tool:
A collaborative effort led by B. Pierce's team at U. Penn gave rise to a
set of courses named Software
Foundations (http://

Version 8.4 was released in August 2012. It introduced a new proof
engine designed and implemented by Arnaud Spiwack and a new extensive
modular library of arithmetic contributed by Pierre Letouzey. It also
included an extension of the underlying logic with
“

Several users gracefully contributed improvements of various features (Tom Prince, Enrico Tassi, Daniel Grayson, Hendrik Tews, ...).

Pierre Letouzey has finalised and extended the work initiated by Vincent Gross (former ADT engineer) concerning the CoqIDE user interface: CoqIDE and Coq are now separate Unix processes, enhancing the reliability and improving the user experience.

In Fall 2012, Pierre Letouzey also revised the event infrastructure of CoqIDE, from a thread-based model to pure GTK event-loop. This way, CoqIDE is more reactive, less subject to deadlocks (especially under Windows), and the source code is more idiomatic and easier to understand. Interestingly, this work takes advantage of deeper notions such as C.P.S. (continuation passing style).

Pierre Boutillier and Pierre-Marie Pédrot built an abstract communication interface between Coq and CoqIDE based on XML syntax. They also refined the ability to customise CoqIDE. Pierre Boutillier made CoqIDE rely on Gtksourceview.

Arnaud Spiwack has proposed an extension of the expressiveness of tactics based on his previous work for a new proof engine. It allows for more atomic tactics, has a primitive support for backtracking, and allows for tactics which manipulate several goals.

Pierre Boutillier has proposed a new unfolding algorithm for global constants so that the definition of these ones are unfolded only if it triggers extra reductions. This helps users to keep goals concise during interactive proofs.

Matthieu Sozeau is adapting the type-classes mechanism to benefit from the new tactic engine and avoid reimplementing a whole proof-search algorithm with backtracking on top of the tactic language. This will bring high benefits in terms of efficiency and ease of use to the users. Forward proof-search for type classes was stabilised and is now used in libraries for better control on the search space, notably in the MathClasses library developed in Nijmegen .

An important shortcoming of type classes is the verbosity of the
representation of projections from a class, as was illustrated in
François Garillot's PhD thesis . Matthieu Sozeau has
developed a branch of Coq supporting an efficient representation of
these projections based on the idea of bidirectional type checking
which is now under stabilisation. This support will also enhance the
performance of the assistant on developments using regular parameterised
records and dependent sums like the HoTT library on homotopy type theory
and the Forcing plugin developed by Sozeau *et al*
.

While visiting the Institute for Advanced Study, Matthieu Sozeau implemented a new system of universe polymorphism that makes it possible to develop highly generic theories in the Coq system. Based on ideas from Harper and Pollack's design of polymorphism as an elaboration in the Lego theorem prover, he developed an original algorithm for type inference of universes and implemented it in Coq. Its first application is inside the Homotopy Type Theory (HoTT) research program, as the formalisation of HoTT requires a high level of polymorphism that was not available before. Many other theories will benefit from this, including Sozeau's work on Forcing, B. Barras' (Typical) work on models of type theory or in the Math Classes library mentioned before. It also opens up possibilities to formalise category-theoretic notions without being limited by the universe system, a long-standing barrier in the Coq proof assistant.

Matthieu Sozeau continued the maintenance of the Equations plugin and developed a new Forcing plugin for Coq (see below).

Pierre-Marie Pédrot has written a program using the internal representation of libraries to compact Coq object files. It is based on well-known automata algorithms, representing memory as transition systems. The idea underlying this program is generalisable to any OCaml data structure, provided some conditions on its use are satisfied, and was formalised in a paper that was accepted at JFLA 2013.

Pierre Letouzey continued a large reorganisation of the internal components of Coq, since these components are currently too much interdependent. This work brought better isolation between some of the Coq components and explicit interfaces between them. This allowed to simplify the compilation of Coq, since it is now easier to build the OCaml syntax extension used when compiling many advanced parts of Coq. Moreover, this clearer architecture should also help new contributors when they discover and interact with this large and complex code-base.

Pierre-Marie Pédrot also made some reorganisations of the code. This includes a clean generic library superseding the one of OCaml, pushing the CAMLP4/5 dependent parts out of the lower strata, as well as benefiting from the OCaml module system to get more uniformity in the naming of usual data structures.

Pierre Letouzey proposed a nicer backtracking infrastructure to Coq, used when the user wants to cancel some recent commands and go back before them. This new infrastructure unifies and improves what was used earlier by ProofGeneral and CoqIDE, the two main user interfaces for Coq.

Pierre Letouzey also dedicated many efforts to improve the support of the Windows platform by Coq.

Pierre-Marie Pédrot has been trying to optimise various parts of the Coq system, including the new tactical system designed by Arnaud Spiwack. Some neat tricks on garbage collection permitted to reach a substantial time improvement in compilation of object files. Various architectural modifications were also made in the process, like trying to get rid of the generic comparison in the code base.

Pierre Letouzey investigated an alternative implementation of the code dealing with Coq universes. These universes are a critical part of Coq: they have direct consequences on Coq safety, and handling them is time-consuming (between 10% to 20% depending on the Coq usage). This alternative implementation looks promising, but still requires some more work and stress-tests before being integrated in mainstream Coq.

François Ripault and Yann Régis-Gianas developed a new version of coqdoc, the documentation generator of Coq. This new implementation is based on the interaction protocol with the Coq system and should be more robust with respect to the evolution of Coq.

Pierre Letouzey has been the main maintainer of Coq with extra contributions from Hugo Herbelin, Pierre Boutillier, Matthieu Sozeau, Pierre-Marie Pédrot, ...

An “Action de Développement Technologique” about Coq started
September 2011 and continued this year. It gathers the

Yann Régis-Gianas set up an “osqa” server for Frequently Asked Questions.

The ADT Coq supported the internship of François Ripault.

Hugo Herbelin formalised a type-theoretic construction of semi-simplicial sets answering a problem raised early this year by Steve Awodey, Peter LeFanu Lumsdaine and others, in relation with the homotopy models of type theory.

Yann Régis-Gianas maintained a prototype version of Pangolin. He used it to prove concrete complexity bounds for a set of functional programs using the method described in his FOPARA 2011 paper .

In collaboration with François Pottier (Inria Gallium), Yann Régis-Gianas maintained Menhir, an LR parser generator for OCaml.

*System L syntax.*
Pierre-Louis Curien studied in some detail the differences (and translations) between variants of “system L” syntax for polarised classical logic (developed by Guillaume Munch-Maccagnoni and himself):

weakly focalised systems (where negatives can be worked on at any moment in a proof) versus focalised systems (where negative and positive phases alternate strictly), versus strongly focalised systems (where furthermore negative phases have to decompose negatives completely);

systems where changes of polarity are implicit (like in Girard's LC) versus systems where they are explicitly marked using shift operators. These shift operators are formally adjoint, and as a matter of fact a suitable intuitionistic fragment of system L corresponds exactly to Levi's CBPV;

systems with stoup (which retain only proofs that follow the focalisation discipline) versus (still focalised) systems without stoup (where the focalisation is forced by the dynamics of reduction);

one-sided systems (with an implicit negation given by De Morgan duality) versus two-sided systems (allowing for explicit negation, and for distinguishing the left/right and the positive/negative dualities).

Pierre-Louis Curien is also currently studying a polarised version of a notion of general connective suggested earlier by Hugo Herbelin (unpublished work), and the composition structure of these connectives (in the spirit of operads).

*Categorical semantics.*
Guillaume Munch-Maccagnoni investigated a notion of “direct style” for adjunction models, inspired by his work on polarisation in the “L” system, in the lineage of Führmann's direct-style characterisation of monadic models. (It is part of joint work with Marcelo Fiore and Pierre-Louis Curien.)

*Polarised Peano arithmetic.*
Guillaume Munch-Maccagnoni investigates the computational contents of polarised classical logic in arithmetic and in natural deduction. This allows him to compare the constructivisation of the principle

Guillaume Munch-Maccagnoni investigates how a notion of classical realisability structure (inspired by Krivine's) can be used to prove properties of type systems which are usually regarded as syntactic.

*Classical call-by-need and the duality of computation.*
In 2011, Zena Ariola, Hugo Herbelin and Alexis Saurin characterised
the semantics of call-by-need calculus with control in the framework
of *the duality of computation*. The same set of authors extended
with Paul Downen and Keiko Nakata worked on abstract machines and
continuation-passing-style semantics for call-by-need with control,
resulting into a paper presented at FLOPS 2012 .

Further work has been done by Zena Ariola, Hugo Herbelin, Luís Pinto, Keiko Nakata and José Espírito Santo on typing the continuation-passing-style of call-by-need calculus, opening the way to a proof of normalisation of simply-typed call-by-need with control, and from there to a proof of consistency of classical arithmetic with dependent choice.

Zena Ariola also investigated how to formulate a parametric theory
which encompasses call-by-value, call-by-name and call-by-need.
Each theory is obtained by giving the appropriate definition of what
is a value and a co-value. The theory also includes so called lifting
axioms which allow one to relax the syntactic restrictions previously
imposed on the call-by-value, call-by-name and call-by-need calculi.
The theory also allows to include the

Pierre-Marie Pédrot generalised the notion of monad in order to be able to use it in a dependent framework. This new structure allows to write effects in a pure functional language, such as Coq, through a monadic encoding.

This way, the whole monadic apparatus can be lifted to dependent programs, as well as proofs.

Arnaud Spiwack continued his investigations on dependently typed linear
sequent calculus (based on Curien & Herbelin's

Pierre-Marie Pédrot has been working on a delimited CPS translation of the Calculus of Inductive Constructions, seen through the prism of polarised linear logic. Restricting dependencies to positives naturally fits into the scenery of delimited control, while extending negatives to infinitary objects permits to recover some properties of the involutivity of linear double-negation.

*Axiom of dependent choice.*
Hugo Herbelin showed that classical arithmetic in finite types
extended with strong elimination of existential quantification proves
the axiom of dependent choice. To get classical logic and choice
together without being inconsistent is made possible first by
constraining strong elimination of existential quantification to
proofs that are essentially intuitionistic and secondly by turning
countable universal quantification into an infinite conjunction of
classical proofs evaluated along a call-by-need evaluation strategy so
as to extract from them intuitionistic contents that complies to the
intuitionistic constraint put on strong elimination of existential
quantification. This work has been presented at LICS
2012 .

*Memory assignment, forcing and delimited control.*
Hugo Herbelin investigated how to extend his work on
intuitionistically proving Markov's
principle and the work of Danko
Ilik on intuitionistically proving the double negation shift
(i.e.

Hugo Herbelin then designed a logical formalism with memory assignment
that allows to *prove* in direct-style any statement provable
using the forcing method, the same way as logic extended with control
operators allows to support direct-style classical reasoning. Thanks
to the use of delimiters over “small” formulas similar to the
notation of

Two typical applications of proving with side-effects are global-memory proofs of the axiom of countable choice and an enumeration-free proof of Gödel's completeness theorem.

The main ideas of this research program have been communicated during the Logic and Interaction weeks in Marseille in February 2012.

In the continuation of his work with Silvia
Ghilezan on showing that Saurin's
variant

*Classical logic, stack calculus and stream calculus.*
Alexis Saurin studied the connection between the stack calculus recently proposed by Ehrhard et al and

Moreover, Alexis Saurin's paper *Böhm theorem and Böhm trees for the $\Lambda \mu $-calculus* was published in TCS early 2012.

From the study of one-pass CPS on the one side and of previous presentations of pure type systems with control operators on the other side, Pierre Boutillier and Hugo Herbelin have investigated how splitting terms into categories opens a new way to merge dependent types and monads. A preliminary set of rules has been presented during the third week of Logic and Interaction in Marseille.

It was refined since then but has not reached yet the maturity required to be accepted for publication in an international conference.

Thanks to the Curry-Howard correspondence for classical logic, it is possible to extract programs from classical proofs. These programs use control operators as a way to implement backtracking and processes of intelligent learning by trial and error. Unfortunately, such programs tend to be poorly efficient. The reason is that, in a sense, they are designed in order to keep their correctness and termination proofs simple. Each small modification of these programs seems, at best, to require major and difficult adaptations of their correctness proofs. This is due to a lack of understanding and control of the backtracking mechanism that interprets classical proofs. In order to write down more efficient programs, it is necessary to describe exactly: a) what the programs learn, b) how the knowledge of programs varies during the execution.

A first step towards this goal is the theory of Interactive Realisability, a semantics for intuitionistic arithmetic with excluded middle over semi-decidable predicates. It is based on a notion of state, which describes the knowledge of programs coming from a classical proof, and explains how the knowledge evolves during computation.

Federico Aschieri has extended the theory of interactive realisability to a full classical system, namely first-order Peano arithmetic with Skolem axioms. This is a very expressive system, with non-trivial axioms of choice and comprehension. The resulting programs are interpreted as stratified-learning algorithms, which build in a very organised way the approximations of the Skolem functions used in the proofs. The work has appeared in the proceedings of the conference Computer Science Logic 2012. A careful implementation of this extended theory –yet to be developed – will lead to a dramatic efficiency improvement over the already existing computational interpretations.

Federico Aschieri has also showed how to use interactive realisability to provide purely proof-theoretic results. He proved with a new method the conservativity of Peano arithmetic with Skolem axioms over Peano arithmetic alone for arithmetical formulas. In particular, the method can be seen as a constructivisation and substantial refinement of Avigad's forcing. The work has appeared in the proceedings of the workshop Classical Logic and Computation 2012.

Hugo Herbelin explored with Gyesik Lee and Keiko Nakata the constructive content of the big five subsystems of second-order arithmetic considered in the context of (classical) reverse mathematics. They obtained a uniform characterisation of these systems in terms of variants of the comprehension axiom called separation, co-separation and interpolation.

This is the first step in a larger project attempting first to connect to predicative type theory the subsystems of System F underlying the proof-as-program structure of the big five subsystems of second-order arithmetic, and secondly to reformulate these subsystems in terms of pure systems of inductive definitions.

Jaime Gaspar has several projects running simultaneously. For example, in one of his projects he created a small unoptimised automated theorem prover, and he hopes to optimise it and use it to obtain a certain completely formalised proof to which he can apply a proof interpretation in order to extract computational content. As another example, in another project he his trying to show that several classical proof interpretations are instances of a unified proof interpretation, in a parallel way to what is known for intuitionistic proof interpretations.

The work of Hugo Herbelin and Vincent Siles on the equivalence of Pure Type Systems with typed or untyped equality has been published .

Pierre-Louis Curien completed his joint work with Martin Hofmann (Univ. of Munich) and Richard Garner (MacQuarie University, Sydney) on comparing two categorical interpretations of (extensional) type theories. More precisely, we wanted to compare two ways of giving a categorical interpretation of Martin-Löf type theory, both overcoming the following mismatch: syntax has exact substitutions, while their categorical interpretation, in terms of pullbacks or fibrations, “implements” substitutions only up to isomorphism. One can then either change the model (strictification) , or modify the syntax (by introducing explicit substitutions and more importantly explicit coercions between types that are now only isomorphic) . In the latter case, one has to prove a coherence theorem to show that the interpretation is in the end independent from these coercion decorations. Such a proof was given in , using rewriting methods. These approaches turn out to be related through a general machinery that relates three kinds of categories, with strict or non strict objects and morphisms. As a bonus we get a new, more conceptual proof of coherence. These results are now being written up for a special issue in honour of Glynn Winskel. In further work, we wish to address intensional, and homotopy type-theoretic versions of these coherence problems.

The univalence axiom proposed by Voevodsky states that for any two types to be equal exactly means being of same cardinality. This new axiom for type theory turns to have very interesting consequences for the practical foundations of formal mathematical reasoning: it smoothly implies other axioms such as functional extensionality or propositional existential but before all it says that any property proved about some mathematical structure immediately applies to any other other type (“sets” informally) which it is isomorphic to.

This axiom however contradicts the current logical foundations of Coq (in the presence of Streicher's axiom K). Investigations have then been started to understand how to weaken the Calculus of Inductive Constructions implemented in Coq so as to make it compatible with univalence. In a first step, this resulted in the design of a new rule for singleton elimination that has been implemented by Hugo Herbelin as an optional feature of Coq (singleton elimination is the ability to build objects in datatypes from canonically-proved propositional properties such as equality).

The existing models of homotopy type theory are based on simplicial sets or on their extensions as Kan complexes. Hugo Herbelin developed a concrete type-theoretic formalisation of semi-simplicial sets following ideas from Steve Awodey, Peter LeFanu Lumsdaine and other researchers both at Carnegie-Mellon University and at the Institute of Advanced Study. The technique he used seems to straightforwardly generalise to provide type-theoretic constructions for arbitrary presheaves on inductively generated categories.

Together with Nicolas Tabareau and Guilhem Jaber (Inria Ascola team, École des mines de Nantes), Matthieu Sozeau investigated an internalisation of the presheaf model of the Calculus of Inductive Constructions (CIC). They published their work at LICS'12 . This work corresponds to adapting the idea of Forcing due to Cohen in Type Theory. An internal model construction allows to enrich the logical type theory with new modalities and define their semantics by translation to CIC. The usual Cohen forcing can be realised using this framework to show the independence of the continuum hypothesis in CIC, but more practical applications are possible as well. Notably, the step-indexed technique for building models of imperative languages with rich type structure can be phrased as a forcing/presheaf construction. Sozeau, Tabareau and Jaber developed a plugin that can handle this example which relies on a modified Coq version implementing proof-irrelevance and eta-rules for records.

Matthieu Sozeau continued his work on proof-irrelevance by implementing a variant of Werner's proof-irrelevant CIC in Coq . An article describing this work is in preparation. The new system also handles the extensional eta-rules for records, extending the technique implemented by Hugo Herbelin to handle eta-expansion of functions in Coq.

The unification algorithm of Coq now essentially dwells in the

Matthieu Sozeau is continuing work in collaboration with Beta Ziliani (PhD student of Derek Dreyer at MPI Saarbrücken, two one week visits in 2012), and Aleksandar Nanevski (Researcher at IMDEA Madrid) on giving a clear formalisation for the unification algorithm of Coq. This will help understand better the working of advanced features like Canonical Structures and Type Classes that are heavily used in big developments, as the spectacular recently completed formalisation of the proof of Feit-Thompson's Odd theorem by the Mathematical Components team.

Matthieu Sozeau adapted the existing unification algorithm to be universe-aware, resulting in more predictability and earlier error-reporting in both the type inference and tactic unification algorithms of Coq.

Yves Guiraud and Philippe Malbos have applied the Squier's homotopical theorem , which they had generalised to higher-dimensional rewriting systems , to several types of categories with monoidal structures. This work develops a formal setting to produce constructive proofs of coherence conditions, applied to the cases of monoidal categories, symmetric monoidal categories and braided categories. These results have been published in Mathematical Structures in Computer Science .

Yves Guiraud and Philippe Malbos have extended Squier's homotopical theory to the higher dimensions of presentations of monoids to get an algorithm transforming a convergent word rewriting system into a polygraphic resolution of the presented monoid, in the setting of Métayer . From this polygraphic resolution, this work gives an explicit procedure to recover several of the known Abelian resolutions of the monoid, generalising and relating algebraic invariants of monoids. Moreover, a polygraphic resolution corresponds to the normalisation strategies of rewriting systems and they contain all the proofs of equality between elements, together with the proofs of equality of those proofs of equality, and so on. This work has been published in Advances in Mathematics . By nature, polygraphic resolutions bear many similarities with the higher-dimensional groupoids that appear in homotopical type theory when one considers the towers of identity types: this connection will be investigated by Pierre-Louis Curien, Yves Guiraud, Hugo Herbelin and Matthieu Sozeau.

With Stéphane Gaussent (Institut Camille Jordan, Université de Saint-Étienne), Yves Guiraud and Philippe Malbos are currently finishing an article on the rewriting properties and coherence issues in Artin groups, a class of groups that is fundamental in algebra and geometry. This work uses the formal setting of coherent presentations (a truncation of polygraphic resolutions at the level above relations) to formulate, in a common language, several known results in combinatorial group theory: one by Tits about the fundamental group of a graph associated to an Artin group , and one by Deligne about the actions of Artin groups on categories , both proved by geometrical and non-constructive methods. In this work, an improvement of Knuth-Bendix's completion procedure is introduced, called the homotopical completion-reduction procedure, and it is used to give a constructive proof of both those theorems. In fact, the method even improves the formerly known results: for example, it generalises Deligne's result to cases where his geometrical proof cannot be applied. A preliminary version of this work is available online . The next objective of this collaboration is to extend the formal setting and methods to compute polygraphic resolutions of Artin groups, with a view towards two open problems of combinatorial group theory with respect to Artin groups: the decidability of the word problem and the verification that a precise topological space is a classifying space.

With Samuel Mimram (CEA Saclay) and Pierre-Louis Curien, Yves Guiraud and Philippe Malbos investigate the links between set-theoretic rewriting theory and the computational methods known in symbolic algebra, such as Gröbner bases . In particular, this work is interested in extending the setting of higher-dimensional rewriting to include “linear rewriting” and, as a consequence, to be able to apply its methods in symbolic computation. One particular direction is to understand Anick's resolution , and to improve it with the completion-reduction methodology, in order to get better algorithms to compute homological invariants and to prove important properties such as Koszulness. This research direction has been presented to the first call for projects of the IDEX Sorbonne-Paris-Cité, together with Eric Hoffbeck and Muriel Livernet (LAGA, Université Paris 13) and François Métayer (PPS, Université Paris 7).

Pierre Castéran from Inria Bordeaux and Matthieu Sozeau published a tutorial on the use of type classes that was used as the basis of an invited lecture by M. Sozeau at the JFLA conference in February 2012. It will be published as part of the new version of the Coq'Art book.

Pierre Boutillier experimented about how to integrate gently in Coq the compilation process he came up with last year to simulate Agda-style dependent pattern-matching. As a consequence, pattern grammar in Gallina has changed, much more notations can be used and users can write patterns instead of simple abstractions in the pattern-matching return clause.

Matthieu Sozeau continued maintenance and polishing of the Equations plugin that allows dependent pattern-matching on inductive families. A first official release is planned for the beginning of 2013.

The modularised arithmetical libraries elaborated by Pierre Letouzey during the previous year(s) have been released as part of Coq 8.4. They provided greater uniformity of available functions and lemmas across the various Coq numerical datatypes. These libraries seem to work quite well, the only remaining issue is the documentation: due to this complex modular organisation, it is currently tedious for the user to browse the available functions and results. We expect to tackle this issue next year, by providing various documentation views, either the external summary of all available elements at once, or the internal layout of these elements.

Pierre Letouzey has integrated an additional Coq implementation in the MSets library of finite sets. This additional implementation is an improved version of the Red-Black-Tree library contributed by Andrew Appel. Using these RBT instead of the previously available AVL could be more efficient, at least in Coq, since they trigger no computations of integer numbers coding the tree depth.

As part of the ANR Typex (http://

Tim Griffin's primary focus during his visit to

Matthias Puech and Yann Régis-Gianas worked on incremental type checking. This preliminary work has been presented during a contributed talk at TLDI 2012 . It sets the ground for an incremental proof development and checking system, by means of a representation language for repositories of proofs and proof changes.

The traditional interaction with a proof-checker is a batch process. Coq (among others) refines this model by providing a read-eval print loop with a global undo system, implemented in an ad-hoc way. A more general approach to incrementality is being developed by means of a finer-grained analysis of dependencies. The approach developed is adaptable to any typed formal language: the language is specified in a meta-language close to the Edinburgh Logical Framework, in which subsequent versions of a development can be type-checked incrementally. Applications of this framework are: proof language for proof assistants, integrated development environments for proof or programming languages, typed version control systems.

As part of the CerCo European project, in collaboration with Roberto Amadio (PPS, Paris 7), François Bobot, Nicolas Ayache and Yann Régis-Gianas maintained a prototype compiler for a large subset of the C language whose specificity is to annotate input source programs with information about the worst-case execution cost of their machine code. Yann Régis-Gianas started a mechanised version of the proof technique used to prove the correctness of such an annotating compiler.

Yann Régis-Gianas maintained another compiler for Core ML that uses a generalisation of CerCo technique in order to obtain certified worst case execution time bounds on functional programs. This compiler produces proof obligations in Coq. The corresponding paper is published in January 2012 in the proceedings of FOPARA 2011 .

Nicolas Ayache developed a Frama-C plugin distributed in the CerCo software suite whose role is to synthesize cost annotations out of C programs. François Bobot developed a new version of this plugin. In particular, this new version handles C programs that manipulate pointers.

In collaboration with Roberto Amadio, Yann Régis-Gianas extended the cost annotating compilation chain of the FOPARA paper to handle the cost of memory management. A journal paper is about to be published in HOSC.

In the context of the ANR project Paral-ITP, Lourdes del Carmen
Gonzalez Huesca, Guillaume Claret and Yann Régis-Gianas developed
a new technique for proof-by-reflection based on a notion of
*a posteriori* simulation of effectful computations in Coq.

Matthieu Sozeau, Hugo Herbelin, Lourdes del Carmen Gonzalez Huesca and Yann Régis-Gianas are members of the ANR Paral-ITP started November 2011. Paral-ITP is about preparing the Coq and Isabelle interactive theorem provers to a new generation of user interfaces thanks to massive parallelism and incremental type-checking.

Hugo Herbelin is the coordinator of the PPS site for the ANR Récré accepted in 2011, which started in January 2012. Récré is about realisability and rewriting, with applications to proving with side-effects and concurrency.

Matthieu Sozeau is member of the ANR Typex project (Types and certification for XML) and is coordinator of one of the tasks of the project on formalisation and certification of XML tools. The project kicked-off on January 8th, 2012 and is a joint project with LRI, PPS and Inria Grenoble.

Yann Régis-Gianas is a participant of the EU-FP7 Certified Complexity project (CerCo). This European project started in February 2010 as a collaboration between Bologna university (Asperti, Sacerdoti Coen), Edinburgh university (Stark) and Paris 7 university (Amadio, Régis-Gianas). The CerCo project aims at the construction of a formally verified complexity preserving compiler from a large subset of the C programming language to some typical micro-controller assembly language, of the kind traditionally used in embedded systems. François Bobot's postdoc is funded by this project.

Hugo Herbelin is participating to a PHC Pavle Savić with the
university of Novi Sad in Serbia, the mathematical institute of
Belgrade, ENS Lyon and the university of Turin. This project, called
TLIT and headed by Silvia Ghilezan on the Serbian side, is about the
properties of resource

Pierre-Louis Curien, Yves Guiraud and Philippe Malbos are collaborators of the Applied and Computational Algebraic Topology (ACAT) networking programme of the European Science Foundation.

Title: Proof theory and functional programming languages (SEMACODE)

Inria principal investigator: Alexis SAURIN

International Partner:

Institution: University of Oregon (United States)

Laboratory: Computer and Information Science Department

Researcher: Zena ARIOLA

International Partner:

Institution: University of Novi Sad

Laboratory: Faculty of Engineering

Researcher: Silvia GHILEZAN

Duration: 2011 - 2013

See also: http://

Activity report: http://

Cross-fertilisation between logic and programming languages theory is at the root of many striking developments in programming concepts as well as tools for formal analysis of programs. Our associated team project aims at gathering senior and young researchers from both sites in order to put a joint research effort on the following research themes: formalising particular evaluation strategies of functional languages based on logical techniques coming from sequent calculi. More specifically, we shall be interested in incorporating control operators directly in call-by-need and in developing a uniform framework for call-by-value and call-by-name calculi with delimited control, in particular to unveil the logical interpretation of delimited control (that is its logical counterpart with respect to Curry-Howard correspondence), and developing connections between delimited control and stream calculi; developing the logical content of realistic abstract machines and associated formal analysis tools for realistic abstract machines building on Curien-Herbelin

Hugo Herbelin started a PHC STAR with Gyesik Lee and Sungwoo Park in Korea on reverse mathematics and Coq, and on the role that polarisation can play in this respect.

Thorsten Altenkirch (University of Nottingham) visited

Conor McBride (University of Strathclyde) visited

Keiko Nakata (University of Tallin) visited

Tim Griffin visited

Zena Ariola is visiting

Beta Ziliani (MPI Saarbrücken) visited

Jael Kriener (University of Kent) visited

We host Paul Downen (PhD student of Zena Ariola, University of Oregon), during the entire academic year 2012/2013.

Hugo Herbelin and Matthieu Sozeau have spent three months at the IAS as part of the special year on Univalent Foundations (October-December 2012).

Pierre-Louis Curien visited Zena Ariola (Univ. of Oregon) for 2 weeks in May-June, and Tarmo Uustalu (Institute of Cybernetics of Technical University, Tallinn) for 2 weeks in December.

Hugo Herbelin visited Silvia Ghilezan at the University of Novi Sad in Serbia for one week in January 2012. He visited Predrag Janičić at the University of Belgrade for 2 days. He visited Danko Ilik in Skopje for one week.

Hugo Herbelin visited 4 days Gyesik Lee in Seoul and 3 days Sungwoo Park in Pohang in May as part of their joint project on Reverse Mathematics in Coq.

Guillaume Munch-Maccagnoni also visited Seoul (as part of the PHC STAR programme) 10 days in December.

Matthieu Sozeau was invited by the French Ministry of Foreign Affairs to visit Keiko Nakata and Tarmo Uustalu (IoC, Tallinn) for 4 days in June 2012. He gave a seminar on Equations there.

Hugo Herbelin coordinated the ADT Coq and the development of Coq.

Pierre-Louis Curien is co-editor in chief of Mathematical Structures in Computer Science, and is an editor of Higher-Order and Symbolic Computation.

Pierre-Louis Curien was member of the PC for ICALP 2012.

Pierre-Louis Curien, Yves Guiraud, Philippe Malbos and Alexis Saurin have been members of the organising and scientific committee of the Logic and Interactions weeks held in the CIRM, Marseille, in the first trimester of 2012.

Yann Régis-Gianas served on the PC for the conference “Journees Francophones des Langages Applicatifs” (2013).

Hugo Herbelin was in the PC of the conference ITP 2012 and MFCS 2012. He was in the PC of the TYPES 2011 conference post-proceedings.

Hugo Herbelin organised the “Automation in Proof Assistant” satellite workshop of ETAPS 2012 which was shared with the organisation of the first COST 0901 meeting of year 2012.

Matthieu Sozeau was in the PC of the MSFP'12 (colocated with ETAPS'12) and LFMTP'12 (colocated with ICFP'12) workshops. He was in the PC of the PLPV'12 workshop, colocated with POPL'12, for which he was an external reviewer as well. Matthieu Sozeau is in the PC of JFLA'13.

In June and July 2012, Alexis Saurin has been member of the Jury for entrance exams at ENS Paris and examined the candidates for the three ENS for the “Informatique Fondamentale” Oral exam.

In September 2012, Alexis Saurin has been member of the Jury for LMFI Master.

Matthieu Sozeau gave an invited lecture on type classes at JFLA'12 in Carnac (January 2012) and at U. Penn, in October 2012.

Pierre-Louis Curien was invited speaker at the annual meeting of the GDR Topologie et Applications, Lille (“Interprétation catégorique de la théorie des types : questions de cohérence”), in October 2012.

Pierre Letouzey gave an invited talk in the ML workshop in Copenhagen in September 2012, about the interactions between Coq and OCaml.

Alexis Saurin gave an invited talk at the ASL annual meeting held in Madison, Wisconsin, in April 2012 (special session on Structural Proof Theory and Computing).

Matthias Puech has presented his paper at the TLDI 2012 workshop.

Yann Régis-Gianas has presented the paper at the MIPS 2012 workshop (best paper award).

Pierre Boutillier has presented his paper at JFLA 2012.

Hugo Herbelin and Matthieu Sozeau have presented their papers at LICS 2012 in Dubrovnik, Croatia.

Hugo Herbelin has presented his joint paper with Zena Ariola, Paul Downen, Keiko Nakata and Alexis Saurin at FLOPS 2012 in Kobe, Japan.

Pierre Boutillier gave a talk at Logic and Interaction weeks in February.

Pierre Boutillier gave a talk about compiling Agda style dependent pattern-matching in CIC during AIPA workshop in Tallinn.

Jaime Gaspar gave talks at Colloquium Logicum 2012, Paderborn, in September, and Collegium Logicum 2012: Structural Proof Theory, at École Polytechnique, in November.

Tim Griffin gave the following presentations:
“Mathematics of Inter-domain routing", at Internet Engineering Task
Force (IETF), Paris, March;
“Routing in Equilibrium" for the "Paris Networking Group"
(http://

Hugo Herbelin gave a talk on his proof-as-program interpretation of dependent choice in classical logic to the Réalisabilité à Chambéry #5 workshop in June.

Hugo Herbelin gave a talk on his proof with side-effects of Gödel's completeness theorem to the Workshop on Formal and Automated Theorem Proving and Applications (FATPA'12) held at the university of Belgrade.

Pierre-Marie Pédrot gave a presentation at the Logic and Interactions weeks in February, entitled “Double-glueing and orthogonality: refining models of linear logic through realizability”.

Nicolas Ayache gave a talk about the achievements of the CerCo project at the seminar of the ENSTA, at the seminar of the EPITA and at the “GT programmation”.

Pierre-Louis Curien gave a talk “De la logique classique (polarisée) à la logique linéaire (tensorielle)" at the Groupe de Travail Sémantique des calculs classiques, PPS, Paris 7, in November.

Pierre-Louis Curien gave talks on “System L syntax for sequent calculi” at the University of Bath, in February, at the École Polytechnique, in May, and at the Institute of Cybernetics, Tallinn, in December.

Jaime Gaspar gave talks at the Seminar of the Deducteam team, and at the Mathematical Logic Seminar, Lisbon.

Tim Griffin gave the following talks: “Routing in Equilibrium”, University of Rome-3, April; “Routing in Equilibrium with help from ssreflect", Marelle team at École Polytechnique, May; “Mathematics of Routing", DIMACS working group on Abstractions for Network Services, Rutgers University, New Jersey, in May; “Mathematics of Routing", Université d'Évry, in June.

Yves Guiraud gave two talks on “Théorie de Squier et résolutions polygraphiques” at the Groupe de Travail Catégories supérieures, polygraphes et homotopie, PPS, Paris 7, in June.

Hugo Herbelin gave a talk on the formalisation of semi-simplicial sets in type theory at the Univalent Foundations seminar of the Institute for Advanced Study, Princeton, NJ, in December.

Guillaume Munch-Maccagnoni gave a talk about “Runnable monads in models of the

Guillaume Munch-Maccagnoni gave a talk “On the computational contents of an involutive negation” at the Groupe de Travail Sémantique des calculs classiques, PPS, Paris 7, in November.

Pierre-Marie Pédrot gave a talk on a “Dependent delimited control monad” at the working group of the “Logique de la Programmation” team, from Institut Mathématique de Luminy, in December.

Matthieu Sozeau gave a talk in Tallinn about “Equations: A Dependent Pattern-Matching Suite” in June 2012.

Matthieu Sozeau gave a talk and a tutorial on “Coq with Classes” at the Institute for Advanced Study, Princeton, NJ in October and December 2012.

Matthieu Sozeau gave a talk about “Universe Polymorphism and Inference in Coq” at the Institute for Advanced Study, Princeton, NJ in December 2012.

Pierre Boutillier attended the Journées Francophones des Langages Applicatifs, Carnac, in February.

Tim Griffin attended the ssreflect/Inria MAP Spring School, Sophia Antipolis, in March.

Hugo Herbelin attended the FATPA workshop at the University of Belgrade in January.

Hugo Herbelin attended the ETAPS 2012 conference and the AIPA workshop in Tallinn in March-April.

Hugo Herbelin attended the FLOPS 2012 conference in Kobe in May.

Hugo Herbelin attended the ITP 2012 conference at Princeton University in August.

Hugo Herbelin attended the Coq workshop 2012 at Princeton University in August.

Guillaume Munch-Maccagnoni attended APLAS, Kyoto, in December.

Matthias Puech attended POPL 2012 in January.

Yann Régis-Gianas attended FMICS 2012, Paris, in August.

Matthieu Sozeau attended the POPL 2012 conference in January.

Matthieu Sozeau attended the JFLA 2012 conference in February.

This is one of the working groups of PPS, jointly organised by Hugo Herbelin and Paul-André Melliès, since September 2009. It is held weekly. Yves Guiraud took over from Hugo Herbelin for the organisation of the seminar while Hugo was at IAS (October-December).

The web site is http://

(We do not include here the standard teaching duties of Pierre Letouzey and Yann Régis-Gianas as “Maîtres de conférences”.)

Licence: Pierre Boutillier is teaching assistant at University Paris 7. He taught this year Unix-system (beginner), algorithms and databases (beginner in the bioinformatics master).

Licence: Matthias Puech has a temporary research and teaching position (A.T.E.R) at University Paris 7 for the academic year 2012–2013. He teaches this year logic (L2) and functional programming (L3) and abstract machines (L3).

Master: Yann Régis-Gianas took part in the MPRI course entitled “Type systems”: he gave a 12 hours course about generalised algebraic data types, higher-order Hoare logic and dependently typed programming.

Master: Alexis Saurin taught the LMFI course entitled “Lambda-calcul et preuves” together with Thomas Ehrhard (January-May). Each of them taught half of this 48H master course.

Master: Pierre-Louis Curien gave a 10 hours course at the Department of Computer Science of the University of Oregon on proof theory (May).

Doctorat: Pierre-Louis Curien gave lectures at the 11th Oregon Summer School on Programming Languages (July).

Training: Pierre Letouzey participated to a training program for high-school teachers, introducing them to computer science. These teachers are meant to participate later to the new “Spécialité” ISN (Informatique et Sciences du Numérique) in “Terminale” grade.

Internship: Yann Régis-Gianas supervised the internship of François Ripault.

Internship: Yann Régis-Gianas supervised the internship of Arthur Guillon.

PhD: Matthias Puech, Certificates for incremental type checking, Università di Bologna et Université Paris 7, December 2012, Hugo Herbelin, Andrea Asperti, and Yann-Régis Gianas.

PhD in progress: Pierre Boutillier, Représentation des effets et inférence de type dans le cadre du développement d'un langage de programmation à types riches, September 2010, Hugo Herbelin.

PhD in progress: Lourdes del Carmen Gonzalez Huesca, Un langage de tactiques typées pour Coq, December 2011, Hugo Herbelin and Yann-Régis Gianas.

PhD in progress: Guillaume Munch-Maccagnoni, Polarités, réalisabilité classique, contrôle délimité, September 2009, Pierre-Louis Curien and Thomas Ehrhard.

PhD in progress: Pierre-Marie Pédrot, Types dépendants et linéarité, October 2012, Hugo Herbelin and Alexis Saurin.

PhD in progress: Guillaume Claret, October 2012, Yann Régis Gianas.

Pierre-Louis Curien was a referee for the PhD theses of Martin Churchill (“Imperative programs as proofs via game semantics”, Univ. of Bath), Benedikt Ahrens (“Initiality for typed syntax and semantics”, Université Nice Sophia Antipolis), Silvia Vecchiato (“Semantics of CBN dual proofs into control categories”, Università di Siena), and Thomas Seiller (“Logique dans le facteur hyperfini: Géométrie de l'interaction et complexité”, Université Aix-Marseille). He was member of the habilitation jury of Micaela Mayero (“Problèmes critiques et preuves formelles”, Université Paris 13).

Yann Régis-Gianas organised the "Fête de la Science" event for the computer science department of the University Paris 7. François Bobot, Guillaume Claret, Lourdes Gonzalez-Huesca and Pierre-Marie Pédrot also took part in the animation.

Yann Régis-Gianas co-organised the “Journée Francilienne de Programmation”, a programming contest between undergraduate students of three universities of Paris (UPD, UPMC, UPS).

Yann Régis-Gianas co-organised the “Robocup”, a robotic and programming contest between undergraduate students of three universities of Paris (UPD, UP13, UP5).

Pierre Letouzey and Pierre Boutillier took part in the animation of the “Fête de la science” event at Inria Rocquencourt.

Yann Régis-Gianas gave one of the lectures to high-school teachers of the Académie de Paris in the context of the new curriculum “Informatique et Science du Numérique” (ISN).