A unification algorithm for confluent theories

  • Steffen Hölldobler
Rewrite Systems
Part of the Lecture Notes in Computer Science book series (LNCS, volume 267)


We present a correct and complete unification algorithm for confluent theories. The algorithm is based on inference rules for sets of equations and is an extension of the standard unification algorithm invented by Martelli and Montanari [16]. It is demand driven and can handle infinite and partial instantiated objects and thus can be used as a means to integrate functional and logic programming.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    K.A.Apt, M.H.van Emden: Contributions to the Theory of Logic Programming. J.ACM, 841–862: 1982Google Scholar
  2. 2.
    M.Bellia, G.Levi: The Relation Between Logic and Functional Languages: A Survey. J. Logic Programming, 217–236: 1986Google Scholar
  3. 3.
    A.Colmerauer: Prolog and Infinite Trees. In: Logic Programming (Clark, Tarnlund, eds.), 231–251: 1982Google Scholar
  4. 4.
    M.Fay: First-Order Unification in an Equational Theory. Proc. 4th Workshop on Automated Deduction (Joyner ed.), 161–167: 1979Google Scholar
  5. 5.
    L.Fribourg: Oriented Equational Clauses as a Programming Language. J. Logic Programming, 165–177: 1984Google Scholar
  6. 6.
    L.Fribourg: SLOG: A Logic Programming Language Interpreter based on Clausal Superposition and Rewriting. Proc. SLP'85, 172–184: 1985Google Scholar
  7. 7.
    D.P.Friedman, D.S.Wise: Cons should not Evaluate its Arguments. Automata, Languages, and Programming (Michaelson, Milner, eds.), 257–284: 1976Google Scholar
  8. 8.
    S.Heilbrunner, S.Hölldobler: The Undecidability of the Unification and Matching Problem for Canonical Theories. Acta Informatica: 1987Google Scholar
  9. 9.
    P.Henderson: Functional Programming. Prentice Hall: 1980Google Scholar
  10. 10.
    G.Huet: A Unification Algorithm for Typed λ-Calculus. J. Theoretical Computer Science, 27–57: 1975Google Scholar
  11. 11.
    G.Huet, D.C.Oppen: Equations and Rewrite Rules. In: Formal Languages: Perspectives and Open Problems (Book ed.), 349–405: 1980Google Scholar
  12. 12.
    J.M.Hullot: Canonical Forms and Unification. Proc. Conf. Automated Deduction, 318–334: 1980Google Scholar
  13. 13.
    H.Hussmann: Unification in Conditional-Equational Theories. Univ. Passau MIP-8502: 1985Google Scholar
  14. 14.
    D.E.Knuth, P.B.Bendix: Simple Word Problems in Universal Algebras. In: Computational Problems in Abstract Algebra (Leech, ed.), 263–297: 1970Google Scholar
  15. 15.
    J.W.Lloyd: Foundations of Logic Programming. Springer: 1984Google Scholar
  16. 16.
    A.Martelli, U.Montanari: An Efficient Unification Algorithm. ACM TOPLAS, 258–282: 1982Google Scholar
  17. 17.
    A.Martelli, C.Moiso, C.F.Rossi: An Algorithm for Unification in Equational Theories. Proc. SLP'86, 180–186: 1986Google Scholar
  18. 18.
    M.S.Paterson, M.N.Wegman: Linear Unification. J.Comp.Sys.Sciences, 158–167: 1978Google Scholar
  19. 19.
    U.S.Reddy: Narrowing as the Operational Semantics of Functional Languages. Proc. SLP'85, 138–151: 1985Google Scholar
  20. 20.
    J.A.Robinson: A Machine-Oriented Logic based on the Resolution Principle. J.ACM, 23–41: 1965Google Scholar
  21. 21.
    J.A.Robinson: A Review on Automatic Theorem Proving. Annual Symposia in Applied Mathematics, 1–18: 1967Google Scholar
  22. 22.
    G.A.Robinson, L.Wos: Paramodulation and Theorem Proving in First Order Theories with Equality. In: Machine Intelligence 4 (Meltzer, Mitchie, eds.), 135–150: 1969Google Scholar
  23. 23.
    E.E.Sibert: A Machine-Oriented Logic Incorporating the Equality Relation. In: Machine Intelligence 4 (Meltzer, Mitchie, eds.), 103–133: 1969Google Scholar
  24. 24.
    J.H. Siekmann: Universal Unification. LNCS 170, 1–42: 1984Google Scholar
  25. 25.
    J.H.Siekmann, P.Szabo: Universal Unification and Regular ACFM Theories. Proc. 7th IJCAI, 532–538: 1981Google Scholar
  26. 26.
    P.Szabo: Unifikationstheorie erster Ordnung. Dissertation, Univ. Karlsruhe: 1982Google Scholar
  27. 27.
    D.A.Turner: A New Implementation Technique for Applicative Languages. Software Practice and Experience, 31–49: 1979Google Scholar
  28. 28.
    M.H.van Emden, R.A.Kowalski: The Semantics of Predicate Logic as a Programming Language. J.ACM, 733–742: 1976Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Steffen Hölldobler
    • 1
  1. 1.Universität der Bundeswehr MünchenNeubiberg

Personalised recommendations