An Efficient Unification Algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
A Simply Typed Context Calculus with First-Class Environments
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
Abstract Syntax for Variable Binders: An Overview
CL '00 Proceedings of the First International Conference on Computational Logic
A Metalanguage for Programming with Bound Names Modulo Renaming
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
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
Term rewriting with variable binding: an initial algebra approach
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Nominal logic, a first order theory of names and binding
Information and Computation - TACS 2001
Theoretical Computer Science
An initial algebra approach to term rewriting systems with variable binders
Higher-Order and Symbolic Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
We give a logic programming language based on Fiore, Plotkin and Turi's binding algebras.In this language, we can use not only first-order terms but also terms involving variable binding.The aim of this language is similar to Nadathur and Miller's 驴Prolog, which can also deal with binding structure by introducing 驴-terms in higher-order logic. But the notion of binding used here is finer in a sense than the usual 驴-binding. We explicitly manage names used for binding and treat 驴-conversion with respect to them. Also an important difference is the form of application related to 脽-conversion, i.e. we only allow the form (M x), where x is a (object) variable, instead of usual application (M N). This notion of binding comes from the semantics of binding by the category of presheaves. We firstly give a type theory which reflects this categorical semantics. Then we proceed along the line of first-order logic programming language, namely, we give a logic of this language, an operational semantics by SLD-resolution and unification algorithm for binding terms.