New Generation Computing

, Volume 16, Issue 4, pp 397–433 | Cite as

How to realize LSE narrowing

  • Andreas Werner
  • Alexander Bockmayr
  • Stefan Krischer
Regular Papers

Abstract

Narrowing is a complete unification procedure for equational theories defined by canonical term rewriting systems. It is also the operational semantics of various logic and functional programming languages. In Ref. 3), we introduced the LSE narrowing strategy, which is complete for arbitrary canonical rewriting systems and optimal in the sense that two different LSE narrowing derivations cannot generate the same narrowing substitution. LSE narrowing improves all previously known strategies for the class of arbitrary canonical systems.

LSE narrowing detects redundant derivations by reducibility tests. According to their definition, LSE narrowing steps seem to be very expensive, because a large number of subterms has to be tested. In this paper, we show that many of these subterms are identical. We describe how left-to-right basic occurrences can be used to identify and exclude these identical subterms. This way, we can drastically reduce the number of subterms that have to be tested. Based on these theoretical results, we develop an efficient implementation of LSE narrowing.

Keywords

Narrowing Logic and Functional Programming Implementation E-Unification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1).
    Aït-Kaci, H.,Warren’s Abstract Machine: A Tutorial Reconstruction, MIT Press, 1991.Google Scholar
  2. 2).
    Bockmayr, A., Krischer, S., and Werner, A., “An Optimal Narrowing Strategy for General Canonical Systems,” inConditional Term Rewriting Systems, CTRS 1992, Pont-à-Mousson, France,LNCS 656, Springer-Verlag, pp. 483–497, 1993.Google Scholar
  3. 3).
    Bockmayr, A., Krischer, S., and Werner, A., “Narrowing Strategies for Arbitrary Canonical Systems,”Fundamenta Informaticae, 24, 1 &2, pp. 125–156, 1995.MATHMathSciNetGoogle Scholar
  4. 4).
    Bockmayr, A. and Werner, A. “LSE Narrowing for Decreasing Conditional Term Rewrite Systems,” inConditional and Typed Rewriting Systems, CTRS-1994, Jerusalem, Israel,LNCS 968, Springer-Verlag, pp. 51–70, 1995.Google Scholar
  5. 5).
    Dershowitz, N. and Jouannaud, J. P., “Rewrite Systems,” inHandbook of Theoretical Computer Science, Volume B, Chapter 6, Elsevier Science Publishers, North-Holland, pp. 244–320, 1990.Google Scholar
  6. 6).
    DeGroot, D. and Lindstrom, G.,Logic Programming. Functions, Relations, and Equations, Prentice Hall, 1986.Google Scholar
  7. 7).
    Gollner, M., “Implicit, Explicit and Consistent-Explicit Basic-Indexing,” inImplementation of Logical-Functional Languages, Internet Bericht 10/92, Fakultät für Informatik, University of Karlsruhe, 1993.Google Scholar
  8. 8).
    Gollner, M., “Eine abstrakte Maschine für das logisch-funktionale Programmieren,”Ph.D. thesis, University of Karlsruhe, 1996.Google Scholar
  9. 9).
    Hanus, M., “Effcient Implementation of Narrowing and Rewriting,”Proc. International Workshop on Processing Declarative Knowledge, Kaiserslautern,LNAI 567, Springer-Verlag, pp. 344–365, 1991.Google Scholar
  10. 10).
    Hanus, M., “The Integration of Functions into Logic Programming: From Theory to Practice,”Journal of Logic Programming, 19 &20, pp. 583–628, 1994.CrossRefMathSciNetGoogle Scholar
  11. 11).
    Herold, A, “Narrowing Techniques Applied to Idempotent Unification,”SEKI Report, SR-86-16, Universität Kaiserslautern, 1986.Google Scholar
  12. 12).
    Hölldobler, S., “From Paramodulation to Narrowing,” inProc. 5th International Conference and Symposium on Logic Programming, Seattle, MIT Press, pp. 327–342, 1988.Google Scholar
  13. 13).
    Huet, G. and Levi, J.J., “Computations in Orthogonal Rewriting Systems,” inComputational Logic: Essays in Honor of Alan Robinson (J. L. Lassez and G. Plotkin), MIT Press, pp. 395–443, 1991.Google Scholar
  14. 14).
    Huet, G. and Oppen, D. C., “Equations and Rewrite Rules: A Survey,” inFormal Languages: Perspectives and Open Problems (R. Book, ed.), Academic Press, pp. 349–405, 1980.Google Scholar
  15. 15).
    Hullot, J. M., “Canonical Forms and Unification,”Proceedings of the 5th Conference on Automated Deduction, Les Ares, France,LNCS 87, Springer-Verlag, pp. 318–334, 1980.Google Scholar
  16. 16).
    Krischer, S.,Vergleich und Bewertung von Narrowing-Strategien, Diplomarbeit, Fakultät für Informatik, University of Karlsruhe, 1990.Google Scholar
  17. 17).
    Krischer, S. and Bockmayr, A., “Detecting Redundant Narrowing Derivations by the LSE-SL Reducibility Test,”Proceedings of the 4th Conference on Rewriting Techniques and Applications, RTA 1991, Como, Italy,LNCS 488, Springer-Verlag, pp. 74–85, 1991.Google Scholar
  18. 18).
    Nutt, W., Réty, P., and Smolka, G., “Basic Narrowing Revisited,”Journal of Symbolic Computation, 7, pp. 295–317, 1989.MATHCrossRefMathSciNetGoogle Scholar
  19. 19).
    Réty, P., “Improving Basic Narrowing Techniques,” inProc. 2nd Conference on Rewriting Techniques and Applications, RTA 1987, Bordeaux, France,LNCS 256, Springer-Verlag, pp. 228–241, 1987.Google Scholar
  20. 20).
    Réty, P., “Méthodes d’ Unification par Surréduction,”Ph.D. thesis, Université de Nancy, 1988.Google Scholar
  21. 21).
    Réty, P., Kirchner, C., Kirchner, H. and Lescanne, P., “NARROWER: A New Algorithm for Unifications and Its Application to Logic Programming,”Proc. of the Ist Conference on Rewriting Techniques and Applications, RTA 1985, Dijon, France,LNCS 202, Springer-Verlag, pp. 141–157, 1985.Google Scholar
  22. 22).
    Warren, D. H., “An Abstract PROLOG Instruction Set,”Technical Report, 309, Artificial Intelligence Center, SRJ International, 1983.Google Scholar
  23. 23).
    Werner, A., Bockmayr, A., and Krischer, S., “How to Realize LSE Narrowing,” inAlgebraic and Logic Programming, Madrid,ALP’94, Springer-Verlag.,LNCS 850, pp. 59–76, 1994.Google Scholar

Copyright information

© Ohmsha, Ltd. and Springer 1998

Authors and Affiliations

  • Andreas Werner
    • 1
  • Alexander Bockmayr
    • 2
  • Stefan Krischer
    • 3
  1. 1.Inline Internet Online Dienste GmbHKarlsruheGermany
  2. 2.MPI InformatikSaarbrückenGermany
  3. 3.University of TrierTrierGermany

Personalised recommendations