A Logic Programming Language Based on Binding Algebras
نویسنده
چکیده
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.
منابع مشابه
Speci cations based on DynamicAlgebrasAngelica
In 1988, Y. Gurevich proposed an approach to operational semantics, which is based on nite, dynamic algebras. Dynamic algebras are comprehensible, precise and universally applicable. E. BB orger recently presented a Dynamic Algebra Speciication of full Prolog. The main purpose of our work is a general concept for the implementation of dynamic algebras. We present a concrete language for Dynamic...
متن کاملOn the Completeness of Narrowing as the Operational Semantics of Functional Logic Programming
In our previous work Go&al 91] we used a restricted kind of applicative rewriting systems as computational model for higher-order (HO) lazy functional programming, and we proved soundness and completeness of innnite rewriting w.r.t. a declarative semantics, in the spirit of logic programming. The aim of this paper is to present similar results for functional logic programming. We model HO funct...
متن کاملHiord: A Type-Free Higher-Order Logic Programming Language with Predicate Abstraction
A new formalism, called Hiord, for defining type-free higherorder logic programming languages with predicate abstraction is introduced. A model theory, based on partial combinatory algebras, is presented, with respect to which the formalism is shown sound. A programming language built on a subset of Hiord, and its implementation are discussed. A new proposal for defining modules in this framewo...
متن کاملDesign and PLC Implementation for Speed Control of DC Motor using Fuzzy Logic
In this article, a speed control of DC motor is designed and illustrated using fuzzy logic-based programmable logic controller (PLC). The DC motor is an attractive part of electrical equipment in many industrial applications requiring variable speed and load specifications due to its ease of controllability. The designed system is consisted of three main parts including programmable logic contr...
متن کاملUniform Algebras: a Complete Semantics for the Hohh Logic of -prolog
The problem of nding sound and complete semantics for the logic underlying the lambda-Prolog programming language: Higher Order Hereditarily Harrop formulas with resolution (uniform) proofs has been open for over a decade. It is settled in this paper. Church's Simple Theory of Types introduced in 1940, is a classical theory: all instances of the excluded middle are derivable in it. A suitable i...
متن کامل