A Logic Programming Language Based on Binding Algebras
A Logic Programming Language Based on Binding Algebras
复制标题
基于绑定代数的逻辑编程语言
DOI:
10.1007/3-540-45500-0_12
复制
发表时间:
2001
期刊:
影响因子:
--
通讯作者:
M. Hamana
中科院分区:
文献类型:
--
作者:
M. Hamana
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.