Skip to main content

Tutorial on termination of logic programs

  • Conference paper
  • First Online:
Meta-Programming in Logic (META 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 649))

Included in the following conference series:

Abstract

We present a general introduction to termination analysis for logic programs, with focus on universal termination of SLD-derivations and on definite programs. We start by providing a generic definition of the termination problem. It is parametrised by the sets of goals and the sets of computation rules under consideration. We point out a distinction between two streams of work, each taking a different approach with respect to the undecidability of the halting problem. We then recall the notions of recurrency and acceptability from the works of Apt, Bezem and Pedreschi. We illustrate how these notions provide an elegant framework for reasoning about termination. We then identify four basic components that are present in any approach to termination analysis. We point out the interdependencies between these components and their relevance for the termination analysis as a whole. We also use these components to illustrate some differences between automatic approaches to termination analysis and the more theoretically oriented frameworks for termination.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K.R. Apt and M. Bezem, Acyclic programs, New Generation Computing, 9, 1991, pp. 335–363.

    Google Scholar 

  2. K.R. Apt and D. Pedreschi, Studies in pure Prolog: termination, in Proceedings of the Esprit symposium on computational logic, ed. J.W. Lloyd, 1990, pp. 150–176.

    Google Scholar 

  3. K.R. Apt and D. Pedreschi, Proving termination of general Prolog programs, in Proceedings International Conference on Theoretical Aspects of Computer Science, Sendai, Japan, 1991.

    Google Scholar 

  4. M. Baudinet, Proving termination properties of Prolog programs: a semantic approach, in Proceedings of the 3rd IEEE symposium on logic in computer science, Edinburgh, 1988, pp. 336–347. Revised version to appear in Journal of Logic Programming.

    Google Scholar 

  5. M. Bezem, Characterising termination of logic programs with level mappings, Proceedings NACLP89, eds. E.L. Lusk and R.A. Overbeek, 1989, pp. 69–80. Revised version will appear in Journal of Logic Programming.

    Google Scholar 

  6. R. N. Bol, Loop checking in partial deduction, Technical Report CS-R9134, Centre for mathematics and computer science, Amsterdam, 1991.

    Google Scholar 

  7. A. Bossi, N. Cocco and M. Fabris, Proving termination of logic programs by exploiting term properties, in Proceedings CCPSD-TAPSOFT '91, Springer-Verlag, LNCS 494, 1991, pp. 153–180.

    Google Scholar 

  8. A. Bossi, N. Cocco and M. Fabris, Norms on terms and their use in proving universal termination of a logic program, Technical Report 4/29, CNR, Department of Mathematics, University of Padova, March 1991.

    Google Scholar 

  9. M. Bruynooghe, D. De Schreye and B. Martens, A general criterion for avoiding infinite unfolding during partial deduction, in Proceedings ILPS'91, San Diego, 1991, MIT Press, pp. 117–131.

    Google Scholar 

  10. L. Cavedon, Continuity, consistency, and completeness properties for logic programs, in Proceedings ICLP89, eds. G. Levi and M. Martelli, 1989, pp. 571–584.

    Google Scholar 

  11. N. Dershowitz, Termination of rewriting, Journal of Symbolic Computation, 3, 1987, pp. 69–116.

    Google Scholar 

  12. D. De Schreye and K. Verschaetse, Termination analysis of definite logic programs with respect to call patterns, Technical Report CW 138, Department Computer Science, K.U.Leuven, January 1992.

    Google Scholar 

  13. D. De Schreye, K. Verschaetse and M. Bruynooghe, A framework for analysing the termination of definite logic programs, in Proceedings FGCS92, ICOT, 1992, pp.:481–488.

    Google Scholar 

  14. P. Devienne, Weighted graphs: a tool for studying the halting problem and time complexity in term rewriting systems and logic programming, Theoretical Computer Science, 75 (1&2), 1990, pp. 157–215.

    Google Scholar 

  15. G. Janssens and M. Bruynooghe, Deriving descriptions of possible values of program variables by means of abstract interpretation, Technical Report CW 107, Department of Computer Science, K.U.Leuven, March 1990. To appear in Journal of Logic Programming.

    Google Scholar 

  16. Z. Manna and S. Ness, On the termination of Markov algorithms, pp. 784–792 in Proc. 3rd Hawaii Int. Conf. on Syst. Sci., Honolulu, Hawaii (1970).

    Google Scholar 

  17. L. Plümer, Termination proofs of logic programs, LNCS 446, Springer-Verlag, 1990.

    Google Scholar 

  18. L. Plümer, Termination proofs for logic programs based on predicate inequalities, in Proceedings ICLP'90, Jerusalem, 1990, MIT Press, pp. 634–648.

    Google Scholar 

  19. L. Plümer, Automatic termination proofs for Prolog programs operating on nonground terms, in Proceedings ILPS'91, San Diego, 1991, MIT Press, pp. 503–517.

    Google Scholar 

  20. M. R. K. Krishna Rao, D. Kapur and R. K. Shyamasundar, A transformational methodology for proving termination of logic programs, in Proceedings Computer Science Logic, CSL91, 1991.

    Google Scholar 

  21. R. K. Shyamasundar, M. R. K. Krishna Rao and D. Kapur, Rewriting concepts in the study of termination of logic programs, in Proceedings ALPUK92, 1992.

    Google Scholar 

  22. J.D. Ullman and A. Van Gelder, Efficient tests for top-down termination of logical rules, J. ACM, 35(2), 1988, pp. 345–373.

    Google Scholar 

  23. A. Van Gelder, Deriving constraints among argument sizes in logic programs, in Proceedings 9th symposium on principles of database systems, ACM Press, 1990, pp. 47–60.

    Google Scholar 

  24. T. Vasak and J. Potter, Characterisation of terminating logic programs, in Proceedings 1986 symposium on logic programming, Salt Lake City, 1986, pp. 140–147.

    Google Scholar 

  25. K. Verschaetse, Static termination analysis for definite Horn clause programs, Ph.D.-thesis, K.U. Leuven, 1992.

    Google Scholar 

  26. K. Verschaetse and D. De Schreye, Derivation of linear size relations by abstract interpretation, in Proc. PLILP92, 1992, to appear.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

A. Pettorossi

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

De Schreye, D., Verschaetse, K. (1992). Tutorial on termination of logic programs. In: Pettorossi, A. (eds) Meta-Programming in Logic. META 1992. Lecture Notes in Computer Science, vol 649. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56282-6_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-56282-6_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56282-5

  • Online ISBN: 978-3-540-47505-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics