Skip to main content

Termination of logic programs using semantic unification

  • Conference paper
  • First Online:
Logic Program Synthesis and Transformation (LOPSTR 1995)

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

Abstract

We introduce a transformation of well-moded logic programs into constructor systems, a subclass of term rewrite systems, such that left-termination of the logic program follows from termination of the derived constructor system. Thereafter, we present a new technique to prove termination of constructor systems. In the technique semantic unification is used. Thus, surprisingly, semantic unification can be used For giving termination proofs for logic programs. Parts of the technique can be automated very easily. Other parts can be automated for subclasses of constructor systems. The technique is powerful enough to prove termination of some constructor systems that are not simply terminating, and therefore, the technique is suitable to prove termination of some difficult logic programs.

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. G. Aguzzi and U. Modigliani. Proving termination of logic programs by transforming them into equivalent term rewriting systems. Proceedings of FST&TCS 13, LNCS(761):114–124, December 1993.

    Google Scholar 

  2. Thomas Arts. Termination by absence of infinite chains of dependency pairs. In Proceedings of CAAP'96, April 1996. Full version appeared as technical report UU-CS-1995-32, Utrecht University.

    Google Scholar 

  3. Thomas Arts and Hans Zantema. Termination of logic programs via labelled term rewrite systems. Technical Report UU-CS-1994-20, Utrecht University.

    Google Scholar 

  4. Thomas Arts and Hans Zantema. Termination of constructor systems using semantic unification. Technical Report UU-CS-1995-17, Utrecht University.

    Google Scholar 

  5. Maher Chtourou and Michaël Rusinowitch. Méthode transformationnelle pour la preuve de terminaison des programmes logiques. Unpublished manuscript in French, 1993.

    Google Scholar 

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

    Google Scholar 

  7. N. Dershowitz and J.-P. Jouannaud. Rewrite systems. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 243–320. North-Holland, 1990.

    Google Scholar 

  8. P. Dembinski and J. Maluszynski. And-parallelism with intelligent backtracking for annotated logic programs. Proceedings of the International Symposium on Logic Programming, pages 29–38, 1985.

    Google Scholar 

  9. Maria Ferreira and Hans Zantema. Syntactical analysis of total termination. Proceedings of ALP'94, LNCS(850):204–222, September 1994.

    Google Scholar 

  10. Harald Ganzinger and Uwe Waldmann. Termination proofs of well-moded logic programs via conditional rewrite systems. Proceedings of CTRS, LNCS(656):430–437, July 1992.

    Google Scholar 

  11. M. Hanus. The intergration of functions into logic programming: From theory to practice. Journal of Logic Programming, 19–20:583–628, 1994.

    Google Scholar 

  12. S. Hölldobler. Foundations of Equational Logic Programming, volume 353 of LNAI, 1989. Subseries of LNCS.

    Google Scholar 

  13. J.M. Hullot. Canonical forms and unification. 5th International Conference on Automated Deduction, LNCS(87):318–334, 1980.

    Google Scholar 

  14. M.R.K. Krishna Rao, Deepak Kapur, and R.K. Shyamasundar. A transformational methodology for proving termination of logic programs. Proceedings of CSL, LNCS(626):213–226, 1991.

    Google Scholar 

  15. J.W. Klop. Term rewriting systems. In S. Abramsky, D.M. Gabbay, and T.S.E. Maibaum, editors, Handbook of Logic in Computer Science, volume 2, pages 1–116. Oxford University Press, New York, 1992.

    Google Scholar 

  16. Massimo Marchiori. Logic programs as term rewrite systems. Proceedings of ALP'94, LNCS(850):223–241, September 1994.

    Google Scholar 

  17. Danny de Schreye and Stefaan Decorte. Termination of logic programs: The never-ending story. Journal of Logic Programming, 19,20:199–260, 1994.

    Google Scholar 

  18. J.H. Siekmann. Unification theory. Journal of Symbolic Computation, 7:207–274, 1989.

    Google Scholar 

  19. H. Zantema. Termination of term rewriting: interpretation and type elimination. Journal of Symbolic Computation, 17:23–50, 1994.

    Google Scholar 

  20. H. Zantema. Termination of term rewriting by semantic labelling. Fundamenta Informaticae, 24:89–105, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Maurizio Proietti

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Arts, T., Zantema, H. (1996). Termination of logic programs using semantic unification. In: Proietti, M. (eds) Logic Program Synthesis and Transformation. LOPSTR 1995. Lecture Notes in Computer Science, vol 1048. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60939-3_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-60939-3_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60939-1

  • Online ISBN: 978-3-540-49745-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics