Skip to main content

Preserving universal termination through unfold/fold

  • Conference paper
  • First Online:
Algebraic and Logic Programming (ALP 1994)

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

Included in the following conference series:

Abstract

We study how to preserve universal termination besides computed answer substitutions while transforming definite programs. We consider the unfold operation both alone and combined with the introduction of a new definition and fold operations. We prove that unfold always preserves universal termination. Moreover we define a restricted version of the Tamaki-Sato's transformation sequence and show that it preserves universal termination as well.

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. Introduction to Logic Programming. In J. van Leeuvven, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics. Elsevier, Amsterdam and The MIT Press, Cambridge, 1990.

    Google Scholar 

  2. C. Aravidan and P. M. Dung. On the correctness of Unfold/Fold transformation of normal and extended logic programs. Technical report, Division of Computer Science, Asian Institute of Technology, Bangkok, Thailand, April 1993.

    Google Scholar 

  3. M. Baudinet. Logic Programming Semantics: Techniques and Applications. PhD thesis, Stanford University, Stanford, California, 1989.

    Google Scholar 

  4. A. Bossi and N. Cocco. Basic Transformation Operations which preserve Computed Answer Substitutions of Logic Programs. Journal of Logic Programming, 16:47–87, 1993.

    Google Scholar 

  5. A. Bossi and N. Cocco. Preserving universal termination through unfold/fold. Technical Report 16, Dip. Matematica Pura e Applicata, Università di Padova, Italy, June 1994.

    Google Scholar 

  6. A. Bossi, N. Cocco, and S. Etalle. On Safe Folding. In M. Bruynooghe and M. Wirsing, editors, Programming Language Implementation and Logic Programming — Proceedings PLILP'92, volume 631 of Lecture Notes in Computer Science, pages 172–186. Springer-Verlag, Berlin, 1992.

    Google Scholar 

  7. A. Bossi, N. Cocco, and S. Etalle. Transforming normal program by replacement. In Third Workshop on Metaprogramming in Logic, META92: Uppsala, Sweden, June 1992.

    Google Scholar 

  8. A. Bossi, N. Cocco, and S. Etalle. Simultaneous replacement in normal programs. Technical Report CS-R9357, Centre for Mathematics and Computer Science, Amsterdam, The Netherlands, August 1993.

    Google Scholar 

  9. A. Bossi, N. Cocco, and M. Fabris. Proving termination of logic programs by exploiting term properties. In S. Abramsky and T.S.E. Maibaum, editors, TAPSOFT '91, Brighton, United Kingdom, April 1991, (Lecture Notes in Computer Science 494), pages 153–180. Springer-Verlag, 1991.

    Google Scholar 

  10. E. Eder. Properties of substitutions and unifications. Journal of Symbolic Computation, 1(1):31–48, 1985.

    Google Scholar 

  11. P.A. Gardner and J.C. Shepherdson. Unfold/fold transformations of logic programs. In J-L Lassez and editor G. Plotkin, editors, Computational Logic: Essays in Honor of Alan Robinson. 1991.

    Google Scholar 

  12. T. Kawamura and T. Kanamori. Preservation of Stronger Equivalence in Unfold/Fold Logic Programming Transformation. In Proc. Int'l Conf. on Fifth Generation Computer Systems, pages 413–422. Institute for New Generation Computer Technology, Tokyo, 1988.

    Google Scholar 

  13. H. Komorowski. Partial evaluation as a means for inferencing data structures in an applicative language: A theory and implementation in the case of Prolog. In Ninth ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico, pages 255–267. ACM, 1982.

    Google Scholar 

  14. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, 1987. Second edition.

    Google Scholar 

  15. M.J. Maher. Correctness of a logic program transformation system. IBM Research Report RC13496, T.J. Watson Research Center, 1987.

    Google Scholar 

  16. Mycroft A. N.Jones. Stepwise development of operational and denotational semantics for Prolog. In International Symposium on Logic Programming, Atlantic City, NJ, (U.S.A.), pages 289–298, 1984.

    Google Scholar 

  17. C. Palamidessi. Algebraic properties of idempotent substitutions. In M. S. Paterson, editor, Proc. of the 17th International Colloquium on Automata, Languages and Programming, volume 443 of Lecture Notes in Computer Science, pages 386–399. Springer-Verlag, Berlin, 1990.

    Google Scholar 

  18. M. Proietti and A. Pettorossi. Semantics preserving transformation rules for Prolog. In PEPM 91, New Haven, CT (U.S.A.) (SIGPLAN NOTICES, Vol.26 (9)), pages 274–284, 1991.

    Google Scholar 

  19. M. Proietti and A. Pettorossi. Unfolding, definition, folding, in this order for avoiding unnesessary variables in logic programs. In Maluszynski and M. Wirsing, editors, PLILP 91, Passau, Germany (Lecture Notes in Computer Science, Vol.528), pages 347–358. Springer-Verlag, 1991.

    Google Scholar 

  20. T. Sato. An equivalence preserving first order unfold/fold transformation system. In Second Int. Conference on Algebraic and Logic Programming, Nancy, France, October 1990, (Lecture Notes in Computer Science, Vol. 463), pages 175–188. Springer-Verlag, 1990.

    Google Scholar 

  21. H. Seki. A comparative study of the Well-Founded and Stable model semantics: Transformation's viewpoint. In D. Pedreschi W. Marek, A. Nerode and V.S. Subrahmanian, editors, Workshop on Logic Programming and Non-Monotonic Logic, Austin, Texas, October 1990, pages 115–123, 1990.

    Google Scholar 

  22. H. Seki. Unfold/fold transformation of stratified programs. Journal of Theoretical Computer Science, 86:107–139, 1991.

    Google Scholar 

  23. H. Seki. Unfold/fold transformation of general logic programs for the Well-Founded semantics. Journal of Logic Programming, 16:5–23, 1993.

    Google Scholar 

  24. H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In StenÅke Tärnlund, editor, Proc. Second Int'l Conf. on Logic Programming, pages 127–139, 1984.

    Google Scholar 

  25. T. Vasak and J. Potter. Characterization of Terminating Logic Programs. In Proc. Third IEEE Int'l Symp. on Logic Programming, pages 140–147. IEEE Comp. Soc. Press, 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Giorgio Levi Mario Rodríguez-Artalejo

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag

About this paper

Cite this paper

Bossi, A., Cocco, N. (1994). Preserving universal termination through unfold/fold. In: Levi, G., Rodríguez-Artalejo, M. (eds) Algebraic and Logic Programming. ALP 1994. Lecture Notes in Computer Science, vol 850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58431-5_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-58431-5_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-48791-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics