Non-transformational Termination Analysis of Logic Programs, Based on General Term-Orderings

  • Alexander Serebrenik
  • Danny De Schreye
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2042)

Abstract

We present a new approach to termination analysis of logic programs. The essence of the approach is that we make use of general term-orderings (instead of level mappings), like it is done in transformational approaches to logic program termination analysis, but that we apply these orderings directly to the logic program and not to the termrewrite system obtained through some transformation. We define some variants of acceptability, based on general term-orderings, and show how they are equivalent to LD-termination. We develop a demand driven, constraint-based approach to verify these acceptability-variants.

The advantage of the approach over standard acceptability is that in some cases, where complex level mappings are needed, fairly simple termorderings may be easily generated. The advantage over transformational approaches is that it avoids the transformation step all together.

Keywords

termination analysis acceptability term-orderings 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    K. R. Apt. From Logic Programming to Prolog. Prentice-Hall Int. Series in Computer Science. Prentice Hall, 1997.Google Scholar
  2. 2.
    K. R. Apt and S. Etalle. On the unification free Prolog programs. In A. M. Borzyszkowski and S. Sokolowski, editors, 18th Int. Symp. on Mathematical Foundations of Computer Science, pages 1–19. Springer Verlag, 1993. LNCS 711.Google Scholar
  3. 3.
    K. R. Apt and D. Pedreschi. Studies in Pure Prolog: Termination. In J. W. Lloyd, editor, Proc. Esprit Symp. on Comp. Logic, pages 150–176. Springer Verlag, 1990.Google Scholar
  4. 4.
    T. Arts. Automatically proving termination and innermost normalisation of term rewriting systems. PhD thesis, Universiteit Utrecht, 1997.Google Scholar
  5. 5.
    T. Arts and H. Zantema. Termination of logic programs using semantic unification. In M. Proietti, editor, 5th Int. Workshop on Logic Programming Synthesis and Transformation, pages 219–233. Springer Verlag, 1995. LNCS 1048.Google Scholar
  6. 6.
    A. Bossi, N. Cocco, and M. Fabris. Norms on terms and their use in proving universal termination of a logic program. Theoretical Computer Science, 124(2):297–328, February 1994.MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    D. De Schreye and S. Decorte. Termination of logic programs: The never-ending story. J. Logic Programming, 19/20:199–260, May/July 1994.Google Scholar
  8. 8.
    D. De Schreye, K. Verschaetse, and M. Bruynooghe. A framework for analyzing the termination of definite logic programs with respect to call patterns. In I. Staff, editor, Proc. of the Int. Conf. on Fifth Generation Computer Systems., pages 481–488. IOS Press, 1992.Google Scholar
  9. 9.
    S. Decorte and D. De Schreye. Termination analysis: some practical properties of the norm and level mapping space. In J. Jaffar, editor, Proc. of the 1998 Joint Int. Conf. and Symp. on Logic Programming, pages 235–249. MIT Press, June 1998.Google Scholar
  10. 10.
    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.CrossRefGoogle Scholar
  11. 11.
    N. Dershowitz. Termination. In C. Kirchner, editor, First Int. Conf. on Rewriting Techniques and Applications, pages 180–224. Springer Verlag, 1985. LNCS 202.Google Scholar
  12. 12.
    N. Dershowitz and C. Hoot. Topics in termination. In C. Kirchner, editor, Rewriting Techniques and Applications, 5th Int. Conf., pages 198–212. Springer Verlag, 1993. LNCS 690.Google Scholar
  13. 13.
    N. Dershowitz and Z. Manna. Proving termination with multiset orderings. Communications of the ACM (CACM), 22(8):465–476, August 1979.MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    S. Etalle, A. Bossi, and N. Cocco. Termination of well-moded programs. J. Logic Programming, 38(2):243–257, February 1999.MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    J. Hsiang. Rewrite method for theorem proving in first order theory with equality. Journal of Symbolic Computation, 8:133–151, 1987.CrossRefMathSciNetGoogle Scholar
  16. 16.
    G. Janssens and M. Bruynooghe. Deriving descriptions of possible values of program variables by means of abstract interpretation. J. Logic Programming, 13(2&3):205–258, July 1992.MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    M. Krishna Rao, D. Kapur, and R. Shyamasundar. Transformational methodology for proving termination of logic programs. J. Logic Programming, 34:1–41, 1998.MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    N. Lindenstrauss and Y. Sagiv. Automatic termination analysis of logic programs. In L. Naish, editor, Proc. of the Fourteenth Int. Conf. on Logic Programming, pages 63–77. MIT Press, July 1997.Google Scholar
  19. 19.
    L. Plümer. Termination Proofs for Logic Programs. LNAI 446. Springer Verlag, 1990.Google Scholar
  20. 20.
    A. Serebrenik and D. De Schreye. Termination analysis of logic programs using acceptability with general term orders. Technical Report CW 291, Departement Computerwetenschappen, K. U.Leuven, Leuven, Belgium, 2000. Available at http://www.cs.kuleuven.ac.be/publicaties/rapporten/CW2000.html.
  21. 21.
    L. Sterling and E. Shapiro. The Art of Prolog. The MIT Press, 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Alexander Serebrenik
    • 1
  • Danny De Schreye
    • 1
  1. 1.Department of Computer ScienceK.U. Leuven Celestijnenlaan 200ABelgium

Personalised recommendations