Bindings as bounded natural functors
Blanchette, Jasmin Christian, Gheri, Lorenzo, Popescu, Andrei and Traytel, Dmitriy (2019) Bindings as bounded natural functors. Proceedings of the ACM on Programming Languages, Volume 3 Issue POPL. In: 46th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2019), 13-19 Jan 2019, Hotel Cascais Miragem, Cascais, Portugal. . ISSN 2475-1421 [Conference or Workshop Item] (doi:10.1145/3290335)
|
PDF
- Published version (with publisher's formatting)
Available under License Creative Commons Attribution 4.0. Download (579kB) | Preview |
|
![]() |
PDF
- Final accepted version (with author's formatting)
Restricted to Repository staff and depositor only Available under License Creative Commons Attribution 4.0. Download (858kB) |
Abstract
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.
Item Type: | Conference or Workshop Item (Paper) |
---|---|
Research Areas: | A. > School of Science and Technology > Computer Science > Foundations of Computing group |
Item ID: | 28146 |
Notes on copyright: | © 2019 Copyright held by the owner/author(s). This work is licensed under a Creative Commons Attribution 4.0 International License. |
Useful Links: | |
Depositing User: | Andrei Popescu |
Date Deposited: | 12 Nov 2019 09:22 |
Last Modified: | 29 Nov 2022 19:21 |
URI: | https://eprints.mdx.ac.uk/id/eprint/28146 |
Actions (login required)
![]() |
View Item |
Statistics
Additional statistics are available via IRStats2.