Semantics of programming languages: structures and techniques
Semantics of programming languages: structures and techniques
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
Higher order operational techniques in semantics
Higher order operational techniques in semantics
Operational equivalences for untyped and polymorphic object calculi
Higher order operational techniques in semantics
Relational reasoning about contexts
Higher order operational techniques in semantics
Operational Semantics and Program Equivalence
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
A Metalanguage for Programming with Bound Names Modulo Renaming
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
Handbook of automated reasoning
FreshML: programming with binders made simple
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Nominal logic, a first order theory of names and binding
Information and Computation - TACS 2001
Theoretical Computer Science
Scrap your nameplate: (functional pearl)
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
A formal treatment of the barendregt variable convention in rule inductions
Proceedings of the 3rd ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding
Alpha-structural recursion and induction
Journal of the ACM (JACM)
On a monadic semantics for freshness
Theoretical Computer Science - Applied semantics: Selected topics
Fresh O'Caml: Nominal Abstract Syntax for the Masses
Electronic Notes in Theoretical Computer Science (ENTCS)
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
A recursion combinator for nominal datatypes implemented in Isabelle/HOL
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Mechanized metatheory for the masses: the PoplMark challenge
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
This paper is concerned with a programming language construct for typed name binding that enforces αequivalence. It proves a new result about what operations on names can co-exist with this construct. The particular form of typed name binding studied is that used by the FreshML family of languages. Its characteristic feature is that a name binding is represented by an abstract (name,value)-pair that may only be deconstructed via the generation of fresh bound names. In FreshML the only observation one can make of names is to test whether or not they are equal. This restricted amount of observation was thought necessary to ensure that there is no observable difference between αequivalent name binders. Yet from an algorithmic point of view it would be desirable to allow other operations and relations on names, such as a total ordering. This paper shows that, contrary to expectations, one may add not just ordering, but almost any relation or numerical function on names without disturbing the fundamental correctness result about this form of typed name binding (that object-level αequivalence precisely corresponds to contextual equivalence at the programming meta-level), so long as one takes the state of dynamically created names into account.