| S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999. |
....automatic termination analysis is typically carried out in two phases. The rst phase infers the interargument size relationships within a program. The second phase then uses this information to try and establish the termination of the program. Many other termination analysis systems [5, 11, 20] begin by carrying out some sort of mode analysis. For Mercury this step is unecessary as the Mercury compiler already performs a mode analysis and the results of this are available to the termination analyser. Some work has also been done on the automatic inference of appropriate norms and at ....
....out some sort of mode analysis. For Mercury this step is unecessary as the Mercury compiler already performs a mode analysis and the results of this are available to the termination analyser. Some work has also been done on the automatic inference of appropriate norms and at least one analyser, [11], also performs automatic norm inference. For Mercury, since the termination analysis does not need to do its own mode analysis and we do not currently perform any automatic norm inference, the termination analysis is performed in two passes. IR analysis is performed rst and then that ....
[Article contains additional citation context not shown here]
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems, 21(6):1137{ 1195, 1999.
....11] LD resolution [10, 23] LDNF resolution [9, 12] SLD resolution with dynamic scheduling [14, 26] or with tabling [30, 29] The second one is intended to automatize the veri cation by de ning sucient conditions for termination wrt. a speci c interpreter, e.g. the standard Prolog interpreter [31, 20, 13, 22, 19, 21]. In this paper we follow the rst approach: we de ne and characterize the class of well typed typed terminating programs, namely well typed general programs terminating wrt. LDNF resolution for any well typed general query. These programs and queries may contain negated literals; they are moded ....
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems, 21(6):1137-1195, 1999.
....that imply it. Alternatively, Mesnard [8] provides techniques for inferring termination conditions, but does not consider inherently non well founded CLP domains. In this paper we present a termination inference technique for numerical loops based on the well known constraints based approach [4], further extending [3] and on the adornments technique [6, 7] We restrict our interest only to integer loops, since termination of real number computations is often implementation dependent (see [5] Example 1. p(X) X 0; X 5; X1 is X 1; p(X) p(X) X 5 This example illustrates two ....
....possibly negative numeric values of integer arguments. This contradiction is solved by step by step inference of bounded integer arguments and refining the definition of the level mapping. Each time a new definition of the level mapping is suggested acceptability decreases are constructed as in [4]. Then, the system of constraints is solved and it either provides some constraints on integer variables, that are assumed to hold, and, thus, extends a set of bounded variables on which level mapping can be based, or defines a level mapping completely, thus, proving termination. The termination ....
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
....meta programming inside the logic programming community [1, 8, 10, 11] See also [6] for a survey. On the other hand, termination analysis is one of the most intensive research areas in logic programming as well. See [3] for the survey. More recent work on this topic can be found among others in [4, 5, 7, 9, 12, 14 16]. Traditionally, termination analysis of logic programs have been done either by the transformational approach or by the direct one. A transformational approach first transforms the logic program into an equivalent term rewrite system (or, in some cases, into an equivalent functional ....
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
....are nite (left termination) A notion of boundedness is also introduced in [AP93] for characterizing a larger class of terminating queries. Our approach relates also with the work developed by De Schreye et al. for proving termination of de nite logic programs (i.e. programs without negation) [DVB92, DDV99]. In fact, they consider acceptability with respect to a set of queries and provide a system based on the analysis of all possible calls arising during the computation of such queries (call patterns) In this paper we introduce a new notion of boundedness, namely strong boundedness, which holds ....
....the approach in [AP94a] In [VSD99] termination in the context of tabled execution is considered. Also in this case modular results are inspired by [AP94a] by adapting the notion of semi acceptability. Our method may help in designing more powerful automatic systems for verifying termination [DVB92, SSS97, DDV99, CT99]. We see two directions which could be pursued for a fruitful integration with existing automatic tools. The rst one exploits the fact that in each single module it is sucient to synthesize a level mapping which does not need to measure atoms de ned in other modules. The second one concerns tools ....
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems, 21(6):1137-1195, 1999.
....a tool for proving termination of logic programs automatically. This tool consists of a front end which implements the two stage transformation and a back end, the CiME system [CiM] for proving termination of the generated TRS. Experiments show that our tool can compete with other tools [DSV99] based on sophisticated norm based approaches. 2 The Front End TALP takes a Prolog program and a query as input and proceeds in four steps: 1. The Prolog program is translated into a logic program P . In this process, clauses with if then structures, disjunctions, or negated atoms are translated ....
....0 [ u 2 ] x 0 ) 0 [ cons] x 0 ; x 1 ) 0 [ u 1 ] x 0 ; x 1 ) 0 [ tree] x 0 ; x 1 ; x 2 ) x 2 2x 1 1 [ FLAT in ] x 0 ) x 0 and the induced polynomial ordering satisfies all constraints obtained from the cycles in the estimated dependency graph. 5 Experimental Results As in [DSV99], we have tested the TALP system on well known examples (the benchmarks are collected in [LS97] A Web interface for TALP is available at http: bibiserv.techfak.uni bielefeld.de talp . Overall, our results are comparable to those reported in [DSV99] but there are examples for which TALP succeeds ....
[Article contains additional citation context not shown here]
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM TOPLAS, 1999. To appear.
No context found.
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
No context found.
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
No context found.
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
No context found.
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
No context found.
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM TOPLAS, 21(6):1137--1195, November 1999.
No context found.
Stefaan Decorte, Danny De Schreye, and Henk Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137-1195, November 1999.
No context found.
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM TOPLAS, 21(6):1137--1195, November 1999.
....a framework with a strong theoretical basis for tackling the problem of termination. On the other hand, due to the declarative formulation of programs, the danger of non termination may increase. As a result, termination analysis received considerable attention in logic programming (see e.g. [1, 5, 7, 9]) Termination proofs often are based on the concept of a norm (a level mapping) a function mapping terms (atoms) of the program to the natural numbers. Recently, using type information became a prominent trend in termination analysis for symbolic computations [2, 3, 13] On the other hand, the ....
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM TOPLAS, 21(6):1137--1195, November 1999.
....hand, using level mappings and norms allows sometimes to explore more precise information on atoms and terms, that cannot be expressed by general orderings, such as arithmetical relations between terms. This information can sometimes be crucial in proving termination as the following program from [10, 13] demonstrates. Example 2. conf(X) delete 2 (X; Z) delete(U; Y; Z) conf(Y ) delete 2 (X; Y ) delete(U; X;Z) delete(V; Z; Y ) Note that by reasoning in terms of sizes of terms, we can infer that the size decreases by 2 after the call to delete 2 predicate in the first clause and then ....
....and computed answer substitution. It was designed to be verified through global analysis, for instance through abstract interpretation. A variant of acceptability with respect to a set that avoids the drawbacks of using procedural notions and that can be verified on a local level was designed in [13]. This variant required that the goals of interest are rigid under the given level mapping. Here, rigidity means that jG j = jGj, for any substitution , where j Delta j : B P N now denotes a generalised level mapping, defined on the extended Herbrand base. Comparing the notions of ....
[Article contains additional citation context not shown here]
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
....de ned as j t j 2 = j jtj k satis es the acceptability condition. Thus, instead of using the acceptability condition of De nition 2, we apply the equivalent condition, which we also call acceptability. In [23] we extended the previous work on a constraints based approach to termination [12] to include integer computations. The main diculty that has to be solved was the non well foundedness of integers. We illustrate the approach proposed by means of example and refer the reader to [23] for further details. Example 4. We are interested in proving termination of the set of queries ....
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM TOPLAS, 21(6):1137-1195, November 1999.
.... the research community, and a few works that consider it either do not provide a methodology for actual proving termination [7] or are restricted to well founded domains [6] In [8] we present a termination inference technique for numerical loops based on the well known constraints based approach [4] and on the adornments technique [5] We restrict our interest only to integer loops, since termination of real number computations is often implementation dependent. Consider the following program: p(X) X 0; X 5; X1 is X 1; p(X1) p(X) X 5: This example illustrates two possible ....
....by applying a variant of multiple specialisation, technique well known in the context of abstract interpretation [10] Second, a syntactical termination condition is computed. Then, a level mapping is suggested based on a set of bounded variables, acceptability decreases are constructed as 1 in [4] and the system of constraints is solved. If no solution is found termination is claimed for the syntactical termination condition computed earlier. Otherwise, the solution either provides some constraints on integer variables, that are assumed to hold, and, thus, extends a set of bounded ....
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM TOPLAS, 21(6):1137-1195, 1999.
....clear, that we can capture the decrease in order between the der(X) and DX by using an ordering on terms that gives the highest priority to the functor der. As an example of the fact that moving to general ordering can also introduce deterioration, consider the following program from [7, 10]. Example 2. This program defines a predicate conf that decreases a list provided as an argument, by two elements, and then adds a new element to it. conf(X) delete 2 (X; Z) delete(U; Y; Z) conf(Y ) 2 delete 2 (X; Y ) delete(U; X;Z) delete(V; Z; Y ) delete(X; X jT ] T ) delete(X; ....
....as calls and computed answer substitution. It was designed to be verified through global analysis, for instance through abstract interpretation. A variant of acceptability w.r.t. a set that avoids the drawbacks of using procedural notions and that can be verified on a local level was designed in [10]. This variant required that the goals of interest are rigid under the given level mapping. Here, rigidity means that jG j = jGj, for any substitution , where j Delta j : B E P N now denotes a generalised level mapping, defined on the extended Herbrand base. Comparing the notions of ....
[Article contains additional citation context not shown here]
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
....as well. Theorem 2. Let P be a well moded and simply moded program, LD terminating for any well moded and simply moded goal. Then there exists a model I and a well founded order , such that P is term acceptable w.r.t. I and . Example 4. The following example is common in proving termination ([1, 9]) permute( permute(L; EljT ] delete(El; L; L1) permute(L1; T ) delete(X; X jT ] T ) delete(X; H jT ] H jT 1] delete(X; T ; T 1) The following modes are assumed to be given: delete(o; i; o) permute(i; o) This program is well moded w.r.t. these modes. Thus, in order to ....
....of the input and is always inherited by body atoms. 4 Towards automation of the approach In this section we present an approach to automatic verification of the termacceptability condition. The basic idea for the approach is inspired on the constraint based termination analysis proposed in [9]. We start off from the conditions imposed by term acceptability, and systematically reduce these conditions to more explicit constraints on the objects of our search: the order and the model I . This approach has been applied successfully to a number of examples that appear in the literature ....
[Article contains additional citation context not shown here]
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
.... as level mapping inference, in the well known framework of the acceptability with respect to a set [5, 6] This integration provides not only a better understanding of termination behaviour of integer computations, but also the possibility to perform the analysis automatically as in Decorte et al. [7]. The rest of the paper is organised as follows. After making some preliminary remarks, we present in Section 3 our transformation first by means of an example, then more formally. In Section 4 we discuss more practical issues and present the algorithm implementing the termination inference. In ....
....De Schreye et al. 5] characterise LD termination in terms of acceptability. Theorem 1. cf. 5] Let P be a program. P is acceptable with respect to a set S if and only if P is LD terminating for all queries in S. We also need to introduce the notion of interargument relations. Definition 4. [7] Let P be a definite program, p=n a predicate in P . An interargument relation for p=n is R p N n . R p is a valid interargument relation for p=n with respect to a norm k Delta k if and only if for every p(t 1 ; t n ) 2 Atom P if P j= p(t 1 ; t n ) then (kt 1 k; kt n ....
[Article contains additional citation context not shown here]
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
....intensive research on metaprogramming inside the logic programming community [4, 16, 19, 22, 23] On the other hand, termination analysis is one of the most intensive research areas in logic programming as well. See [12] for the survey. More recent work on this topic can be found among others in [14, 18, 20, 24, 30]. Traditionally, termination analysis of logic programs have been done either by the transformational approach or by the direct one. A transformational approach first transforms the logic program into an equivalent term rewrite system (or, in some cases, into an equivalent functional ....
....Theorem 1. Let P be a program. P is order acceptable with respect to a set of atomic queries S if and only if P is LD terminating for all queries in S. We discovered in [25] that order acceptability is a powerful technique, able to analyse a wide variety of programs, such as normalisation [14], derivative [15] bid [10] and credit evaluation expert system [28] to mention a few. In this paper we will see that order acceptability plays a key role in analysing termination of meta programs. 3 Basic definitions In this section we present a number of basic definitions. We start by ....
[Article contains additional citation context not shown here]
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(6):1137--1195, November 1999.
No context found.
S. Decorte, D. De Schreye, and H. Vandecasteele. Constraint-based termination analysis of logic programs. ACM Transactions on Programming Languages and Systems, 21(6):1137--1195, 1999.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC