Results 1 - 10
of
12
D'ej`a vu in fixpoints of logic programs
- in Proceedings of the North American Conference on Logic Programming
, 1989
"... We investigate properties of logic programs that permit refinements in their fixpoint evaluation and shed light on the choice of control strategy. A fundamental aspect of a bottom-up computation is that we must constantly check to see if the fixpoint has been reached. If the computation iteratively ..."
Abstract
-
Cited by 25 (4 self)
- Add to MetaCart
We investigate properties of logic programs that permit refinements in their fixpoint evaluation and shed light on the choice of control strategy. A fundamental aspect of a bottom-up computation is that we must constantly check to see if the fixpoint has been reached. If the computation iteratively applies all rules, bottom-up, until the fixpoint is reached, this amounts to checking if any new facts were produced after each iteration. Such a check also enhances efficiency in that duplicate facts need not be re-used in subsequent iterations, if we use the Seminaive fixpoint evaluation strategy. However, the cost of this check is a significant component of the cost of bottom-up fixpoint evaluation, and for many programs the full check is unnecessary. We identify properties of programs that enable us to infer that a much simpler check (namely, whether any fact was produced in the previous iteration) suffices. While it is in general undecidable whether a given program has these properties, we develop techniques to test sufficient conditions, and we illustrate these techniques on some simple programs that have these properties. The significance of our results lies in the significantly larger class of programs for which bottom-up evaluation methods, enhanced with the optimizations that we propose, become competitive with standard (top-down) implementations of logic programs. This increased efficiency is achieved without compromising the completeness of the bottom-up approach; this is in contrast to the incompleteness that accompanies the depth-first search strategy that is central to most top-down implementations.
A typed foundation for directional logic programming
- In Proc. Workshop on Extensions to Logic Programming
, 1992
"... Abstract. A long standing problem in logic programming is how to impose directionality on programs in a safe fashion. The benefits of directionality include freedom from explicit sequential control, the ability to reason about algorithmic properties of programs (such as termination, complexity and d ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
Abstract. A long standing problem in logic programming is how to impose directionality on programs in a safe fashion. The benefits of directionality include freedom from explicit sequential control, the ability to reason about algorithmic properties of programs (such as termination, complexity and deadlock-freedom) and controlling concurrency. By using Girard’s linear logic, we are able to devise a type system that combines types and modes into a unified framework, and enables one to express directionality declaratively. The rich power of the type system allows outputs to be embedded in inputs and vice versa. Type checking guarantees that values have unique producers, but multiple consumers are still possible. From a theoretical point of view, this work provides a “logic programming interpretation ” of (the proofs of) linear logic, adding to the concurrency and functional programming interpretations that are already known. It also brings logic programming into the broader world of typed languages and types-as-propositions paradigm, enriching it with static scoping and higher-order features.
Disjunctive Logic Programming: A Survey And Assessment
, 2002
"... We describe the elds of disjunctive logic programming and disjunctive deductive databases from the time of their inception to the current time. Contributions with respect to semantics, implementations and applications are surveyed. ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
We describe the elds of disjunctive logic programming and disjunctive deductive databases from the time of their inception to the current time. Contributions with respect to semantics, implementations and applications are surveyed.
A Compositional Proof Method of Partial Correctness for Normal Logic Programs with an application to Gödel
- B , 12th Int. Logic Programming Symp
, 1995
"... This report presents a new proof method of partial correctness for logic programs with negation based on a proof modularity. We prove in a compositional way that Fitting's or the well-founded semantics of the program is included in a specification. We give conditions for an abstract semantics to be ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
This report presents a new proof method of partial correctness for logic programs with negation based on a proof modularity. We prove in a compositional way that Fitting's or the well-founded semantics of the program is included in a specification. We give conditions for an abstract semantics to be compositional and we base our proof method on this property. We present also conservative but compositional extensions of Fitting's and of the well-founded semantics. As an illustration, an application is made to the module system of the Godel language. Moreover, our method is suitable for incremental validation since it does not require all parts of the program to be implemented. This document is an extended version of [9] which incorporates the missing proofs and a counter-example. R'esum'e Ce rapport pr'esente une nouvelle m'ethode de preuve de correction partielle pour des programmes logiques avec n'egation bas'ee sur des preuves modulaires. Nous montrons de fa¸con compositionelle que ...
From Concurrent Logic Programming to Concurrent Constraint Programming
- Programming, in: Advances in Logic Programming Theory
, 1993
"... The endeavor to extend logic programming to a language suitable for concurrent systems has stimulated in the last decade an intensive research, resulting in a large variety of proposals. A common feature of the various approaches is the attempt to define mechanisms for concurrency within the logical ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
The endeavor to extend logic programming to a language suitable for concurrent systems has stimulated in the last decade an intensive research, resulting in a large variety of proposals. A common feature of the various approaches is the attempt to define mechanisms for concurrency within the logical paradigm, the driving ideal being the balance between expressiveness and declarative reading. In this survey we present the motivations, the principal lines along which the field has developed, the various paradigms which have been proposed, and the main approaches to the semantic foundations. 1 Introduction Among the various reasons which have contributed to the popularity of logic programming, one is the opinion that it is an inherently parallel language, therefore suitable for parallel and distributed architectures. The pure language can already be regarded as a model for parallel computation: in the so-called process interpretation (van Emden and de Lucena 1982; Shapiro 1983), the goal...
Uniform Closures: Order-Theoretically Reconstructing Logic Program Semantics and Abstract Domain Refinement
- Inform. and Comput
, 1998
"... Domain Refinements Roberto Giacobazzi Dipartimento di Informatica Universit`a di Pisa Corso Italia 40, 56125 Pisa, Italy giaco@di.unipi.it Francesco Ranzato Dipartimento di Matematica Pura ed Applicata Universit`a di Padova Via Belzoni 7, 35131 Padova, Italy franz@math.unipd.it Abstract The no ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
Domain Refinements Roberto Giacobazzi Dipartimento di Informatica Universit`a di Pisa Corso Italia 40, 56125 Pisa, Italy giaco@di.unipi.it Francesco Ranzato Dipartimento di Matematica Pura ed Applicata Universit`a di Padova Via Belzoni 7, 35131 Padova, Italy franz@math.unipd.it Abstract The notion of uniform closure operator is introduced, and it is shown how this concept surfaces in two different areas of application of abstract interpretation, notably in semantics design for logic programs and in the theory of abstract domain refinements. In logic programming, uniform closures permit to generalize, from an order-theoretic perspective, the standard hierarchy of declarative semantics. In particular, we show how to reconstruct the modeltheoretic characterization of the well-known s-semantics using pure order-theoretic concepts only. As far as the systematic refinement operators on abstract domains are concerned, we show that uniform closures capture precisely the property of a ref...
Compositional Logic Programming
- In Proceedings of the JICSLP'96 post-conference workshop: Multi-paradigm logic programming, Report 96-28. Technische Universitat
, 2000
"... Relational program derivation has gathered momentum over the last decade with the development of many specification logics. However, before such relational specifications can be executed in existing programming languages, they must be carefully phrased to respect the evaluation order of the langu ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Relational program derivation has gathered momentum over the last decade with the development of many specification logics. However, before such relational specifications can be executed in existing programming languages, they must be carefully phrased to respect the evaluation order of the language. In turn, this requirement inhibits the rapid prototyping of specifications in a relational notation. The aim of this thesis is to bridge the gap between the methodology and practice of relational program derivation by realising a compositional style of logic programming that permits specifications to be phrased naturally and executed declaratively.
Value constraints in the CLP scheme
- Constraints
, 1995
"... We define value constraints, a method for incorporating constraint propagation into logic programming. It is a subscheme of the CLP scheme and is applicable wherever one has an efficient method for representing sets of possible values. As examples we present: small finite sets, sets of ground instan ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
We define value constraints, a method for incorporating constraint propagation into logic programming. It is a subscheme of the CLP scheme and is applicable wherever one has an efficient method for representing sets of possible values. As examples we present: small finite sets, sets of ground instances of a term, and intervals of reals with floating-point numbers as bounds. Value constraints are defined by distinguishing two storage management strategies in the CLP scheme. In value constraints the infer step of the CLP scheme is implemented by Waltz filtering. We give a semantics for value constraints in terms of set algebra that gives algebraic characterizations of local and global consistency. the existing extremal fixpoint characterization of chaotic iteration is shown to be applicable to prove convergence of Waltz filtering. Postscript version
An efficient validation mechanism for Inductive Logic Programming using compositionality
, 1995
"... Inductive Logic Programming, which consists in learning clauses from examples, can be viewed as a cycle conception/validation leading to the acceptance of the induced program provided that it fulfills a certain criterion. We focus on the validation step in the context of empirical multi-predicate le ..."
Abstract
- Add to MetaCart
Inductive Logic Programming, which consists in learning clauses from examples, can be viewed as a cycle conception/validation leading to the acceptance of the induced program provided that it fulfills a certain criterion. We focus on the validation step in the context of empirical multi-predicate learning of normal clauses. Thanks to a compositional semantics, the classical validation step of the complete induced program can be replaced by the verification of local properties for a cut out into units, considerably limiting the usual combinatorial explosion. Moreover, we provide a semantics-preservative transformation which allows to simplify the program and provides a further refinement of the cut out. R'esum'e La Programmation Logique Inductive consiste `a apprendre des clauses `a partir d'exemples et peut etre vue comme un cycle conception/validation menant `a l'acceptation du programme induit d`es qu'il satisfait un certain crit`ere. Nous nous int'eressons plus particuli`erement `...

