Results 1 -
9 of
9
Conjunctive Partial Deduction: Foundations, Control, Algorithms, and Experiments
- J. LOGIC PROGRAMMING
, 1999
"... ..."
Transformations of CLP Modules
- Theoretical Computer Science
, 1995
"... We propose a transformation system for Constraint Logic Programming (CLP) programs and modules. The framework is inspired by the one of Tamaki and Sato for pure logic programs [37]. However, the use of CLP allows us to introduce some new operations such as splitting and constraint replacement. We pr ..."
Abstract
-
Cited by 25 (6 self)
- Add to MetaCart
We propose a transformation system for Constraint Logic Programming (CLP) programs and modules. The framework is inspired by the one of Tamaki and Sato for pure logic programs [37]. However, the use of CLP allows us to introduce some new operations such as splitting and constraint replacement. We provide two sets of applicability conditions. The first one guarantees that the original and the transformed programs have the same computational behaviour, in terms of answer constraints. The second set contains more restrictive conditions that ensure compositionality: we prove that under these conditions the original and the transformed modules have the same answer constraints also when they are composed with other modules. This result is proved by first introducing a new formulation, in terms of trees, of a resultants semantics for CLP. As corollaries we obtain the correctness of both the modular and the non-modular system w.r.t. the least model semantics. AMS Subject Classification (1991)...
On The Correctness Of Unfold/fold Transformation Of Normal And Extended Logic Programs
- JOURNAL OF LOGIC PROGRAMMING
, 1995
"... ..."
A Compositional Semantics for Normal Open Programs
- Proc. of JICSLP
, 1996
"... In this paper we propose a semantics for first order modular (open) programs. Modular programs are built as a combination of separate modules, which may evolve separately, and be verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semanti ..."
Abstract
-
Cited by 14 (1 self)
- Add to MetaCart
In this paper we propose a semantics for first order modular (open) programs. Modular programs are built as a combination of separate modules, which may evolve separately, and be verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semantics of the whole program must be obtainable as a simple function from the semantics of its individual modules. In this paper we propose such a compositional semantics for first-order programs. This semantics is correct with respect to the set of logical consequences of the program. Moreover, -- in contrast with other approaches -- it is always computable. Furthermore, we show how our results on first-order programs may be applied in a straightforward way to normal logic programs, in which case our semantics might be regarded as a compositional counterpart of Kunen's semantics. Finally we discuss and show how these results have to be modified in order to be applied to normal CLP. 1 Introduct...
Logic Frameworks for Logic Programs
, 1994
"... . We show how logical frameworks can provide a basis for logic program synthesis. With them, we may use first-order logic as a foundation to formalize and derive rules that constitute program development calculi. Derived rules may be in turn applied to synthesize logic programs using higher-order re ..."
Abstract
-
Cited by 12 (7 self)
- Add to MetaCart
. We show how logical frameworks can provide a basis for logic program synthesis. With them, we may use first-order logic as a foundation to formalize and derive rules that constitute program development calculi. Derived rules may be in turn applied to synthesize logic programs using higher-order resolution during proof that programs meet their specifications. We illustrate this using Paulson's Isabelle system to derive and use a simple synthesis calculus based on equivalence preserving transformations. 1 Introduction Background In 1969 Dana Scott developed his Logic for Computable Functions and with it a model of functional program computation. Motivated by this model, Robin Milner developed the theorem prover LCF whose logic PP used Scott's theory to reason about program correctness. The LCF project [13] established a paradigm of formalizing a programming logic on a machine and using it to formalize different theories of functional programs (e.g., strict and lazy evaluation) and the...
Simultaneous Replacement in Normal Programs
, 1993
"... The simultaneous replacement transformation operation, is here defined and studied wrt normal programs. We give applicability conditions able to ensure the correctness of the operation wrt the set of logical consequences of the completed database. We consider separately the cases in which the underl ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
The simultaneous replacement transformation operation, is here defined and studied wrt normal programs. We give applicability conditions able to ensure the correctness of the operation wrt the set of logical consequences of the completed database. We consider separately the cases in which the underlying language is infinite and finite; in this latter case we also distinguish according to the kind of domain closure axioms adopted. As corollaries we obtain results for Fitting's and Kunen's semantics. We also show how simultaneous replacement can mimic other transformation operations such as thinning, fattening and folding, thus producing applicability conditions for them too.
Beyond Tamaki-Sato Style Unfold/Fold Transformations for Normal Logic Programs
- IN ASIAN, LNCS 1742
, 1999
"... Unfold/fold transformation systems for logic programs have been extensively investigated. Existing unfold/fold transformation systems for normal logic programs allow only Tamaki-Sato style folding using clauses from a previous program in the transformation sequence: i.e., they fold using a singl ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Unfold/fold transformation systems for logic programs have been extensively investigated. Existing unfold/fold transformation systems for normal logic programs allow only Tamaki-Sato style folding using clauses from a previous program in the transformation sequence: i.e., they fold using a single, non-recursive clause. In this paper we present a transformation system that permits folding in the presence of recursion, disjunction, as well as negation. We show that the transformations are correct with respect to various semantics of negation including the well-founded model and stable model semantics.
On the Correctness of the Replacement Operation for CLP Modules
, 1996
"... In this paper we study the replacement transformation for Constraint Logic Programming modules. We define new applicability conditions that guarantee the correctness of the operation also wrt module's composition: under these conditions, the original and the transformed modules have the same observa ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
In this paper we study the replacement transformation for Constraint Logic Programming modules. We define new applicability conditions that guarantee the correctness of the operation also wrt module's composition: under these conditions, the original and the transformed modules have the same observable properties also when they are composed with other modules. The applicability conditions are not bound to a specific notion of observable. Here we consider three distinct such notions. Two are operational and are based on the computed constraints; the third is the algebraic one based on the least model. We show that our transformation method can be applied in any of these distinct contexts, thus providing a parametric approach. 1 Introduction Constraint Logic Programming (CLP for short) is a powerful declarative programming paradigm in which constraints are primitive elements and the computation is specified by a logical inference rule. CLP has already been successfully employed in many ...
A Semantics for Modular General Logic Programs
- Theoretical Computer Science
, 1998
"... Modular programs are built as a combination of separate modules, which may be developed and verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semantics of the whole program must be obtainable as a simple function from the semantics of i ..."
Abstract
- Add to MetaCart
Modular programs are built as a combination of separate modules, which may be developed and verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semantics of the whole program must be obtainable as a simple function from the semantics of its individual modules. In the field of logic programming, the need for a compositional semantics has been long recognized, however, while for definite (i.e. negation-free) logic programs a few such semantics have been proposes, in the literature of normal logic programs (programs which employ the negation operator), compositionality has received scarce attention. This is mainly due to the fact that normal programs typically have a nonmonotonic behavior, which is difficult to fit in a compositional framework. Here we propose a declarative compositional semantics for general logic programs. First, a compositional semantics for first-order modules is presented and proven correct wrt the set of ...

