. A methodology for proving the termination of well-moded logic programs is developed by reducing the termination problem of logic programs to that of term rewriting systems. A transformation procedure is presented to derive a term rewriting system from a given well-moded logic program such that the termination of the derived rewrite system implies the termination of the logic program for all well moded queries under a class of selection rules. This facilitates applicability of a vast source of termination orderings proposed in the literature on term rewriting, for proving termination of logic programs. The termination of various benchmark programs has been established using this approach. Unlike other mechanizable approaches, the proposed approach does not require any preprocessing and works well even in the presence of mutual recursion. The transformation has also been implemented as a front-end to Rewrite Rule Laboratory (RRL) and has been used in establishing termination of nontrivial Prolog programs such as a prototype compiler for ProCoS's, PL 0 language. / 1 This is a revised and extended version of M.R.K. Krishna Rao, D. Kapur and R.K. Shyamasundar
|
731
|
Inductive-Data-Type Systems
– Blanqui, Jouannaud, et al.
- 2001
|
|
418
|
Termination of rewriting
– Dershowitz
- 1987
|
|
397
|
Introduction to Logic Programming
– Apt
- 1988
|
|
239
|
Orderings for term-rewriting systems
– Dershowitz
- 1982
|
|
125
|
Termination of logic programs: the never-ending story
– Schreye, Decorte
- 1994
|
|
121
|
Reasoning about termination of pure PROLOG programs. Information and Computation
– Apt, Pedreschi
- 1993
|
|
81
|
On the unification free prolog programs
– Apt, Etalle
- 1993
|
|
70
|
Automatic Mode Inference for Logic Programs
– Debray, Warren
- 1988
|
|
68
|
Termination Proofs for Logic Programs
– Plumer
- 1988
|
|
67
|
Termination of term rewriting by semantic labelling
– Zantema
- 1994
|
|
64
|
E cient tests for top-down termination of logical rules
– Ullman, Gelder
- 1988
|
|
62
|
An overview of Rewrite Rule Laboratory (RRL
– Kapur, Zhang
- 1995
|
|
49
|
Two generalizations of the recursive path ordering”, unpublished note
– Kamin, Lévy
- 1980
|
|
46
|
AND-parallelism with intelligent backtracking for annotated logic programs
– Dembinski, Maluszynski
- 1985
|
|
36
|
Proving termination of logic programs by exploiting term properties
– Bossi, Cocco, et al.
- 2001
|
|
35
|
Strong Termination of Logic Programs
– Bezem
- 1993
|
|
32
|
A transformational methodology for proving termination of logic programs
– Rao, Kapur, et al.
- 1991
|
|
31
|
Termination proofs of well-moded logic programs via conditional rewrite systems
– Ganzinger, Waldmann
- 1993
|
|
24
|
Proving termination properties of Prolog programs: a semantic approach
– Baudinet
- 1992
|
|
24
|
Simulation of Turing machines by a left-linear rewrite rule
– Dauchet
- 1989
|
|
24
|
Characterization of terminating logic programs
– Vasak, Potter
- 1986
|
|
21
|
A framework for analyzing the termination of definite logic programs with respect to call patterns
– Schreye, Verschaetse, et al.
- 1992
|
|
21
|
Computer experiments with the REVE term rewriting system generator
– Lescanne
- 1983
|
|
17
|
Proving termination of logic programs by transforming them into equivalent term rewriting systems
– Aguzzi, Modigliani
- 1993
|
|
17
|
Logic programs as term rewriting systems
– Marchiori
- 1994
|
|
16
|
Termination of rewrite systems by elementary interpretations
– LESCANNE
- 1992
|
|
13
|
Automatic termination proofs for Prolog programs operating on nonground terms
– Plumer
- 1991
|
|
12
|
Termination of logic programs via labelled term rewrite systems
– Arts, Zantema
- 1994
|
|
12
|
A methodology for proving termination of logic programs
– Wang, Shyamasundar
- 1994
|
|
11
|
Static termination analysis for definite Horn clause programs
– Verschaetse
- 1992
|
|
9
|
AND parallelism and nondeterminism in logic programs
– Conery, Kibler
- 1985
|
|
7
|
Proving termination of Prolog programs
– Francez, Grumberg, et al.
- 1985
|
|
5
|
Rewriting concepts in the study of termination of logic Programs
– Shyamasundar, Rao, et al.
- 1990
|
|
4
|
Termination Analysis of definite logic programs with respect to call patterns
– Schreye, Verschaetse
- 1992
|
|
4
|
Verification tools in the development of provably correct compilers
– Rao, Pandya, et al.
- 1993
|
|
2
|
Towards a characterization of termination of logic programs
– Wang, Shyamasundar
- 1990
|
|
1
|
A transformation from logic programs to term rewrite systems and its application to termination
– Chtourou, Rusinowitch
- 1993
|
|
1
|
Unification-free execution of well-moded and well-typed Prolog programs
– Rao, Shyamasundar
- 1994
|
|
1
|
Localizations of unification freedom trough matching directions
– Marchiori
- 1994
|