Encoding Abstract Syntax Without Fresh Names

被引:1
|
作者
Lakin, Matthew R. [1 ]
Pitts, Andrew M. [1 ]
机构
[1] Univ Cambridge, Comp Lab, Cambridge CB2 3QG, England
基金
英国工程与自然科学研究理事会;
关键词
Meta-programming; Alpha-equivalence; Nominal abstract syntax; SEMANTICS;
D O I
10.1007/s10817-011-9220-7
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
This paper introduces a variant of nominal abstract syntax in which bindable names are represented by normal meta-variables as opposed to a separate class of globally fresh names. Distinct meta-variables can be instantiated with the same concrete name, which we call aliasing. The possible aliasing patterns are controlled by explicit constraints on the distinctness (freshness) of names. This approach has already been used in the nominal meta-programming language alpha ML. We recap that language and develop a theory of contextual equivalence for it. The central result of the paper is that abstract syntax trees (ASTs) involving binders can be encoded into alpha ML in such a way that alpha-equivalence of ASTs corresponds with contextual equivalence of their encodings. This is novel because the encoding does not rely on the existence of globally fresh names and fresh name generation, which are fundamental to the correctness of the pre-existing encoding of abstract syntax into FreshML.
引用
收藏
页码:115 / 140
页数:26
相关论文
共 50 条