Implementation of a UU-algorithm for primitive recursive tree functions

  • Heinz Faßbender
Part of the Lecture Notes in Computer Science book series (LNCS, volume 965)


We present the implementation of an efficient universal unification algorithm for the class of equational theories which are induced by primitive recursive tree functions, on an abstract machine and prove its correctness. This machine extends a graph reduction machine by adding mechanisms for the handling of unification and nondeterminism which results from the existence of free variables in the input terms.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R. Echahed. On completeness of narrowing strategies. In CAAP'88, pages 89–101. Springer-Verlag, 1988. LNCS 299.Google Scholar
  2. 2.
    J. Engelfriet and H. Vogler. Modular tree transducers. Theoretical Computer Science, 78:267–304, 1991.Google Scholar
  3. 3.
    H. Faßbender and H. Vogler. A universal unification algorithm based on unification-driven leftmost outermost narrowing. Acta Cybernetica, 11(3):139–167, 1994.Google Scholar
  4. 4.
    H. Faßbender, H. Vogler, and A. Wedel. Implementation of a deterministic partial E-unification algorithm for macro tree transducers. Technical Report 94-04, University of Ulm, Fakultät für Informatik, D-89069 Ulm, Germany, 1994. accepted for publication in Electronic Journal of Functional and Logic Programming.Google Scholar
  5. 5.
    W. Hans, R. Loogen, and S. Winkler. On the interaction of lazy evaluation and backtracking. In PLILP'92, pages 355–369. Springer-Verlag, 1992. LNCS 631.Google Scholar
  6. 6.
    M. Hanus. The integration of functions into logic programming: From theory to practice. Journal of Logic Programming, 19, 20:583–628, 1994.CrossRefGoogle Scholar
  7. 7.
    G. Huet and D.C. Oppen, Equations and rewrite rules: a survey. In R. Book, editor, Formal Language Theory: Perspectives and Open Problems. Academic Press, New York, 1980.Google Scholar
  8. 8.
    J.M. Hullot. Canonical forms and unification. In Proceedings of the 5th conference on automated deduction, pages 318–334. Springer-Verlag, 1980. LNCS 87.Google Scholar
  9. 9.
    T. Johnsson. Efficient compilation of lazy evaluation. SIGPLAN Notices, 6:58–69, 1984.Google Scholar
  10. 10.
    A. Martelli and U. Montanari. An efficient unification algorithm. ACM Transactions on Programming Languages Systems, 4:258–282, 1982.CrossRefGoogle Scholar
  11. 11.
    J.J. Moreno-Navarro and M. Rodriguez-Artalejo. Logic-programming with functions and predicates: the language BABEL. Journal of Logic Programming, 12:191–223, 1992.CrossRefGoogle Scholar
  12. 12.
    U.S. Reddy. Narrowing as the operational semantics of functional languages. In Symposium on Logic Programming, pages 138–151. IEEE Comp. Soc. Press, 1985.Google Scholar
  13. 13.
    J.H. Siekmann. Unification theory. Journal of Symbolic Computation, 7:207–274, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Heinz Faßbender
    • 1
  1. 1.Abt. Theoretische InformatikUniversität UlmUlmGermany

Personalised recommendations