Results 1  10
of
45
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 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 100 (14 self)
 Add to MetaCart
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 ...
Metric Methods Three Examples And A Theorem
, 1993
"... this paper is to demonstrate their utility and simplicity (when they are applicable). We do this by presenting three examples of programs, and a general theorem, all of which are subject to metric methods. One of these is a direct argument that the game program operator T ..."
Abstract

Cited by 61 (0 self)
 Add to MetaCart
this paper is to demonstrate their utility and simplicity (when they are applicable). We do this by presenting three examples of programs, and a general theorem, all of which are subject to metric methods. One of these is a direct argument that the game program operator T
A framework of directionality for proving termination of logic programs
 Proc. JICSLP
, 1992
"... internet: ..."
Strong Termination of Logic Programs
, 1993
"... this paper appeared as [B]. 1. INTRODUCTION Termination of logic programs is of course of utmost importance. The question whether the topdown evaluation of a goal G terminates with respect to a logic program P is actually underspecified, given the fact that this evaluation may depend on the selecti ..."
Abstract

Cited by 51 (1 self)
 Add to MetaCart
this paper appeared as [B]. 1. INTRODUCTION Termination of logic programs is of course of utmost importance. The question whether the topdown evaluation of a goal G terminates with respect to a logic program P is actually underspecified, given the fact that this evaluation may depend on the selection of atoms from goals and on the choice of the program clauses. In this paper termination is considered in the strong sense, i.e. irrespective of the selection of atoms in the goal and of the choice of the program clauses. This is the most demanding notion of termination. Less demanding approaches are: (1) termination for a fixed selection rule and for any choice of program clauses; (2) termination for some selection rule, depending on P, G and annotations on G, and for any choice of program clauses. All approaches can be weakened by requiring termination not for any but only for some
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 44 (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.
Constraintbased Termination Analysis of Logic Programs
 ACM Transactions on Programming Languages and Systems
, 1999
"... Current normbased automatic... In this paper we present a new termination analysis which integrates the various components and produces a set of constraints that, when solvable, identifies successful termination proofs. The proposed method is both efficient and precise. The use of constraint sets e ..."
Abstract

Cited by 34 (15 self)
 Add to MetaCart
Current normbased automatic... In this paper we present a new termination analysis which integrates the various components and produces a set of constraints that, when solvable, identifies successful termination proofs. The proposed method is both efficient and precise. The use of constraint sets enables the propagation of information over all different phases while the need for multiple analyses is considerably reduced.
Termination Analysis for Tabled Logic Programming
 In Proc. of LOPSTRâ€™97
, 1997
"... We provide a theoretical basis for studying the termination of tabled logic programs executed under SLGresolution using a lefttoright computation rule. To this end, we study the classes of quasiterminating and LGterminating programs (for a set of atomic goals S). These are tabled logic programs ..."
Abstract

Cited by 18 (10 self)
 Add to MetaCart
We provide a theoretical basis for studying the termination of tabled logic programs executed under SLGresolution using a lefttoright computation rule. To this end, we study the classes of quasiterminating and LGterminating programs (for a set of atomic goals S). These are tabled logic programs where execution of each call from S leads to only a finite number of different (i.e., nonvariant) calls, and a finite number of different calls and computed answer substitutions for them, respectively. We then relate these two classes through a program transformation, and present a characterisation of quasitermination by means of the notion of quasiacceptability of tabled programs. The latter provides us with a practical method of proving termination and the method is illustrated on nontrivial examples of tabled logic programs.
Transformation of Left Terminating Programs: The Reordering Problem
 PROCEEDINGS LOPSTR'95, VOLUME 1048 OF LECTURE NOTES IN COMPUTER SCIENCE
, 1995
"... An Unfold/Fold transformation system is a sourcetosource rewriting methodology devised to improve the efficiency of a program. Any such transformation should preserve the main properties of the initial program: among them, termination. When dealing with logic programs such as PROLOG programs, on ..."
Abstract

Cited by 15 (3 self)
 Add to MetaCart
An Unfold/Fold transformation system is a sourcetosource rewriting methodology devised to improve the efficiency of a program. Any such transformation should preserve the main properties of the initial program: among them, termination. When dealing with logic programs such as PROLOG programs, one is particularly interested in preserving left termination i.e. termination wrt the leftmost selection rule, which is by far the most widely employed of the search rules. Unfortunately, the most popular Unfold/Fold transformation systems ([TS84, Sek91]) do not preserve the above termination property. In this paper we study the reasons why left termination may be spoiled by the application of a transformation operation and we present a transformation system based on the operations of Unfold, Fold and Switch which if applied to a left terminating programs yields a program which is left terminating as well.