2-Functoriality of Initial Semantics, and Applications

Journal Article (2025)
Author(s)

Benedikt Ahrens (TU Delft - Programming Languages)

Ambroise Lafont (LIX, Institut National de Recherche en Informatique et en Automatique (INRIA))

Thomas Lamiaux (Université de Nantes, Institut National de Recherche en Informatique et en Automatique (INRIA))

Research Group
Programming Languages
DOI related publication
https://doi.org/10.1145/3747527
More Info
expand_more
Publication Year
2025
Language
English
Research Group
Programming Languages
Issue number
ICFP
Volume number
9
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

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.