A Two-Level Logic Perspective on (Simultaneous) Substitutions
Lambda-tree syntax (λTS), also known as higher-order abstract syntax (HOAS), is a representational technique where the pure λ-calculus in a meta-language is used to represent binding constructs in an object language. A key feature of λTS is that capture-avoiding substitution in the object language is represented by β-reduction in the meta language. However, to reason about the meta-theory of (simultaneous) substitutions, it may seem that λTS gets in the way: not only does iterated β-reduction not capture simultaneity, but also β-redexes are not first-class constructs.
This paper proposes a representation of (simultaneous) substitutions in the two-level logic approach (2LLA), where properties of a specification language are established in a strong reasoning meta-logic that supports inductive reasoning. A substitution, which is a partial map from variables to terms, is represented in a form similar to typing contexts, which are partial maps from variables to types; both are first-class in 2LLA. The standard typing rules for substitutions are then just a kind of context relation that are already well-known in 2LLA. This representation neither changes the reasoning kernel, nor requires any modification of existing type systems, and does not sacrifice any expressivity.
Tue 9 JanDisplayed time zone: Tijuana, Baja California change
16:00 - 18:00 | |||
16:00 30mTalk | HOpi in Coq CPP DOI | ||
16:30 30mTalk | A Coq Formalization of Normalization by Evaluation for Martin-Löf Type Theory CPP DOI | ||
17:00 30mTalk | A Two-Level Logic Perspective on (Simultaneous) Substitutions CPP Kaustuv Chaudhuri Inria, France DOI | ||
17:30 30mTalk | Binder Aware Recursion over Well-Scoped de Bruijn Syntax CPP DOI |