Results 1 - 10
of
44
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 117 (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 87 (13 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 59 (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 top-down 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 46 (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 top-down 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 41 (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.
Constraint-based Termination Analysis of Logic Programs
- ACM Transactions on Programming Languages and Systems
, 1999
"... Current norm-based 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 28 (12 self)
- Add to MetaCart
Current norm-based 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 SLG-resolution using a left-to-right computation rule. To this end, we study the classes of quasi-terminating and LG-terminating programs (for a set of atomic goals S). These are tabled logic programs ..."
Abstract
-
Cited by 16 (9 self)
- Add to MetaCart
We provide a theoretical basis for studying the termination of tabled logic programs executed under SLG-resolution using a left-to-right computation rule. To this end, we study the classes of quasi-terminating and LG-terminating 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., non-variant) 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 quasi-termination by means of the notion of quasi-acceptability of tabled programs. The latter provides us with a practical method of proving termination and the method is illustrated on non-trivial examples of tabled logic programs.
Proving Termination of Input-Consuming Logic Programs
, 1999
"... A class of predicates is identified for which termination does not depend on left-to-right execution. The only assumption about the selection rule is that derivations are input-consuming, that is, in each derivation step, the input arguments of the selected atom do not become instantiated. This assu ..."
Abstract
-
Cited by 14 (5 self)
- Add to MetaCart
A class of predicates is identified for which termination does not depend on left-to-right execution. The only assumption about the selection rule is that derivations are input-consuming, that is, in each derivation step, the input arguments of the selected atom do not become instantiated. This assumption is a natural abstraction of previous work on programs with delay declarations. The method for showing that a predicate is in that class is based on level mappings, closely following the traditional approach for LD-derivations. Programs are assumed to be well and nicely moded, which are two widely used concepts for verification. Many predicates terminate under such weak assumptions. Knowing these predicates is useful even for programs where not all predicates have this property.

