Bindings as bounded natural functors

We present a general framework for specifying and reasoning about syntax with bindings. Abstract binder types are modeled using a universe of functors on sets, subject to a number of operations that can be used to construct complex binding patterns and binding-aware datatypes, including non-well-fou...

Full description

Saved in:
Bibliographic Details
Published inProceedings of ACM on programming languages Vol. 3; no. POPL; pp. 1 - 34
Main Authors Blanchette, Jasmin Christian, Gheri, Lorenzo, Popescu, Andrei, Traytel, Dmitriy
Format Journal Article
LanguageEnglish
Published New York, NY, USA ACM 02.01.2019
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:We present a general framework for specifying and reasoning about syntax with bindings. Abstract binder types are modeled using a universe of functors on sets, subject to a number of operations that can be used to construct complex binding patterns and binding-aware datatypes, including non-well-founded and infinitely branching types, in a modular fashion. Despite not committing to any syntactic format, the framework is ``concrete'' enough to provide definitions of the fundamental operators on terms (free variables, alpha-equivalence, and capture-avoiding substitution) and reasoning and definition principles. This work is compatible with classical higher-order logic and has been formalized in the proof assistant Isabelle/HOL.
ISSN:2475-1421
2475-1421
DOI:10.1145/3290335