Proving operational termination of membership equational programs

  • Francisco Durán
  • Salvador Lucas
  • Claude Marché
  • José Meseguer
  • Xavier Urbain
Article

Abstract

Reasoning about the termination of equational programs in sophisticated equational languages such as Elan, Maude, OBJ, CafeOBJ, Haskell, and so on, requires support for advanced features such as evaluation strategies, rewriting modulo, use of extra variables in conditions, partiality, and expressive type systems (possibly including polymorphism and higher-order). However, many of those features are, at best, only partially supported by current term rewriting termination tools (for instance mu-term, CiME, AProVE, TTT, Termptation, etc.) while they may be essential to ensure termination. We present a sequence of theory transformations that can be used to bridge the gap between expressive membership equational programs and such termination tools, and prove the correctness of such transformations. We also discuss a prototype tool performing the transformations on Maude equational programs and sending the resulting transformed theories to some of the aforementioned standard termination tools.

Keywords

Conditional term rewriting Operational termination Program transformation Declarative rule-based languages Membership equational logic 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E.: ELAN from a rewriting logic point of view. Theor. Comput. Sci. 285, 155–185 (2002) CrossRefMATHGoogle Scholar
  2. 2.
    Borralleras, C., Lucas, S., Rubio, A.: Recursive path orderings can be context-sensitive. In: Voronkov, A. (ed.) Proc. of 18th International Conference on Automated Deduction. Lecture Notes in Artificial Intelligence, vol. 2392, pp. 314–331. Springer, Berlin (2002) Google Scholar
  3. 3.
    Bouhoula, A., Jouannaud, J.-P., Meseguer, J.: Specification and proof in membership equational logic. Theor. Comput. Sci. 236, 35–132 (2000) CrossRefMathSciNetMATHGoogle Scholar
  4. 4.
    Bruni, R., Meseguer, J.: Generalized rewrite theories. In: Baeten, J., Lenstra, J., Parrow, J. (eds.) Proceedings of the 30th International Colloquium on Automata, Languages and Programming. Lecture Notes in Computer Science, vol. 2719, pp. 252–266. Springer, Berlin (2003) CrossRefGoogle Scholar
  5. 5.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.: Maude: specification and programming in rewriting logic. Theor. Comput. Sci. 285(2), 187–243 (2002) CrossRefMATHGoogle Scholar
  6. 6.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: Maude Manual (Version 2.2). December 2005, http://maude.cs.uiuc.edu
  7. 7.
    CoFI Task Group on Semantics. CASL—The common algebraic specification language, version 1.0, Semantics. http://www.brics.dk/Projects/CoFI/Documents/CASL/Semantics/index.html (1999)
  8. 8.
    Contejean, E., Marché, C., Monate, B., Urbain, X.: Proving termination of rewriting with CiME. In: Rubio, A. (ed.) Proc. WST’03 (2003). http://cime.lri.fr
  9. 9.
    Durán, F., Lucas, S., Marché, C., Meseguer, J., Urbain, X.: Proving termination of membership equational programs. In: Sestoft, P., Heintze, N. (eds.) Proc. of ACM SIGPLAN 2004 Symposium PEPM’04, pp. 147–158. Assoc. Comput. Mach., New York (2004) Google Scholar
  10. 10.
    Ferreira, M.C.F., Ribeiro, A.L.: Context-sensitive AC-rewriting. In: Narendran, P., Rusinowitch, M. (eds.) Proc. RTA’99, Trento, Italy. Lecture Notes in Computer Science, vol. 1631, pp. 286–300. Springer, Berlin (1999) Google Scholar
  11. 11.
    Fissore, O., Gnaedig, I., Kirchner, H.: Cariboo: An induction based proof tool for termination with strategies. In: Kirchner, C. (ed.) Proc. PPDP’02, Pittsburgh, USA. Assoc. Comput. Mach., New York (2002) Google Scholar
  12. 12.
    Futatsugi, K., Diaconescu, R.: CafeOBJ Report. AMAST Series World Scientific, Singapore (1998) MATHGoogle Scholar
  13. 13.
    Giesl, J., Arts, T.: Verification of Erlang processes by dependency pairs. Appl. Algebra Eng. Commun. Comput. 12, 39–72 (2001) CrossRefMathSciNetMATHGoogle Scholar
  14. 14.
    Giesl, J., Arts, T., Ohlebusch, E.: Modular termination proofs for rewriting using dependency pairs. J. Symb. Comput. 34(2), 21–58 (2002) CrossRefMathSciNetGoogle Scholar
  15. 15.
    Giesl, J., Middeldorp, A.: Transformation techniques for context-sensitive rewrite systems. J. Funct. Program. 14, 379–427 (2004) CrossRefMathSciNetMATHGoogle Scholar
  16. 16.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: Gramlich, B. (ed.) Proc. of 5th International Workshop on Frontiers of Combining Systems, FroCoS’05, Vienna, Austria, vol. 3717, pp. 216–231. Springer, Berlin (2005) CrossRefGoogle Scholar
  17. 17.
    Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: AProVE: A system for proving termination. In: van Oostrom, V. (ed.) Rewriting Techniques and Applications. Lecture Notes in Computer Science. Springer, Berlin (2004). http://www-i2.informatik.rwth-aachen.de/AProVE Google Scholar
  18. 18.
    Goguen, J., Meseguer, J.: Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theor. Comput. Sci. 105, 217–273 (1992) CrossRefMathSciNetMATHGoogle Scholar
  19. 19.
    Goguen, J., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.-P.: Introducing OBJ. In: Software Engineering with OBJ: Algebraic Specification in Action. Kluwer Academic, Dordrecht (2000) Google Scholar
  20. 20.
    Hirokawa, N., Middeldorp, A.: Tyrolean termination tool. In: Giesl, J. (ed.) Proc. RTA’05, Nara, Japan. Lecture Notes in Computer Science, vol. 3467, pp. 175–184. Springer, Berlin (2005) Google Scholar
  21. 21.
    Hudak, P., Peyton-Jones, S., Wadler, P.: Report on the functional programming language Haskell: a non-strict, purely functional language. SIGPLAN Not. 27, 1–164 (1992) Google Scholar
  22. 22.
    Lucas, S.: Termination of context-sensitive rewriting by rewriting. In: auf der Heide, F.M., Monien, B. (eds.) Proc. of ICALP’96. Lecture Notes in Computer Science, vol. 1099, pp. 122–133. Springer, Berlin (1996) Google Scholar
  23. 23.
    Lucas, S.: Context-sensitive computations in functional and functional logic programs. J. Funct. Logic Program. 1998(1) (1998) Google Scholar
  24. 24.
    Lucas, S.: Context-sensitive rewriting strategies. Inf. Comput. 178(1), 294–343 (2002) MathSciNetMATHGoogle Scholar
  25. 25.
    Lucas, S.: Termination of programs with strategy annotations. Technical Report DSIC-II/20/03, DSIC, Universidad Politécnica de Valencia (2003) Google Scholar
  26. 26.
    Lucas, S.: mu-term, a tool for proving termination of context-sensitive rewriting. In: van Oostrom, V. (ed.) Rewriting Techniques and Applications. Lecture Notes in Computer Science. Springer, Berlin (2004). http://www.dsic.upv.es/~slucas/csr/termination/muterm/ Google Scholar
  27. 27.
    Lucas, S.: Polynomials for proving termination of context-sensitive rewriting. In: Walukiewicz, I. (ed.) Proc. FOSSACS’04. Lecture Notes in Computer Science, vol. 2987, pp. 318–332. Springer, Berlin (2004) Google Scholar
  28. 28.
    Lucas, S.: Proving termination of context-sensitive rewriting by transformation. Inf. Comput. 204(12), 1782–1846 (2006) CrossRefMathSciNetMATHGoogle Scholar
  29. 29.
    Lucas, S., Marché, C., Meseguer, J.: Operational termination of conditional term rewriting systems. Inf. Process. Lett. 95, 446–453 (2005) CrossRefMATHGoogle Scholar
  30. 30.
    Marché, C., Urbain, X.: Modular and incremental proofs of AC-termination. J. Symb. Comput. 38, 873–897 (2004) CrossRefGoogle Scholar
  31. 31.
    Marchiori, M.: Unravelings and ultra-properties. In: Hanus, M., Rodríguez-Artalejo, M. (eds.) Proc. of ALP’96. Lecture Notes in Computer Science, vol. 1039, pp. 107–121. Springer, Berlin (1996) Google Scholar
  32. 32.
    Meseguer, J.: General logics. In: Logic Colloquium’87, pp. 275–329. North-Holland, Amsterdam (1989) Google Scholar
  33. 33.
    Meseguer, J.: Membership algebra as a logical framework for equational specification. In: Parisi-Presicce, F. (ed.) Proceedings WADT’97. Lecture Notes in Computer Science, vol. 1376, pp. 18–61. Springer, Berlin (1998) Google Scholar
  34. 34.
    Meseguer, J., Goguen, J.: Initiality, induction and computability. In: Nivat, M., Reynolds, J. (eds.) Algebraic Methods in Semantics, pp. 459–541. Cambridge University Press, Cambridge (1985) Google Scholar
  35. 35.
    Ohlebusch, E.: Advanced Topics in Term Rewriting. Springer, Berlin (2002) MATHGoogle Scholar
  36. 36.
    Ohlebusch, E.: Hierarchical termination revisited. Inf. Process. Lett. 84(4), 207–214 (2002) CrossRefMathSciNetMATHGoogle Scholar
  37. 37.
    Urbain, X.: Automated incremental termination proofs for hierarchically defined term rewriting systems. In: Goré, R., Leitsch, A., Nipkow, T. (eds.) Proc. IJCAR’01, Siena, Italy. Lecture Notes in Artificial Intelligence, vol. 2083, pp. 485–498. Springer, Berlin (2001) Google Scholar
  38. 38.
    Urbain, X.: Modular and incremental automated termination proofs. J. Automat. Reason. 32, 315–355 (2004) MathSciNetMATHCrossRefGoogle Scholar
  39. 39.
    van Deursen, A., Heering, J., Klint, P.: Language Prototyping: An Algebraic Specification Approach. World Scientific, Singapore (1996) MATHGoogle Scholar
  40. 40.
    Viry, P.: Equational rules for rewriting logic. Theor. Comput. Sci. 285, 487–517 (2002) CrossRefMathSciNetMATHGoogle Scholar
  41. 41.
    Zantema, H.: Termination of context-sensitive rewriting. In: Comon, H. (ed.) Proc. RTA’97, Sitges, Spain. Lecture Notes in Computer Science, vol. 1232, pp. 172–186. Springer, Berlin (1997) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  • Francisco Durán
    • 1
  • Salvador Lucas
    • 2
  • Claude Marché
    • 3
  • José Meseguer
    • 4
  • Xavier Urbain
    • 5
  1. 1.LCCUniversidad de MálagaMalagaSpain
  2. 2.DSICUniversidad Politécnica de ValenciaValenciaSpain
  3. 3.PCRI, LRI (CNRS UMR 8623), INRIA FutursUniversité Paris-SudOrsay CedexFrance
  4. 4.CS Dept.University of Illinois at Urbana-ChampaignUrbanaUSA
  5. 5.CEDRIC, IIEConservatoire National des Arts et MétiersParisFrance

Personalised recommendations