DeepAI AI Chat
Log In Sign Up

A unified treatment of structural definitions on syntax for capture-avoiding substitution, context application, named substitution, partial differentiation, and so on

by   Tom Hirschowitz, et al.

We introduce a category-theoreticabstraction of a syntax with auxiliary functions, called an admissiblemonad morphism. Relying on an abstract form of structural recursion,we then design generic tools to construct admissible monad morphismsfrom basic data. These tools automate ubiquitous standard patternslike (1) defining auxiliary functions in successive, potentiallydependent layers, and (2) proving properties of auxiliary functions byinduction on syntax. We cover significant examples from theliterature, including the standard lambda-calculus withcapture-avoiding substitution, a lambda-calculus with bindingevaluation contexts, the lambda-mu-calculus with named substitution, andthe differential lambda-calculus.


page 1

page 2

page 3

page 4


On the Expressive Power of Schemes

We present a calculus, called the scheme-calculus, that permits to expre...

Linearizing Combinators

In 2017, Bauer, Johnson, Osborne, Riehl, and Tebbe (BJORT) showed that t...

Cartesian Difference Categories: Extended Report

Cartesian differential categories are categories equipped with a differe...

String Diagrams for Regular Logic (Extended Abstract)

Regular logic can be regarded as the internal language of regular catego...

Monadic and Comonadic Aspects of Dependency Analysis

Dependency analysis is vital to several applications in computer science...

Variable binding and substitution for (nameless) dummies

By abstracting over well-known properties of De Bruijn's representation ...

SeCaV: A Sequent Calculus Verifier in Isabelle/HOL

We describe SeCaV, a sequent calculus verifier for first-order logic in ...