Results 1 -
6 of
6
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 High-level Nets
- Helsinki University of Technology
, 1995
"... : The structure of High-level 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 High-level 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 non-ground 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 6 (4 self)
- Add to MetaCart
Many features of current logic programming languages are not captured by conventional semantics. Their fundamentally non-ground 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 (many-sorted) 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 n-ary 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 indexed-category syntax and semantics of Weak Hereditarily Harrop logic programming with constraints, based on resolution over tau-categories:finite product categories with canonical structure. ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
We propose a new indexed-category syntax and semantics of Weak Hereditarily Harrop logic programming with constraints, based on resolution over tau-categories: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. 1998-03
, 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 finite-product 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 finite-product 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 higher-order and linear logic, to name a few such efforts. This paper is a step in this direction. ...

