Contributions to a Theory of Existential Termination for Definite Logic Programs

We suggest a new formalization of the existential termination problem of logic programs under the PROLOG leftmost selection rule and depth-rst computation rule. First of all, we give a characterization of the problem in terms of occurrence sets, by proving that a hprogram; goali existentially terminates if and only if there exists a nite correct occurrence set. Then we show that in order to study existential termination, we do not need to specify the occurrences of the atoms, since existential termination turns out to be decidable, when instances of atoms are used more than once (up to renaming). We then reduce the veriication of existential termination to the search of a suitable semi occurrence set for the pair hprogram; goali, by providing an algorithm for proving that the proposed semi occurrence set is a correct occurrence set. Finally we propose a simple method (based on abstract interpretation techniques) for generating such semi occurrence sets.

[1]  Dino Pedreschi,et al.  Proving Termination of General Prolog Programs , 1991, TACS.

[2]  Annalisa Bossi,et al.  Norms on Terms and their use in Proving Universal Termination of a Logic Program , 1994, Theor. Comput. Sci..

[3]  Dino Pedreschi,et al.  Modular termination proofs for logic and pure PROLOG programs , 1993 .

[4]  Lutz Plümer,et al.  Handling of Mutual Recursion in Automatic Termination Proofs for Logic Programs , 1992, JICSLP.

[5]  Lutz Plümer,et al.  Automatic Termination Proofs for Prolog Programs Operating on Nonground Terms , 1991, ISLP.

[6]  Dino Pedreschi,et al.  Studies in Pure Prolog: Termination , 1990 .

[7]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[8]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[9]  Hisao Tamaki,et al.  Enumeration of Success Patterns in Logic Programs , 1983, Theor. Comput. Sci..

[10]  Annalisa Bossi,et al.  Proving Termination of Logic Programs by Exploiting Term Properties , 1991, TAPSOFT, Vol.2.

[11]  Amir Pnueli,et al.  Proving Termination of Prolog Programs , 1985, Logic of Programs.

[12]  Danny De Schreye,et al.  Termination of Logic Programs: The Never-Ending Story , 1994, J. Log. Program..

[13]  John Potter,et al.  Characterisation of Terminating Logic Programs , 1986, SLP.

[14]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[15]  Lutz Plüer Termination proofs for logic programs based on predicate inequalities , 1990 .

[16]  Marianne Baudinet Proving Termination Properties of Prolog Programs: A Semantic Approach , 1988, LICS.