Termination of Narrowing in Left-Linear Constructor Systems

  • Germán Vidal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4989)


Narrowing extends rewriting with logic capabilities by allowing logic variables in terms and replacing matching with unification. Narrowing has been widely used in different contexts, ranging from theorem proving to language design. Surprisingly, the termination of narrowing has been mostly overlooked. In this paper, we present a new approach for analyzing the termination of narrowing in left-linear constructor systems|a widely accepted class of systems|that allows us to reuse existing methods in the literature on termination of rewriting.


Logic Program Function Symbol Logic Variable Abstract Term Dependency Pair 
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.
    Albert, E., Vidal, G.: The Narrowing-Driven Approach to Functional Logic Program Specialization. New Generation Computing 20(1), 3–26 (2002)MathSciNetzbMATHGoogle Scholar
  2. 2.
    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
  3. 3.
    Antoy, S.: Optimal non-deterministic functional logic computations. In: Hanus, M., Heering, J., Meinke, K. (eds.) ALP 1997 and HOA 1997. LNCS, vol. 1298, pp. 16–30. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  4. 4.
    Antoy, S., Ariola, Z.: Narrowing the Narrowing Space. In: Hartel, P.H., Kuchen, H. (eds.) PLILP 1997. LNCS, vol. 1292, pp. 1–15. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  5. 5.
    Antoy, S., Echahed, R., Hanus, M.: A Needed Narrowing Strategy. Journal of the ACM 47(4), 776–822 (2000)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Antoy, S., Hanus, M.: Overlapping Rules and Logic Variables in Functional Logic Programs. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 87–101. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Arroyo, G., Ramos, J.G., Silva, J., Vidal, G.: Improving Offline Narrowing-Driven Partial Evaluation using Size-Change Graphs. In: Puebla, G. (ed.) LOPSTR 2006. LNCS, vol. 4407, pp. 60–76. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Arts, T., Giesl, J.: Termination of Term Rewriting Using Dependency Pairs. Theoretical Computer Science 236(1-2), 133–178 (2000)CrossRefMathSciNetzbMATHGoogle Scholar
  9. 9.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)Google Scholar
  10. 10.
    Chabin, J., Réty, P.: Narrowing Directed by a Graph of Terms. In: Book, R.V. (ed.) RTA 1991. LNCS, vol. 488, pp. 112–123. Springer, Heidelberg (1991)Google Scholar
  11. 11.
    Christian, J.: Some Termination Criteria for Narrowing and E-narrowing. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 582–588. Springer, Heidelberg (1992)Google Scholar
  12. 12.
    de Dios-Castro, J., López-Fraguas, F.: Extra Variables Can Be Eliminated from Functional Logic Programs. In: Proc. of the 6th Spanish Conf. on Programming and Languages (PROLE 2006), ENTCS, vol. 188, pp. 3–19. (2007)Google Scholar
  13. 13.
    Dershowitz, N.: Termination of Rewriting. Journal of Symbolic Computation 3(1&2), 69–115 (1987)MathSciNetzbMATHCrossRefGoogle Scholar
  14. 14.
    Dershowitz, N., Sivakumar, G.: Goal-Directed Equation Solving. In: Proc. of 7th National Conf. on Artificial Intelligence, pp. 166–170. Morgan Kaufmann, San Francisco (1988)Google Scholar
  15. 15.
    Hanus, M. (ed.): Curry: An Integrated Functional Logic Language,
  16. 16.
    Escobar, S., Meadows, C., Meseguer, J.: A Rewriting-Based Inference System for the NRL Protocol Analyzer and its Meta-Logical Properties. Theoretical Computer Science 367(1-2), 162–202 (2006)CrossRefMathSciNetzbMATHGoogle Scholar
  17. 17.
    Escobar, S., Meseguer, J.: Symbolic Model Checking of Infinite-State Systems Using Narrowing. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 153–168. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  18. 18.
    Giesl, J., Middeldorp, A.: Eliminating Dummy Elimination. In: McAllester, D. (ed.) CADE 2000. LNCS, vol. 1831, pp. 309–323. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  19. 19.
    Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 281–286. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  20. 20.
    Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and Improving Dependency Pairs. Journal of Automated Reasoning 37(3), 155–203 (2006)CrossRefMathSciNetzbMATHGoogle Scholar
  21. 21.
    Hanus, M.: The Integration of Functions into Logic Programming: From Theory to Practice. Journal of Logic Programming 19&20, 583–628 (1994)CrossRefMathSciNetGoogle Scholar
  22. 22.
    Hölldobler, S. (ed.): Foundations of Equational Logic Programming. LNCS, vol. 353. Springer, Heidelberg (1989)zbMATHGoogle Scholar
  23. 23.
    Hullot, J.M.: Canonical Forms and Unification. In: Bibel, W. (ed.) CADE 1980. LNCS, vol. 87, pp. 318–334. Springer, Heidelberg (1980)Google Scholar
  24. 24.
    Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
  25. 25.
    Klop, J.W.: Term Rewriting Systems: A Tutorial. Bulletin of the European Association for Theoretical Computer Science 32, 143–183 (1987)zbMATHGoogle Scholar
  26. 26.
    Kusakari, K., Nakamura, M., Toyama, Y.: Argument Filtering Transformation. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 48–62. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  27. 27.
    López-Fraguas, F., Sánchez-Hernández, J.: TOY: A Multiparadigm Declarative System. In: Narendran, P., Rusinowitch, M. (eds.) RTA 1999. LNCS, vol. 1631, pp. 244–247. Springer, Heidelberg (1999)Google Scholar
  28. 28.
    Meseguer, J., Thati, P.: Symbolic Reachability Analysis Using Narrowing and its Application to Verification of Cryptographic Protocols. Electronic Notes in Theoretical Computer Science 117, 153–182 (2005)CrossRefGoogle Scholar
  29. 29.
    Moreno-Navarro, J.J., Kuchen, H., Loogen, R., Rodriguez-Artalejo, M.: Lazy Narrowing in a Graph Machine. In: Kirchner, H., Wechler, W. (eds.) ALP 1990. LNCS, vol. 463, pp. 298–317. Springer, Heidelberg (1990)Google Scholar
  30. 30.
    Nishida, N., Miura, K.: Dependency Graph Method for Proving Termination of Narrowing. In: Proc. of WST 2006, pp. 12–16 (2006)Google Scholar
  31. 31.
    Nishida, N., Sakai, M., Sakabe, T.: Narrowing-Based Simulation of Term Rewriting Systems with Extra Variables. ENTCS, 86(3) (2003)Google Scholar
  32. 32.
    Ramos, J.G., Silva, J., Vidal, G.: Fast Narrowing-Driven Partial Evaluation for Inductively Sequential Systems. In: Proc. of the 10th ACM SIGPLAN Int’l Conf. on Functional Programming (ICFP 2005), pp. 228–239. ACM Press, New York (2005)CrossRefGoogle Scholar
  33. 33.
    Schneider-Kamp, P., Giesl, J., Serebrenik, A., Thiemann, R.: Automated Termination Analysis for Logic Programs by Term Rewriting. In: Puebla, G. (ed.) LOPSTR 2006. LNCS, vol. 4407, pp. 177–193. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  34. 34.
    Sheard, T.: Type-Level Computation Using Narrowing in Ωmega. In: In Proc. of PLPV 2006. ENTCS, vol. 174, pp. 105–128 (2007)Google Scholar
  35. 35.
    Slagle, J.R.: Automated Theorem-Proving for Theories with Simplifiers, Commutativity and Associativity. Journal of the ACM 21(4), 622–642 (1974)CrossRefMathSciNetzbMATHGoogle Scholar
  36. 36.
    Vidal, G.: Termination of Narrowing in Left-Linear Constructor Systems. Technical report, DSIC, Technical University of Valencia (2007),

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Germán Vidal
    • 1
  1. 1.Technical University of ValenciaSpain

Personalised recommendations