Natural Rewriting for General Term Rewriting Systems

  • Santiago Escobar
  • José Meseguer
  • Prasanna Thati
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3573)


We address the problem of an efficient rewriting strategy for general term rewriting systems. Several strategies have been proposed over the last two decades for rewriting, the most efficient of all being the natural rewriting strategy [9]. All the strategies so far, including natural rewriting, assume that the given term rewriting system is a left-linear constructor system. Although these restrictions are reasonable for some functional programming languages, they limit the expressive power of equational languages, and they preclude certain applications of rewriting to equational theorem proving and to languages combining equational and logic programming. In this paper, we propose a conservative generalization of natural rewriting that does not require the rules to be left-linear and constructor-based. We also establish the soundness and completeness of this generalization.


Normal Form Logic Program Constructor System Root Position Functional Programming Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Antoy, S.: Definitional trees. In: Kirchner, H., Levi, G. (eds.) ALP 1992. LNCS, vol. 632, pp. 143–157. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  2. 2.
    Antoy, S.: Constructor-based conditional narrowing. In: Proc. of 3rd International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, PPDP2001, September 2001, pp. 199–206. ACM Press, Florence (2001)CrossRefGoogle Scholar
  3. 3.
    Antoy, S., Echahed, R., Hanus, M.: Parallel evaluation strategies for functional logic languages. In: Proc. of the Fourteenth International Conference on Logic Programming (ICLP1997), pp. 138–152. MIT Press, Cambridge (1997)Google Scholar
  4. 4.
    Antoy, S., Echahed, R., Hanus, M.: A needed narrowing strategy. Journal of the ACM 47(4), 776–822 (2000)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Antoy, S., Lucas, S.: Demandness in rewriting and narrowing. In: Comini, M., Falaschi, M. (eds.) Proc. of the 11th Int’l Workshop on Functional and (Constraint) Logic Programming WFLP2002. Electronic Notes in Theoretical Computer Science, vol. 76. Elsevier, Amsterdam (2002)Google Scholar
  6. 6.
    Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E.: ELAN from a rewriting logic point of view. Theoretical Computer Science 285, 155–185 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.: Maude: specification and programming in rewriting logic. Theoretical Computer Science 285, 187–243 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Deursen, A., Heering, J., Klint, P.: Language Prototyping: An Algebraic Specification Approach. World Scientific, Singapore (1996)zbMATHGoogle Scholar
  9. 9.
    Escobar, S.: Refining weakly outermost-needed rewriting and narrowing. In: Miller, D. (ed.) Proc. of 5th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, PPDP2003, pp. 113–123. ACM Press, New York (2003)CrossRefGoogle Scholar
  10. 10.
    Escobar, S.: Implementing natural rewriting and narrowing efficiently. In: Kameyama, Y., Stuckey, P.J. (eds.) FLOPS 2004. LNCS, vol. 2998, pp. 147–162. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Escobar, S., Meseguer, J., Thati, P.: Natural narrowing as a general unified mechanism for programming and proving. Technical Report DSIC-II/16/04, DSIC, Universidad Politécnica de Valencia (2004), Available at
  12. 12.
    Escobar, S., Meseguer, J., Thati, P.: Natural narrowing for general term rewriting systems. In: Giesl, J. (ed.) RTA 2005. LNCS, vol. 3467. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Futatsugi, K., Diaconescu, R.: CafeOBJ Report. World Scientific, AMAST Series (1998)Google Scholar
  14. 14.
    Giovannetti, E., Levi, G., Moiso, C., Palamidessi, C.: Kernel Leaf: A Logic plus Functional Language. Journal of Computer and System Sciences 42(2), 139–185 (1991)zbMATHCrossRefGoogle Scholar
  15. 15.
    Goguen, J., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.-P.: Introducing OBJ. In: Software Engineering with OBJ: Algebraic Specification in Action, pp. 3–167. Kluwer, Dordrecht (2000)Google Scholar
  16. 16.
    González-Moreno, J.C., Hortalá-González, M.T., López-Fraguas, F.J., Rodríguez-Artalejo, M.: An approach to declarative programming based on a rewriting logic. Journal of Logic Programming 40(1), 47–87 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Hofbauer, D., Huber, M.: Linearizing term rewriting systems using test sets. Journal of Symbolic Computation 17, 91–129 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Huet, G., Lévy, J.-J.: Computations in Orthogonal Term Rewriting Systems, Part I + II. In: Computational logic: Essays in honour of J. Alan Robinson, pp. 395–414, 415–443. The MIT Press, Cambridge (1992)Google Scholar
  19. 19.
    Loogen, R., López-Fraguas, F., Rodríguez-Artalejo, M.: A Demand Driven Computation Strategy for Lazy Narrowing. In: Penjam, J., Bruynooghe, M. (eds.) PLILP 1993. LNCS, vol. 714, pp. 184–200. Springer, Heidelberg (1993)Google Scholar
  20. 20.
    Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96(1), 73–155 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Middeldorp, A.: Call by need computations to root-stable form. In: Proceedings of the 24th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 94–105. ACM Press, New York (1997)CrossRefGoogle Scholar
  22. 22.
    Peyton-Jones, S.: The Implementation of Functional Programming Languages. Prentice Hall International, London (1987)zbMATHGoogle Scholar
  23. 23.
    Salinier, B., Strandh, R.: Efficient simulation of forward-branching systems with constructor systems. Journal of Symbolic Computation 22, 381–399 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Sekar, R., Ramakrishnan, I.: Programming in equational logic: Beyond strong sequentiality. Information and Computation 104(1), 78–109 (1993)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Santiago Escobar
    • 1
  • José Meseguer
    • 2
  • Prasanna Thati
    • 3
  1. 1.Universidad Politécnica de ValenciaSpain
  2. 2.University of Illinois at Urbana-ChampaignUSA
  3. 3.Carnegie Mellon UniversityUSA

Personalised recommendations