Formalizing "2-Functoriality of Initial Semantics, and Applications"
Master Project
Project Description
This paper is about formalizing the results of the paper “2-Functoriality of Initial Semantics, and Applications” in the UniMath library of univalent mathematics.
The abstract of the paper is as follows: Initial semantics aims to model inductive structures and their properties, and to provide them with recursion principles respecting these properties. An ubiquitous example is the fold operator for lists. We are concerned with initial semantics that model languages with variable binding and their substitution structure, and that provide substitution-safe recursion principles. There are different approaches to implementing languages with variable binding depending on the choice of representation for contexts and free variables, such as unscoped syntax, or well-scoped syntax with finite or infinite contexts. Abstractly, each approach corresponds to choosing a different monoidal category to model contexts and binding, each choice yielding a different notion of “model” for the same abstract specification (or “signature”). In this work, we provide tools to compare and relate the models obtained from a signature for different choices of monoidal category. We do so by showing that initial semantics naturally has a 2-categorical structure when parametrized by the monoidal category modeling contexts. We thus can relate models obtained from different choices of monoidal categories provided the monoidal categories themselves are related. In particular, we use our results to relate the models of the different implementation – de Bruijn vs locally nameless, finite vs infinite contexts – , and to provide a generalized recursion principle for simply-typed syntax.
The goal of this project is to formalize the results of this paper in the UniMath library, a library of mathematics (and, in particular, category theory) based on univalent mathematics written in the computer proof assistant Rocq.
Links:
- The paper is available at https://arxiv.org/abs/2503.10863
Project Goals
In this project, you will work on the following goals:
- Learn the basics of univalent mathematics
- Learn to use the computer proof assistants Coq and the library UniMath written in Coq
- Understand the paper “2-Functoriality of Initial Semantics, and Applications”
- Formalize some of the definitions, statements, and proofs of this paper in UniMath
Contacts for the Project
- Benedikt Ahrens (TU Delft)
Supervisor(s): Benedikt Ahrens
Posted: May 14, 2025