Benedikt Ahrens ; André Hirschowitz ; Ambroise Lafont ; Marco Maggesi - Presentable signatures and initial semantics

lmcs:5136 - Logical Methods in Computer Science, May 26, 2021, Volume 17, Issue 2 - https://doi.org/10.23638/LMCS-17(2:17)2021
Presentable signatures and initial semantics

Authors: Benedikt Ahrens ; André Hirschowitz ; Ambroise Lafont ; Marco Maggesi

We present a device for specifying and reasoning about syntax for datatypes, programming languages, and logic calculi. More precisely, we study a notion of "signature" for specifying syntactic constructions. In the spirit of Initial Semantics, we define the "syntax generated by a signature" to be the initial object -- if it exists -- in a suitable category of models. In our framework, the existence of an associated syntax to a signature is not automatically guaranteed. We identify, via the notion of presentation of a signature, a large class of signatures that do generate a syntax. Our (presentable) signatures subsume classical algebraic signatures (i.e., signatures for languages with variable binding, such as the pure lambda calculus) and extend them to include several other significant examples of syntactic constructions. One key feature of our notions of signature, syntax, and presentation is that they are highly compositional, in the sense that complex examples can be obtained by gluing simpler ones. Moreover, through the Initial Semantics approach, our framework provides, beyond the desired algebra of terms, a well-behaved substitution and the induction and recursion principles associated to the syntax. This paper builds upon ideas from a previous attempt by Hirschowitz-Maggesi, which, in turn, was directly inspired by some earlier work of Ghani-Uustalu-Hamana and Matthes-Uustalu. The main results presented in the paper are computer-checked within the UniMath system.


Volume: Volume 17, Issue 2
Published on: May 26, 2021
Accepted on: March 19, 2021
Submitted on: January 30, 2019
Keywords: Computer Science - Logic in Computer Science,Computer Science - Programming Languages


Share

Consultation statistics

This page has been seen 171 times.
This article's PDF has been downloaded 83 times.