Skip to main content

A transformational methodology for proving termination of logic programs

  • Conference paper
  • First Online:
Computer Science Logic (CSL 1991)

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

Included in the following conference series:

Abstract

An approach for proving termination of well-moded logic programs is given by transforming a given logic program into a term rewriting system. It is proved that the termination of the derived rewriting system implies the termination of the corresponding logic program for well-moded queries under any selection rule implied by the given modings. The approach is mechanizable using termination orderings proposed in the term rewriting literature. Unlike Ullman and van Gelder's approach and Plümer's method, no preprocessing is needed, and the approach works well even in the presence of mutual recursion. This approach has been used recently to show termination of the Prolog implementation of compiler for ProCoS level 0 language PL0 developed at Oxford University.

Kapur was partially supported by NSF Grant nos. CCR-8906678 and INT-9014074.

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. Bsaics and A. Quere (1991) On using mode input-output for transforming logic programs, Workshop on Logic Program Synthesis and Transformations LOPSTR'91. Proceedings to appear in Springer Workshops in Computer Science series.

    Google Scholar 

  2. K.R. Apt and D. Pedreschi (1991), Reasoning about Termination of Prolog Programs, Technical Report, University of Pisa.

    Google Scholar 

  3. J.S. Conery and D.F. Kibler (1985), AND parallelism and Nondeterminism in Logic Programs, New Generation Computing, 3, pp. 43–70.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  6. N. Dershowitz and J.-P. Jouannaud (1990), Rewrite Systems, In J. van Leeuwen, editor, Handbook of Theoretical Computer Science D: Formal Methods and Semantics, North-Holland, pp. 243–320.

    Google Scholar 

  7. H. Jifeng and C. A. R. Iloare (1989), Operational Semantics for ProCoS level 0 language, ProCoS Project Document, OU IIJ F 1/3, Oxford University.

    Google Scholar 

  8. H. Jifeng, P. Pandya and J. Bowen (1990), Compiling specification for ProCoS Programming language Level 0, ProCoS Workshop, Malente, April 1990.

    Google Scholar 

  9. D. Kapur and Il. Zhang (1989), An Overview of Rewrite Rule Laboratory (RRL), Proc. of Rewrite Techniques and Applications, Springer-Verlag LNCS 355, pp 559–563.

    Google Scholar 

  10. M.R.K. Krishna Rao, D. Kapur and R.K. Shyamasundar (1991), A Transformational Methodology for Proving termination of Logic Programs (extended version), Technical report, Tata Institute of Fundamental Research, Bombay 400 005, India.

    Google Scholar 

  11. M. R. K. Krishna Rao, R. K. Shyamasundar and P. Pandya (1992), Termination proof for ProCoS level 0 language PL 0 compiler, technical report, Tata Institute of Fundamental Research, Bombay, India (in preparation).

    Google Scholar 

  12. J. W. Lloyd (1987), Foundations of Logic Programming, Springer-Verlag.

    Google Scholar 

  13. L. Plümer (1990), Termination proofs for Logic Programs, Ph. D. thesis, University of Dortmund, Also appears as Springer Verlag LNCS vol. 446.

    Google Scholar 

  14. R. K. Shyamasundar, M. R. K. Krishna Rao and D. Kapur (1992), Rewriting Concepts in the Study of Termination of Logic Programs, Proc. ALPUK'92 Conf., London, April 1992.

    Google Scholar 

  15. J.D. Ullman and A. van Gelder (1988), Efficient Tests for Top-Down Termination of Logical Rules, JACM, 35(2), pp. 345–373.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Egon Börger Gerhard Jäger Hans Kleine Büning Michael M. Richter

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Krishna Rao, M.R.K., Kapur, D., Shyamasundar, R.K. (1992). A transformational methodology for proving termination of logic programs. In: Börger, E., Jäger, G., Kleine Büning, H., Richter, M.M. (eds) Computer Science Logic. CSL 1991. Lecture Notes in Computer Science, vol 626. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0023769

Download citation

  • DOI: https://doi.org/10.1007/BFb0023769

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-47285-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics