My picture

Yannick Forster

yannick.forster@inria.fr

, office BJ31

ORCID dblp Github Google Scholar

I am a researcher (“chargé de recherche”) at Inria in the Cambium team in Paris.

My research focuses on different aspects of computation. Much of my research is in relation to (constructive) type theory, often involving the proof assistant Coq. See below for a list of projects. I am excited about any potential collaborator for any of these topics, if you are interested in working with me please get in touch no matter your location, level of expertise, or academic experience – including no or little expertise or experience!

Before joining Cambium, I was a Marie Skłodowska-Curie fellow at Inria in the Gallinette team in Nantes. And before that, I did my PhD at Saarland University with Gert Smolka.

News

Older news

Projects

Verified extraction and compilation

I am interested in using the Coq proof assistant as a system to obtain verified executable programs: I co-developed verified extraction from Coq to OCaml (PLDI ’24); I am involved in the MetaCoq project, a formalisation and implementation of Coq in Coq, where I verified type and proof erasure (POPL ’20); and I am a team member in the CertiCoq project, a verified compiler from Coq to C.

Synthetic computability

Synthetic computability was pioneered by Richman, Bridges, and Bauer in different flavours of constructive logic. In synthetic computability theory, the fact that all definable functions in constructive logic are computable is made explicit via axioms. Thereby, formalisations can focus on the mathematical essence of results and on rigorous simplification of proofs rather than on encoding programs in model of computation.

Since synthetic computability in most presentations assumes the axiom of countable choice the theory becomes anti-classical, i.e. the law of excluded middle is disprovable. When choosing constructive type theory as implemented by the Coq proof assistant as foundation for synthetic computability, classical logic via the law of excluded middle can be consistently assumed.

We gave a general discussion of the axiom CT (Church’s Thesis) in relation to other axioms for Coq’s type theory (CSL ’21) an introduction to Parametric Church’s Thesis and synthetic computability without choice (LFCS 22), a definition of Kolmogorov complexity (ITP ‘22’), a solution for Post’s problem for many-one and truth-table reducibility (CSL ’23), a definition of oracle computability and Turing reductions (APLAS ‘23’), and a proof of Post’s hierarchy theorem (CSL ‘24’).

Synthetic undecidability

Decidability and undecidability proofs are the subarea of computability theory with the most influence on general theoretical computer science. Both kinds of proofs are often intricate and their details are error-prone: Several later retracted results have been published at renowned venues. Synthetic undecidability offers a method to verify the undecidability in a proof assistant such that no doubt remains, without ever dealing with models of computation. This is because all functions definable in Coq’s type theory are by definition computable, and thus undecidability of a problem can be proved by a reduction from Turing machine halting to the problem in question. A prime result is our synthetic undecidability proof of Hilbert’s tenth problem (FSCD ’19). I co-maintain the Coq Library of Undecidability Proofs, a collaborative project containing machine-checked undecidability proofs.

Formalising models of computation

We have given several machine-checked equivalence proofs between different models of computation such as Turing machines, register machines, the lambda-calculus or partial recursive functions. As part of this work we have proved that the weak call-by-value λ-calculus is reasonable for both time and space (POPL ’20) and provided a machine-checked version of the result for time (ITP ’21).

Publications

Pre-prints

  1. Matthieu Sozeau, Yannick Forster, Meven Lennon-Bertrand, Jakob Botsch Nielsen, Nicolas Tabareau, and Théo Winterhalter. Correct and Complete Type Checking and Certified Erasure for Coq, in Coq

Conferences

  1. Liron Cohen, Yannick Forster, Dominik Kirst, Bruno da Rocha Paiva, and Vincent Rahli. Separating Markov's Principles, LICS 2024.
  2. Yannick Forster, Matthieu Sozeau, and Nicolas Tabareau. Verified Extraction from Coq to OCaml, PLDI 2024.
  3. Yannick Forster, Dominik Kirst, and Niklas Mück. The Kleene-Post and Post’s Theorem in the Calculus of Inductive Constructions, CSL 2024.
  4. Yannick Forster, Dominik Kirst, and Niklas Mück. Oracle Computability and Turing Reducibility in the Calculus of Inductive Constructions, APLAS 2023.
  5. Yannick Forster, Felix Jahn, and Gert Smolka. A Computational Cantor-Bernstein and Myhill’s Isomorphism Theorem in Constructive Type Theory, CPP 2023.
  6. Yannick Forster and Felix Jahn. Constructive and Synthetic Reducibility Degrees: Post’s Problem for Many-One and Truth-Table Reducibility in Coq, CSL 2023.
  7. Yannick Forster, Fabian Kunze, and Nils Lauermann. Synthetic Kolmogorov Complexity in Coq, ITP 2022.
  8. Yannick Forster, 2022. Parametric Church’s Thesis: Synthetic Computability Without Choice, LFCS 2022.
  9. Yannick Forster, Fabian Kunze, Gert Smolka, and Maxi Wuttke. A Mechanised Proof of the Time Invariance Thesis for the Weak Call-By-Value λ-Calculus, ITP 2021.
  10. Yannick Forster. Church’s Thesis and Related Axioms in Coq’s Type Theory, CSL 2021. (talk)
  11. Matthieu Sozeau, Simon Boulier, Yannick Forster, Nicolas Tabareau, and Théo Winterhalter. Coq Coq Correct! verification of type checking and erasure for Coq, in Coq, POPL 2020.
  12. Yannick Forster, Fabian Kunze, and Marc Roth. The weak call-by-value λ-calculus is reasonable for both time and space, POPL 2020.
  13. Yannick Forster, Fabian Kunze, and Maxi Wuttke. Verified programming of Turing machines in Coq, CPP 2020.
  14. Simon Spies and Yannick Forster. Undecidability of higher-order unification formalised in Coq, CPP 2020.
  15. Yannick Forster and Kathrin Stark. Coq à la carte: a practical approach to modular syntax with binders, CPP 2020.
  16. Yannick Forster, Dominik Kirst, and Dominik Wehr. Completeness Theorems for First-Order Logic Analysed in Constructive Type Theory, LFCS 2020.
  17. Yannick Forster and Fabian Kunze. A Certifying Extraction with Time Bounds from Coq to Call-By-Value Lambda Calculus, ITP 2019.
  18. Dominique Larchey-Wendling and Yannick Forster. Hilbert’s Tenth Problem in Coq, FSCD 2019.
  19. Yannick Forster, Dominik Kirst, and Gert Smolka. On synthetic undecidability in Coq, with an application to the Entscheidungsproblem, CPP 2019.
  20. Yannick Forster and Dominique Larchey-Wendling. Certified undecidability of intuitionistic linear logic via binary stack machines and Minsky machines, CPP 2019.
  21. Yannick Forster, Steven Schäfer, Simon Spies, and Kathrin Stark. Call-by-push-value in Coq: operational, equational, and denotational theory, CPP 2019.
  22. Fabian Kunze, Gert Smolka, and Yannick Forster. Formal Small-Step Verification of a Call-by-Value Lambda Calculus Machine, APLAS 2018.
  23. Yannick Forster, Edith Heiter, and Gert Smolka. Verification of PCP-Related Computational Reductions in Coq, ITP 2018.
  24. Yannick Forster, Ohad Kammar, Sam Lindley, and Matija Pretnar. On the expressive power of user-defined effects: effect handlers, monadic reflection, delimited control, ICFP 2017.
  25. Yannick Forster and Gert Smolka. Weak Call-by-Value Lambda Calculus as a Model of Computation in Coq, ITP 2017.

Journals

  1. Yannick Forster, Dominik Kirst, and Dominik Wehr. Completeness theorems for first-order logic analysed in constructive type theory (extended version), J. Log. Comput. , volume 31, number 1, pp. 112–151.
  2. Matthieu Sozeau, Abhishek Anand, Simon Boulier, Cyril Cohen, Yannick Forster, Fabian Kunze, Gregory Malecha, Nicolas Tabareau, and Théo Winterhalter. The MetaCoq Project, J. Autom. Reason., volume 64, number 5, pp. 947–999.
  3. Dominique Larchey-Wendling and Yannick Forster. Hilbert’s Tenth Problem in Coq (extended version), LMCS, Volume 18, Issue 1.
  4. Yannick Forster and Gert Smolka. Call-by-Value Lambda Calculus as a Model of Computation in Coq, J. Autom. Reason., volume 63, number 2, pp. 393–413.
  5. Yannick Forster, Ohad Kammar, Sam Lindley, and Matija Pretnar. On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control, J. Funct. Program., volume 29, p. e15.

Extended Workshop Abstracts

Theses

Computability in Constructive Type Theory
PhD thesis, Saarland University, 2021.

On the expressive power of effect handlers and monadic reflection (pdf)
Master’s Thesis, Robinson College, University of Cambridge, 2016.

A Formal and Constructive Theory of Computation (pdf)
Bachelor’s Thesis, Programming Systems Lab, Saarland University, 2014.

Talks

Talks since December 2021, for older talks see my old website.

Teaching

Supervised students

Lectures

Short CV

Click here for a full but only occasionally updated CV.

Website based on this basic page template.