TY - GEN
T1 - A two-level logic perspective on (simultaneous) substitutions
AU - Chaudhuri, Kaustuv
N1 - Publisher Copyright:
© 2018 Copyright held by the owner/author(s). Publication rights licensed to the Association for Computing Machinery.
PY - 2018/1/8
Y1 - 2018/1/8
N2 - Lambda-tree syntax (/Its), 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.
AB - Lambda-tree syntax (/Its), 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.
KW - Abella
KW - Meta-theory
KW - Substitution
KW - Two-level logic approach
KW - Äprolog
KW - λ-calculus
UR - https://www.scopus.com/pages/publications/85044310567
U2 - 10.1145/3167093
DO - 10.1145/3167093
M3 - Conference contribution
AN - SCOPUS:85044310567
T3 - CPP 2018 - Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs, Co-located with POPL 2018
SP - 280
EP - 292
BT - CPP 2018 - Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs, Co-located with POPL 2018
A2 - Felty, Amy
A2 - Andronick, June
PB - Association for Computing Machinery, Inc
T2 - 7th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2018
Y2 - 8 January 2018 through 9 January 2018
ER -