Results 1  10
of
17
Logic Programming and Negation: A Survey
 JOURNAL OF LOGIC PROGRAMMING
, 1994
"... We survey here various approaches which were proposed to incorporate negation in logic programs. We concentrate on the prooftheoretic and modeltheoretic issues and the relationships between them. ..."
Abstract

Cited by 268 (8 self)
 Add to MetaCart
We survey here various approaches which were proposed to incorporate negation in logic programs. We concentrate on the prooftheoretic and modeltheoretic issues and the relationships between them.
Reasoning about Termination of Pure Prolog Programs
 Information and Computation
, 1993
"... We provide a theoretical basis for studying termination of (general) logic programs with the Prolog selection rule. To this end we study the class of left terminating programs. These are logic programs that terminate with the Prolog selection rule for all ground goals. We offer a characterization of ..."
Abstract

Cited by 129 (14 self)
 Add to MetaCart
(Show Context)
We provide a theoretical basis for studying termination of (general) logic programs with the Prolog selection rule. To this end we study the class of left terminating programs. These are logic programs that terminate with the Prolog selection rule for all ground goals. We offer a characterization of left terminating positive programs by means of the notion of an acceptable program that provides us with a practical method of proving termination. The method is illustrated by giving a simple proof of termination of the quicksort program for the desired class of goals. Then we extend this approach to the class of general logic programs by modifying the concept of acceptability. We prove that acceptable general programs are left terminating. The converse implication does not hold but we show that under the assumption of nonfloundering from ground goals every left terminating general program is acceptable. Finally, we prove that various ways of defining semantics coincide for acceptable gen...
SSemantics Approach: Theory and Applications
, 1994
"... The paper is a general overview of an approach to the semantics of logic programs whose aim is finding notions of models which really capture the operational semantics, and are therefore useful for defining program equivalences and for semanticsbased program analysis. The approach leads to the intr ..."
Abstract

Cited by 123 (28 self)
 Add to MetaCart
The paper is a general overview of an approach to the semantics of logic programs whose aim is finding notions of models which really capture the operational semantics, and are therefore useful for defining program equivalences and for semanticsbased program analysis. The approach leads to the introduction of extended interpretations which are more expressive than Herbrand interpretations. The semantics in terms of extended interpretations can be obtained as a result of both an operational (topdown) and a fixpoint (bottomup) construction. It can also be characterized from the modeltheoretic viewpoint, by defining a set of extended models which contains standard Herbrand models. We discuss the original construction modeling computed answer substitutions, its compositional version and various semantics modeling more concrete observables. We then show how the approach can be applied to several extensions of positive logic programs. We finally consider some applications, mainly in the area of semanticsbased program transformation and analysis.
SLDNFA: an abductive procedure for abductive logic programs
, 1997
"... We present SLDNFA, an extension of SLDNFresolution for abductive reasoning on abductive logic programs. SLDNFA solves the floundering abduction problem: nonground abductive atoms can be selected. SLDNFA provides also a partial solution for the floundering negation problem. Different abductive a ..."
Abstract

Cited by 55 (13 self)
 Add to MetaCart
We present SLDNFA, an extension of SLDNFresolution for abductive reasoning on abductive logic programs. SLDNFA solves the floundering abduction problem: nonground abductive atoms can be selected. SLDNFA provides also a partial solution for the floundering negation problem. Different abductive answers can be derived from an SLDNFArefutation; these answers provide different compromises between generality and comprehensibility. Two extensions of SLDNFA are proposed which satisfy stronger completeness results. The soundness of SLDNFA and its extensions is proven. Their completeness for minimal solutions with respect to implication, cardinality and set inclusion is investigated. The formalisation of SLDNFA presented here is an update of an older version presented in [13] and does not rely on skolemisation of abductive atoms. 1
A New Definition of SLDNFresolution
, 1992
"... We propose a new, "topdown" definition of SLDNFresolution which retains the spirit of the original definition but avoids the difficulties noted in the literature. We compare it with the "bottomup" definition of Kunen [Kun89]. 1 The problem The notion of SLDresolution of Kowa ..."
Abstract

Cited by 39 (7 self)
 Add to MetaCart
We propose a new, "topdown" definition of SLDNFresolution which retains the spirit of the original definition but avoids the difficulties noted in the literature. We compare it with the "bottomup" definition of Kunen [Kun89]. 1 The problem The notion of SLDresolution of Kowalski [Kow74] allows us to resolve only positive literals. As a result it is not adequate to compute with general programs. Clark [Cla79] proposed to incorporate the negation as finite failure rule. This leads to an extension of SLDresolution called SLDNFresolution. The intuition behind it is quite simple: for a ground atom A, :A succeeds iff A finitely fails, :A finitely fails iff A succeeds. (The restriction to ground atoms was originally introduced to ensure soundness of SLDNFresolution. ) However, this intuition is difficult to formalize. For example, consider the general program P = fA /Ag. The query :A neither succeeds nor finitely fails, since the query A neither succeeds nor finitely fails. So it is...
Declarative programming in Prolog
 Logic Programming, Proc. ILPS'93
, 1993
"... We try to assess to what extent declarative programming can be realized in Prolog and which aspects of correctness of Prolog programs can be dealt with by means of declarative interpretation. More specifically, we discuss termination of Prolog programs, partial correctness, absence of errors and the ..."
Abstract

Cited by 22 (3 self)
 Add to MetaCart
(Show Context)
We try to assess to what extent declarative programming can be realized in Prolog and which aspects of correctness of Prolog programs can be dealt with by means of declarative interpretation. More specifically, we discuss termination of Prolog programs, partial correctness, absence of errors and the safe use of negation.
Program Verification and Prolog
 Specification and Validation Methods for Programming Languages and Systems
, 1994
"... We show here that verification of Prolog programs can be systematically carried out within a simple framework which comprises syntactic analysis, declarative semantics, modes and types. We apply these techniques to study termination, partial correctness, occurcheck freedom, absence of errors and abs ..."
Abstract

Cited by 15 (3 self)
 Add to MetaCart
(Show Context)
We show here that verification of Prolog programs can be systematically carried out within a simple framework which comprises syntactic analysis, declarative semantics, modes and types. We apply these techniques to study termination, partial correctness, occurcheck freedom, absence of errors and absence of floundering. Finally, we discuss which aspects of these techniques can be automated. Notes. This research was partly supported by the ESPRIT Basic Research Action 6810 (Compulog 2). A preliminary, shorter, version of this paper appeared as Apt [3]. 1 Introduction 1.1 Motivation Prolog is 20 years old and so is logic programming. However, they were developed separately and these two developments never really merged. The first track is best exemplified by Sterling and Shapiro [36], which puts emphasis on programming style and techniques, and the second by Lloyd [25], which concentrates on the theoretical foundations. As a result of these separate developments, until recently little...
Completeness Of SLDNFResolution For NonFloundering Queries
, 1994
"... this paper we show that SLDNFresolution is complete for nonfloundering goals under some natural conditions concerning fairness. The novelty of our approach is that we relate the completeness directly to nonfloundering and we deal with arbitrary normal programs and goals. The paper is organized as ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
this paper we show that SLDNFresolution is complete for nonfloundering goals under some natural conditions concerning fairness. The novelty of our approach is that we relate the completeness directly to nonfloundering and we deal with arbitrary normal programs and goals. The paper is organized as follows. The next section contains the outline of the paper. Section 3 presents the concepts necessary for our work. Among others we need a constraint representation of resolution where instead of applying mgu's the corresponding equations are added to the goals. That section also presents SLDFAresolution [Dra95] which is a generalization of SLDNFresolution for constructive negation. A completeness result for SLDFAresolution [Dra95] is a starting point for our work. The next two sections introduce SLDNF1resolution and discuss floundering. SLDNF1resolution can be seen as an alternative definition of SLDNFresolution. We introduce it in order to be able to deal with fairness. Section 6 presents our completeness results for SLDNF1resolution and for SLDNFresolution. The last section shows how 3valued completion semantics can be represented in a standard 2valued logic. We assume that the reader is familiar with basics of logic programming, SLDNFresolution [Llo87] and the Kunen semantics [Kun87]. 1
On Modular Termination Proofs of General Logic Programs
, 2002
"... We propose a modular approach to termination proofs of general logic programs (i.e., logic programs with negation). Our approach follows the style introduced by Apt and Pedreschi for proving left termination and it is based on an extended definition of boundedness which naturally fits properties of ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
(Show Context)
We propose a modular approach to termination proofs of general logic programs (i.e., logic programs with negation). Our approach follows the style introduced by Apt and Pedreschi for proving left termination and it is based on an extended definition of boundedness which naturally fits properties of programs preserved through LDNFresolution. We give some examples which show how proofs can be greatly simplified by giving them independently for each module in a program.
A Dynamic Approach to Characterizing Termination of General Logic Programs
 ACM Transactions on Computational Logic
, 2003
"... this paper we do not consider oundering a situation where a nonground negative subgoal is selected by R (see the case 2c). See [Chan 1988] for discussion on such topic ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
(Show Context)
this paper we do not consider oundering a situation where a nonground negative subgoal is selected by R (see the case 2c). See [Chan 1988] for discussion on such topic