2024Activity reportProject-TeamPICUBE
RNSR: 202224371Z- Research center Inria Paris Centre
- In partnership with:CNRS, Université Paris Cité
- Team name: Proof assistants at the heart of mathematical reasoning
- In collaboration with:Institut de Recherche en Informatique Fondamentale
- Domain:Algorithmics, Programming, Software and Architecture
- Theme:Proofs and Verification
Keywords
Computer Science and Digital Science
- A2.1.1. Semantics of programming languages
- A2.1.4. Functional programming
- A2.1.11. Proof languages
- A2.4.3. Proofs
- A7.2. Logic in Computer Science
- A7.2.3. Interactive Theorem Proving
- A7.2.4. Mechanized Formalization of Mathematics
- A8.1. Discrete mathematics, combinatorics
- A8.4. Computer Algebra
- A9.2. Machine learning
- A9.4. Natural language processing
- A9.8. Reasoning
Other Research Topics and Application Domains
- B6.1. Software industry
1 Team members, visitors, external collaborators
Research Scientists
- Paul-Andre Mellies [Team leader, CNRS, Senior Researcher]
- Guillaume Baudart [INRIA, ISFP]
- Pierre-Louis Curien [CNRS, Emeritus]
- Thomas Ehrhard [CNRS, Senior Researcher]
- Emilio Jesus Gallego Arias [INRIA, Starting Research Position, until Oct 2024]
- Hugo Herbelin [INRIA, Senior Researcher]
- Jean-Jacques Lévy [INRIA, Senior Researcher, Emeritus]
- Alexis Saurin [CNRS, Researcher]
- Gabriel Scherer [INRIA, Researcher]
Faculty Members
- Pierre Letouzey [UNIV PARIS - CITE, Associate Professor Delegation]
- Daniela Petrisan [Université Paris Cité, Associate Professor]
Post-Doctoral Fellows
- Alen Duric [FSMP, Post-Doctoral Fellow]
- Dominik Kirst [INRIA, Post-Doctoral Fellow, from Jun 2024]
PhD Students
- Quentin Aristote [UNIV PARIS - CITE, from Mar 2024]
- Esaïe Bauer [INRIA, from Oct 2024]
- Esaïe Bauer [UNIV PARIS]
- Thomas Binetruy [EQUISAFE, until Aug 2024]
- Vincent Blazy [UNIV PARIS]
- El Mehdi Cherradi [MINARM, until Nov 2024]
- Moana Jubert [INRIA]
- Vincent Moreau [UNIV PARIS, from Oct 2024]
- Vincent Moreau [UNIV PARIS, until Sep 2024]
- Sarah Reboullet [INRIA, from Nov 2024]
- Jules Viennot [INRIA, from Dec 2024]
Interns and Apprentices
- Anton Danilkin [ENS PARIS, from Apr 2024 until Jul 2024]
Administrative Assistants
- Meriem Guemair [INRIA]
- Diana Marino Duarte [INRIA]
2 Overall objectives
The Picube team is a joint project-team of INRIA, Université Paris-Cité and CNRS, within the IRIF's Proofs, Programs and Systems pole. It covers five main research themes:
- the fundamental structures of logic and mathematical reasoning ;
- differential and probabilistic tools for programming, reasoning and learning;
- architecture and design of a proof assistant for mathematicians;
- formalization and linguistics of mathematics;
- higher-dimensional algebra and homotopic type theory.
The Picube team wishes to take advantage of recent advances in the fields of:
- type theory and the foundations of mathematics: homotopic type theory, realizability and forcing, differential linear logic,
- semantics of programming languages: computational effects, differential and probabilistic programming,
- architecture and design of proof assistants: mathematical formalization, unification and symbolic elaboration techniques.
in order to reduce the gap between the vernacular language currently used by mathematicians in their daily practice and the formal language used today in proof assistants such as Coq, Agda or Lean.
The research project builds on the knowledge and expertise accumulated in the Pi.R2 team and integrates new ingredients in the direction of certified mathematics, differential and probabilistic programming and learning, with a view to tackling the above themes.
3 Research program
Participants: Guillaume Baudart, Pierre-Louis Curien, Abhishek De, Alen Duric, Thomas Ehrhard, Emilio Jesus Gallego Arias, Hugo Herbelin, Farzad Jafar-Rahmani, Pierre Letouzey, Paul-Andre Mellies, Vincent Moreau, Alexis Saurin, Gabriel Scherer.
We describe the contributions in each of the five research directions of the team.
3.1 The fundamental structures of logic and mathematical reasoning
Proof theory is the branch of logic devoted to the study of the structure of proofs. An essential contributor to this field is Gentzen 67 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 59, then by Howard and de Bruijn at the end of the 60's 80, 45, 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 -calculus. 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 and Huet's Calculus of Constructions 58, 56 stemmed out – a formalism that is both a logic and a programming language and that is at the source of the Coq system 96.
3.1.1 Towards the calculus of constructions
The -calculus, defined by Church 55, is a remarkably succinct model of computation that is defined via only three constructions (abstraction of a program with respect to one of its parameters, reference to such a parameter, application of a program to an argument) and one reduction rule (substitution of the formal parameter of a program by its effective argument). The -calculus, which is Turing-complete, i.e. which has the same expressiveness as a Turing machine (there is for instance an encoding of numbers as functions in -calculus), comes with two possible semantics referred to as call-by-name and call-by-value evaluations. Of these two semantics, the first one, which is the simplest to characterise, has been deeply studied in the last decades 37.
To explain the Curry-Howard correspondence, it is important to distinguish between intuitionistic and classical logic: following Brouwer at the beginning of the 20th 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) -calculus.
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 84.
In 1985, Coquand and Huet 58, 56 in the Formel team of INRIA-Rocquencourt explored an alternative approach based on Girard-Reynolds' system 68, 90. This formalism, called the Calculus of Constructions, served as logical foundation of the first implementation of Coq in 1984. Coq was called CoC at this time.
3.1.2 The Calculus of Inductive Constructions
The first public release of CoC dates back to 1989. The same project-team developed the programming language Caml (nowadays called OCaml and coordinated by the Gallium team) that provided the expressive and powerful concept of algebraic data types (a paragon of it being the type of lists). In CoC, it was possible to simulate algebraic data types, but only through a not-so-natural not-so-convenient encoding.
In 1989, Coquand and Paulin 57 designed an extension of the Calculus of Constructions with a generalisation of algebraic types called inductive types, leading to the Calculus of Inductive Constructions (CIC) that started to serve as a new foundation for the Coq system. This new system, which got its current definitive name Coq, was released in 1991.
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).
3.2 Differential and probabilistic tools for programming, reasoning and learning
In this research topic, we want to design and implement an incremental and probabilistic notion of mathematical document amenable to statistical learning methods. We will rely on differential, probabilistic and metric extensions of Martin-Löf dependent type theory, the formal system on which the Coq proof assistant is implemented.
3.3 A probabilistic and differential type theory.
Our first objective will be to develop a type theoretic and compositional framework for data and probabilistic programs, taking into account independence, distance and expectation for probabilistic distributions of data and/or programs. We will build on two recent advances in the field. First, the introduction of probabilistic programming languages for differential privacy based on ideas of linear logic, and equipped with a compositional and typed metrics measuring distance between programs as well as between large-scale data 65, 46, 33. Second, the development of differential extensions of functional programming languages allowing to implement naturally optimisation algorithms based on gradient retropropagation 30, 47 of which we wish to explore the possible connections with differential linear logic 62.
3.4 A metrics on proofs and on types.
We shall develop a metric point of view on the homotopical framework of Martin-Löf Type Theory 89 so as to be able to define behavioural and observational distances between proofs in types, and between types in universes. We shall use the recent fibrational characterisation of the Kantorovich-Wasserstein distance on probability distributions 43 in order to lift these metrics to distributions within Type Theory. Our goal is to obtain in that way distances that we shall be able to evaluate and optimise between distributions of proofs/elements in a type, or distributions of types in a Martin-Löf universe.
One of our objectives will then be to understand how to calibrate so defined distances within Type Theory using mathematical information retrieval (MIR) algorithms based on distances obtained by automatic learning methods 31. We will also try to articulate concurrent separation logic with Type Theory in order to give a compositional account of the dependence and independence of the various components of the probability distributions on data, proofs and concepts. We shall work in the spirit of 39, 36 building on the formal correspondence observed by Alex Simpson 93 between separation between memory states of a machine and independence between random variables.
We consider possible interactions with François Pottier (Cambium) and Arthur Charguéraud (Camus) on these questions of concurrent separation logic and its correct integration within Martin-Löf Type Theory.
3.5 Structure of mathematical documents
One of the most innovating and federating aspects of the project will be to conceive and implement a formal notion of mathematical document and its connections with underlying logical theories, in the line of the recent advances by Makarius Wenzel in Isabelle/PIDE 97. Specifically this framework will include projection based mathematical content extraction tools allowing to build, out of a mathematical document, the libraries relevant to a given theorem or proof. In that way the users will be able to know in which logical fragment they are working at each step of their mathematical activities, and the relations between the various components of a library. We will devote a special care to the notion of transformation paths which connect mathematical documents by successive applications of “patches”, in the spirit of git, darcs or Pijul 87, 49, 34. We shall formalise and implement this notion of transformation path in such a way that we shall be able to compose them efficiently, whilst endowing them with a distance compatible with the probabilistic and metric approach to Type Theory explained in the previous paragraphs. This incremental point of view on mathematical proof construction will allow us to set up learning tools based on statistical analysis of the behaviour of users in the way they build proofs 91 rather than on the form of the proofs themselves. A key principle of our mathematical document format is to serve as a good basis for understanding sets of concepts, theorems, and proofs and their evolution as a data set that could be used by state of the art learning methods 66 to help the document and proof writers. In this direction, there are many possibilities, including improving search, type-checking and conversion, and suggestions on proof structure and tactics. We consider working in cooperation with Vincent Silès (Facebook Paris) on the use of learning tools and the automated and interactive guidance of users.
3.6 Architecture and design of a proof assistant for mathematicians
During 1984-2012 period, 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 was six years ago. 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 the formalisation of mathematics in Coq, while contributing importantly to the development of Coq, in particular for what regards user interfaces.
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 mainly by employees of INRIA, the CNAM, and Paris Diderot.
In the last seven years, Hugo Herbelin and Matthieu Sozeau coordinated the development of the system, the official coordinator hat passed from Hugo to Matthieu in August 2016. The ecosystem and development model changed greatly during this period, with a move towards an entirely distributed development model, integrating contributions from all over the world. While the system had always been open-source, its development team was relatively small, well-knit and gathered regularly at Coq working groups, and many developments on Coq were still discussed only by the few interested experts.
The last years saw a big increase in opening the development to external scrutiny and contributions. This was supported by the “core” team which started moving development to the open GitHub platform (including since 2017 its bug-tracker 98 and wiki), made its development process public, starting to use public pull requests to track the work of developers, organising yearly hackatons/coding-sprints for the dissemination of expertise and developers & users meetings like the Coq Workshop and CoqPL, and, perhaps more anecdotally, retransmitting Coq working groups on a public YouTube channel.
This move was also supported by the hiring of Maxime Dénès in 2016 as an INRIA research engineer (in Sophia-Antipolis), and the work of Matej Košík (2-year research engineer). Their work involved making the development process more predictable and streamlined and to provide a higher level of quality to the whole system. In 2018, a second engineer, Vincent Laporte, was hired. Yves Bertot, Maxime Dénès and Vincent Laporte are developing the Coq consortium, which aims to become the incarnation of the global Coq community and to offer support for our users.
Today, the development of Coq involves participants from the INRIA project-teams Picube (Paris), Stamp (Sophia-Antipolis), Toccata (Saclay), Gallinette (Nantes), Gallium (Paris), and Camus (Strasboug), the LIX at École Polytechnique and the CRI Mines-ParisTech. Apart from those, active collaborators include members from MPI-Saarbrucken (D. Dreyer's group), KU Leuven (B. Jacobs group), MIT CSAIL (A. Chlipala's group, which hosted an INRIA/MIT engineer, and N. Zeldovich's group), the Institute for Advanced Study in Princeton (from S. Awodey, T. Coquand and V. Voevodsky's Univalent Foundations program) and Apple (M. Soegtrop). The latest released versions have typically a couple of dozens of contributors (e.g. 40 for 8.8, 54 for 8.9, ...).
On top of the developer community, there is a much wider user community, as Coq is being used in many different fields. The Software Foundations series, authored by academics from the USA, along with the reference Coq'Art book by Bertot and Castéran 42, the more advanced Certified Programming with Dependent Types book by Chlipala 53 and the recent book on the Mathematical Components library by Mahboubi, Tassi et al. provide resources for gradually learning the tool.
In the programming languages community, Coq is being taught in two summer schools, OPLSS and the DeepSpec summer school. For more mathematically inclined users, there are regular Winter Schools in Nice and in 2017 there was a school on the use of the Univalent Foundations library in Birmingham.
Since 2016, Coq also provides a central repository for Coq packages, the Coq opam archive, relying on the OCaml opam package manager and including around 250 packages contributed by users. It would be too long to make a detailed list of the uses of Coq in the wild. We only highlight four research projects relying heavily on Coq. The Mathematical Components library has its origins in the formal proof of the Four Colour Theorem and has grown to cover many areas of mathematics in Coq using the now integrated (since Coq 8.7) SSReflect proof language. The DeepSpec project is an NSF Expedition project led by A. Appel whose aim is full-stack verification of a software system, from machine-checked proofs of circuits to an operating system to a web-browser, entirely written in Coq and integrating many large projects into one. The ERC CoqHoTT project led by N. Tabareau aims to use logical tools to extend the expressive power of Coq, dealing with the univalence axiom and effects. The ERC RustBelt project led by D. Dreyer concerns the development of rigorous formal foundations for the Rust programming language, using the Iris Higher-Order Concurrent Separation Logic Framework in Coq.
We next briefly describe the main components of Coq.
3.6.1 The underlying logic and the verification kernel
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.
3.6.2 Programming and specification languages
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.
3.6.3 Standard library
The standard library is written in the vernacular language of Coq. There are libraries for various arithmetical structures and various implementations of numbers (Peano numbers, implementation of , , with binary digits, implementation of , , using machine words, axiomatisation of ). There are libraries for lists, list of a specified length, sorts, and for various implementations of finite maps and finite sets. There are libraries on relations, sets, orders.
3.6.4 Tactics
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 have their core written (and certified) in the own language of Coq if needed.
3.6.5 Extraction
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 language.
3.6.6 Documentation
Coq is a feature-rich system and requires extensive training in order to be used proficiently; current documentation includes the reference manual, the reference for the standard library, as well as tutorials, and related tooling [sphinx plugins, coqdoc]. The jsCoq tool allows writing interactive web pages were Coq programs can be embedded and executed.
3.6.7 Proof development infrastructure
Coq is used in large-scale proof developments, and provides users miscellaneous tooling to help with them: the coq_makefile and Dune build systems help with incremental proof-checking; the Coq OPAM repository contains a package index for most Coq developments; the CoqIDE, ProofGeneral, jsCoq, and VSCoq user interfaces are environments for proof writing; and the Coq's API does allow users to extend the system in many important ways. Among the current extensions we have QuickChik, a tool for property-based testing; STMCoq and CoqHammer integrating Coq with automated solvers; ParamCoq, providing automatic derivation of parametricity principles; MetaCoq for metaprogramming; Equations for dependently-typed programming; SerAPI, for data-centric applications; etc... This also includes the main open Coq repository living at Github.
3.7 Formalization and linguistics of mathematics
In this research topic, we aim at contributing to the formalisation of mathematics by developing direct interactions with the mathematical community. The current period is more than ever propitious for involving colleagues from mathematics in a formalisation process. Indeed, more and more mathematicians express a strong interest for the formalisation and growing expectations for the benefits it could have for their research. We view this as a direct consequence of the maturity gradually acquired by proof assistants together with the impressive work of conviction carried out by late Vladimir Voevodsky around HoTT, and to striking results such as the formalisation by Georges Gonthier of the four-colour theorem 71 and Feit-Thompson theorem 70, 69.
However, to actually formalise a large body of contemporary mathematics remains truly a research issue as it requires to improve the design of proof assistants. Most notably, there is a need for a true work of linguists in order to fill the gap between vernacular proof languages and formal proofs, which is a requirement for fostering a dynamic and sustainable community ranging from computer science to pure mathematics. In addition to the skills and energies gathered in the team itself, we benefit from our unique position in the Sophie Germain building of the Université de Paris, within the IRIF and in the immediate neighbourhood of IMJ-PRG, a laboratory in pure mathematics. The activity of the team in this topic will focus on lowering the cost of starting and pursuing formalisation by mathematicians.
3.7.1 Formalisation of mathematics.
We will work for this in a proactive way, in close collaboration with IRIF and IMJ-PRG gathering motivated mathematicians and computer scientists willing to formalise the mathematics they teach at the University, or on which they conduct their research work. Indeed, we aim at formalising classical mathematics curricula, pieces of contemporary mathematics as well as mathematical tools implemented in theoretical computer science. We will draw inspiration from the usually heuristic practice of mathematics, aiming to make the writing and reading of Coq documents altogether more intuitive, more straightforward and more flexible. This software development and mechanisation work will be combined with a study of the linguistic structure of mathematical documents, in collaboration with Philippe de Groote (Sémagramme): we think that there is a need to better understand the linguistic structures at work in the daily life of a mathematician and their formal nature.
More specifically, among the subjects of formalisation of mathematics we plan to carry in the team, three in particular should be mentioned:
- On the mathematical side, formalisation of parts of contemporary mathematics, in connection with members of the IMJ-PRG.
- On the CS side, we plan to formalise and certify algorithms on graphs (Jean-Jacques Lévy), with the aim of establishing links with other IRIF members working on graph algorithms, in particular with Laurent Viennot; we also intend to certify developments in the theory of automata and formal languages or proof theory as used at IRIF, in particular with Thomas Colcombet.
- We also plan to contribute to an ambitious formalisation project aiming at designing a large Coq mathematical library covering undergraduate mathematics. This project is of course of a broader scope and will involve other research teams, within INRIA or elsewhere in France and abroad.
This research topic will therefore be based at the same time on a formalisation activity internal to the team, and on a long-term work of animation and construction of a scientific community involved in formalisation. We plan to contribute to the Coq training of our maths and CS colleagues (from PhD students to post-docs and those holding a permanent position), and not only grad students as it is more commonly the case, in particular through the organisation of regular sessions of working groups dedicated to helping colleagues in their formalisation tasks and by considering the opportunity to set up thematic schools in collaboration with the other teams of the institute contributing to Coq. A medium-term objective could be to achieve that some pure mathematics modules are based directly on formalised content and that some mathematics tutorials take the form of Coq exercise sessions, starting from existing works on Coq 41, 88, 54. This will require to develop close collaborations with the different communities of other proof assistants, especially those designed to be well-adapted to the formalisation of mathematics (Lean, Isabelle and Agda in particular). Understanding linguistic aspects of mathematical proofs will be a key to the success of our project.
3.7.2 Linguistics of proofs.
Formalising inevitably leads to a shift of perspective on what a mathematical proof is. From a mathematical standpoint, it is conventional, even if developments are emerging, to be satisfied of the mere possibility of a formalisation (which is never even sketched out) typically in the set-theoretical formalism, and to focus on the construction of a natural language discourse that is precise enough to convince the reader. From the proof assistant standpoint, the seminal vision which initially aimed only at making effective this virtuality, tends to evolve. New lines of communication and convergence are emerging: a proof is no longer strictly made up of logical inference rules, such as introducing or eliminating a connective, but it is made of more abstract entities such as the use of a lemma, the replacement of equals by equals, reasoning by induction, simplifying a polynomial expression, decomposing a formula in atoms, etc. With the arrival of a new generation of interactive proof engines 94, 38, a proof is no longer seen strictly as a tree derivation, but as a graph whose nodes can be refined with a reasonable degree of freedom; moreover, the order in which these transformations are applied interactively appears in the “incremental” format of the machine maths document. This is in line with the historical evolution of proof methods in order to escape from the “low level” of logic and get closer to more abstract conceptual levels used by humans. Our investigations will follow this line as we plan to analyse the linguistic structure of mathematical texts, with the ambition to develop the levels of abstraction which would eventually allow a direct formal understanding of a mathematical text at the level of mathematical discourse in which it is expressed. Examples of the sorts of linguistic structures we plan to analyse are “reasoning by analogy”, reasoning modulo isomorphism, or even modulo inclusion, and of course reasoning modulo general equational theories in general.
On this natural (mathematical) language processing part, we plan a collaboration with Philippe de Groote of the Sémagramme team (Inria Nancy & Loria), to identify the necessary structures for a flexible formalisation of vernacular mathematical proofs in order to implement this linguistic structure within Coq, procedural and discursive in nature rather than tree-like as described above. One of the objectives will be to be able to formalise in a more transparent and direct way mathematical texts, such Bourbaki's Éléments de mathématiques.
Regarding the design and development of a general mathematical library, it is undoubtedly too early to describe the directions we will take, but we have some ongoing discussions with Assia Mahboubi (Gallinette), Yves Bertot and Cyril Cohen (Scalp) around these essential questions. We also wish to develop the team's scientific interactions with Michael Soegtrop (Apple) and we closely follow his projects on proving algorithms of symbolic computing, around constructive reals and the formal integrator Rubi. We are also in contact with mathematicians from IMJ-PRG, and in particular with Antoine Chambert-Loir, who expressed a keen interest in formalisation.
We want to develop fruitful discussions with the communities of other proof assistants, such as Agda, Isabelle or Lean.
3.8 Higher-dimensional algebra and homotopic type theory
3.8.1 Higher-dimensional algebra
Like ordinary categories, higher-dimensional categorical structures originate in algebraic topology. Indeed, -groupoids have been initially considered as a unified point of view for all the information contained in the homotopy groups of a topological space : the fundamental -groupoid of contains the elements of as 0-dimensional cells, continuous paths in as 1-cells, homotopies between continuous paths as 2-cells, and so on. This point of view translates a topological problem (to determine if two given spaces and are homotopically equivalent) into an algebraic problem (to determine if the fundamental groupoids and are equivalent).
In the last decades, the importance of higher-dimensional categories has grown fast, mainly with the new trend of categorification that currently touches algebra and the surrounding fields of mathematics. Categorification is an informal process that consists in the study of higher-dimensional versions of known algebraic objects (such as higher Lie algebras in mathematical physics 35) and/or of “weakened” versions of those objects, where equations hold only up to suitable equivalences (such as weak actions of monoids and groups in representation theory 60).
The categorification process has also reached logic, with the introduction of homotopy type theory. After a preliminary result that had identified categorical structures in type theory 79, it has been observed recently that the so-called “identity types” are naturally equiped with a structure of -groupoid: the 1-cells are the proofs of equality, the 2-cells are the proofs of equality between proofs of equality, and so on. The striking resemblance with the fundamental -groupoid of a topological space led to the conjecture that homotopy type theory could serve as a replacement of set theory as a foundational language for different fields of mathematics, and homotopical algebra in particular.
3.8.2 Higher-dimensional rewriting
Higher-dimensional categories are algebraic structures that contain, in essence, computational aspects. This has been recognised by Street 95, and independently by Burroni 48, when they have introduced the concept of computad or polygraph as combinatorial descriptions of higher categories. Those are directed presentations of higher-dimensional categories, generalising word and term rewriting systems.
In the recent years, the algebraic structure of polygraph has led to a new theory of rewriting, called higher-dimensional rewriting, as a unifying point of view for usual rewriting paradigms, namely abstract, word and term rewriting 82, 83, 73, 74, and beyond: Petri nets 76 and formal proofs of classical and linear logic have been expressed in this framework 75. Higher-dimensional rewriting has developed its own methods to analyse computational properties of polygraphs, using in particular algebraic tools such as derivations to prove termination, which in turn led to new tools for complexity analysis 44.
4 Application domains
The application domains of the Picube team researchers range from the formalization of mathematical theories and computational systems using the Coq proof assistant to the design of programming languages with rich type systems and effects (stateful, concurrent, probabilistic) and the design and analysis of certified program transformations.
5 Social and environmental responsibility
5.1 The responsibility of researchers in the society
Members of the team continued thinking about the place of research in the society and about the responsibility of researchers in the nowadays quickly evolving world. It is today commonplace to observe that the human society has already transcended several barriers of the nature and of human beings: exploitation of already a large part of the earth resources (e.g. it is symbolically computed by environmental NGOs that humanity is living beyond its means 5 months every year1), robots and artificial intelligence are able to replace workers in more and more situations or to make their job outdated after only a few years of work, ability to nuclearly destroy the earth several times, irreversible human-caused drastic modification of the climate, irreversible human-caused 6th species extinction of the history of earth, ...
All these overshootings are a consequence of the development of a human culture of transmissible knowledge based on researching, which, in the last decades has evolved into the social status of a valid job in itself.
Of course, knowledge and innovations are not only about endangering the life on the planet. They are also improving the quality of life: resisting houses, heating/cooling, stable food supply, medicine and significant longevity extension, production of culture, not forgetting also an increasing awareness of how human psychology behaves, slowly leading to improve the quality of human relations.
Nevertheless, all these research-based evolutions are part of a social organisation and researchers are at its core. Can we get the goods without taking the risks? Should we consider the human species as wise and able to live sustainably or should we consider the human species as fondamentally irrational and ready to destroy itself without realising it? That is, should we think at the current unsustainable way of living of humanity as an inescapable movement, until it crashes in painful and probably radical ways, or should we think at the humanity as a wealth to be preserved at all costs, even if it means stopping improving the material quality of life limits and live instead sustainably. At least, if ever there is a social class that has the ability to think in the long term and to defend sustainability, it is the class of researchers — thanks to its knowledge, freedom and material privileges.
Recent engagements of researchers against the key-labs project at CNRS2, or against the unconcerted decision of Inria heads to promote applications of research to industry, army, or state vs promoting research as a collective resource of humanity are suggesting that, indeed, researchers are likely to favor long term universal ideals than individualistic theories. About climate change, the existence of specific groups such as Labo 1.5, or even the presence of a section "Social and environmental responsibility" in the template of this report is also a sign of the particular concern of researchers for the future of humanity.
5.2 Focus on the carbon footprint of research activities
The direct environmental impact of the team is mainly of two sorts:
- travel footprint to attend conferences or for longer-term visits
- secondly, computer resources notably those affected to "continuous integration", the series of benchmark tests which are run before integrated new features in software systems such as Coq or OCaml.
Indirectly, there is an impact in demonstrating to others (or not!) that sustainable practices are possible.
For example, the high-prestige conference POPL was located in Denver this year, but a return trip to Denver is estimated between two and three tons of CO2e (CO2-equivalent). Research estimates that the earth is able to reabsorb each year only 2tons CO2e per person. This means that one return trip to Denver emits in one go the equivalent of one to one and a half years of emissions sustainably allowed for one person. Moreover, this has to be compared to the emissions needed for basic life of a citizen in a western country: in general, lodging, heating and eating already account for roughly 2tons CO2e emissions per person and per year, which leaves little space for more emissions.
Basically, this means that the CO2e cost of travelling with planes for research has to be compensated by asking another part of the society to emit less than 2tons CO2e a year. As researchers are we then ready to defend our needs for travelling in front of the rest of the society?
Researchers can take action to prevent the global warning in several directions:
- Reducing travel emissions, which means stopping taking plane and fuel-based cars whenever not indispensable (reminder of the orders of magnitude: planes emit roughly 80 more per km than high-speed trains; cars and ferries emit roughly 40 more than high-speed trains). For example, some team members chose not to travel by plane during 2024.
- Reducing eating beef and lamb (reminder of the order of magnitude3: eating 1kg of beef emits roughly 40 more than eating 1kg of vegetables). For example, our research lab (IRIF) now orders vegetarian food by default for lunch breaks at lab-funded events.
- Prefer publications in journals rather than in conferences.
- Organise conferences in place easy to reach, in hybrid of multi-localised mode whenever possible; for example, we organized a satellite version of the WITS workshop (Denver) in Paris.
- In selection committees, give priority to applicants that care about emitting less CO2e than what the earth can reabsorb.
- Last but not the least: inform colleagues about the CO2e cost of research.
Traveling by train was routine before planes were massively available in the 1960's, so why wouldn't it be possible again now? In some sense, this is mostly a state of mind and a social convention. Then, better adopt social conventions that are sustainable.
Probably the longest train trip we took this year is travel to Tallinn by train and bus by Hugo Herbelin, to attend the FSCD conference. This takes three days. This slower way of traveling encourages being mindful of travel with longer research stays, and overall less travel. (In the current economic structure, plane travel is noticeably cheaper, but train users travel less and often to less expensive cities, so the budget evens out.)
6 Highlights of the year
6.1 Awards
Together with Laurent Regnier (I2M, Marseille), Ehrhard has been awarded the Alonzo Church Award, jointly by the EACSL, the EATCS and the ACM Siglog, for 5 of his articles introducing the differential lambda-calculus, differential linear logic and the Taylor expansion of proofs and programs .
6.2 Projects
The ERC Synergy project Malinca was accepted in November 2024 and will start in March 2025. The ERC Synergy project has four principal investigators: Hugo Herbelin and Paul-André Melliès, both members of the Picube team, together with Philippe de Groote (Inria Senior Researcher at LORIA, Nancy) and Carlos Simpson (CNRS Senior Researcher at LJAD, Nice).
The purpose of the Malinca project will be to broaden the use of computer-verified mathematics among working mathematicians and general scientists by bridging the gap currently existing between interactive theorem provers and natural language. We believe that we are in a position to design in the near future a software environment where mathematical documents could be edited in natural language and interactively verified with the computer, without having to translate them into code.
6.3 Deterioration of the internal dialogue at Inria
Note : Readers are advised that the Institute does not endorse the text in the “Highlights of the year” section, which is the sole responsibility of the team leader.
At the end of 2024, Inria's top management enacted a new “contrat d'objectifs, de moyens et de performance” (COMP), which defines Inria's objectives for the period 2024–2028. We are unhappy and concerned about the content of this document and the way it was imposed.
- Neither the staff nor their representative bodies were given the opportunity to participate in (or influence) the drafting of this document4.
- The document defines Inria's main mission as “contributing to the digital sovereignty of the Nation through research and innovation” and proposes to amend Inria's founding decree to reflect this new definition. We strongly defend that our primary mission is (and should remain) the advancement of human knowledge across borders through research. Research is not a means to achieve “digital sovereignty”, whatever that may mean. Research should not be associated with any particular nation, whatever that nation may be.
- The document announces the creation of a funding agency within Inria. France already has an independent funding agency, the ANR. The creation of a new funding agency within a research institute is unnecessary and a waste of resources. It is also likely to create confusion, opacity, and conflicts of interest.
- Many aspects of the document reflect a desire to drive research in a top-down manner, for example through the selection of “strategic partner institutions” and “strategic themes”. This threatens the fundamental freedom to choose their research topics and collaborations, a freedom to which researchers are strongly attached. Also, the cost of this administrative superstructure is vastly under-estimated.
- The document indicates that all of Inria's research should have “dual nature”, that is, both civilian and military applications. While some of the institute's research may have military applications, the vast majority of it is independent of the military, and should remain so.
- The document announces a desire to place all of Inria in a “restricted regime area” (ZRR), which means that the hiring of researchers and interns will be reviewed and possibly vetoed by the Fonctionnaire Sécurité Défense. This creates administrative delays, subjects hiring to opaque criteria, and discourages the hiring of foreign nationals, thus harming research and collaboration.
- Staff opposition to these policies, which has been expressed in several votes and petitions, has been largely ignored.
7 New software, platforms, open data
7.1 New software
7.1.1 Coq
-
Name:
The Coq Proof Assistant
-
Keyword:
Proof assistant
-
Scientific Description:
Coq is an interactive proof assistant based on the Calculus of (Co-)Inductive Constructions, extended with universe polymorphism. This type theory features inductive and co-inductive families, an impredicative sort and a hierarchy of predicative universes, making it a very expressive logic. The calculus allows to formalize both general mathematics and computer programs, ranging from theories of finite structures to abstract algebra and categories to programming language metatheory and compiler verification. Coq is organised as a (relatively small) kernel including efficient conversion tests on which are built a set of higher-level layers: a powerful proof engine and unification algorithm, various tactics/decision procedures, a transactional document model and, at the very top an integrated development environment (IDE).
-
Functional Description:
Coq provides both a dependently-typed functional programming language and a logical formalism, which, altogether, support the formalisation of mathematical theories and the specification and certification of properties of programs. Coq also provides a large and extensible set of automatic or semi-automatic proof methods. Coq's programs are extractible to OCaml, Haskell, Scheme, ...
-
Release Contributions:
An overview of the new features and changes, along with the full list of contributors is available at https://coq.inria.fr/refman/changes.html#version-8-20 .
-
News of the Year:
Coq version 8.20 adds a new rewrite rule mechanism along with a few new features, a host of improvements to the virtual machine, the notation system, Ltac2 and the standard library.
- URL:
-
Contact:
Matthieu Sozeau
-
Participants:
Yves Bertot, Frédéric Besson, Tej Chajed, Cyril Cohen, Pierre Corbineau, Pierre Courtieu, Maxime Dénès, Jim Fehrle, Julien Forest, Emilio Jesús Gallego Arias, Gaëtan Gilbert, Georges Gonthier, Benjamin Grégoire, Jason Gross, Hugo Herbelin, Vincent Laporte, Olivier Laurent, Assia Mahboubi, Kenji Maillard, Erik Martin Dorel, Guillaume Melquiond, Pierre-Marie Pedrot, Clément Pit-Claudel, Kazuhiko Sakaguchi, Vincent Semeria, Michael Soegtrop, Arnaud Spiwack, Matthieu Sozeau, Enrico Tassi, Laurent Théry, Anton Trunov, Li-Yao Xia, Theo Zimmermann
7.1.2 coq-serapi
-
Keywords:
Interaction, Coq, Ocaml, Data centric, User Interfaces, GUI (Graphical User Interface), Toolkit
-
Scientific Description:
SerAPI is a library for machine-to-machine interaction with the Coq proof assistant, with particular emphasis on applications in IDEs, code analysis tools, and machine learning. SerAPI provides automatic serialization of Coq's internal OCaml datatypes from/to JSON or S-expressions (sexps).
-
Functional Description:
SerAPI is a library for machine-to-machine interaction with the Coq proof assistant, with particular emphasis on applications in IDEs, code analysis tools, and machine learning. SerAPI provides automatic serialization of Coq's internal OCaml datatypes from/to JSON or S-expressions (sexps).
-
Release Contributions:
- Support for Coq 8.15 -
- URL:
- Publication:
-
Contact:
Emilio Jesus Gallego Arias
-
Participants:
Karl Palmskog, Theo Zimmermann, Shachar Itzhaky, Jason Gross
-
Partner:
KTH Royal Institute of Technology
7.1.3 jsCoq
-
Keywords:
Coq, Program verification, Interactive, Formal concept analysis, Proof assistant, Ocaml, Education, JavaScript
-
Functional Description:
jsCoq is an Online Integrated Development Environment for the Coq proof assistant and runs in your browser! It aims to enable new UI/interaction possibilities and to improve the accessibility of the Coq platform itself.
-
Release Contributions:
- Port to Coq 8.14 - Improved packaging system for libraries - Improved display and interaction - Settings panel
- URL:
- Publication:
-
Contact:
Emilio Jesus Gallego Arias
-
Participants:
Emilio Jesus Gallego Arias, Shachar Itzhaky
-
Partners:
Mines ParisTech, Technion
7.1.4 pyCoq
-
Keywords:
Coq, Python
-
Functional Description:
PyCoq is a set of bindings and libraries allowing to interact with the Coq interactive proof assistant from inside Python 3.
-
Release Contributions:
Initial release
- URL:
-
Contact:
Emilio Jesus Gallego Arias
-
Participant:
Thierry Martinez
7.1.5 OCaml
-
Keywords:
Programming language, Functional programming, Compilers
-
Functional Description:
The OCaml language is a functional programming language that combines safety with expressiveness through the use of a precise and flexible type system with automatic type inference. The OCaml system is a comprehensive implementation of this language, featuring two compilers (a bytecode compiler, for fast prototyping and interactive use, and a native-code compiler producing efficient machine code for x86, ARM, PowerPC, RISC-V and System Z), a debugger, and a documentation generator. Many other tools and libraries are contributed by the user community and organized around the OPAM package manager.
- URL:
- Publications:
-
Contact:
Florian Angeletti
-
Participants:
Florian Angeletti, Damien Doligez, Xavier Leroy, Luc Maranget, Gabriel Scherer, David Allsopp, Stephen Dolan, Alain Frisch, Jacques Garrigue, Anil Madhavapeddy, Kc Sivaramakrishnan, Nicolas Ojeda Bar, Leo White
7.1.6 ocaml-boxroot
-
Keywords:
Interoperability, Library, Ocaml, Rust
-
Scientific Description:
Boxroot is an implementation of roots for the OCaml GC based on concurrent allocation techniques. These roots are designed to support a calling convention to interface between Rust and OCaml code that reconciles the latter's foreign function interface with the idioms from the former.
-
Functional Description:
Boxroot implements fast movable roots for OCaml in C. A root is a data type which contains an OCaml value, and interfaces with the OCaml GC to ensure that this value and its transitive children are kept alive while the root exists. This can be used to write programs in other languages that interface with programs written in OCaml.
- URL:
- Publication:
-
Contact:
Guillaume Munch
-
Participants:
Guillaume Munch, Gabriel Scherer
7.1.7 ProbZelus
-
Keywords:
Probabilistic Programming, Synchronous Language
-
Scientific Description:
ProbZelus is a probabilistic reactive language which provides the facilities of a synchronous language to write control software, with probabilistic constructs to model uncertainties and perform inference-in-the-loop.
-
Functional Description:
ProbZelus is built on top of Zelus a dataflow language à la Scade/Lustre and offers several streaming inference techniques including classic Sequential Monte Carlo (SMC) algorithms and semi-symbolic inference algorithm based on delayed sampling.
- URL:
-
Contact:
Guillaume Baudart
-
Partners:
CSAIL, IBM
7.1.8 coq-lsp
-
Keywords:
IDE, Coq, HCI, Interactive Theorem Proving, Program verification
-
Functional Description:
coq-lsp is a Language Server and Visual Studio Code extension for the Coq Proof Assistant. Key features of coq-lsp are: continuous and incremental document checking, advanced error recovery, hybrid Coq/markdown document support, multiple workspace support, positional goals and information panel, performance data, extensible command-line compiler, plugin system, and more.
- URL:
-
Contact:
Emilio Jesus Gallego Arias
-
Partner:
Technion
8 New results
8.1 The fundamental structures of logic and mathematical reasoning
Participants: Guillaume Baudart, Esaie Bauer, El Mehdi Cherradi, Pierre-Louis Curien, Thomas Ehrhard, Emilio Jesus Gallego Arias, Hugo Herbelin, Farzad Jafar-Rahmani, Pierre Letouzey, Paul-Andre Mellies, Vincent Moreau, Alexis Saurin, Gabriel Scherer.
8.1.1 Proof-theory of logics with induction and coinduction.
In the line of exploring inductive and coinductive reasoning based infinitary logics, akin to on infinite descent reasoning, Saurin and Bauer pursued the study of cut-elimination in the following directions:
- Bauer and Saurin finally completed the above result providing the first syntactic cut-elimination result for a (circular) proof system containing the full modal -calculus: to achieve this, they design a linear version of the modal -calculus and prove cut-elimination for a family of linear fixed-point logics with super-exponential, building on previous results by Bauer and Laurent. This result not-only allows to cover the case of the modal -calculus but also treat most of the known light logics in the literature, extended with least and greatest fixed-points. A paper has been accepted for publication at FoSSaCS 2025 18.
-
In the realm of light logics deriving from linear logic by tuning the exponential modalities in order to bound the complexity of cut-elimination, the profusion of proof systems sharing lots of common features induce the need for cut-elimination theorems for each logic whose proofs are often redundant. A number of approaches in proof theory have been adopted to cope with this need, making either the cut-elimination proofs more modular or deriving cut-elimination from the same property of another system by translation. Bauer and Saurin consider this issue from the point of view of enhancing linear logic with least and greatest fixed-points and considering such a variety of exponential connectives.
They provided a uniform cut-elimination theorem for a parametrized system with fixed-points by combining two approaches: cut-elimination proofs by translation to another system and the identification of sufficient conditions for cut-elimination.
More precisely, they captured a broad range of systems, taking inspiration from Nigam and Miller's subexponentials and from Bauer and Laurent's super exponentials and proved a uniform proof of cut-elimination for all the systems of this family, including the linear modal -calculus that is used in a crucial point of the previous item or systems closed to Baillot’s work on light logics with recursive types. A pre-print has been written 17.
- While a limitation of previous proofs of cut-elimination for circular and non-wellfounded proofs for linear logics with fixed-points is that they rely on the notion of multi-cut, that abstracts a series of consecutive cut inferences, and therefore are less fine-grained than cut-reduction dynamics based on the usual cut-inference, Bauer achieved in his PhD manuscrit being soon finalized a proof of cut-elimination for that does not rely on multi- cut and that captures a wider class of productive cut-reduction sequences.
8.1.2 Reversible computation with inductive types
Chardonnet, Saurin and Valiron submitted an extended journal version 21 of their CSL 2023 paper where they developed a term calculus for a class of type isomorphisms for circular , from which they extract a language for reversible computation with inductive types 51, 52.
8.1.3 Proof relevant interpolation
Analyzing Maehara's method for proving Craig's interpolation theorem, Saurin extracted a “proof relevant” interpolation theorem for first-order LL in the sense that if is a cut-free sequent proof of , one can find a formula in the common vocabulary of and and proofs of and respectively such that composed with cut-reduces to . This ensures that interpolation can be achieved while preserving the denotational content of proofs.
As a direct corollary, he obtained similar proof relevant interpolation results for LJ and LK using linear translations. This refined interpolation was then rephrased in terms of a cut-introduction process synthetizing the interpolant.
Finally, he analyzed the computational content of interpolation by proving and interpolation result for Curien and Herbelin's Duality of Computation. These results were presented at CIBD workshop and at the Logic Colloquium 2024. A pre-print has been written and will soon be submitted.
In the setting of MELL, Saurin, in a collaboration with Fiorillo and Osorio, achieved a direct interpolation in proof-nets, exploiting an informative various of the parsing correctness criterion, they are currently investigating how this can be generalized with Danos' contractibility criterion.
Together with Osorio, he also analyzed how to extend our methodology beyond the wellfounded setting, investigating how to proof-relevantly interpolate circular strongly valid cut-free pre-proofs.
8.1.4 Coinductive presentation of infinitary rewriting
During the fall 2024, Saurin, together with Cerda, studied the coinductive presentation of infinitary rewriting. In particular they proved the famous Compression Lemma directly in this coinductive setting. Still in an early phase of this work, a preprint is being written.
8.1.5 An operadic account of context-free grammars and languages
Melliès and Zeilberger develop in 85, 86 a categorical framework based on non-symmetric operads (= multicategories) to describe context-free grammars and establish the Chomsky-Schützenberger representation theorem for context-free languages.
In this approach, a context-free grammar is defined as a functor from an operad freely generated by a species of production rules, to an operad of spliced words introduced for the first time in this paper. A notion of automaton on a category generalising the usual notion of automaton on words is formulated there as a functor from satisfying a unique-factorisation-lifting as well as a fibrewise finiteness property, where describes the category of runs over the automaton.
One main benefit of the approach is that it provides a more high-level and conceptual account of traditional aspects of automata-theory. In particular, the fact that the intersection of a context-free language with a regular language is context-free is derived from the fact that pullbacks computed in the category of operads preserves context-free grammars seen as functors. Similarly, the Chomsky-Schützenberger representation theorem is derived from the observation that the functor which turns a category into its spliced arrow operad has a left adjoint functor which turns any operad to its category of contours. In particular, the fact that the unit of the adjunction transports every operad to its spliced operad of contours plays a fundamental role in the argument.
This work is part of a long-term project of integrating refinement systems, environment machines and automata theory in a single and unified framework.
8.1.6 A description of the indexed-to-fibered translation in type theory
In the continuation of his internship, S. Arambillete described the traditional indexed-to-fibered translation used to interpret type theory in locally closed cartesian category directly within the language of type theory.
Moana Jubert is investigating the notion of indexed presentation of presheaves (such as semi-simplicial sets, simplicial sets, cubical sets) through various categorical constructions: profunctors, 2-categorical version of fibrations and of Bénabou-Roubaud theorem (work in progress).
8.1.7 Explicit universe subtyping in type theory
V. Blazy worked on a variant of type theory with explicit universe subtyping, under the supervision of H. Herbelin and P. Letouzey. V. Blazy gave a talk at the EuroProofNet WG6 in Leuven. V. Blazy and H. Herbelin and P. Letouzey gave talks at the "journées sous-typage" of the "axe transverse LOGIQUES du LIRMM".
8.1.8 Parametric type theory and modal type theory
S. Reboullet had discovered last year that the presheaf model of parametric type theory of Bernardy, Coquand, Moulin failed to justify the definitional isomorphism between and present in the syntax of the type theory. She showed that, instead, the model satisfies an isomorphism between and where , compared to , implicitly exhibits the group of permutations between the dimensions available at a given stage of the derivation of a judgement of the theory.
Studying multimodal type theory, she also proposed a new left-Kan-extension kind of presheaf model alternative to the right-Kan-extension model of e.g. Gratzer, Kavvos, Nuyts and Birkedal.
8.1.9 Oriented simplices and oriented cubes
In collaboration with F. Métayer, Herbelin supervised the internship of Manuel Catz on a combinatorial description of Street's orientals that simultaneously builds by induction both oriented simplices and oriented cubes, respectively following a unary and binary parametricity recipe.
8.1.10 A parametricity-based construction of simplicial and cubical sets
R. Ramachandra and Herbelin extended their parametricity-based construction in Coq of semi-simplicial and semi-cubical sets in indexed form 77 to the case of cubical sets and to a variant of simplicial sets with non-standard degeneracies. Indeed, the construction showed that, unexpectedly, what is called degeneracies in simplicial sets is not the equivalent of degeneracies in cubical sets but the equivalent of (so-called) connections. What is equivalent in simplicial sets to degeneracies from cubical sets is instead a form of "induction principle", that is, that any simplex in any dimension satisfies an induction principle stated in the next dimension.
Thanks to a study of the exact dependencies between the different components of the construction, they also simplified the first construction, replacing the need for equational reasoning by computations. This will allow to add further structures to the construction (connections, symmetries, sigma-types, pi-types and universes) more easily.
8.1.11 Proving Gödel's completeness theorem using forcing in direct style
H. Herbelin supervised the internship of Rui Li on designing a formal logic with a mutable reference in which Gödel's completeness theorem can be proved by forcing in "direct style", that by interpreting a proof of the forcing translation of the statement of completeness as if it were a proof of the original statement, but using an explicit memory.
8.1.12 Rigidifying -categories into models of homotopy type theory
E. M. Cherradi has carried on his work on the interpretation of homotopy type theory in -categories. To that purpose, he developed a construction based on the Yoneda embedding whose aim is to rigidify quasicategories and turn them into models of homotopy type theory. He is currently working on a conjecture by Kapulkin and Lumsdaine stated 81 which expresses that the relative category of locally cartesian closed quasicategories is equivalent up to a Dwyer-Kan equivalence to the relative category of comprehension categories (models of dependent types) with dependent sums, extensional dependent products, and identity types.
8.1.13 Realisability and non-realisability of choice and collection axioms
F. Castro investigated the strength of different variants of choice and collection axioms in intuitionistic and classical second order logic. In particular, using a clever argument, he showed that while the axiom of collection with domain is realisable in intuitionistic second order logic, the corresponding axiom of choice with domain is not.
8.1.14 Crossing the languages of proof theory, programming and topos theory: the case of higher-order logic
Observing that Church's Higher-Order Logic, Girard's System , Zermelo set theory, and elementary topos all (morally) have the logical strength of higher-order logic (when natural numbers are added), Herbelin started to explore how to formulate all of them in a common language. He gave a talk about it in June 2024 at the working group "Logique, Homotopie et Catégories" of the Groupe de Recherche Informatique Fondamentale et Mathématiques of CNRS.
8.1.15 Geometric coherence theorems
In joint work with G. Laplante-Anfossi 8, P.-L. Curien investigated geometric coherence theorems on regular CW-complexes in general, and on polytopes in particular. There, coherence means that any two parallel cellular paths (sequences of consecutive edges) are combinatorially homotopic, meaning that one can move from one to the other by steps consisting in changing a portion of a path fitting on the boundary of a 2-face of the complex, replacing it with its complement (the rest of the boundary). It was Kapranov's somewhat elliptic slogan that Mac Lane's coherence theorem had an instant proof after “translating” it into the “language” of associahedra (a family of polytopes which he described combinatorially and was later realised geometrically). In further work, Laplante-Anfossi and Curien studied coherence in a special family of polytopes, hypergraph polytopes a.k.a. nestohedra, and showed how coherence there can be proved via the methods of term rewriting systems (as was observed for Mac Lane's theorem in G. Huet's 1984 DEA course notes on category theory) 24.
8.1.16 Higher-dimensional propositional calculus
In joint work with A. Bucciarelli, A. Ledda, F. Paoli and A. Salibra, P.-L. Curien investigated a sequent calculus for a presentation of classical logic based on a famlily of -valued versions of the if then else construct. A simple proof of completeness is obtained by noticing that the introduction rules for these connectives are reversible. The work will appear in the Journal of Logic of IGPL (5).
8.1.17 Universal algebra
In joint work with A. Bucciarelli, A. De Faveri and A. Salibra (IRIF), P.-L. Curien revisited Birkhoff's theorem (characterizing the classes of all models of some given equational theory) under the lenses of infinitary algebras (i.e. admitting operations of infinite arity), resulting in a new proof of this old theorem and in some new generalisations of it 19.
8.1.18 Presentations of monoids in Coq
During his short four months postdoc funded by FSMP and Inria (from November 2023 to February 2024), A. Duric made initial steps towards a formalisation of some of the background and results of his PhD thesis on Garside theory, which was considerably developed by the late mathematician Patrick Dehornoy (Université de Caen and associate member of IRIF), and in which presentations enjoy a good notion of normal form generalising the setting of Coxeter groups. Duric is now a postdoc in Ljubljana (working on ring theory).
8.1.19 Linguistic of mathematics
S. Arambillete explored the capabilities of ForThel and Naproche for interpreting mathematics written in natural language. He started to explore the use of plural in the mathematical natural language, as, e.g., in "the vectors are linearly independent" (a property applying to a plural collection) vs "the family of vectors is free" (a property applying to a singular object).
8.2 Differential and probabilistic tools for programming, reasoning and learning
8.2.1 Coherent differentiation
Differential Linear Logic (DiLL) has been introduced by Ehrhard and Regnier in the mid 2000's. This extension of linear logic provides a new interpretation of the exponentials, turning them into a modality related to communication rather than to the sole resource replicability and erasing. DiLL also provided a new understanding of resource calculi and of intersection types, allowing to apply to programs and proofs an operation of approximation which is a syntactic version of the standard Taylor expansion of functions. Until 2021, it seemed that DiLL was doomed to feature a strong form of nondeterminism due to the interaction between differentiation and the structural rule of contraction (Leibniz rule), making it incompatible with stable or sequential denotational interpretations of programs. The article 63 presents Coherent Differentiation, a new denotational setting discovered in 2021, featuring differentiation operations while being compatible with stable and sequential interpretations. A syntactic account of this new approach to differentiation has also been proposed by the author in paper 61. This paper presents a differential extension of the standard programming language PCF (a simply typed, Turing complete, purely functional and call-by-name programming language). It is shown that, contrarily to the differential lambda-calculus considered earlier, this coherent differential PCF has an deterministic operational semantics which can be expressed by means of a Krivine abstract machine. Together with his PhD student Walch, Ehrhard has shown in 22 how this coherent differential approach can be slightly modified to take into account the whole Taylor expansion of terms by means of a simple type constructs which implements the Faà di Bruno formula.
8.2.2 Continuous probabilities and Linear Logic
Probabilistic coherence spaces are a model of Linear Logic where programs are interpreted as "analytic functions" acting on spaces whose elements are (generalized) subprobability distributions. In spite of its good properties, this model does not take into account probabilities on continuous spaces such as the real line. This problem has been partially solved 6 years ago by Ehrhard, together with Michele Pagani and Christine Tasson. The model of measurable cones they introduced was however missing a general theory of integration, mainly required for interpreting sampling in call-by-value and call-by-push-value functional programming languages. In a joint work with Guillaume Geoffroy, Ehrhard has developed a model of integrable cones 64 which solves this issue and enjoys much better properties than the initial one. For instance, the category of integrable cones contains the category of measurable spaces and sub-stochastic kernels as a full subcategory.
8.2.3 Causality structures in probabilistic rewriting
The question of describing the causal structure of symbolic rewriting systems such as the lambda-calculus is at the heart of an old and vibrant connection established in the 1980s between proof theory and concurrency theory. The idea is that the process of reducing beta-redexes generates causal structures similar to what one finds in Petri nets and process calculi such as CCS or the -calculus. Typically, the reduction of one beta-redex can create a beta-redex whose reduction can in turn create a third beta-redex , and so on. These causal structures give rise to the notion of family designed by Jean-Jacques Lévy in his theory of optimality. They also appear in term rewriting and graph rewriting and play a fundamental role in the description of the stochastic behaviour of probabilistic rewriting. Together with Nicolas Behr (IRIF) and Noam Zeilberger (LIX), Melliès has developed in 40 a framework where these causality structures can be described in a unified way in the language of double categories. The idea is to compose rewriting rules seen as representable presheaves under the action of context extension. Composition is defined using a generalisation to double categories of the usual Day convolution tensor product of presheaves on a monoidal category. One main novelty of the work is to integrate for the first time unification and rewriting in the same categorical framework.
In joint work with van Gool, Melliès and Moreau introduced in 72 a notion of profinite -calculus which provides a new topological account of -terms, different from the usual Scott domain topology and based on new insights on the connection between typed -calculus and automata theory. The construction provides to every type a compactification of the set of -terms of type defined as a profinite limit of the interpretations of the type in the category of finite sets. The profinite limit may be also understood as providing the Stone dual of the boolean algebra of regular languages of -terms of type introduced by Salvati 92. The categorical definition of profinite -terms is identified in 72 with a definition based on parametricity. This establishes an important and unexpected connection between polymorphism and automata theory. The profinite completion of the Church encoding of finite words in a given alphabet is shown to coincide with the usual notion of profinite monoid. Then, in the continuation of this work, Moreau establishes in joint work with Nguyen 11 that the definition of regular language of simply typed -terms does not depend on the choice of (locally finite) cartesian closed category where the -calculus is interpreted, as long as the category of interpretation has enough points. They also establish the important unifying result that the semantic definition by Salvati 92 of regular languages of simply typed -terms coincides with the purely syntactic definition by Hillebrand and Kanellakis 78.
8.3 Architecture and design of a proof assistant for mathematicians
8.3.1 Survey on the Coq community
The goal of the article 32 is to better understand Coq users and community, and to make informed decisions about the research and development challenges around a system such as Coq. A key point on the paper is the multidisciplinary research team, bringing together researchers from several areas in Computer and Social sciences. Inspired by previous Surveys in Coq, OCaml, and open source world, a survey was designed and ran for the Coq community totaling 109 questions, and obtaining 466 answers, to this date, the largest survey done on users of Interactive Theorem Provers. The data were analyzed using rigorous regression methods common on the social sciences.
8.3.2 Reducing the technical debts of the Coq proof assistant
Herbelin simplified and extended the component of the Coq proof assistant in charge of declaring new constants. This resulting in several Pull Requests fixing bugs and factorising code, guided by the objectives of the Coq Enhancement Proposal #42.
Herbelin fixed several bugs of the main proof-level simplification algorithm of Coq (tactic simpl), also investigating how to stop unnecessarily unfolding fixpoint expressions that have a global names, for the daily satisfaction of users.
8.3.3 Implicit arguments with default instance
S. Arambillete implemented an extension of Coq allowing to specify a default value or default algorithm to infer some implicit arguments of a function. This is particularly useful for granting side conditions supposed to be proved from information present in the current context.
8.3.4 Relaxing some constraints of the guard condition
Herbelin presented at TYPES 2024 two improvements of the guard condition (that is of the algorithm checking the termination of recursive functions in Coq). These improvements are needed to implement Agda-style dependent pattern-matching using Monin-Boutillier technique of "small inversion" (see Coq PR #16097).
8.3.5 Automatic generation of logical schemes
Herbelin supervised the internship of Félix Loyau-Kahn on simplifying and generalising the component of Coq in charge of supporting the declaration of logical schemes.
8.4 Programming and programming languages
8.4.1 Snapshottable stores
Participants: Clément Allain [Cambium], Basile Clément [OCamlPro], Alexandre Moine [Cambium], Gabriel Scherer.
Type-checkers and SMT solvers need efficient support for backtracking their data structures. In 4 we designed and implemented an OCaml library, Store, that provides such backtracking support in a generic way, and verified a core subset of the library in the Coq/Rocq proof assistant, using the Iris separation logic.
In a follow-up work 10 we design and implement better support for adding backtracking support to existing data structures through an abstract interface, without modifying their implementation.
8.4.2 Tail Modulo Cons, OCaml, and Relational Separation Logic
Participants: Clément Allain [Cambium], Frédéric Bour [Cambium], Basile Clément [Cambium], Francois Pottier [Cambium], Gabriel Scherer.
In 3 we implemented a new program transformation in the OCaml compiler, formalized it on an idealized functional language, and verified its correctness using the Coq/Rocq proof assistant and its Iris separation logic.
A novel technical aspect of our work is to use a simulation relation within Iris to justify a (relational) program logic that is expressive enough to reason about a compiler transformation. We had to extend the previous work on simulations in Iris (SimulIris) to support abstract "protocols", used in our case to support a change of calling convention.
8.4.3 Type inference for OCaml
Participants: Olivier Martinot [Partout], Alistair O'Brien [Cambridge University], Francois Pottier [Cambium], Gabriel Scherer.
We are starting an active collaboration with Alistair O'Brien, from Cambridge university, on constraint-based type inference for OCaml. Particular topics of interest include "frozen constraints" and inference of GADTs. We have not yet published this work besides Olivier Martinot's PhD manuscrit, the undergraduate thesis of Alistair O'Brien, and a small technical report 28.
8.4.4 Static Analysis for Probabilistic Programming
Participants: Ellie Y. Cheng [MIT], Eric Atkinson [Binghampton University], Guillaume Baudart, Louis Mandel [IBM Research], Michael Carbin.
Advanced probabilistic programming languages using hybrid particle filtering combine symbolic exact inference and Monte Carlo methods to improve inference performance. These systems use heuristics to partition random variables within the program into variables that are encoded symbolically and variables that are encoded with sampled values, and the heuristics are not necessarily aligned with the developer's performance evaluation metrics. In 6, we introduced inference plans, a programming interface that enables developers to control the partitioning of random variables during hybrid particle filtering. We developped Siren, a new PPL that enables developers to use annotations to specify inference plans, and an abstract-interpretation-based static analysis for Siren for determining inference plan satisfiability.
8.5 LLM4Rocq: LLM-based proof assistant assistant
Large language models (LLMs) have shown promise in proving formal theorems using interactive theorem provers (ITP) As part of the Inria défi LLM4Code, we focus on leveraging LLMs capabilities to build a proof assistant assistant to enable the triple interaction human- ITP-LLM.
8.6 Pétanque / Pytanque : A new fast and lightweight environment to interact with the Rocq theorem prover.
Participants: Guillaume Baudart, Emilio Jesus Gallego Arias, Marc Lelarge [Argo].
Pétanque is a new environment for machine to machine interaction for the Coq proof assistant, particularly tailored for interactive, high-throughput, low-latency learning applications. Pétanque is based on Flèche, a new document manager for Coq. We extended Flèche by enabling Pétanque to access the Coq proof engine directly without requiring edits in the associated document. This makes our environment fast and lightweight. A Python interface (Pytanque) provides easy access to the API. Pétanque is now part of the coq-lsp project, and Pytanque is also opensource.
8.6.1 NLIR: Natural Language Intermediate Representation for Mechanized Theorem Proving
Participants: Laetitia Teodorescu [AdaptiveML], Guillaume Baudart, Emilio Jesus Gallego Arias, Marc Lelarge [Argo], Jules Viennot.
In 12, we developed an LLM-based agent that can interact with the Rocq proof assistant. Our key idea is to rely on natural language as much as possible when generating proofs. Using natural language leverages the strength of LLMs, and allows us to use chain-of-thought by asking for an informal mathematical proof before generating the formal proof, making it more intuitive and comprehensible compared to purely automatic formal techniques. Additionally, partial proofs expressed in natural language are easier for humans to understand, adapt, or reuse, allowing for greater flexibility and collaboration between machine-generated suggestions and human mathematicians. We proposed two interactive proof protocols both leveraging natural language reasoning: tactic-by-tactic proof construction, and hierarchical proof templating. We then coupled both protocols with standard search algorithms leveraging feedback from the ITP and using natural language to rerank proof candidates. Using our method with GPT-4o we can successfully synthesize proofs for 58% of the first 100/260 lemmas from the newly published Busy Beaver proofs.
8.7 Miscellaneous formalized mathematics
Participants: Pierre Letouzey.
8.8 Hofstadter nested recursive functions
Together with Shuo Li (U. Winnipeg) and Wolfgang Steiner (IRIF), P. Letouzey continued his study of some generalized Hofstadter functions: G, H and beyond 26. Hofstadter's G function is recursively defined via and then . Following Hofstadter, a family of similar functions is obtained by varying the number of nested recursive calls in this equation. As results, these functions are described via some infinite morphic words generalizing the Fibonacci word. This was crucial for proving that this family is ordered pointwise: for all and , . Moreover, these functions have a simple behavior on well-chosen numerical representations (Zeckendorf decompositions for some Fibonacci-like sequences). Thanks to that, the discrepancies for these is estimated, i.e. the maximal distances between each and its linear equivalent. This whole work was formally proved using the Coq proof assistant (except for a beautiful fractal).
9 Bilateral contracts and grants with industry
Participants: Guillaume Baudart, Pierre-Louis Curien, Abhishek De, Alen Duric, Thomas Ehrhard, Emilio Jesus Gallego Arias, Hugo Herbelin, Farzad Jafar-Rahmani, Pierre Letouzey, Paul-Andre Mellies, Vincent Moreau, Alexis Saurin, Gabriel Scherer.
The team has informal but regular scientific contacts with industrial users in several companies, such as Apple (Michael Soegtrop who works on the safety of cyber-physical systems is a regular Coq contributor), Tweag I/O (Arnaud Spiwack is a close collaborator), Nomadic labs and Tezos (in particular with Yann Regis-Gianas), OpenAI (with discussions and visits by Stanislas Polu, now working at Dust, a startup company which he co-founded).
9.1 OCaml Software Foundation
Participants: Gabriel Scherer.
The OCaml Software Foundation (OCSF), established in 2018 under the umbrella of the Inria Foundation, aims to promote, protect, and advance the OCaml programming language and its ecosystem, and to support and facilitate the growth of a diverse and international community of OCaml users.
It collects an annual budget of around 200K€ from industrial sponsors, and redistributes this budget for teaching, outreach, and to fund key contributions to the open-source OCaml ecosystem.
Since 2019, Gabriel Scherer serves as the director of the foundation.
10 Partnerships and cooperations
10.0.1 Associate Teams in the framework of an Inria International Lab or in the framework of an Inria International Program
A proposal for "équipe associée" named REMPAR with EPFL in Lausanne has been submitted in October 2024 on the design of formal languages for graphical mathematical notations, their semantical properties, parsing, and graphical rendering.
10.1 International research visitors
10.1.1 Visits of international scientists
Other international visits to the team
Alexandre Miquel
-
Status
Professor
-
Institution of origin:
Universidad de la República
-
Country:
Uruguay
-
Dates:
12-18 December 2024
-
Context of the visit:
Working with Félix Castro and Hugo Herbelin + defence of Félix Castro
-
Mobility program/type of mobility:
research stay
10.2 European initiatives
10.2.1 Horizon Europe
MeReMath Marie Curie fellowship on cordis.europa.eu
-
Title:
Mechanised Reverse Mathematics in the Calculus of Inductive Constructions
-
Duration:
From June 1, 2024 to May 31, 2026
-
Beneficiary:
Dominik Kirst
-
Inria contact:
Hugo Herbelin
-
Summary:
“Foundations of mathematics” labels the centuries-old interdisciplinary vision to secure the logical basis for mathematics and its applications. Gödel's celebrated completeness theorem for first-order logic, identifying semantic truth with syntactic deduction, is a key result heralding the formal phase of that vision. Yet, this and other foundational results have not been fully characterised regarding their logical strength and computational content, limiting their understanding and applicability.
The MeReMath project aims at closing this gap by systematically employing computer mechanisation to the programme of reverse mathematics, the ongoing effort to identify the exact logical principles underlying completeness and other results. For this analysis, the project will use the calculus of inductive constructions (CIC) as a logical base system, embodying an agnostic intuitionistic base system unveiling fine logical structure, and the Coq proof assistant, an interactive software tool for modelling logical reasoning and its computational content.
Specifically, continuing previous research of the experienced researcher (ER) and the supervisor, the MeReMath project will contribute the first comprehensive constructive and computational analysis of the completeness theorem, taking into account all dimensions relevant to its logical strength and implementing modularly mechanised proofs as executable Coq code. By further accommodating a similar analysis of the related Löwenheim-Skolem theorems and other results in the canon, the main outcome of the MeReMath project will be a well-designed, collaboratively developed Coq library for (constructive) reverse mathematics, with novel logical observations and mechanisation techniques developed on the way.
Hosted at the IRIF lab in Paris, the project will be developed in the centre of the original creation of CIC and Coq, providing a world-class environment for the project’s aims and the ER’s academic career prospects.
10.3 National initiatives
GDR and associated working groups (GT).
Our team participates to the GDR Informatique Mathématique, in the LHC (Logique, Homotopie, Catégories) and Scalp (Structures formelles pour le calcul et les preuves) working groups. Alexis Saurin is coordinator of the Scalp working group (see website here).
Some members also participate to the GDR Homotopie, federating French researchers working on classical topics of algebraic topology and homological algebra, such as homotopy theory, group homology, K-theory, deformation theory, and on more recent interactions of topology with other themes, such as higher categories and theoretical computer science.
ANR RECIPROG:
Kostia Chardonnet, Abhishek De, Thomas Ehrhard, Farzad Jafarrahmani, Hugo Herbelin, Paul-André Melliès, Daniela Petrisan and Alexis Saurin (coordinator) are members of the four year RECIPROG project. RECIPROG is an ANR collaborative project (a.k.a. PRC) started in the fall 2021-2022 and running till the end of 2025. ReCiProg aims at extending the proofs-as-programs correspondence to recursive programs and circular proofs for logic and type systems using induction and coinduction. The project aims at contributing both to the necessary theoretical foundations of circular proofs and to the software development allowing to enhance the use of coinductive types and coinductive reasoning in the Coq proof assistant: such coinductive types present in the current state of the art serious defects that the project will aim at solving.
The project is coordinated by Alexis Saurin and has four sites: IRIF in Paris where the team Picube is located, LIP in Lyon, LIS in Marseille and LS2N in Nantes.
INRIA Challenge LiberAbaci:
Hugo Herbelin participates in the Inria Challenge LiberAbaci. LiberAbaci is a collaborative project aimed at improving the accessibility of the Coq interactive proof system for an audience of mathematics students in the early academic years. The lead is Yves Bertot and the involved teams are: Cambium (Paris), Camus (Strasbourg), Gallinette (Nantes) PiCube (Paris), Spades (Grenoble), Stamp (Sophia Antipolis), Toccata (Saclay), LIPN (Laboratoire d'Informatique de Paris Nord).
INRIA Challenge LLM4Code:
Emilio J. Gallego Arias, Guillaume Baudart, Paul-André Melliès, and Jules Viennot participates in the Inria Challenge LLM4Code. The goal of the LLM4Code défi is to leverage Large Language Models (LLM) capabilities to build code assistants that can enhance both reliability and productivity. In particular, one axis of the défi focuses on the interaction between proof assistant and LLMs.
The défi is co-led by M. Acher and G. Baudart and involves 11 inria teams, the LaBRI, Software Heritage and Sopra Steria.
Chocola seminar
Our team is active in the organization and attendance of the Chocola seminar, being held monthly in Lyon. (Alexis Saurin and Gabriel Scherer are among the 12 people in the organizing committee.)
11 Dissemination
Participants: Guillaume Baudart, Pierre-Louis Curien, Thomas Ehrhard, Emilio Jesus Gallego Arias, Hugo Herbelin, Farzad Jafar-Rahmani, Pierre Letouzey, Paul-Andre Mellies, Vincent Moreau, Alexis Saurin, Gabriel Scherer.
11.1 Promoting scientific activities
11.1.1 Scientific events: organisation
General chair, scientific chair
- A. Saurin is chairing the organization of EPIT 2025 to be held in Aussois in may 2025.
- A. Saurin organized the thematic session at GDR-IM national days in Grenoble on proof assistants.
- A. Saurin organized the joint meeting of the Scalp and Verif working groups of GDR-IM which took place in Lille in november 2025
- G. Baudart and D. Petrisan are chairing the organization of EPIT 2026 to be held at the CIRM in Marseille.
11.1.2 Scientific events: selection
Chair of conference program committees
- G. Baudart was co-chair of the Artifact Evaluation committee for PACMPL(OOPSLA) 2024.
- A. Saurin was chair of FICS workshop program committee
Member of the conference program committees
- G. Baudart was a program committee member for the Journées Francophones des Langages Applicatifs (JFLA) 2024.
- H. Herbelin was a program committee member for the TYPES conference 2024 (2 pages abstracts).
- A. Saurin was a program committee member for the FLOPS conference 2025.
Reviewer
- G. Baudart was a reviewer for the ACM Transactions on Embedded Computing Systems (TECS).
11.1.3 Journal
Member of the editorial boards
- P-L. Curien is Editor-in-Chief of the Journal Mathematical Structures in Computer Science.
- T. Ehrhard is a member of the Editorial Board of the Journal Mathematical Structures in Computer Science.
- P-A. Melliès is a member of the Editorial Board of the Journal Theoretical Computer Science.
11.1.4 Invited talks
- G. Baudart and C. Tasson gave an invited course on reactive probabilistic programming at the journées Francophones des Langages Applicatifs (JFLA) 2024.
- G. Baudart and C. Tasson gave a course on probabilistic programming at École des Jeunes Chercheurs et Chercheuses en Informatique Fondamentale et ses Mathématiques (EJCIM) 2024 14.
- G. Baudart was an invited speaker at the Probabilistic Programming workshop of the Modelling and inference for pandemic preparedness programme at the Isaac Newton Institute in 2024.
- G. Baudart was an invited speaker at the INRIA/KAIST workshop 2024.
- P.-L. Curien was an invited speaker at SLALM 2024 (Latin American conference in logic) in Montevideo (Uruguay) in July 2024
- T. Ehrhard was an invited speaker at the CIRM conference Differential -calculus and Differential Linear Logic, 20 years later in 2024.
- T. Ehrhard was invited to give a talk at ICALP'24 in Tallinn (Alonzo Church Award ceremony)
- T. Ehrhard was invited speaker at the meeting of the Associazione Italiana di Logica e sue Applicazioni in Udine, in 2024.
- H. Herbelin was an invited speaker at the workshop PACMAN 2024 in Verona.
- H. Herbelin was an invited speaker at the EPFL SYSTEMF seminar in March 2024 in Lausanne.
- H. Herbelin was an invited speaker at the mini-workshop Structures in Foundations of Mathematics in Septembre 2024 in Padova.
- J-J. Lévy talked about the 1996 Ariane 501 bug, talk entitled 'A Small bug, A Big bang' at Huzhou College, Zhejiang China, on November 15.
- J-J. Lévy talked about a revised work of a chapter in the 2024 book entitled 'The French School of Programming' (ed. B. Meyer, Springer) at the PPS seminar, Irif on October 24; at ECNU Shanghai on November 20; at Nanjing University on November 22. This talk is entitled 'Tracking Redexes in the Lambda-Calculus - revisited) [see http://jeanjacqueslevy.net/talks]
- P-A. Melliès was an invited speaker at the Logic Colloquium 2025 at Goteborg, Sweden.
11.1.5 Scientific expertise
- H. Herbelin evaluated a project for the Austrian Science Fund (FWF).
11.2 Teaching - Supervision - Juries
11.2.1 Teaching
- Master: Guillaume Baudart and Gabriel Scherer: “Synchronous Programming” (M2), TDs, Université Paris Cité
- Master: Guillaume Baudart : “Probabilistic Programming Languages” (M2), Lectures and TDs, MPRI
- Master: Thomas Ehrhard : “Modèles des langages de programmation” (M2), Lecture and TDs, MPRI
- Master: Paul-André Melliès : “Modèles des langages de programmation” (M2), Lecture and TDs, MPRI
- Master: Alexis Saurin : “Functional programming and formal proofs in Coq” (M2), Lectures and TPs, LMFI
- Master: Alexis Saurin : “Second-order quantification and fixed-points in logic” (M2), Lectures, LMFI
- Aggregation: Guillaume Baudart : “Introduction to Software Engineering” (préparation à l'aggrégation d'informatique), Lectures and TDs
- Master: Hugo Herbelin: "Preuves assistées par ordinateur" (M1), Lectures, Université Paris Cité
- Master: Gabriel Scherer: "Programmation fonctionnelle et systèmes de types" (M2), Lectures, MPRI.
- Bachelor: "Projets de programmation OCaml" (L3), TP (practical sessions), Université Paris Cité
11.2.2 Supervision
PhD theses
- P-L. Curien and H. Herbelin co-supervised the PhD thesis of Moana Jubert.
- T. Ehrhard supervised the thesis of Aymeric Walch.
- T. Ehrhard co-supervised the thesis of Giulia Manara.
- T. Ehrhard and P-A. Melliès co-supervised the thesis of Clément Théron.
- T. Ehrhard and A. Saurin co-supervised the thesis of Esaie Bauer.
- H. Herbelin supervised the PhD thesis of Sarah Reboullet, Santiago Arambillete (with Ph. de Groote) and Félix Castro (with A. Miquel, defended in December 2024).
- H. Herbelin and Letouzey co-supervised the PhD thesis of Vincent Blazy.
- P-A. Melliès supervised the PhD thesis of El Mehdi Cherradi.
- P-A. Melliès co-supervised the PhD thesis of Vincent Moreau (with Sam van Gool) with a defence in preparation in April 2025.
- P-A. Melliès cosupervised the PhD thesis of Eléonore Mangel (with Guillaume Munch-Maccagnoni) which started in September 2024.
- G. Scherer supervised the PhD thesis of Olivier Martinot, defended in December 2024, supervises the PhD thesis of Amélie Rima started in December 2023, and became in 2024 a co-supervisor of Clément Allain.
Internships
- P. Letouzey and A. Saurin supervised the L3 intership of Erin Le Boulc'h on an introuction to Curry-Howard and formalization in Coq.
- A. Saurin supervised the LMFI interships of Guido Fiorillo and Daniele Osorio Valencia.
- G. Baudart and P-A. Melliès cosupervised the MPRI internship of V. Blanchi on game semantics for probabilistic programming.
- G. Baudart cosupervised (with M. Lelarge) the M1 ENS internship of Anton Danilkin on machine learning techniques to synthesize Rocq proofs.
11.2.3 Juries
- T. Ehrhard was a reviewer of the PhD thesis of Louis Lemonnier
- H. Herbelin was a reviewer of the PhD thesis of Pietro Sabelli. He was an examiner of the PhD committee of Clément Blaudeau and Jui-Hsuan Wu.
- P-A. Melliès was a jury member for the HDR defense of Sam van Gool.
- G. Scherer was a jury member for the PhD defense of Colin Gonzalez.
- A. Saurin was a jury member for the PhD defence of Guillermo Menéndez Turata (Amsterdam).
11.3 Popularization
11.3.1 Productions (articles, videos, podcasts, serious games, ...)
- G. Baudart, J. Narboux and G. Scherer supervised activities for schoolchildren for the Fête de la science 2024 at Université Paris Cité.
11.3.2 Others science outreach relevant activities
- H. Herbelin organised the 2024 edition of the FSMP Horizons Maths event on "Preuve mathématique et sûreté logicielle" (helped with X. Leroy and C. Dubois).
12 Scientific production
12.1 Major publications
- 1 articleCoherent differentiation.Mathematical Structures in Computer Science334-5April 2023, 259-310HALDOI
- 2 inproceedingsParsing as a lifting problem and the Chomsky-Schützenberger representation theorem.Electronic Notes in Theoretical Informatics and Computer ScienceMFPS 2022 - 38th conference on Mathematical Foundations for Programming SemanticsVolume 1 - Proceedings of...Ithaca, NY, United StatesFebruary 2023HALDOI
12.2 Publications of the year
International journals
International peer-reviewed conferences
Conferences without proceedings
Scientific book chapters
Reports & preprints
12.3 Cited publications
- 30 articleA simple differentiable programming language.Proc. ACM Program. Lang.4POPL2020, 38:1--38:28URL: https://doi.org/10.1145/3371106DOIback to text
- 31 inbookMathematical Information Retrieval.Evaluating Information Retrieval and Access Tasks: NTCIR's Legacy of Research ImpactT.Tetsuya Sakai, D. W.Douglas W. Oard and N.Noriko Kando, eds. SingaporeSpringer Singapore2021, 169--185URL: https://doi.org/10.1007/978-981-15-5554-1_12DOIback to text
- 32 inproceedingsLessons for Interactive Theorem Proving Researchers from a Survey of Coq Users.Leibniz International Proceedings in Informatics268Leibniz International Proceedings in Informatics (LIPIcs)12Bialystok, PolandDagstuhl PublishingJuly 2023, 1-18HALDOIback to text
- 33 inproceedingsProbabilistic Relational Reasoning via Metrics.34th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2019, Vancouver, BC, Canada, June 24-27, 2019IEEE2019, 1--19URL: https://doi.org/10.1109/LICS.2019.8785715DOIback to text
- 34 articleHomotopical patch theory.J. Funct. Program.262016, e18URL: https://doi.org/10.1017/S0956796816000198DOIback to text
- 35 articleHigher-dimensional algebra. VI. Lie 2-algebras.Theory Appl. Categ.122004, 492--538back to text
- 36 articleA Logic to Reason about Dependence and Independence.CoRRabs/2008.092312020, URL: https://arxiv.org/abs/2008.09231back to text
- 37 bookThe Lambda Calculus: Its Syntax and Semantics.AmsterdamNorth Holland1984back to text
- 38 inproceedingsAsynchronous Processing of Coq Documents: From the Kernel up to the User Interface.Interactive Theorem Proving - 6th International Conference, ITP 2015, Nanjing, China, August 24-27, 2015, Proceedings9236Lecture Notes in Computer ScienceSpringer2015, 51--66URL: https://doi.org/10.1007/978-3-319-22102-1_4DOIback to text
- 39 articleA probabilistic separation logic.Proc. ACM Program. Lang.4POPL2020, 55:1--55:30URL: https://doi.org/10.1145/3371123DOIback to text
- 40 inproceedingsConvolution Products on Double Categories and Categorification of Rule Algebras.Leibniz International Proceedings in Informatics (LIPIcs)2608th International Conference on Formal Structures for Computation and Deduction (FSCD 2023)Rome, ItalySchloss Dagstuhl - Leibniz-Zentrum für InformatikJuly 2023, 17:1-17:20HALDOIback to text
- 41 book Interactive Theorem Proving and Program Development, Coq'Art:the Calculus of Inductive Constructions.Springer-Verlag2004back to text
- 42 bookInteractive Theorem Proving and Program Development Coq'Art: The Calculus of Inductive Constructions.Springer2004back to text
- 43 inproceedingsUp-To Techniques for Behavioural Metrics via Fibrations.29th International Conference on Concurrency Theory, CONCUR 2018, September 4-7, 2018, Beijing, China118LIPIcsSchloss Dagstuhl - Leibniz-Zentrum für Informatik2018, 17:1--17:17URL: https://doi.org/10.4230/LIPIcs.CONCUR.2018.17DOIback to text
- 44 articlePolygraphic Programs and Polynomial-Time Functions.Logical Methods in Computer Science522009, 1--37back to text
- 45 techreportAUTOMATH, a language for mathematics.66-WSK-05Technological University EindhovenNovember 1968back to text
- 46 inproceedingsA Core Quantitative Coeffect Calculus.Programming Languages and SystemsBerlin, HeidelbergSpringer Berlin Heidelberg2014, 351--370back to text
- 47 articleBackpropagation in the simply typed lambda-calculus with linear negation.Proc. ACM Program. Lang.4POPL2020, 64:1--64:27URL: https://doi.org/10.1145/3371132DOIback to text
- 48 articleHigher-dimensional word problems with applications to equational logic.Theoretical Computer Science1151jul 1993, 43--62back to text
-
49
inproceedingsA theory of changes for higher-order languages: incrementalizing
-calculi by static differentiation.ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '14, Edinburgh, United Kingdom - June 09 - 11, 2014ACM2014, 145--155URL: https://doi.org/10.1145/2594291.2594304DOIback to text - 50 miscA Curry-Howard Correspondence for Linear, Reversible Computation.August 2022HALback to text
- 51 inproceedingsA Curry-Howard Correspondence for Linear, Reversible Computation.CSL 2023 - 31st EACSL Annual Conference on Computer Science LogicBartek Klin and Elaine PimentelVarsovie (Warsaw), PolandSchloss Dagstuhl - Leibniz-Zentrum für InformatikFebruary 2023HALDOIback to text
- 52 phdthesisTowards a Curry-Howard Correspondence for Quantum Computation.January 2023back to text
- 53 bookCertified Programming with Dependent Types - A Pragmatic Introduction to the Coq Proof Assistant.MIT Press2013, URL: http://mitpress.mit.edu/books/certified-programming-dependent-typesback to text
- 54 bookCertified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant.The MIT Press2013back to text
- 55 articleA set of Postulates for the foundation of Logic.Annals of Mathematics21932, 33, 346-366back to text
- 56 inproceedingsConstructions : A Higher Order Proof System for Mechanizing Mathematics.EUROCAL'85203Lecture Notes in Computer ScienceLinzSpringer Verlag1985back to textback to text
- 57 inproceedingsInductively defined types.Proceedings of Colog'88417Lecture Notes in Computer ScienceSpringer Verlag1990back to text
- 58 phdthesisUne théorie des Constructions.University Paris 7January 1985back to textback to text
- 59 book §9E back to text
- 60 articleAction du groupe des tresses sur une catégorie.Invent. Math.12811997, 159--175back to text
- 61 articleA coherent differential PCF.Logical Methods in Computer ScienceVolume 19, Issue 4April 2023HALDOIback to text
- 62 articleAn introduction to Differential Linear Logic: proof-nets, models and antiderivatives.CoRRabs/1606.016422016, URL: http://arxiv.org/abs/1606.01642back to text
- 63 articleCoherent differentiation.Mathematical Structures in Computer Science334-5April 2023, 259-310HALDOIback to text
- 64 articleIntegration in Cones.Logical Methods in Computer Science211January 2025HALback to text
- 65 inproceedingsLinear dependent types for differential privacy.The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '13, Rome, Italy - January 23 - 25, 2013ACM2013, 357--370URL: https://doi.org/10.1145/2429069.2429113DOIback to text
- 66 articleTacticToe: Learning to Prove with Tactics.Journal of Automated Reasoning2020, URL: https://doi.org/10.1007/s10817-020-09580-xDOIback to text
- 67 articleUntersuchungen uber das logische Schliessen.Mathematische Zeitschrift391935, 176--210,405--431back to text
- 68 incollectionUne extension de l'interpretation de Gödel à l'analyse, et son application à l'élimination des coupures dans l'analyse et la théorie des types.Second Scandinavian Logic SymposiumStudies in Logic and the Foundations of Mathematics63North Holland1971, 63-92back to text
- 69 inproceedingsA Machine-Checked Proof of the Odd Order Theorem.Interactive Theorem Proving - 4th International Conference, ITP 2013, Rennes, France, July 22-26, 2013. Proceedings7998Lecture Notes in Computer ScienceSpringer2013, 163--179URL: https://doi.org/10.1007/978-3-642-39634-2_14DOIback to text
- 70 inproceedingsEngineering mathematics: the odd order theorem proof.The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '13, Rome, Italy - January 23 - 25, 2013ACM2013, 1--2URL: https://doi.org/10.1145/2429069.2429071DOIback to text
- 71 articleFormal proof--the four-color theorem.Notices of the AMS55112008, 1382--1393back to text
- 72 articleProfinite lambda-terms and parametricity.Electronic Notes in Theoretical Informatics and Computer ScienceVolume 3 - Proceedings of MFPS XXXIXNovember 2023HALDOIback to textback to text
- 73 phdthesisPrésentations d'opérades et systèmes de réécriture.Univ. Montpellier~22004back to text
- 74 articleTermination Orders for 3-Dimensional Rewriting.Journal of Pure and Applied Algebra20722006, 341--371back to text
- 75 articleThe Three Dimensions of Proofs.Annals of Pure and Applied Logic1411--22006, 266--295back to text
- 76 articleTwo Polygraphic Presentations of Petri Nets.Theoretical Computer Science3601--32006, 124--146back to text
- 77 unpublishedA parametricity-based formalization of semi-simplicial and semi-cubical sets.January 2023, working paper or preprintHALback to text
- 78 inproceedingsOn the Expressive Power of Simply Typed and Let-Polymorphic Lambda Calculi.Proceedings, 11th Annual IEEE Symposium on Logic in Computer Science, New Brunswick, New Jersey, USA, July 27-30, 1996IEEE Computer Society1996, 253--263URL: https://doi.org/10.1109/LICS.1996.561337DOIback to text
- 79 incollectionThe groupoid interpretation of type theory.Twenty-five years of constructive type theory (Venice, 1995)36Oxford Logic GuidesOxford Univ. Press, New York1998, 83--111back to text
- 80 incollectionThe formulae-as-types notion of constructions.to H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and FormalismUnpublished manuscript of 1969Academic Press1980back to text
- 81 articleThe homotopy theory of type theories.Advances in Mathematics3372018, 1-38URL: https://www.sciencedirect.com/science/article/pii/S0001870818303062DOIback to text
- 82 articleTowards an Algebraic Theory of Boolean Circuits.Journal of Pure and Applied Algebra1842003, 257-310back to text
- 83 phdthesisCritères de finitude homologique pour la non convergence des systèmes de réécriture de termes.Univ. Montpellier~22004back to text
- 84 techreportA theory of types.71-3University of Stockholm1971back to text
- 85 articleParsing as a lifting problem and the Chomsky-Schützenberger representation theorem.Electronic Notes in Theoretical Informatics and Computer ScienceVolume 1-Proceedings of...February 2023, URL: http://dx.doi.org/10.46298/entics.10508DOIback to text
- 86 miscThe categorical contours of the Chomsky-Schützenberger representation theorem.2025, URL: https://arxiv.org/abs/2405.14703back to text
- 87 inproceedingsA Categorical Theory of Patches.Proceedings of the Twenty-ninth Conference on the Mathematical Foundations of Programming Semantics, MFPS 2013, New Orleans, LA, USA, June 23-25, 2013298Electronic Notes in Theoretical Computer ScienceElsevier2013, 283--307URL: https://doi.org/10.1016/j.entcs.2013.09.018DOIback to text
- 88 bookLogical Foundations.Software Foundations series, volume 1Version 5.5. http://www.cis.upenn.edu/~bcpierce/sfElectronic textbookMay 2018back to text
- 89 bookHomotopy Type Theory: Univalent Foundations of Mathematics.Institute for Advanced Studyhttps://homotopytypetheory.org/book2013back to text
- 90 inproceedingsTowards a theory of type structure.Symposium on Programming19Lecture Notes in Computer ScienceSpringer1974, 408-423back to text
- 91 inproceedingsREPLica: REPL Instrumentation for Coq Analysis.Proceedings of the 9th ACM SIGPLAN International Conference on Certified Programs and ProofsCPP 2020New York, NY, USANew Orleans, LA, USAAssociation for Computing Machinery2020, 99–113URL: https://doi.org/10.1145/3372885.3373823DOIback to text
- 92 inproceedingsRecognizability in the Simply Typed Lambda-Calculus.Logic, Language, Information and Computation, 16th International Workshop, WoLLIC 2009, Tokyo, Japan, June 21-24, 2009. Proceedings5514Lecture Notes in Computer ScienceSpringer2009, 48--60URL: https://doi.org/10.1007/978-3-642-02261-6_5DOIback to textback to text
- 93 inproceedingsCategory-theoretic Structure for Independence and Conditional Independence.Proceedings of the Thirty-Fourth Conference on the Mathematical Foundations of Programming Semantics, MFPS 2018, Dalhousie University, Halifax, Canada, June 6-9, 2018341Electronic Notes in Theoretical Computer ScienceElsevier2018, 281--297URL: https://doi.org/10.1016/j.entcs.2018.03.028DOIback to text
- 94 phdthesisVerified Computing in Homological Algebra. (Calculs vérifiés en algèbre homologique).École Polytechnique, Palaiseau, France2011, URL: https://tel.archives-ouvertes.fr/pastel-00605836back to text
- 95 articleLimits Indexed by Category-Valued 2-Functors.Journal of Pure and Applied Algebra81976, 149--181back to text
- 96 miscThe Coq Proof Assistant, version 8.7.1.December 2017, URL: https://doi.org/10.5281/zenodo.1133970DOIback to text
- 97 inbookInteraction with Formal Mathematical Documents in Isabelle/PIDE.07 2019, 1-15DOIback to text
- 98 inproceedingsImpact of switching bug trackers: a case study on a medium-sized open source project.ICSME 2019 - International Conference on Software Maintenance and EvolutionCleveland, United StatesSeptember 2019HALback to text