Results 1  10
of
18
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 124 (14 self)
 Add to MetaCart
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 framework of directionality for proving termination of logic programs
 Proc. JICSLP
, 1992
"... internet: ..."
Coroutining and the Construction of Terminating Logic Programs
 Australian Computer Science Communications
, 1992
"... This paper investigates the role of coroutining in the termination of logic programs. We define a variant of SLD resolution, in which the execution of atoms may be suspended indefinitely, and give some basic results concerning success, finite failure and floundering. Next we discuss how correct proc ..."
Abstract

Cited by 24 (1 self)
 Add to MetaCart
This paper investigates the role of coroutining in the termination of logic programs. We define a variant of SLD resolution, in which the execution of atoms may be suspended indefinitely, and give some basic results concerning success, finite failure and floundering. Next we discuss how correct procedures can be combined to form new procedures using disjunction, conjunction and recursion. We argue that modes are crucial to reasoning about termination and show that cyclic modes are the basic reason for conjunctions looping. When recursion is used we identify another cause of loops: speculative binding of output variables. That is, binding output variables before it is known that a solution to a subcomputation exists. Keywords: mode, flounder, Prolog, stream andparallelism  1  1 Introduction
A Decompositional Approach for Computing Least FixedPoints of Datalog Programs with ZCounters
, 1997
"... . We present a method for characterizing the least fixedpoints of a certain class of Datalog programs in Presburger arithmetic. The method consists in applying a set of rules that transform general computation paths into "canonical" ones. We use the method for treating the problem of reachability i ..."
Abstract

Cited by 22 (3 self)
 Add to MetaCart
. We present a method for characterizing the least fixedpoints of a certain class of Datalog programs in Presburger arithmetic. The method consists in applying a set of rules that transform general computation paths into "canonical" ones. We use the method for treating the problem of reachability in the field of Petri nets, thus relating some unconnected results and extending them in several directions. Keywords: decomposition, linear arithmetic, least fixedpoint, Petri nets, reachability set 1. Introduction The problem of computing fixpoints for arithmetical programs has been investigated from the seventies in an imperative framework. A typical application was to check whether or not array bounds were violated. A pionneering work in this field is the work by CousotHalbwachs (Cousot, 78). The subject has known a renewal of interest with the development of logic programming and deductive databases with arithmetical constraints. Several new applications were then possible in these f...
DepthBounded BottomUp Evaluation Of Logic Programs
, 1993
"... this paper we address the issue of termination of bottomup evaluation of finiteanswer queries in the context of Datalog nS , a class of logic programs with limited function symbols [8, 10, 11, 12]. In Datalog nS programs the type and the occurrences of function symbols are restricted in the followi ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
this paper we address the issue of termination of bottomup evaluation of finiteanswer queries in the context of Datalog nS , a class of logic programs with limited function symbols [8, 10, 11, 12]. In Datalog nS programs the type and the occurrences of function symbols are restricted in the following way: function symbols can only be unary or limited nary (having a single distinguished argument), and they can appear in a single distinguished argument of predicates. In addition to Datalog nS
Inductive Inference of Prolog Programs with Linear Data Dependency from Positive Data
 Proc. Information Modelling and Knowledge Bases V
, 1994
"... We study inductive inference of Prolog programs from positive examples of a target predicate. Shinohara showed in 1991 that the class of linear Prologs with at most m clauses is identifiable in the limit from positive data only about a target predicate. However, linear Prologs are not allowed to hav ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
We study inductive inference of Prolog programs from positive examples of a target predicate. Shinohara showed in 1991 that the class of linear Prologs with at most m clauses is identifiable in the limit from positive data only about a target predicate. However, linear Prologs are not allowed to have local variables, which are variables occurring in the body but not in the head. In this paper, we introduce another subclass of Prolog programs, called linearly covering programs, which may have local variables in a clause under some constraints on data dependencies. In linearly covering programs, any data passing among subgoals preserves the total size of data contents. We prove that for every fixed k; m ? 0, the class of linearly covering programs consisting of at most m definite clauses with at most k subgoals in the body is inferable from positive examples of a target predicate. Furthermore, we show that the restriction on the length of bodies is necessary the inferability. 1 Introduct...
Programming in Tabled Prolog
, 1995
"... Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12 XSB Modules 108 13 Handling Large Fact Files CONTENTS iv 13.1 Compiling Fact Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 13.2 Dynamically Loaded Fact Files . . . . . . . . ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12 XSB Modules 108 13 Handling Large Fact Files CONTENTS iv 13.1 Compiling Fact Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 13.2 Dynamically Loaded Fact Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 13.3 Indexing Static Program Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 14 Table Builtins 112 15 XSB System Facilities Chapter 1 Background and Motivation There is a flaw in the very foundations of Logic Programming: Prolog is nondeclarative. Of course, everyone knows that real Prolog as it is used is nondeclarative. Prolog programs abound with cuts, var tests, asserts, and all kinds of ugly warts. Everyone agrees that Prolog should be more declarative and much research time has been spent, and spent productively, trying to remedy these problems by providing more declarative alternatives. But I believe that there ...
Automated Verification Of Prolog Programs
, 1994
"... Domains The nature of the information useful for the various applications of logic and Prolog program analyses is nowadays well identified. Nevertheless, no previous framework was able to incorporate all kinds of information in a single analysis. Although some authors prefer to decompose a complex ..."
Abstract

Cited by 7 (7 self)
 Add to MetaCart
Domains The nature of the information useful for the various applications of logic and Prolog program analyses is nowadays well identified. Nevertheless, no previous framework was able to incorporate all kinds of information in a single analysis. Although some authors prefer to decompose a complex analysis into a series of simpler and independent ones [3], we follow the spirit of [16] where the benefits of combining domains are properly discussed. Let us summarize the information the most relevant for logic programs that is integrated in our analyser. 3 ffl Determinacy and cardinality information models the number of solutions to a procedure and is useful for optimizations, like dead code elimination, and automatic complexity analysis [29]. ffl Mode information describes the instantiation level of program variables at some program point. Groundness ("is a variable bound to a ground term?") and freeness ("is a variable either uninstantiated or an alias of other variables ?") are the...
Efficient Evaluation of Normal Logic Programs
, 1994
"... An accident of implementation may be responsible for the fact that Logic Programming, Deductive Databases and NonMonotonic Reasoning are different subfields. Logic Programming views logic as a programming language  usually through Prolog or an extension of Prolog. The Deductive Database communi ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
An accident of implementation may be responsible for the fact that Logic Programming, Deductive Databases and NonMonotonic Reasoning are different subfields. Logic Programming views logic as a programming language  usually through Prolog or an extension of Prolog. The Deductive Database community regards logic as a database language, often using a variant of magic sets as a basis for implementation. Finally the field of NonMonotonic Reasoning studies nonclassical logics of interest to Artificial Intelligence or other applications. However, there are currently few engines powerful enough to execute practical programs in NonMonotonic Reasoning. Tabling methods have been formulated recently that have the potential to unify these subfields. This thesis explores how to efficiently implement one such meth...
Inference of Termination Conditions for Numerical Loops in Prolog
 Logic for Programming, Arti Intelligence, and Reasoning, 8th International Conference, Proceedings, volume 2250 of Lecture Notes in Computer Science
, 2001
"... Numerical computations form an essential part of almost any realworld program. Clearly, in order for a termination analyser to be of practical use it should contain a mechanism for inferring termination of such computations. However, this topic attracted less attention of the research community. In ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
Numerical computations form an essential part of almost any realworld program. Clearly, in order for a termination analyser to be of practical use it should contain a mechanism for inferring termination of such computations. However, this topic attracted less attention of the research community. In this work we concentrate on automatic termination inference for logic programs depending on numerical computations. Dershowitz et al. [8] showed that termination of general numerical computations, for instance on floating point numbers, may be counterintuitive, i.e., the observed behaviour does not necessarily coincide with the theoretically expected one. Thus, we restrict ourselves to integer computations only. While discussing termination of integer computations the following question should be asked: what conditions on the queries should be assumed, such that the queries will terminate. We refer to this question as the termination inference...