Results 1  10
of
12
Algebra of logic programming
 International Conference on Logic Programming
, 1999
"... At present, the field of declarative programming is split into two main areas based on different formalisms; namely, functional programming, which is based on lambda calculus, and logic programming, which is based on firstorder logic. There are currently several language proposals for integrating th ..."
Abstract

Cited by 24 (4 self)
 Add to MetaCart
(Show Context)
At present, the field of declarative programming is split into two main areas based on different formalisms; namely, functional programming, which is based on lambda calculus, and logic programming, which is based on firstorder logic. There are currently several language proposals for integrating the expressiveness of these two models of computation. In this thesis we work towards an integration of the methodology from the two research areas. To this end, we propose an algebraic approach to reasoning about logic programs, corresponding to the approach taken in functional programming. In the first half of the thesis we develop and discuss a framework which forms the basis for our algebraic analysis and transformation methods. The framework is based on an embedding of definite logic programs into lazy functional programs in Haskell, such that both the declarative and the operational semantics of the logic programs are preserved. In spite of its conciseness and apparent simplicity, the embedding proves to have many interesting properties and it gives rise to an algebraic semantics of logic programming. It also allows us to reason about logic programs in a simple calculational style, using rewriting and the algebraic laws of combinators. In the embedding, the meaning of a logic program arises compositionally from the meaning of its constituent subprograms and the combinators that connect them. In the second half of the thesis we explore applications of the embedding to the algebraic transformation of logic programs. A series of examples covers simple program derivations, where our techniques simplify some of the current techniques. Another set of examples explores applications of the more advanced program development techniques from the Algebra of Programming by Bird and de Moor [18], where we expand the techniques currently available for logic program derivation and optimisation. To my parents, Sandor and Erzsebet. And the end of all our exploring Will be to arrive where we started And know the place for the first time.
On the Structure of Highlevel Nets
 Helsinki University of Technology
, 1995
"... : The structure of Highlevel nets is studied from an algebraic and a logical point of view using Algebraic nets as an example. First the category of Algebraic nets is defined and the semantics given through an unfolding construction. Other kinds of Highlevel net formalisms are then presented. It is ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
: The structure of Highlevel nets is studied from an algebraic and a logical point of view using Algebraic nets as an example. First the category of Algebraic nets is defined and the semantics given through an unfolding construction. Other kinds of Highlevel net formalisms are then presented. It is shown that nets given in these formalisms can be transformed into equivalent Algebraic nets. Then the semantics of nets in terms of universal constructions is discussed. A definition of Algebraic nets in terms of structured transition systems is proposed. The semantics of the Algebraic net is then given as a free completion of this structured transition system to a category. As an alternative also a sheaf semantics of nets is examined. Here the semantics of the net arises as a limit of a diagram of sheaves. Next Algebraic nets are characterized as encodings of special morphisms called foldings. Each algebraic net gives rise to a surjective morphism between Petri nets and conversely each sur...
A New Framework for Declarative Programming
, 2001
"... We propose a new indexedcategory syntax and semantics of Weak Hereditarily Harrop logic programming with constraints, based on resolution over taucategories:finite product categories with canonical structure. ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
(Show Context)
We propose a new indexedcategory syntax and semantics of Weak Hereditarily Harrop logic programming with constraints, based on resolution over taucategories:finite product categories with canonical structure.
Logic Programming in Tau Categories
 in Computer Science Logic '94 , LNCS 933
, 1995
"... Many features of current logic programming languages are not captured by conventional semantics. Their fundamentally nonground character, and the uniform way in which such languages have been extended to typed domains, subject to constraints, suggest that a categorical treatment of constraint domai ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
(Show Context)
Many features of current logic programming languages are not captured by conventional semantics. Their fundamentally nonground character, and the uniform way in which such languages have been extended to typed domains, subject to constraints, suggest that a categorical treatment of constraint domains, of programming syntax and of semantics may be closer in spirit to what declarative programming is really about, than conventional settheoretic semantics. We generalize the notion of a (manysorted) logic program and of a resolution proof, by defining them both over a (not necessarily free) category C , a category with products enriched with a mechanism for canonically manipulating nary relations [8]. Computing over this domain includes computing over the Herbrand Universe, and over equationally presented constraint domains as special cases. We give a categorical treatment of the fixpoint semantics of Kowalski and van Emden, which establishes completeness in a very general setting. 1 In...
Coalgebraic semantics for derivations in logic programming
 In CALCO’11
, 2011
"... Abstract. Every variablefree logic program induces a PfPfcoalgebra on the set of atomic formulae in the program. The coalgebra p sends an atomic formula A to the set of the sets of atomic formulae in the antecedent of each clause for which A is the head. In an earlier paper, we identified a variab ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
(Show Context)
Abstract. Every variablefree logic program induces a PfPfcoalgebra on the set of atomic formulae in the program. The coalgebra p sends an atomic formula A to the set of the sets of atomic formulae in the antecedent of each clause for which A is the head. In an earlier paper, we identified a variablefree logic program with a PfPfcoalgebra on Set and showed that, if C(PfPf) is the cofree comonad on PfPf, then given a logic program P qua PfPfcoalgebra, the corresponding C(PfPf)coalgebra structure describes the parallel andor derivation trees of P. In this paper, we extend that analysis to arbitrary logic programs. That requires a subtle analysis of lax natural transformations between Posetvalued functors on a Lawvere theory, of locally ordered endofunctors and comonads on locally ordered categories, and of coalgebras, oplax maps of coalgebras, and the relationships between such for locally ordered endofunctors and the cofree comonads on them.
Coalgebraic Semantics for Parallel Derivation Strategies in Logic Programming
"... Abstract. Logic programming, a class of programming languages based on firstorder logic, provides simple and efficient tools for goaloriented proofsearch. Logic programming supports recursive computations, and some logic programs resemble the inductive or coinductive definitions written in functi ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
(Show Context)
Abstract. Logic programming, a class of programming languages based on firstorder logic, provides simple and efficient tools for goaloriented proofsearch. Logic programming supports recursive computations, and some logic programs resemble the inductive or coinductive definitions written in functional programming languages. In this paper, we give a coalgebraic semantics to logic programming. We show that ground logic programs can be modelled by either Pf Pfcoalgebras or Pf Listcoalgebras on Set. We analyse different kinds of derivation strategies and derivation trees (prooftrees, SLDtrees, andor parallel trees) used in logic programming, and show how they can be modelled coalgebraically.
Some Notes on Logic Programming with a Relational Machine (Extended Abstract)
 Relational Methods in Computer Science, Technical Report Nr. 199803
, 1998
"... James Lipton Dept. of Mathematics Wesleyan University Emily Chapman Dept. of Mathematics Wesleyan University Abstract We study the use of relation calculi for compilation and execution of Horn Clause programs with an extended notion of input and output. We consider various other extensions to the Pr ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
James Lipton Dept. of Mathematics Wesleyan University Emily Chapman Dept. of Mathematics Wesleyan University Abstract We study the use of relation calculi for compilation and execution of Horn Clause programs with an extended notion of input and output. We consider various other extensions to the Prolog core.
Encapsulating data in Logic Programming via Categorical Constraints
 Meinke (Eds.), Principles ofDeclarative Programming, Lecture Notes in Computer Sciences
, 1998
"... We define a framework for writing executable declarative specifications which incorporate categorical constraints on data, Horn Clauses and datatype specification over finiteproduct categories. We construct a generic extension of a base syntactic category of constraints in which arrows correspond t ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
We define a framework for writing executable declarative specifications which incorporate categorical constraints on data, Horn Clauses and datatype specification over finiteproduct categories. We construct a generic extension of a base syntactic category of constraints in which arrows correspond to resolution proofs subject to the specified data constraints. 1 Introduction Much of the research in logic programming is aimed at expanding the expressive power and efficiency of declarative languages without compromising the logical transparency commitment: programs should (almost) read like specifications. One approach is to place more expressive power and more of the control components into the logic itself, possibly by expanding the scope of the underlying mathematical formalism. This has been the goal of constraint logic programming (CLP, Set constraints, Prolog III), and extensions to higherorder and linear logic, to name a few such efforts. This paper is a step in this direction. ...
Coalgebraic Logic Programming: implicit versus explicit resource handling
"... Abstract. We compare approaches to implicit and explicit resource handling in coinductive and concurrent logic programming. We show various effects that implicit and explicit handling of resources have on implementation and semantics. In particular, we show that recently introduced coalgebraic logi ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We compare approaches to implicit and explicit resource handling in coinductive and concurrent logic programming. We show various effects that implicit and explicit handling of resources have on implementation and semantics. In particular, we show that recently introduced coalgebraic logic programming [17] is a paradigm in which, in contrast to many other alternative systems, the aspects of logic and control are intertwined, and computational resources are handled implicitly.
Towards a Relational Programming Language
, 1995
"... Until recently, the art of deriving computer programs from specification has been performed equationally in a functional calculus. However, it has become evident that a relational calculus affords us a greater degree of expression and flexibility in both specification and proof since a relational ca ..."
Abstract
 Add to MetaCart
(Show Context)
Until recently, the art of deriving computer programs from specification has been performed equationally in a functional calculus. However, it has become evident that a relational calculus affords us a greater degree of expression and flexibility in both specification and proof since a relational calculus naturally captures the notions of nondeterminism along with function converses. Unfortunately, no language exists in which we can directly execute relational expressions. Moreover, those candidate languages most likely to support an implementation of a relational calculus suffer from an inelegant or complicated evaluation model. This dissertation examines the suitability of these languages for supporting an implementation of relations and proposes a novel computational strategy for a relational language based on the category theory of relations. CONTENTS i Contents 1 Introduction 1 2 A Calculus of Relations 2 2.1 Basic Relational Operators \Delta \Delta \Delta \Delta \Delta \Del...