Skip to main content
Log in

Enhancing dependency pair method using strong computability in simply-typed term rewriting

  • Published:
Applicable Algebra in Engineering, Communication and Computing Aims and scope

Abstract

We enhance the dependency pair method in order to prove termination using recursive structure analysis in simply-typed term rewriting systems, which is one of the computational models of functional programs. The primary advantage of our method is that one can exclude higher-order variables which are difficult to analyze theoretically, from recursive structure analysis. The key idea of our method is to analyze recursive structure from the viewpoint of strong computability. This property was introduced for proving termination in typed λ-calculus, and is a stronger condition than the property of termination. The difficulty in incorporating this concept into recursive structure analysis is that because it is defined inductively over type structure, it is not closed under the subterm relation. This breaks the correspondence between strong computability and recursive structure. In order to guarantee the correspondence, we propose plain function-passing as a restriction, which is satisfied by many non-artificial functional programs.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Anderson, H., Khoo, S.C.: Affine-based size-change termination. In: Proceedings of the 1st Asign Symposium. On Programming Languages and Systems, LNCS 2895 (APLAS2003), pp. 122–140 (2003)

  2. Aoto, T., Yamada, T.: Dependency pairs for simply typed term rewriting. In: Proceedings of the 16th International Conference On Rewriting Techniques and Applications, LNCS 3467 (RTA2005), pp. 120–134 (2005)

  3. Arts T. and Giesl J. (2000). Termination of term rewriting using dependency pairs. Theor. Comput. Sci. 236: 133–178

    Article  MATH  MathSciNet  Google Scholar 

  4. Blanqui, F.: Termination and confluence of higher-order rewrite systems. In: Proceedings of the 11th International Conference On Rewriting Techniques and Applications, LNCS 1833 (RTA2000), pp. 47–61 (2000)

  5. Blanqui, F.: Higher-order dependency pairs. In: Proceedings of the 8th International Workshop on Termination (WST06), pp. 22–26 (2006)

  6. Dershowitz N. (1982). Orderings for term-rewriting systems. Theor. Comput. Sci 17(3): 279–301

    Article  MATH  MathSciNet  Google Scholar 

  7. Dershowitz, N.: Termination dependencies. In: Proceedings of the 6th International Workshop on Termination (WST03), pp. 27–30 (2003)

  8. Giesl J., Arts T. and Ohlebusch E. (2002). Modular termination proofs for rewriting using dependency pairs. J. Sym. Comput. 34(1): 21–58

    Article  MathSciNet  Google Scholar 

  9. Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Improving dependency pairs. In: Proceedings of the 10th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, LNAI 2850 (LPAR2003), pp. 165–179 (2003)

  10. Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Automated termination proofs with AProVE. In: Proceedings of the 15th International Conference On Rewriting Techniques and Applications, LNCS 3091 (RTA2004), pp. 210–220 (2004)

  11. Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: combining techniques for automated termination proofs. In: Proceedings of the 11th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning, LNCS 3452 (LPAR2004), pp. 301–331 (2005)

  12. Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: Proceedings the 5th International. Workshop on Frontiers of Combining Systems LNAI 3717 (FroCoS’05), pp. 216–231 (2005)

  13. Girard, J.-Y.: Interprétation fonctionnelle et élimination des coupures de l’arithmétique d’ordre supérieur. Ph.D. thesis, University of Paris VII (1972)

  14. Goguen, J.A.: Higher-order functions considered unnecessary for higher-order programming. In: Truner, D.A. (ed.) Research Topics in Functional Programming. Addison-Wesley Longman Publishing, Reading, pp. 309–351 (1990)

    Google Scholar 

  15. Hindley J.R. and Seldin J.P. (1986). Introduction to Combinators and λ-Calculus. Cambridge University Press, Cambridge

    Google Scholar 

  16. Hirokawa, N., Middeldorp, A.: Dependency pairs revisited. In: Proceedings of the 15th International Conference On Rewriting Techniques and Applications, LNCS 3091 (RTA04), pp. 249–268 (2004)

  17. Jouannaud, J.-P., Rubio, A.: The higher-order recursive path ordering. In: Proceedings of 14th Annual IEEE Symposium on Logic in Computer Science, IEEE Comp. Sci. Press, New York, pp. 402–411

  18. Kennaway R., Klop J.W., Sleep M.R. and Vries F.J. (1996). Comparing curried and uncurried rewriting. J. Sym. Comput. 21(1): 15–39

    Article  MATH  Google Scholar 

  19. Kusakari, K., Nakamura, M., Toyama, Y.: Argument filtering transformation. In: Proceedings of International Conference On Principles and Practice of Declarative Programming, LNCS 1702 (PPDP’99), pp. 47–61 (1999)

  20. Kusakari, K.: On proving termination of term rewriting systems with higher-order variables. In: IPSJ Transactions on Programming, vol. 42, no.SIG 7 (PRO 11), pp. 35–45 (2001)

  21. Kusakari K. (2004). Higher-order path orders based on computability. IEICE Trans. Inform. Syst. E E87-D(2): 352–359

    Google Scholar 

  22. Kusakari K., Sakai M. and Sakabe T. (2005). Primitive inductive theorems bridge implicit induction methods and inductive theorems in higher-order rewriting. IEICE Trans. Inform. Syst. E E88-D(12): 2715–2726

    Article  Google Scholar 

  23. Kusakari K. and Chiba Y. (2007). A higher-order Knuth–Bendix procedure and its applications. IEICE Trans. Inform. Syst. E E90-D(4): 707–715

    Article  Google Scholar 

  24. Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination. In: Proceedings of the 28th ACM Symposium. On Principles of Programming Languages (POPL2001), pp. 81–92 (2001)

  25. Marché C. and Urbain X. (2004). Modular and incremental proofs of AC-termination. J. Sym. Comput. 38: 873–897

    Article  Google Scholar 

  26. Middeldorp, A.: Approximating dependency graphs using tree automata techniques. In: Proceedings of the International Joint Conference on Automated Reasoning, LNAI 2083 (IJCAR01), pp. 593–610 (2001)

  27. Van Raamsdonk, F.: On termination of higher-order rewriting. In: Proceedings of 12th International Conference On Rewriting Techniques and Applications, LNCS 2051 (RTA2001), pp. 261–275 (2001)

  28. Reynolds J. (1998). Definitional interpreters for higher-order programming languages. Higher Order Computation 11(4): 363–397(1998) Reprinted from the Proceedings of the 25th ACM National Conference (1972)

    Article  MATH  Google Scholar 

  29. Sakai M., Watanabe Y. and Sakabe T. (2001). Dependency pair method for proving termination of higher-order rewrite systems. IEICE Trans. Inform. Syst. E E84-D(8): 1025–1032

    Google Scholar 

  30. Sakai M. and Kusakari K. (2005). On dependency pair method for proving termination of higher-order rewrite systems. IEICE Trans. Inform. Syst. E E88-D(3): 583–593

    Article  Google Scholar 

  31. Sakurai T., Kusakari K., Sakai M., Sakabe T. and Nishida N. (2007). Usable rules and labeling product-typed terms for dependency pair method in simply-typed term rewriting systems. IEICE Trans. Inform. Syst. J J90-D(4): 978–989

    Google Scholar 

  32. Sakurai, T., Kusakari, K., Nishida, N., Sakai, M., Sakabe, T.: Proving sufficient completeness of functional programs based on recursive structure analysis and strong computability. In: Proceedings of the Forum on Information Technology 2005 (FIT2005), Information Technology Letters, LA-001, pp. 1–4, 2005 (in Japanese)

  33. Tait T.T. (1967). Intensional interpretation of functionals of finite type. J. Symbolic Logic 32: 198–212

    Article  MATH  MathSciNet  Google Scholar 

  34. Terese: Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge University Press, Cambridge (2003)

  35. Thiemann, R., Giesl, J., Schneider-Kamp, P.: Improved modular termination proofs using dependency pairs. In: Proceedings of the 2nd International Joint Conference on Automated Reasoning, LNAI 3097 (IJCAR2004), pp. 75–90 (2004)

  36. Thiemann R. and Giesl J. (2005). The size-change principle and dependency pairs for termination of term rewriting. Appl. Algebra Eng. Commun. Comput. 16(4): 229–270

    Article  MATH  MathSciNet  Google Scholar 

  37. Toyama, Y.: Termination of S-expression rewriting systems: lexicographic path ordering for higher-order terms. In: Proceedings of the 15th International Conference On Rewriting Techniques and Applications, LNCS 3091 (RTA2004), pp. 40–54 (2004)

  38. Ullman, Jeffrey D.: Elements of ML Programming. Prentice Hall, Englewood cliffs (1997)

    Google Scholar 

  39. Urbain X. (2004). Modular & incremental automated termination proofs. J. Automated Reason. 32(4): 315–355

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Keiichirou Kusakari.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kusakari, K., Sakai, M. Enhancing dependency pair method using strong computability in simply-typed term rewriting. AAECC 18, 407–431 (2007). https://doi.org/10.1007/s00200-007-0046-9

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00200-007-0046-9

Keywords

Navigation