Term-rewriting implementation of equational logic programming

  • Michael J. O'Donnell
Invited Lecture
Part of the Lecture Notes in Computer Science book series (LNCS, volume 256)


In 1975 I started a small project to explore the consequences of implementing equational programs with no semantic compromises. Latest results include a compiler that executes exactly the logical consequences of an equational program, with run-time speed comparable to compiled Franz LISP. This paper describes the accomplishments of the project very briefly, concentrating on shortcomings and directions for future work.


Normal Form Logic Program Regular System Reduction Sequence Equational Logic 
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.


  1. [BF79]
    O. P. Buneman and R. E. Frankel. FQL — a functional query language. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 52–57, SIGMOD, May–June 1979.Google Scholar
  2. [BG80]
    R. M. Burstall and J. A. Goguen. The semantics of Clear, a specification language. In Proceedings of the 1979 Copenhagen Winter School on Abstract Software Specification, pages 292–332, 1980.Google Scholar
  3. [BS76]
    N. D. Belnap and T. B. Steel. The Logic of Questions and Answers. Yale University Press, 1976.Google Scholar
  4. [Che80]
    L. P. Chew. An improved algorithm for computing with equations. In 21st Annual Symposium on Foundations of Computer Science, pages 108–117, IEEE, 1980.Google Scholar
  5. [Che81]
    L. P. Chew. Unique normal forms in term rewriting systems with repeated variables. In 13th Annual ACM Symposium on Theory of Computing, pages 7–18, 1981.Google Scholar
  6. [DH86]
    V. J. Digricoli and M. C. Harrison. Equality-based binary resolution. Journal of the ACM, 33(2):253–289, 1986.Google Scholar
  7. [DST80]
    P. J. Downey, R. Sethi, and R. E. Tarjan. Variations on the common subexpression problem. Journal of the ACM, 27(4):758–771, 1980.Google Scholar
  8. [FGJM85]
    K. Futatsugi, J. Goguen, J.-P. Jouannaud, and J. Meseguer. Principles of OBJ2. In 12th Annual Symposium on Principles of Programming Languages, pages 52–66, SIGPLAN and SIGACT, 1985.Google Scholar
  9. [FW76]
    D. Friedman and D. Wise. Cons should not evaluate its arguments. In 3rd International Colloquium on Automata, Languages and Programming, pages 257–284, Edinburgh Unversity Press, 1976.Google Scholar
  10. [HL79]
    G. Huet and J.-J. Lévy. Computations in Non-ambiguous Linear Term Rewriting Systems. Technical Report 359, IRIA, 1979.Google Scholar
  11. [HM76]
    P. Henderson and J. H. Morris. A lazy evaluator. In 3rd Annual Symposium on Principles of Programming Languages, pages 95–103, SIGPLAN and SIGACT, 1976.Google Scholar
  12. [HO79]
    C. M. Hoffmann and M. J. O'Donnell. Interpreter generation using tree pattern matching. In 6th Annual Symposium on Principles of Programming Languages, pages 169–179, SIGPLAN and SIGACT, 1979.Google Scholar
  13. [HO80]
    G. Huet and D. Oppen. Equations and rewrite rules: a survey. In R. Book, editor, Formal Languages: Perspectives and Open Problems, Academic Press, 1980.Google Scholar
  14. [HOS85]
    C. M. Hoffmann, M. J. O'Donnell, and R. I. Strandh. Implementation of an interpreter for abstract equations. Software — Practice and Experience, 15(12):1185–1203, 1985.Google Scholar
  15. [Jay85]
    B. Jayaraman. Equational Programming: A Unifying Approach to Functional and Logic Programming. Technical Report 85-030, The University of North Carolina, 1985.Google Scholar
  16. [KB70]
    D. E. Knuth and P. Bendix. Simple word problems in universal algebras. In J. Leech, editor, Computational Problems in Abstract Algebra, pages 127–146, Pergammon Press, Oxford, 1970.Google Scholar
  17. [Klo80]
    J. W. Klop. Combinatory Reduction Systems. PhD thesis, Mathematisch Centrum, Amsterdam, 1980.Google Scholar
  18. [Koz77]
    D. Kozen. Complexity of finitely presented algebras. In 9th Annual ACM Symposium on Theory of Computing, pages 164–177, 1977.Google Scholar
  19. [NO80]
    G. Nelson and D. C. Oppen. Fast decision algorithms based on congruence closure. Journal of the ACM, 27(2):356–364, 1980.Google Scholar
  20. [ODo77]
    M. J. O'Donnell. Computing in Systems Described by Equations. Volume 58 of Lecture Notes in Computer Science, Springer-Verlag, 1977.Google Scholar
  21. [ODo85]
    M. J. O'Donnell. Equational Logic as a Programming Language. MIT Press, Cambridge, MA, 1985.Google Scholar
  22. [ODo87]
    M. J. O'Donnell. Survey of the equational logic programming project. In Colloquium on Resolution of Equations in Algebraic Structures, 1987.Google Scholar
  23. [Str84]
    R. I. Strandh. Incremental Suffix Trees with Multiple Subject Strings. Technical Report JHU/EECS-84/18, The Johns-Hopkins University, 1984.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Michael J. O'Donnell
    • 1
  1. 1.The University of ChicagoUSA

Personalised recommendations