PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
The Definition of Standard ML
Introduction to Automata Theory, Languages and Computability
Introduction to Automata Theory, Languages and Computability
Programming in PROLOG
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
The pi-Calculus as a Theory in Linear Logic: Preliminary Results
ELP '92 Proceedings of the Third International Workshop on Extensions of Logic Programming
A Proof Theory for Generic Judgments: An extended abstract
LICS '03 Proceedings of the 18th Annual IEEE Symposium on Logic in Computer Science
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
A Sequent Calculus for Nominal Logic
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
Theoretical Computer Science
Scrap your nameplate: (functional pearl)
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Multi-level meta-reasoning with higher-order abstract syntax
FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
A simpler proof theory for nominal logic
FOSSACS'05 Proceedings of the 8th international conference on Foundations of Software Science and Computation Structures
Mechanized meta-reasoning using a hybrid HOAS/de bruijn representation and reflection
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Abstract Syntax: Substitution and Binders
Electronic Notes in Theoretical Computer Science (ENTCS)
Category Theoretic Semantics for Typed Binding Signatures with Recursion
Fundamenta Informaticae - Logic for Pragmatics
Binding in Nominal Equational Logic
Electronic Notes in Theoretical Computer Science (ENTCS)
General bindings and alpha-equivalence in nominal Isabelle
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Category Theoretic Semantics for Typed Binding Signatures with Recursion
Fundamenta Informaticae - Logic for Pragmatics
Generalised name abstraction for nominal sets
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
Hi-index | 0.00 |
High-level formalisms for reasoning about names and binding such as de Bruijn indices, various flavors of higher-order abstract syntax, the Theory of Contexts, and nominal abstract syntax address only one relatively restrictive form of scoping: namely, unary lexical scoping, in which the scope of a (single) bound name is a subtree of the abstract syntax tree (possibly with other subtrees removed due to shadowing). Many languages exhibit binding or renaming structure that does not fit this mold. Examples include binding transitions in the π-calculus; unique identifiers in contexts, memory heaps, and XML documents; declaration scoping in modules and namespaces; anonymous identifiers in automata, type schemes, and Horn clauses; and pattern matching and mutual recursion constructs in functional languages. In these cases, it appears necessary to either rearrange the abstract syntax so that lexical scoping can be used, or revert to first-order techniques.The purpose of this paper is to catalogue these "exotic" binding, renaming, and structural congruence situations; to argue that lexical scoping-based syntax techniques are sometimes either inappropriate or incapable of assisting in such situations; and to outline techniques for formalizing and proving properties of languages with more general forms of renaming and other structural congruences.