I am a researcher in Deducteam at INRIA Saclay and at the LMF located at ENS Paris-Saclay.
Previously I was a postdoctoral researcher at Max Planck Institute for Security and Privacy (MPI-SP) in Bochum (Germany), working with Cătălin Hrițcu. Before that I completed a PhD within Gallinette in Nantes, with Nicolas Tabareau and Matthieu Sozeau.
My main interest lies in type theory and proof assistants. As such, most of my results are formalised in a proof assistant, generally Coq. I strive to make proof assistants better and safer.
News
- I will be part of the PC of ICFP 2025.
- I will be part of the PC of TYPES 2025.
- I will give a talk about dependent ghosts at the CHoCoLa meeting in Lyon, on 21 November.
- Because having a personal page is essential for academia, but because it’s annoying to set up for some, Yannick Forster and I created a template that you can use and customise very easily.
Older news
- Clément Pit-Claudel and I organised the Coq Workshop 2024.
Teaching
I teach the Proof assistants course of the MPRI together with Yannick Forster.
PhD students
- Yann Leray co-supervised with Nicolas Tabareau and Matthieu Sozeau. Rewrite rules in Coq and SProp in MetaCoq.
Interns
Ewen Broudin–Caradec. Ghost dependent types. Masters internship (4.5 months, 2024) Formalisation
Yann Leray. Rewrite rules in Coq and MetaCoq. Predoctoral internship (8 months, 2022/2023) Now: PhD student with Nicolas Tabareau, Matthieu Sozeau, and me. Coq with rewrite rules
Internships
Feel free to contact me if you want to do an internship with me. We can discuss subjects and I have several potential projects in mind. Below is one such proposal, primarily intended for an M2 internship, but I have other topic that involve e.g. partially defined, potentially non-terminating functions and MetaCoq, or definitional equality in Dedukti.
Local extensions of type theory with new definitional equalities
Coq has
recently been extended with rewrite rules so that a user can
declare new computations for freshly introduced symbols. For
instance one can declare an addition on natural numbers such that
n + 0
and 0 + n
both reduce to
n
. For now such rewrite rules are global,
meaning one has to keep them in scope forever after they are
introduced. Local rewrite rules would allow one to only extend
definitional equality in a specific definition (similar to how one
can do a λ-abstraction to locally assume some proposition), and then
instantiate them later.
Publications
Peer-reviewed publications and drafts
The Rewster: Type Preserving Rewrite Rules for the Coq Proof Assistant
ITP (2024)
Dependent Ghosts Have a Reflection for Free
ICFP (2024)
Draft Correct and Complete Type Checking and Certified Erasure for Coq, in Coq
2024
Impredicativity, Cumulativity and Product Covariance in the Logical Framework Dedukti
2024
From Rewrite Rules to Axioms in the λΠ-Calculus Modulo Theory
2024
Securing Verified IO Programs Against Unverified Code in F*
2024
The Last Yard: Foundational End-to-End Verification of High-Speed Cryptography
2024
SSProve: A Foundational Framework for Modular Cryptographic Proofs in Coq
2023
Distinguished SSProve: A Foundational Framework for Modular Cryptographic Proofs in Coq
2021
The Taming of the Rew: A Type Theory with Computational Assumptions
2021
Coq Coq Correct! Verification of Type Checking and Erasure for Coq, in Coq
2020
The MetaCoq Project
2020
Eliminating Reflection from Type Theory
2019
Normalization by evaluation for sized dependent types
2017
Randomized Mixed-Radix Scalar Multiplication
2017
International seminars (mostly peer-reviewed)
Towards a logical framework modulo rewriting and equational theories
TYPES (2024)
Dependent Ghosts Have a Reflection for Free
EuroProofNet WG6 (2024)
The Rewster: The Coq Proof Assistant with Rewrite Rules
TYPES (2023)
Composable partial functions in Coq, totally for free
TYPES (2023)
Invited talk A conservative and constructive translation from extensional type theory to weak type theory
Strength of Weak Type Theory, Amsterdam (2023)
Securely Compiling F* Programs With IO and Then Linking Them Against Weakly-Typed Interfaces
PriSC (2023)
Verifying non-terminating programs with IO in F*
HOPE (2022)
Partial Dijkstra Monads for All
TYPES (2022)
Invited talk MetaCoq: Sound and complete type checking for Coq, in Coq
SSTT Stockholm (EuroProofNet WG6) (2022)
SSProve: A Foundational Framework for Modular Cryptographic Proofs in Coq
Coq workshop (2021)
Shape-irrelevant reflection: terminating extensional type theory
TYPES (2021)
SSProve: A Foundational Framework for Modular Cryptographic Proofs in Coq
TYPES (2021)
Modular Confluence for Rewrite Rules in MetaCoq
TYPES (cancelled) (2020)
Weak Type Theory is Rather Strong
TYPES (2019)
How to Tame your Rewrite Rules
TYPES (2019)
Using reflection to eliminate reflection
EUTypes Aarhus (2018)
Using reflection to eliminate reflection
TYPES (2018)
A modular formalization of type theory in Coq
TYPES (2017)
Normalization by Evaluation for Sized Dependent Types
TYPES (2017)
The rules of type theory
Workshop on Syntax and Semantics of Type Theory, Ljubljana (2017)
An Extension of Martin-Löf Type Theory with Sized Types
TYPES (2016)