Skip to main content

Proving termination of logic programs by transforming them into equivalent term rewriting systems

  • Conference paper
  • First Online:
Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1993)

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

Abstract

A method for proving termination of logic programs is defined by transforming a given logic program and goal into a term rewriting system and starting term respectively. It is proved that the transformation applied to an input-driven logic program and goal yields a term rewriting system and starting term whose reduction tree is finite iff the corresponding SLD tree, using the leftmost selection rule, is finite. The transformation is purely syntactical and the termination of logic programs can be studied by analyzing the produced rewrite system using termination orderings proposed in the term rewriting system literature. It possesses all the advantages of analogous methodologies described in [GW92, RKS92] but it does not require any prior information about modings of predicates since these are computed during the transformation according to the given goal. In general, termination proofs can be given for larger classes of programs than those of [RKS92]. Moreover, it allows the computation of any computed answer substitution for the refutation of an input-driven logic program and goal.

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. F. Alexandre, K. Bsaies, and A. Quéré. On using mode input-output for transforming logic programs. In T.P. Clement and K.-K. Lau, editors, Proceedings of LOPSTR '91, pages 129–146. Springer-Verlag, Berlin, 1991.

    Google Scholar 

  2. K. Apt and S. Etalle. On the Unification Free Prolog Programs (Invited Lecture). To appear in S.Sokolowski, editor, Proceedings of MFCS'93, Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1993.

    Google Scholar 

  3. K. Apt and D. Pedreschi. Studies in pure prolog: Termination. In J.W.Lloyd, editor, Computational Logic, pages 150–176. Springer-Verlag, Berlin, 1990.

    Google Scholar 

  4. K. Apt and D. Pedreschi. Reasoning about termination of prolog programs. TR 14/91, Dipartimento di Informatica, Universitá di Pisa, 1991.

    Google Scholar 

  5. A. Bossi, N. Cocco, and M. Fabris. Proving termination of logic programs by exploiting term properties. In Proceedings of TAPSOFT'91, Lecture Notes in Computer Science, volume 494, pages 153–180. Springer-Verlag, Berlin, 1991.

    Google Scholar 

  6. F. Bronsard, T.K. Lakshman, and U.S. Reddy. A framework of directionality for proving termination of logic programs. In K. Apt, editor, Proceedings of JICSLP '92, pages 321–335. The Mit Press, 1992.

    Google Scholar 

  7. N. Dershowitz. Termination of rewriting. Journal of Symbolic Computation, 3(1&2):69–116, 1987.

    Google Scholar 

  8. N. Dershowitz and J. P. Jouannaud. Rewrite systems. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, chapter 6. Elsevier and The MIT Press, 1990.

    Google Scholar 

  9. S.K. Debray and D.S. Warren. Automatic mode inference for logic programs. Journal of Logic Programming, 5(3):207–229, 1988.

    Google Scholar 

  10. H. Ganzinger and U. Waldmann. Termination proofs of well-moded logic programs via conditional rewrite systems. In 3rd International Workshop on CTRS, Lecture Notes in Computer Science, volume 656, pages 430–437. Springer-Verlag, Berlin, 1992.

    Google Scholar 

  11. J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 2nd edition, 1987.

    Google Scholar 

  12. L. Plümer. Termination proofs for logic programs. In Lecture Notes in Artificial Intelligence, volume 446. Springer-Verlag, Berlin, 1990.

    Google Scholar 

  13. U. S. Reddy. Transformation of logic programs into functional programs. In International Symposium on Logic Programming, pages 187–197. IEEE, 1984.

    Google Scholar 

  14. M.R.K. Krishna Rao, D. Kapur, and R.K. Shyamasundar. A transformational methodology for proving termination of logic programs. In 5th Conference on CSL, Lecture Notes in Computer Science, volume 626, pages 213–226. Springer-Verlag, Berlin, 1992.

    Google Scholar 

  15. R.K. Shyamasundar, M.R.K. Krishna Rao, and D. Kapur. Rewriting concepts in the study of termination of logic programs. In Proc. ALPUK '92 Conference, London, April 1992.

    Google Scholar 

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

    Google Scholar 

  17. T. Vasak and J. Potter. Characterization of terminating logic programs. In 3rd IEEE Symposium on Logic Programming, pages 140–147, Salt Lake City, Utah, 1986.

    Google Scholar 

  18. K. Verschaetse and D. De Schreye. Deriving termination proofs for logic programs using abstract procedures. In Proceedings ICLP '91, pages 301–315, Paris, June 1991. The MIT Press.

    Google Scholar 

  19. C. Walther. Argument-bounded algorithms as a basis for automated termination proofs. In Proceedings of 9th CADE, Lecture Notes in Computer Science, volume 310, pages 602–621. Springer-Verlag, Berlin, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rudrapatna K. Shyamasundar

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Aguzzi, G., Modigliani, U. (1993). Proving termination of logic programs by transforming them into equivalent term rewriting systems. In: Shyamasundar, R.K. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1993. Lecture Notes in Computer Science, vol 761. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57529-4_47

Download citation

  • DOI: https://doi.org/10.1007/3-540-57529-4_47

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57529-0

  • Online ISBN: 978-3-540-48211-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics