Encoding Abstract Syntax Without Fresh Names

  • Authors:
  • Matthew R. Lakin;Andrew M. Pitts

  • Affiliations:
  • University of Cambridge Computer Laboratory, Cambridge, UK and Microsoft Research, Cambridge, UK;University of Cambridge Computer Laboratory, Cambridge, UK

  • Venue:
  • Journal of Automated Reasoning
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 驴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 驴ML in such a way that 驴-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.