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.

The Coq team received the 2013 ACM SIGPLAN Programming Language Software Award, which was presented at POPL'14 in San Diego. To quote: "The Programming Languages Software Award is given by ACM SIGPLAN to an individual or an institution to recognize the development a software system that has had a signicant impact on programming language research, implementations, and tools. The impact may be reflected in the wide-spread adoption of the system or its underlying concepts by the wider programming language community either in research projects, in the open-source community, or commercially."

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 moved to the new Inria Saclay research center. 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, for which 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

Version 8.5 is expected to be released after the summer of 2014. It will be a major release of the Coq proof assistant, including 6 major new features:

Parallel development and compilation, inside files and across files, by Enrico Tassi (Inria SpecFun), a result of the Paral-ITP ANR project.

New proof engine of Arnaud Spiwack (formerly pi.r2 postdoc), more expressive and with clearer semantics.

Native compilation by Maxime Dénès and Benjamin Grégoire (Inria Marelle, M. Dénès is now at the University of Pennsylvania). A compilation scheme from Coq to OCaml to native code, considerably improving on the previous virtual machine implementation by B. Grégoire.

A Universe Polymorphic extension by Matthieu Sozeau that allows universe-generic developments, as required by the Homotopy Type Theory library for example.

Primitive projections for records by Matthieu Sozeau.

A new document generation system by F. Ripault and Yann Régis-Gianas.

A more detailed description of all the new features will be made in next year's report, but some elements can already be found below.

Pierre Boutillier has worked on the practical implementation of the unfolding algorithm for global constants that he proposed last year, so that it could become the default process to simplify terms by tactics. A formal presentation has been written in his PhD, to be defended in February 2014.

The change of representation for record projections implemented by Matthieu Sozeau will be part of the 8.5 release. It provides not only exponential gains in performance (type-checking and comparison time and space usage) but also a better basis to work with canonical structures in the unification algorithm, allowing to improve for example the ssreflect inference mechanism significantly. Benchmarks on the HoTT library and a groupoid model construction confirm the exponential gain in performance.

Matthieu Sozeau followed up his work on universe polymorphism and uncovered
important theoretical problems regarding conversion and unification of universe
polymorphic constants in the presence of cumulativity and the Prop

Matthieu Sozeau continued work on the Equations plugin and fixed the remaining bugs preventing full automation of a middle-size example of formalization of the normalization proof of a simply-typed lambda calculus. Wojciech Jedynak, a student of Dariusz Biernacki and Małgorzata Biernacka at the University of Wroclaw, is working under his supervision to do the remaining work before an official release of the plugin can be done. Wojciech Jedynak applied for a 4-month internship supervised by Matthieu Sozeau on an extension of Equations, to start in March 2014.

With the help of many others, Pierre Letouzey organized in November 2013 the migration of the official Coq source repository from subversion to git. The native use of this decentralized version control system eases the exchange of code amongst Coq developpers (either from the Coq dev team or from external contributors).

Pierre Letouzey, Pierre-Marie Pédrot and Xavier Clerc have continued to work at improving the quality of the OCaml code which composes Coq :

Many modules have been revised, in particular with cleaner naming convention.

Almost all uses of the generic OCaml comparison has been chased and transformed into specific code. This avoided many potential bugs with advanced structures, while improving performances at the same time.

The codes handling OCaml exceptions have been reworked to avoid undue interceptions of critical exceptions.

Issues involving exceptions are now quite simpler to debug, thanks to easy-to-obtain backtraces.

Pierre-Marie Pédrot has been working on the overall optimization of Coq, by tracking hotspots in the code. Coq trunk is currently much more efficient than its v8.4 counterpart, and is about as quick as v8.3, while having been expanded with a lot of additional features.

Pierre Letouzey has improved the representation of Coq binary files : these files are now smaller (thanks to more sharing), and are reloaded quickly by Coq (thanks to deferred loading of opaque proof terms, which are large and almost never accessed by the user).

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, ...

In 2013, Pierre Letouzey has proposed an important rework of the code implementing the module system of Coq. This code was inherited from the successive works of several PhD students, and was in pretty poor shape. While being equivalent in terms of features for the user, the new code should be quite more readable and robust, as well as more efficient: the memory sharing of modular structures should be better, leading to reduced memory footprint for Coq as well as smaller Coq compiled files.

Pierre Letouzey has collaborated with colleagues with the aim of extending the extraction tool to additional target languages:

`C++` with Gabriel Dos Reis and his student Robert Schumacher

`F#` with David Monniaux

These experiments have been quite promising. In the case of `C++`,
an article has been written, it should be re-submitted soon for publication.

Hugo Herbelin's type-theoretic construction of semi-simplicial sets has been formalised in Coq.

Matthieu Sozeau and Nicolas Tabareau formalised a
groupoid model in Coq http://

Jaime Gaspar has verified in Coq the correctness of Jean-Louis Krivine's proof that Zermelo-Fraenkel set theory without choice

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

Yann Régis-Gianas started the development of the "Hacking Dojo", a web platform to automatically grade programming exercises.

In a different vein, Jaime Gaspar showed that is not always possible to get cross-references right in

*Categorical semantics.*

During his collaboration with Marcelo Fiore and Pierre-Louis Curien, Guillaume Munch-Maccagnoni characterised the polarised evaluation order through a categorical structure where the hypothesis that composition is associative is relaxed. Duploid is the name of the structure, as a reference to Jean-Louis Loday's duplicial algebras. The main result, in the lineage of Führmann's direct-style characterisation of monadic models, is a reflection Adj

Pierre-Louis Curien, in connection with his increasing interests in operads and algebraic structures of various kinds, found out that the core syntax of system L (underlying the duality of computation) could be used with profit to describe the wiring structures underlying operads, dioperads, cyclic operads, and more generally Lamarche's structads . He also showed a syntactic equivalence between Munch-Maccagnoni's (pre)duploids and system L syntax. These results were presented in his invited talks at the Loday's Mathematical Legacy workshop in Strasbourg and at the workshop Algebra and Computation in Lyon, in January 2014.

*Duality of construction.*

Paul Downen and Zena Ariola developed a generalized theory of the sequent calculus for understanding the concepts of evaluation strategy and of data (for example, pairs in ML) and co-data (for example, functions) in programming languages. This theory provides a single framework for user-defined data and co-data types as well as a generalized treatment of evaluation strategies, including call-by-value, call-by-name, and call-by-need, that are given as parameters to the theory. In the end, the framework encompasses the previously known duality of call-by-name and call-by-value in the sequent calculus, both by Curien and Herbelin and Wadler , while also including call-by-need and its dual. Additionally, the framework reveals connections with approaches by Zeilberger , Munch-Maccagnoni , and Curien and Munch-Maccagnoni , for using polarization and focalization to provide deterministic strategies for classical computation with structures and pattern matching. This work will be presented at ESOP 2014 .

Luke Maurer and Zena Ariola in collaboration with Daniele Varacca studied the connections between

*Constructive interpretation of an involutive negation.*

Guillaume Munch-Maccagnoni developped a syntax of delimited control operators that exposes a formulae-as-types correspondence between an involutive negation in classical natural deduction, and the idea that captured contexts, unlike continuations, can be inspected. This decomposes technical artefacts found in call-by-name classical realisability, and simplifies witness extraction from proofs of

Guillaume Claret and Yann Régis-Gianas are developping a monadic translation from functional programs with effects to Coq that uses a dependent monad. The aim of this work is to allow to reason about effectful programs directly in Coq.

Pierre-Marie Pédrot developped a dependent version of the Dialectica translation, that gives interesting insights into the possibility to design linear dependent types. Indeed, Dialectica can be decomposed as a translation acting on linear types instead of intuitionistic ones.

Guillaume Munch-Maccagnoni's polarised decomposition of delimited control calculi appeared in his PhD thesis .

Ludovic Patey studied with Laurent Bienvenu and Paul Shafer the deep connections between algorithmic randomness and reverse mathematics by defining formally the ability of computing a solution to a problem by probabilistic means within the framework of reverse mathematics, the No Randomized Algorithm property (NRA). They provided a classification of the whole revese mathematics zoo created by Damir Dzhafarov in terms of having the NRA property or not, answering to some open separation questions.

Ludovic Patey stated two dichotomy theorems about satisfiability problems within reverse mathematics and proved them using clone theory. The corresponding paper is submitted to Computability in Europe 2014. He studied also ramseyan theorems related to the Rainbow Ramsey theorem and provided characterizations in terms of diagonally non-computable functions, algorithmic randomness, and related it to the Erdös Moser theorem and Thin set theorem.

Pierre-Marie Pédrot showed that the Dialectica translation could be explained in terms of the Krivine abstract machine, in a way similar to the usual presentation of classical realizability. This opens the door to a better understanding of related translations, as well as adding semi-classical effect into PTS.

Alexis Saurin and Pierre-Marie Pédrot developed a structured reconstruction of call-by-need based on linear head reduction which arose in the context of linear logic. This opens new directions both to extend call-by-need to control and to apply linear logic proof-theory (and particularly proof-nets) to call-by-need evaluation.

Alexis Saurin and Fanny He have been working on transfinite term rewriting in order to model stream calculi and their connections with lambda-calculi for classical logic.

Jaime Gaspar identified the eight simplest variants (some already known) of the Kuroda negative translation that translate classical logic into minimal logic.

Pierre-Louis Curien completed his joint work with Richard Garner and Martin Hofmann on relating syntax unstrictification through coercions with model strictification (cf.

Hugo Herbelin, Matthieu Sozeau and Pierre-Louis Curien participated to the univalent foundations program. A collaborative book on the results of this program has been published.

Simplicial sets and their extensions as Kan complexes can serve as models of homotopy type theory. 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. This has been accepted for publication in a special issue of MSCS on homotopy type theory .

The technique he used generalises to provide type-theoretic constructions for arbitrary presheaves on Reedy categories, thus including simplicial sets. In particular, this provides with a formulation of simplicial sets where degeneracies are decidable, which is not the case with the definition as a presheaf.

Hugo Herbelin also investigated hybrid constructive definitions of simplicial sets where face maps are axiomatised but degeneracies are built. Again, this provides with a formulation of simplicial sets where it is decidable whether a given simplex is degenerate or not.

As an example use of the new polymorphic universe extension of Coq, Matthieu Sozeau developed together with Nicolas Tabareau (Inria Ascola team, École des mines Nantes) a complete groupoid model of type theory, following the seminal work of Hofmann and Streicher. A preliminary paper presenting a partial generalization of this model to 2-goupoids was written and will be resubmitted .

A completed version of this model has since been formalized and will be submitted shortly. This model showcases the use of the polymorphic universes: in the course of its formalization we uncovered hidden assumptions in the interpretation of substitution and sigma types in the original presentation thanks to the universe system.

Matthieu Sozeau finished his implementation of a proof-irrelevant system but did not publish it. Indeed, the homotopy type theory interpretation suggests new ways to introduce proof-irrelevance using bracket types that seem to significantly depart from the syntactic treatment developped by Werner and himself. An investigation of the relationship between the presentation of the calculus of inductive constructions given by Hugo Herbelin and Arnaud Spiwack in which includes the bracket construction and the aforementioned syntactic version will be part of a master's internship supervised by Matthieu Sozeau in 2014.

In , Yves Guiraud, Philippe Malbos and Samuel Mimram (CEA Saclay) have further investigated the homotopical completion-reduction procedure, extended with the adjunction/elimination of redundant generators, with successful application to two new classes of monoids: the plactic and the Chinese monoids. This work has been implemented by Samuel Mimram and Yves Guiraud into a prototype, that can be tested at http://

During his M2 internship, Maxime Lucas, supervised by Yves Guiraud, has improved the rewriting method used in for the computation of homotopy bases of monoids and categories. This allows a more effective computation in several cases, based on the notion of Anick chain instead of the broader notion of critical branching. Maxime Lucas has now started a PhD thesis, supervised by Yves Guiraud and Pierre-Louis Curien, and currently investigates the use of Garside-like structures to further improve the computation of coherent presentations for higher-dimensional categories.

Cyrille Chenavier, Pierre-Louis Curien, Yves Guiraud and Philippe Malbos investigate with Eric Hoffbeck (LAGA, Université Paris 13) and Samuel Mimram (CEA Saclay) the links between set-theoretic rewriting theory and the computational methods known in symbolic algebra, such as Gröbner bases . This interaction is supported by the Focal project of the IDEX Sorbonne Paris Cité. Yves Guiraud, Eric Hoffbeck and Philippe Malbos are currently working on an improvement, based on the homotopical completion-reduction procedure, of the methods known in algebra to compute homological invariants of algebras and operads. Cyrille Chenavier has started a PhD thesis, supervised by Yves Guiraud and Philippe Malbos, to use Berger's theory of reduction operators to design new methods for the study of rewriting systems.

Yves Guiraud and Philippe Malbos have written a comprehensive introduction on the links between higher-dimensional rewriting, the homotopical finiteness condition “finite derivation type” and the homological finiteness condition “

In , Yves Guiraud and Philippe Malbos have introduced a notion of identities among relations for higher categories presented by polygraphs. This notion is well-known in combinatorial group theory, where it is linked to the explicit computation of homological invariants and of formal representations of groups as crossed complexes. The main result of is a procedure based on higher rewriting to compute generators of the identities among relations. They have related the facts that the natural system of identities among relations is finitely generated and that the higher category has finite derivation type (a homotopical finiteness condition introduced in for higher categories after Squier's work for monoids ).

Type Classes are heavily used in the HoTT/Coq library
(http://

How to encode structurally dependent pattern matching into case analysis by hand has been described by Jean François Monin in . Pierre Boutillier, with the help of Thomas Braibant (GALLIUM team), has mechanized this process and exhibited a missing part to make it scale. These are the main results presented in Pierre Boutillier's forthcoming thesis.

Lourdes González and Yann Régis-Gianas studied incremental computing and self-adjusting computation as a starting point to develop an applicative notion of change over data structures, to be applied to lambda-terms. They formalized in Coq a notion of derivative of an inductive function to define how to compute a new result from an input that has changed, this is done by using the derivative of the function and the difference on inputs and old outputs. They are working out a technique that allows a specification of functions using derivatives and old inputs and outputs including a cost analysis of the benefits of reusing previous computations.

In collaboration with Beta Ziliani (MPI), In the context of the
ANR project Paral-ITP, Lourdes del Carmen
González 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.
This work has been presented at ITP 2013 ().

Pierre-Louis Curien (coordinator), Yves Guiraud and Philippe Malbos are members of the three-years Focal project of the IDEX Sorbonne-Paris-Cité, started in June 2013. This project, giving the support for the PhD grant of Cyrille Chenavier, concerns the interactions between higher-dimensional rewriting and combinatorial algebra with researchers from LAGA (Univ. Paris 13)

Pierre-Louis Curien (coordinator), Yves Guiraud and Philippe Malbos are members of the four-years Cathre ANR project, accepted in 2013, to begin in January 2014. This project will investigate the general theory of higher-dimensional rewriting, the development of a general-purpose library for higher-dimensional rewriting, and applications in the fields of combinatorial algebra, combinatorial group theory and theoretical computer science.

Matthieu Sozeau, Hugo Herbelin, Lourdes del Carmen González 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 (Pollack) and Paris Diderot 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.

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: http://

We are setting up a partnershiop with the University of Wroclaw (our interlocutors are D. Biernacki and M. Biernacka).

Pierre-Louis Curien participates to the ANR International French-Chinese project LOCALI (coordinated by Gilles Dowek), and to a MathAmSud project in algebraic operads with the university of Talca (Chile).

MIT (Adam Chlipala, Jason Gross).

Beta Ziliani (MPI, Saarbrücken) visited

Zena Ariola visited

Marco Gaboardi visited

Olivier Danvy visited

Fernando Ferreira (Univ. of Lisbon) and Ulrich Kohlenbach visited

Subject: Foundation for lazy languages

Date: from Mar 2013 until Jul 2013

Institution: University of Oregon (United States)

Pierre Boutillier visited MSP group at the university of Strathclyde for a month in March 2013.

Hugo Herbelin visited Thomas Streicher at the University of Darmstadt in May 2013.

Hugo Herbelin visited the Institute of Cybernetics in Tallinn, Estonia in September and October 2013.

Pierre-Louis Curien visited IAS for 3 weeks in March, towards the end of the Special Year on Univalent Foundations. Matthieu Sozeau visited Vladimir Voevodsky at the IAS in Princeton for 15 days in May 2013.

Pierre-Louis Curien is member of the Conseil Scientifique of the INSII (CNRS). He is also a member of the Conseil Scientifique of CIRM (since June 2013).

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

Alexis Saurin has been co-chair of the program committee and editor of the proceedings of the workshop *Control Operators and their Semantics* (COS'13, organized at RDP 2013, http://

Alexis Saurin has been a member of the scientific committee of the Summer School *Linear Logic and Geometry of Interaction* (http://

Alexis Saurin is a PC member of GaLoP 2014 (International Workshop on Games and Logic for Programming) which will take place during ETAPS 2014 in Grenoble.

Hugo Herbelin, Pierre Letouzey and Matthieu Sozeau are co-organizing and co-chairing the TYPES'14 conference in Paris in May.

Matthieu Sozeau was in the PC of DTP'13, JFLA'13 and JFLA'14. He is
in the newly formed steering committee of the DTP workshop
https://

Matthieu Sozeau co-organized a (private) meeting at POPL'14 in San Diego, there were 30 participants. He gave a talk on the upcoming 8.5 version of Coq and a tutorial.

Hugo Herbelin organized with Gyesik Lee a workshop on constructive reverse mathematics in Seoul, March 2013.

Yves Guiraud and Philippe Malbos are organisers of the 5-weeks programme Mathematical Structures of Computation, held in Lyon in January-February 2014, and supported by the Labex MILYON. They are also organisers of the second week, Algebra and Computation, while Pierre-Louis Curien and Hugo Herbelin organised the first week, Recent Trends in Type theory.

Pierre-Louis Curien, Hugo Herbelin and Paul-André Melliès are the organisers of the IHP trimester Semantics of proofs and certified mathematics, to be held next spring. They also organise a spring school at CIRM preceding the trimester.

Pierre-Louis Curien is member of the steering committee of the conferences Typed Lambda Calculi (TLCA) and Applications and of the international workshops Games for Logic and Programming Languages (GaLop).

Alexis Saurin was an examinor for the computer science oral at the entrance exam for Ecoles normales supérieures and a member of the jury for Ecole normale supérieure de la rue d'Ulm.

Alexis Saurin has been member of the Jury for LMFI Master.

Hugo Herbelin gave an invited talk on proving Gödel's completeness theorem with side-effects at the conference TLCA'13 in Eindhoven.

Philippe Malbos was invited speaker at the Sao Paulo - Lyon Algebra meeting, in October 2013.

Pierre-Louis Curien was an invited speaker at Glynn Winskel's anniversary workshop in Cambridge (where he presented his joint work with Garner and Hofmann on coherence issues in type theory), at the workshop Higher structures in China (Lanzhou, August), where he presented homotopical completions and reductions, at the International Symposium on Domain Theory, where he presented Thomas Ehrhard's result “Scott is the extensional collapse of Rel”, and at the Loday's Mathematical Legacy conference in Strasbourg as well as at the Algebra and Computation workshop in Lyon where he presented his work on languages for operads and related structures.

Philippe Malbos has presented at RTA 2013.

Lourdes González presented at TYPES 2013.

Yann Régis-Gianas presented at ITP 2013.

Yves Guiraud gave a talk on “Coherent presentations of Artin monoids” during the Journées PPS in September 2013.

Pierre Boutillier gave a talk on “An abstract machine to conceal strong reduction and fixpoints” during the journées PPS.

Yann Régis-Gianas presented the CerCo european project at two satellite workshops of HIPEAC (Berlin) in March 2013 and ETAPS (Roma) in April 2013.

Hugo Herbelin gave two lectures on reducibility candidates and their relation with completeness proofs to the Réalisabilité à Chambéry #6 workshop in June.

Hugo Herbelin gave a talk on the development of Coq at the Coq workshop '13 in Rennes.

Hugo Herbelin gave a talk at FOMCAF 2013 in Padova on the status of equality in type theory.

Hugo Herbelin gave a talk at TYPES 2013 in Toulouse on the status of equality in type theory.

Hugo Herbelin gave a talk at PCC 2013 in Toulouse on the Computational interpretation for the big five systems of reverse mathematics (joint work with Gyesik Lee and Keiko Nakata).

Matthieu Sozeau gave a talk at TYPES 2013 in Toulouse on universe polymorphism.

Matthieu Sozeau gave a talk at the TYPEX meeting in Paris on universe polymorphism.

Ludovic Patey gave a talk on Probabilistic Algorithms and Ramsey-Type Principles in Reverse Mathematics at the Workshop in Type Theory, in Séoul, on Rainbow Ramsey theorem for pairs at Computability in Europe, Milano, and on Classifying principles by the no randomized algorithm property at Logic Colloquium, Évora.

Jaime Gaspar gave a talk on Krivine's classical realisability and the unprovability of the axiom of choice and the continuum hypothesis at the 6th Young Set Theory Workshop 2013, Oropa, Italy. He gave a talk on “Refuting” Cantor at the Logic Colloquium 2013, Évora, Portugal.

Yves Guiraud gave three talks on “Coherent presentations of Artin monoids” at the Groupe de Travail Catégories supérieures, polygraphes et homotopie, PPS, Paris 7, in May-June 2013.

Matthieu Sozeau gave a talk on universe polymorphism at the Coq working group in Paris.

Alexis Saurin gave a talk at "Journées PPS" in september 2013 on linear head reduction and call-by-need, entitled "Éloge de la paresse".

Guillaume Claret gave a talk at Gallium on the Cybele plugin to do proofs by reflection in Coq using the extraction mechanism.

Guillaume Munch-Maccagnoni gave a talk on duploids at the PPS days in September 2013.

Zena Ariola presented a talk on Call-by-need: reduction, continuation passing style and abstract machines at Paris 7 University, 20 December 2012, and at Inria Saclay, 27 February 2013.

Jaime Gaspar gave a talk on Formalising

Yves Guiraud and Philippe Malbos attended RTA 2013, Eindhoven, in June.

Pierre Boutillier, Alexis Saurin and Pierre-Marie Pédrot attended the JFLA 2013 conference in Aussois.

Pierre Boutillier and Lourdes González attended the Coq workshop 2013 in Rennes.

Pierre Boutillier attended ICFP and DTP 2013 in Boston.

Lourdes González attended the Workshop on Formal Meta-Theory organized by the Parsifal team (Lix and Inria) the 5-6th March 2013.

Lourdes González, Guillaume Claret and Pierre-Marie Pédrot attended TYPES 2013 in Toulouse.

Yann Régis-Gianas, Guillaume Claret and Lourdes González attended ITP 2013 in Rennes.

Lourdes González and Pierre-Marie Pédrot attended the Summer School on Linear Logic and Geometry of Interaction in Turin.

Lourdes González attended CSL 2013 and its satellite events in Turin.

Pierre Letouzey attended the Coq workshop 2013 in Rennes.

Matthieu Sozeau attended the JFLA'13 in Aussois.

Matthieu Sozeau attended the Coq workshop 2013 and ITP 2013 in Rennes.

Matthieu Sozeau attended the TYPES 2013 conference in Toulouse.

Matthieu Sozeau attended the POPL'14 conference in San Diego.

Pierre Letouzey, Matthieu Sozeau, Lourdes González, Gullaume Munch and Pierre-Marie Pédrot attended Pierre-Louis Curien's 60th birthday meeting in Venice.

Matthieu Sozeau attended the Conference on Type Theory, Homotopy Theory and Univalent Foundations at the Centre de Recerca Matemàtica in Barcelona.

Guillaume Claret attended the EJCP 2013 school at Saint-Malo and Rennes.

Alexis Saurin attended BLL, a workshop on Bounded Linear Logic, in November 2013.

Zena Ariola attended POPL 2013, Rome.

Jaime Gaspar attended Proof Theory in Lisbon (a one-day workshop), and a workshop on Reverse Mathematics in Paris.

Pierre-Marie Pédrot gave a talk on a classical realizability account of the Dialectica transformation, as well as a dependent version of it, in November.

Matthieu Sozeau gave a talk on a groupoid interpretation in March.

This year's other internal speakers were Hugo Herbelin, Philippe Malbos, and the external speakers were Maribel Fernández (King's College, London), Gregory Malecha (MIT), Marc Lasson (then postdoc at Cambridge Univ.), Keiko Nakata (Institute of Cybernetics, Tallinn), Cyril Cohen (Univ. of Göteborg), Eduardo Bonelli (Universidad Nacional de Quilmes), Barbara Petit (Sardes team, Inria Grenoble), Lionel Rieg (ENS Lyon), Fernando Ferreira (Univ. of Lisbonne), Chantal Keller (Univ. of Aarhus), Matthias Puech (Univ. of Aarhus), Dominic Hughes (Stanford University), Thomas Braibant (Gallium team), and Alexander Kreuzer (ENS Lyon).

Licence: Pierre Boutillier has a temporary research and teaching position (A.T.E.R) at University Paris 7 for the academic year 2013–2014. He teaches this year Programmation fonctionnelle (L3) and Analyse lexicale et syntaxique (L3).

Master: Compilation, (Boutillier) 1/4, M1, Université Paris Diderot.

Master: Assistants de Preuve (Sozeau), 9, M2, Université Paris Diderot.

Master: Functional Programming and Type Systems (Regis-Gianas), 12, M2, Université Paris Diderot.

Master: Lambda-calculus (Saurin), 24H, M2 of Mathematics "Logique Mathématique et Fondements de l'Informatique", Université Paris Diderot.

Master Pierre-Louis Curien teaches in the course Models of programming languages: domains, categories, games of the MPRI (together with Thomas Ehrhard and Paul-André Melliès).

Internship: Yves Guiraud has supervised the M2 internship of Maxime Lucas.

Internship: Alexis Saurin has supervised the internship of Fanny He.

Internship: Alexis Saurin has supervised (with Claudia Faggian) the M2 internship of Amina Doumane.

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 González Huesca, Un langage de tactiques typées pour Coq, December 2011, Hugo Herbelin and Yann Régis-Gianas.

PhD in progress: Guillaume Claret, Programmation avec effets en Coq, September 2012, Hugo Herbelin and Yann Régis-Gianas.

PhD in progress: Pierre-Marie Pédrot, Logique linéaire et types dépendants, september 2012, supervised by Alexis Saurin and Hugo Herbelin.

PhD in progress : Cyrille Chenavier, supervised by Yves Guiraud and Philippe Malbos.

PhD in progress : Maxime Lucas, supervised by Yves Guiraud and Pierre-Louis Curien.

PhD defended: Guillaume Munch-Maccagnoni, Syntaxe et modèles d'une composition non-associative des programmes et des preuves, Université Paris Diderot - Paris 7, December 10 2013, Pierre-Louis Curien and Thomas Ehrhard. . Hugo Herbelin was a member of the jury.

Pierre-Louis Curien was referee and Yves Guiraud was jury member for the PhD defence of Pierre Rannou (“Réécriture de diagrammes et de Sigma-diagrammes”, Univ. Aix-Marseille).

Pierre-Louis Curien was jury member of the thesis of Florian Hatat (“Jeux graphiques et théorie de la démonstration”, Univ. Chambéry).

Pierre-Louis Curien was (as thesis director) in the jury of the theses of Stéphane Zimmermann (“Vers une ludique différentielle”, Univ. Paris Diderot) and of Alexis Goyet (“Le lambda lambda-bar calcul, un calcul dual pour les stratégies non contraintes”, Univ. Paris Diderot).

Pierre Letouzey was a referee for the PhD thesis of Pierre-Nicolas Tollitte in December 2013 (“Extraction de code fonctionnel certifié à partir de spécifications inductives”, CNAM), while Hugo Herbelin was a member of this PhD committee.

Yann Régis-Gianas organised the "Fête de la Science" event for the computer science department of the University Paris 7.

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 gave several conferences about computer science in several primary schools of Paris.