Compilation of narrowing

  • Andy Mück
Implementation Of Term Rewriting
Part of the Lecture Notes in Computer Science book series (LNCS, volume 456)


Algebraic programming is a good alternative to logic programming. Analogously to SLD-resolution in Prolog, narrowing serves to solve systems of equations with respect to an algebraic program. To speed up current narrowing implementations, one has to find techniques to compile algebraic programs. In the following, we show a compilation technique for narrowing based on partial evaluation of the axioms of an algebraic program.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Bosco et al. 88]
    Bosco P. G., Giovannetti E., Moiso C.: Narrowing vs. SLD-resolution, Journal of Theoretic Computer Science, July 1988, pp. 3–23Google Scholar
  2. [Bosco et al. 89]
    Bosco P. G., Cecchi C., Moiso C.: An Extention of WAM for K-LEAF: A WAM-based Compilation of Conditional Narrowing. Proc. Int. Conf. on Logic Programming, pp. 318–336, MIT Press, 1989Google Scholar
  3. [Deransart 83]
    Deransart P.: An Operational Algebraic Semantics of Prolog Programs, Proc. Programmation en Logique, Perros-Guirec, CNET-Lannion, 1983Google Scholar
  4. [EM 81]
    van Emden M. H., Maibaum T.S.E.: Equations Compared with Clauses for Specification of Abstract Data Types. In: Gallaire H., Minka J., Nicolas J.M.: Advances in Data Base Theory, Vol. 1, pp. 159–193, Plenum Press, New York, 1981Google Scholar
  5. [Fribourg 85]
    Fribourg L.: Handling Function Definitions through Innermost Superposition and Rewriting, Proc. RTA 85, LNCS 202, pp. 325–344, Springer-Verlag, Berlin — New York 1985Google Scholar
  6. [Fay 79]
    Fay M.: First Order Unification in an Equational Theory, Proc. 4th Workshop on Automated Deduction, Academic Press, 1979Google Scholar
  7. [Geser et al. 87]
    Geser A., Hussmann H., Mück A.: A Compiler for a Class of Conditional Term Rewriting Systems, Proc. 1st. Int. Workshop of Conditional Term Rewriting Systems, Paris-Orsay, LNCS 308, pp. 84–90, 1987Google Scholar
  8. [Hullot 80]
    Hullot J. M.: Canonical Forms and Unification, Proc. 5th CADE, LNCS 87, pp. 318–324, Springer-Verlag, Berlin — New York 1980Google Scholar
  9. [Hussmann 85]
    Hussmann H.: Unification in Condition-Equational Theories, Research Report No. MIP-8502, Universität Passau 1985Google Scholar
  10. [Kaplan 87]
    Kaplan S.: A Compiler for Conditional Term Rewriting Systems, Proc. RTA 87, LNCS 256, pp. 24–41, 1987Google Scholar
  11. [Kursawe 87]
    Kursawe P.: How to Invent a Prolog Machine, New Generation Computing, 5/87, pp. 97–114, Springer-Verlag, Berlin — New York, 1987Google Scholar
  12. [RAP 85]
    Hussmann H.: Rapid Prototyping for Algebraic Specifications, RAP-System User's Manual, Research Report No. MIP-8504, Universität Passau 1985Google Scholar
  13. [Rety et al. 85]
    Rety P., Kirchner C., Kirchner H., Lescanne P.: NARROWER: A New Algorithm and Its Application to Logic Programming, Proc. RTA 85, LNCS 202, pp. 141–157, Springer-Verlag, Berlin — New York 1985Google Scholar
  14. [Robinson 65]
    Robinson J.A.: A Machine Oriented Logic Based on the Resolution Principle, JACM, Vol. 12, No. 1, pp. 23–41, Jan. 1965Google Scholar
  15. [Warren 77]
    Warren D.H.D.: Implementing Prolog — Compiling Predicate Logic Programs, Vol. 1+2, Research Report No. 39, Department of AI, University of Edinburgh, 1977Google Scholar
  16. [Warren 83]
    Warren D.H.D.: An Abstract Prolog Instruction Set, SRI International, Technical Note 309, 1983Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Andy Mück
    • 1
  1. 1.Fakultät für InformatikUniversität PassauPassau

Personalised recommendations