Results 1 
8 of
8
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 20 (3 self)
 Add to MetaCart
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...
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 8 (4 self)
 Add to MetaCart
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...
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 6 (3 self)
 Add to MetaCart
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.
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
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 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 1 (1 self)
 Add to MetaCart
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.
An algebraic presentation of predicate logic (extended abstract)
"... Abstract. We present an algebraic theory for a fragment of predicate logic. The fragment has disjunction, existential quantification and equality. It is not an algebraic theory in the classical sense, but rather within a new framework that we call ‘parameterized algebraic theories’. We demonstrate t ..."
Abstract
 Add to MetaCart
Abstract. We present an algebraic theory for a fragment of predicate logic. The fragment has disjunction, existential quantification and equality. It is not an algebraic theory in the classical sense, but rather within a new framework that we call ‘parameterized algebraic theories’. We demonstrate the relevance of this algebraic presentation to computer science by identifying a programming language in which every type carries a model of the algebraic theory. The result is a simple functional logic programming language. We provide a syntaxfree representation theorem which places terms in bijection with sieves, a concept from category theory. We study presentationinvariance for general parameterized algebraic theories by providing a theory of clones. We show that parameterized algebraic theories characterize a class of enriched monads. 1