The revised report on the syntactic theories of sequential control and state
Theoretical Computer Science
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Proving congruence of bisimulation in functional programming languages
Information and Computation
Operational equivalences for untyped and polymorphic object calculi
Higher order operational techniques in semantics
Relational reasoning about contexts
Higher order operational techniques in semantics
The Definition of Standard ML
Operational Semantics and Program Equivalence
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Handbook of automated reasoning
Theoretical Computer Science
Nominal logic programming
Alpha-structural recursion and induction
Journal of the ACM (JACM)
On a monadic semantics for freshness
Theoretical Computer Science - Applied semantics: Selected topics
Ott: effective tool support for the working semanticist
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Nominal Techniques in Isabelle/HOL
Journal of Automated Reasoning
ACM Transactions on Programming Languages and Systems (TOPLAS)
Capture-avoiding substitution as a nominal algebra
Formal Aspects of Computing
Resolving Inductive Definitions with Binders in Higher-Order Typed Functional Programming
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Electronic Notes in Theoretical Computer Science (ENTCS)
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Avoiding equivariance in alpha-prolog
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
Hi-index | 0.00 |
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.