Advertisement

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

  • Keiichirou KusakariEmail author
  • Masahiko Sakai
Article

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.

Keywords

Termination Simply-typed term rewriting system Plain function- passing Dependency pair Strong computability 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)Google Scholar
  2. 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)Google Scholar
  3. 3.
    Arts T. and Giesl J. (2000). Termination of term rewriting using dependency pairs. Theor. Comput. Sci. 236: 133–178 zbMATHCrossRefMathSciNetGoogle Scholar
  4. 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)Google Scholar
  5. 5.
    Blanqui, F.: Higher-order dependency pairs. In: Proceedings of the 8th International Workshop on Termination (WST06), pp. 22–26 (2006)Google Scholar
  6. 6.
    Dershowitz N. (1982). Orderings for term-rewriting systems. Theor. Comput. Sci 17(3): 279–301 zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Dershowitz, N.: Termination dependencies. In: Proceedings of the 6th International Workshop on Termination (WST03), pp. 27–30 (2003)Google Scholar
  8. 8.
    Giesl J., Arts T. and Ohlebusch E. (2002). Modular termination proofs for rewriting using dependency pairs. J. Sym. Comput. 34(1): 21–58 CrossRefMathSciNetGoogle Scholar
  9. 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)Google Scholar
  10. 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)Google Scholar
  11. 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)Google Scholar
  12. 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)Google Scholar
  13. 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)Google Scholar
  14. 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. 15.
    Hindley J.R. and Seldin J.P. (1986). Introduction to Combinators and λ-Calculus. Cambridge University Press, Cambridge Google Scholar
  16. 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)Google Scholar
  17. 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–411Google Scholar
  18. 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 zbMATHCrossRefGoogle Scholar
  19. 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)Google Scholar
  20. 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)Google Scholar
  21. 21.
    Kusakari K. (2004). Higher-order path orders based on computability. IEICE Trans. Inform. Syst. E E87-D(2): 352–359 Google Scholar
  22. 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 CrossRefGoogle Scholar
  23. 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 CrossRefGoogle Scholar
  24. 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)Google Scholar
  25. 25.
    Marché C. and Urbain X. (2004). Modular and incremental proofs of AC-termination. J. Sym. Comput. 38: 873–897 CrossRefGoogle Scholar
  26. 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)Google Scholar
  27. 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)Google Scholar
  28. 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) zbMATHCrossRefGoogle Scholar
  29. 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. 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 CrossRefGoogle Scholar
  31. 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. 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)Google Scholar
  33. 33.
    Tait T.T. (1967). Intensional interpretation of functionals of finite type. J. Symbolic Logic 32: 198–212 zbMATHCrossRefMathSciNetGoogle Scholar
  34. 34.
    Terese: Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge University Press, Cambridge (2003)Google Scholar
  35. 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)Google Scholar
  36. 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 zbMATHCrossRefMathSciNetGoogle Scholar
  37. 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)Google Scholar
  38. 38.
    Ullman, Jeffrey D.: Elements of ML Programming. Prentice Hall, Englewood cliffs (1997)Google Scholar
  39. 39.
    Urbain X. (2004). Modular & incremental automated termination proofs. J. Automated Reason. 32(4): 315–355 zbMATHMathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.Graduate School of Information ScienceNagoya UniversityNagoya-shiJapan

Personalised recommendations