PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
The foundation of a generic theorem prover
Journal of Automated Reasoning
Elf: a language for logic definition and verified metaprogramming
Proceedings of the Fourth Annual Symposium on Logic in computer science
A framework for defining logics
Journal of the ACM (JACM)
Unification under a mixed prefix
Journal of Symbolic Computation
A notation for lambda terms. A generalization of environment
Theoretical Computer Science
Higher-Order Logic Programming
Proceedings of the Third International Conference on Logic Programming
Abstract Syntax and Logic Programming
Proceedings of the First Russian Conference on Logic Programming
Higher-Order Abstract Syntax with Induction in Coq
LPAR '94 Proceedings of the 5th International Conference on Logic Programming and Automated Reasoning
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Primitive Recursion for Higher-Order Abstract Syntax
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
The Practice of Logical Frameworks
CAAP '96 Proceedings of the 21st International Colloquium on Trees in Algebra and Programming
Higher-order Unification via Explicit Substitutions
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
A New Approach to Abstract Syntax Involving Binders
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Semantical Analysis of Higher-Order Abstract Syntax
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Abstract Syntax and Variable Binding
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Some uses of higher-order logic in computational linguistics
ACL '86 Proceedings of the 24th annual meeting on Association for Computational Linguistics
Compiler Construction in Higher Order Logic Programming
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Equivariant Syntax and Semantics
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
FST TCS '02 Proceedings of the 22nd Conference Kanpur on Foundations of Software Technology and Theoretical Computer Science
Using Linear Logic to Reason about Sequent Systems
TABLEAUX '02 Proceedings of the International Conference on Automated Reasoning with Analytic Tableaux and Related Methods
A Logic Programming Language Based on Binding Algebras
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
The Bedwyr System for Model Checking over Syntactic Expressions
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
The Abella Interactive Theorem Prover (System Description)
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
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
Information and Computation
Reasoning about computations using two-levels of logic
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
The Use of Embeddings to Provide a Clean Separation of Term and Annotation for Higher Order Rippling
Journal of Automated Reasoning
Representing and reasoning with operational semantics
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
A Two-Level Logic Approach to Reasoning About Computations
Journal of Automated Reasoning
Hi-index | 0.00 |
A large variety of computing systems, such as compilers, interpreters, static analyzers, and theorem provers, need to manipulate syntactic objects like programs, types, formulas, and proofs. A common characteristic of these syntactic objects is that they contain variable binders, such as quantifiers, formal parameters, and blocks. It is a common observation that representing such binders using only first-order expressions is problematic since the notions of bound variable names, free and bound occurrences, equality up to alpha-conversion, substitution, etc., are not addressed naturally by the structure of first-order terms (labeled trees). This overview describes a higher-level and more declarative approach to representing syntax within such computational systems. In particular, we shall focus on a representation of syntax called higher-order abstract syntax and on a more primitive version of that representation called λ-tree syntax.