Advertisement

Solving goals in equational languages

  • Nachum Dershowitz
  • G. Sivakumar
Part 1 Research Articles
Part of the Lecture Notes in Computer Science book series (LNCS, volume 308)

Abstract

Solving equations in equational Horn-clause theories is a programming paradigm that combines logic programming and functional programming in a clean manner. Languages like Eqlog, Slog and Rite, express programs as conditional rewrite rules and goals as equations to be solved. Procedures for completion of conditional equational theories, in a manner akin to that of Knuth and Bendix for unconditional theories, also require methods for solving equations appearing in conditions. Rewrite-based logic-programming uses (conditional) narrowing to solve equational goals. Recently a different, topdown equation solving procedure was proposed for unconditional rewrite systems. In this paper, we express equational goal solving using conditional rules. Some refinements are described: the notion of operator derivability is used to prune useless paths in the search tree and our use of oriented goals eliminates some redundant paths leading to non-normalized solutions. Our goal-directed method can also be extended to handle conditional systems.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Bosco, etal.-87]
    [Bosco,etal.-87] Bosco, P. G., Giovanetti, E., and Moiso, C. “Refined strategies for semantic unification” Proceedings of International Joint Conference on Theory and Practice of Software Development, Pisa, Italy (March 1987), pp. 276–290. (Available as Vol. 250, Lecture Notes in Computer Science, Springer, Berlin.)Google Scholar
  2. [Dershowitz-Plaisted-85]
    Dershowitz, N., and Plaisted, D. A. “Logic programming cum applicative programming”. Proceedings of the 1985 Symposium on Logic Programming, Boston, MA (July 1985), pp. 54–66.Google Scholar
  3. [Dershowitz-Plaisted-87]
    Dershowitz, N., and Plaisted, D. A. “Equational programming”. In: Machine Intelligence 11 (J. E. Hayes, D. Michie, and J. Richards, eds.), Oxford Press, Oxford, pp. 21–56, in press.Google Scholar
  4. [Fay-79]
    Fay, M. “First-order unification in an equational theory”. Proceedings of the Fourth Workshop on Automated Deduction, Austin, TX (February 1979), pp. 161–167.Google Scholar
  5. [Fribourg-85]
    Fribourg, L. “Slog: A logic programming language interpreter based on clausal superposition and rewriting”. Proceedings of the 1985 Symposium on Logic Programming, Boston, MA (July 1985), pp. 172–184.Google Scholar
  6. [Goguen-Meseguer-86]
    Goguen, J. A., and Meseguer, J. “Eqlog: Equality, types and generic modules for logic programming”. In Logic Programming: Functions, relations and equations (D. DeGroot and G. Lindstrom, eds.), Prentice-Hall, Englewood Cliffs, NJ, pp. 295–363, 1986.Google Scholar
  7. [Hullot-80]
    Hullot, J. M. “Canonical forms and unification”. Proceedings of the Fifth Conference on Automated Deduction, Les Arcs, France (July 1980), pp. 318–334.Google Scholar
  8. [Josephson-Dershowitz-86]
    Josephson, N. A., and Dershowitz, N. “An implementation of narrowing: The Rite way”. Proceedings of the Third IEEE Symposium on Logic Programming, Salt Lake City, UT (September 1986), pp. 187–197. (Revised version to appear in Journal of Logic Programming.)Google Scholar
  9. [Kaplan-88]
    Kaplan, S. “Simplifying conditional term rewriting systems: Unification, termination and confluence”, Journal of Symbolic Computation, to appear.Google Scholar
  10. [Kapur,etal.-86]
    [Kapur,etal.-86] Kapur, D., Sivakumar, G. and Zhang, H., “RRL: A Rewrite rule laboratory”. 8th Intl. Conference on Automated Deduction, Oxford, England (July 1986). (Available as Vol. 230, Lecture Notes in Computer Science, Springer, Berlin.)Google Scholar
  11. [Martelli,etal.-86]
    [Martelli,etal.-86] Martelli, A., Moiso, C. and Rossi, G. F. “An algorithm for unification in Equational Theories”. Proceedings of the Third IEEE Symposium on Logic Programming, Salt Lake City, UT (September 1986), pp. 180–186.Google Scholar
  12. [Padawitz-87]
    Padawitz, P. “Strategy-controlled reduction and narrowing”. Proceedings of the Second International Conference on Rewriting Techniques and Applications, Bordeaux, France (May 1987), pp. 242–255.Google Scholar
  13. [Reddy-85]
    Reddy, U. S. “Narrowing as the operational semantics of functional languages”. Proceedings of the 1985 Symposium on Logic Programming, Boston, MA (July 1985), pp. 138–151.Google Scholar
  14. [Rety-87]
    Réty, P. “Improving basic narrowing techniques”. Proceedings of the Second International Conference on Rewriting Techniques and Applications, Bordeaux, France (May 1987), pp. 228–241. (Available as Vol. 256, Lecture Notes in Computer Science, Springer, Berlin.)Google Scholar
  15. [Rety,etal.-85]
    [Rety,etal.-85] Réty, P., Kirchner, C., Kirchner, H., and Lescanne, P. “Narrower: A new algorithm for unification and its application to logic programming”. Proceedings of the First International Conference on Rewriting Techniques and Applications, Dijon, France (May 1985), pp. 141–157. (Available as Vol. 202, Lecture Notes in Computer Science, Springer, Berlin [September 1985].)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Nachum Dershowitz
    • 1
  • G. Sivakumar
    • 1
  1. 1.Department of Computer ScienceUniversity of Illinois at Urbana-ChampaignUrbanaU.S.A.

Personalised recommendations