Results 1  10
of
31
Splitting a Logic Program
 Principles of Knowledge Representation
, 1994
"... In many cases, a logic program can be divided into two parts, so that one of them, the \bottom " part, does not refer to the predicates de ned in the \top " part. The \bottom " rules can be used then for the evaluation of the predicates that they de ne, and the computed va ..."
Abstract

Cited by 298 (15 self)
 Add to MetaCart
In many cases, a logic program can be divided into two parts, so that one of them, the \bottom &quot; part, does not refer to the predicates de ned in the \top &quot; part. The \bottom &quot; rules can be used then for the evaluation of the predicates that they de ne, and the computed values can be used to simplify the \top &quot; de nitions. We discuss this idea of splitting a program in the context of the answer set semantics. The main theorem shows how computing the answer sets for a program can be simpli ed when the program is split into parts. The programs covered by the theorem may use both negation as failure and classical negation, and their rules may have disjunctive heads. The usefulness of the concept of splitting for the investigation of answer sets is illustrated by several applications. First, we show that a conservative extension theorem by Gelfond and Przymusinska and a theorem on the closed world assumption by Gelfond and Lifschitz are easy consequences of the splitting theorem. Second, (locally) strati ed programs are shown to have a simple characterization in terms of splitting. The existence and uniqueness of an answer set for such a program can be easily derived from this characterization. Third, we relate the idea of splitting to the notion of orderconsistency. 1
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 274 (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.
Logic Programming and Knowledge Representation
 Journal of Logic Programming
, 1994
"... In this paper, we review recent work aimed at the application of declarative logic programming to knowledge representation in artificial intelligence. We consider exten sions of the language of definite logic programs by classical (strong) negation, disjunc tion, and some modal operators and sh ..."
Abstract

Cited by 242 (20 self)
 Add to MetaCart
(Show Context)
In this paper, we review recent work aimed at the application of declarative logic programming to knowledge representation in artificial intelligence. We consider exten sions of the language of definite logic programs by classical (strong) negation, disjunc tion, and some modal operators and show how each of the added features extends the representational power of the language.
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...
A Semantic Basis for the Termination Analysis of Logic Programs
 Journal of Logic Programming
, 1999
"... This paper presents a formal semantic basis for the termination analysis of logic programs. The semantics exhibits the termination properties of a logic program through its binary unfoldings  a possibly infinite set of binary clauses. Termination of a program P and goal G is determined by the abs ..."
Abstract

Cited by 113 (14 self)
 Add to MetaCart
(Show Context)
This paper presents a formal semantic basis for the termination analysis of logic programs. The semantics exhibits the termination properties of a logic program through its binary unfoldings  a possibly infinite set of binary clauses. Termination of a program P and goal G is determined by the absence of an infinite chain in the binary unfoldings of P starting with G. The result is of practical use as basing termination analysis on a formal semantics facilitates both the design and implementation of analyzers. A simple Prolog interpreter for binary unfoldings coupled with an abstract domain based on symbolic norm constraints is proposed as an implementation vehicle. We illustrate its application using two recently proposed abstract domains. Both techniques are implemented using a standard CLP(R) library. The combination of an interpreter for binary unfoldings and a constraint solver simplifies the design of the analyzer and improves its efficiency significantly. 1 Introduction This ...
A Procedural Semantics for Well Founded Negation in Logic Programs
 Journal of Logic programming
, 1989
"... We introduce global SLSresolution, a procedural semantics for wellfounded negation as defined by Van Gelder, Ross and Schlipf. Global SLSresolution extends Przymusinski 's SLSresolution, and may be applied to all programs, whether locally stratified or not. 1 Global SLSresolution is define ..."
Abstract

Cited by 61 (2 self)
 Add to MetaCart
(Show Context)
We introduce global SLSresolution, a procedural semantics for wellfounded negation as defined by Van Gelder, Ross and Schlipf. Global SLSresolution extends Przymusinski 's SLSresolution, and may be applied to all programs, whether locally stratified or not. 1 Global SLSresolution is defined in terms of global trees, a new data structure representing the dependence of goals on derived negative subgoals. We prove that global SLSresolution is sound with respect to the wellfounded semantics, and complete for nonfloundering queries. While not effective in general, global SLSresolution is effective for classes of "acyclic" programs, and can be augmented with a memoing device to be effective for all functionfree programs. This research was supported by the National Science Foundation under grant IRI8722886, by a grant from IBM Corporation, and by the United States Air Force Office of Scientific Research under contract AFOSR880266. A preliminary version of this paper was presen...
Modular Termination Proofs for Logic and Pure Prolog Programs
 ADVANCES IN LOGIC PROGRAMMING THEORY
, 1993
"... We provide a uniform and simplified presentation of the methods of Bezem [Bez93] (first published as [Bez89]) and of Apt and Pedreschi [AP93] (first published as [AP90]) for proving termination of logic and Prolog programs. Then we show how these methods can be refined so that they can be used in ..."
Abstract

Cited by 47 (5 self)
 Add to MetaCart
We provide a uniform and simplified presentation of the methods of Bezem [Bez93] (first published as [Bez89]) and of Apt and Pedreschi [AP93] (first published as [AP90]) for proving termination of logic and Prolog programs. Then we show how these methods can be refined so that they can be used in a modular way.
Reasoning about Effects of Concurrent Actions
, 1993
"... this paper we extend the language A and its translation to allow reasoning about the effects of concurrent actions. The logic programming formalization of situation calculus with concurrent actions presented in the paper is of independent interest and may serve as a test bed for the investigation of ..."
Abstract

Cited by 43 (14 self)
 Add to MetaCart
this paper we extend the language A and its translation to allow reasoning about the effects of concurrent actions. The logic programming formalization of situation calculus with concurrent actions presented in the paper is of independent interest and may serve as a test bed for the investigation of various transformations and logic programming inference mechanisms. ! 1. INTRODUCTION
WellFounded and Stationary Models of Logic Programs
 ANNALS OF MATHEMATICS AND ARTIFICIAL INTELLIGENCE
, 1994
"... ..."