Skip to main content

Detecting Non-termination of Term Rewriting Systems Using an Unfolding Operator

  • Conference paper
Logic-Based Program Synthesis and Transformation (LOPSTR 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4407))

Abstract

In this paper, we present an approach to non-termination of term rewriting systems inspired by a technique that was designed in the context of logic programming. Our method is based on a classical unfolding operation together with semi-unification and is independent of a particular reduction strategy. We also describe a technique to reduce the explosion of rules caused by the unfolding process. The analyser that we have implemented is able to solve most of the non-terminating examples in the Termination Problem Data Base.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alpuente, M., Falaschi, M., Manzo, F.: Analyses of unsatisfiability for equational logic programming. Journal of Logic Programming 311(1–3), 479–525 (1995)

    MathSciNet  Google Scholar 

  2. Alpuente, M., Falaschi, M., Moreno, G., Vidal, G.: Safe folding/unfolding with conditional narrowing. In: Proc. of ALP/HOA 97, pp. 1–15 (1997)

    Google Scholar 

  3. Alpuente, M., Falaschi, M., Moreno, G., Vidal, G.: Rules + strategies for transforming lazy functional logic programs. Theoretical Computer Science 311(1–3), 479–525 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  4. Alpuente, M., Falaschi, M., Ramis, M.J., Vidal, G.: Narrowing approximations as an optimization for equational logic programs. In: Penjam, J., Bruynooghe, M. (eds.) PLILP 1993. LNCS, vol. 714, pp. 391–409. Springer, Heidelberg (1993)

    Google Scholar 

  5. Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theoretical Computer Science 236, 133–178 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  6. F. Baader and T. Nipkow. Term rewriting and all that. Cambridge, 1998.

    Google Scholar 

  7. Burstall, R.M., Darlington, J.: A transformation system for developing recursive programs. Journal of the ACM 24(1), 44–67 (1977)

    Article  MATH  MathSciNet  Google Scholar 

  8. Chabin, J., Réty, P.: Narrowing directed by a graph of terms. In: Book, R.V. (ed.) Rewriting Techniques and Applications. LNCS, vol. 488, pp. 112–123. Springer, Heidelberg (1991)

    Google Scholar 

  9. Codish, M., Taboch, C.: A semantic basis for the termination analysis of logic programs. Journal of Logic Programming 41(1), 103–123 (1999)

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  11. Drosten, K.: Termersetzungssysteme: Grundlagen der Prototyp-Generierung algebraischer Spezifikationen. Springer, Berlin (1989)

    MATH  Google Scholar 

  12. Gabbrielli, M., Giacobazzi, R.: Goal independency and call patterns in the analysis of logic programs. In: Proc. of SAC’94, pp. 394–399. ACM Press, New York (1994)

    Google Scholar 

  13. Genaim, S., Codish, M.: Inferring termination conditions for logic programs using backwards analysis. In: Nieuwenhuis, R., Voronkov, A. (eds.) LPAR 2001. LNCS (LNAI), vol. 2250, pp. 685–694. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  14. Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: Combining techniques for automated termination proofs. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS (LNAI), vol. 3452, pp. 301–331. Springer, Heidelberg (2005)

    Google Scholar 

  15. Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: Gramlich, B. (ed.) Frontiers of Combining Systems. LNCS (LNAI), vol. 3717, pp. 216–231. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  16. Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Automated termination proofs with AProVE. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 210–220. Springer, Heidelberg (2004)

    Google Scholar 

  17. Kapur, D., Musser, D., Narendran, P., Stillman, J.: Semi-unification. Theoretical Computer Science 81, 169–187 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  18. Lankford, D.S., Musser, D.R.: A finite termination criterion. Unpublished Draft, USC Information Sciences Institute, Marina Del Rey, CA (1978)

    Google Scholar 

  19. Mesnard, F., Bagnara, R.: cTI: a constraint-based termination inference tool for iso-prolog. Theory and Practice of Logic Programming 5(1–2), 243–257 (2005)

    Article  MATH  Google Scholar 

  20. Payet, É., Mesnard, F.: Non-termination inference for constraint logic programs. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 377–392. Springer, Heidelberg (2004)

    Google Scholar 

  21. Payet, E., Mesnard, F.: Non-termination inference of logic programs. ACM Transactions on Programming Languages and Systems 28(Issue 2), 256–289 (2006)

    Article  Google Scholar 

  22. Pettorossi, A., Proietti, M.: Rules and strategies for transforming functional and logic programs. ACM Comput. Surv. 28(2), 360–414 (1996)

    Article  Google Scholar 

  23. Steinbach, J.: Simplification orderings: history of results. Fundamenta Informaticae 24, 47–87 (1995)

    MATH  MathSciNet  Google Scholar 

  24. Toyama, Y.: Counterexamples to the termination for the direct sum of term rewriting systems. Information Processing Letters 25(3), 141–143 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  25. Termination Problem Data Base. http://www.lri.fr/~marche/termination-competition

Download references

Author information

Authors and Affiliations

Authors

Editor information

Germán Puebla

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Payet, É. (2007). Detecting Non-termination of Term Rewriting Systems Using an Unfolding Operator. In: Puebla, G. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2006. Lecture Notes in Computer Science, vol 4407. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71410-1_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-71410-1_14

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-71410-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics