Advertisement

Equation solving in conditional AC-theories

  • Nachum Dershowitz
  • Subrata Mitra
  • G. Sivakumar
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 463)

Abstract

Conditional Equational Programming is an elegant way to uniformly integrate important features of functional and logic programming. Efficient methods for equation solving are thus of great importance. In this paper, we formulate, and prove sound and complete, an equation solving procedure based on transformation rules. This method achieves a top-down, goal-directed strategy based on decomposition and restructuring, while preserving the advantages of both basic narrowing and normal narrowing. Another new feature, introduced in this paper, is the extension of equation solving to theories with defined functions that are associative and commutative, without using the costly AC-unification operation. This method has been implemented within SUTRA, a theorem proving and equational programming environment based on rewrite techniques and completion.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BBLM86]
    R. Barbuti, Marco Bellia, Giorgio Levi, and M. Martelli. LEAF: a language which integrates logic, equations and functions. In D. DeGroot and G. Lindstrom, editors, Logic Programming: Functions, Relations, and Equations, pages 201–238, Prentice-Hall, Englewood Cliffs, NJ, 1986.Google Scholar
  2. [BL86]
    Marco Bellia and Giorgio Levi. The relation between logic and functional languages: a survey. J. of Logic Programming, 3(3):217–236, October 1986.Google Scholar
  3. [DJ90]
    Nachum Dershowitz and Jean-Pierre Jouannaud. Rewrite systems. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, chapter 6, North-Holland, Amsterdam, 1990. To appear; available as Rapport 478, LRI, Univ. Paris-Sud, France.Google Scholar
  4. [DL86]
    Doug DeGroot and G. Lindstrom, editors. Logic Programming: Functions, Relations, and Equations. Prentice-Hall, Englewood Cliffs, NJ, 1986.Google Scholar
  5. [DOS87]
    Nachum Dershowitz, Mitsuhiro Okada, and G. Sivakumar. Confluence of conditional rewrite systems. In S. Kaplan and J.-P. Jouannaud, editors, Proceedings of the First International Workshop on Conditional Term Rewriting Systems, pages 31–44, Orsay, France, July 1987, Vol. 308 of Lecture Notes in Computer Science, Springer, Berlin (1988).Google Scholar
  6. [DOS88]
    Nachum Dershowitz, Mitsunhiro Okada, and G. Sivakumar. Canonical conditional rewrite systems. In Proceedings of the Ninth Conference on Automated Deduction, pages 538–549, Argonne, IL, May 1988. Vol. 310 of Lecture Notes in Computer Science, Springer, Berlin.Google Scholar
  7. [DP88]
    Nachum Dershowitz and David A. Plaisted. Equational programming. In J. E. Hayes, D. Michie, and J. Richards, editors, Machine Intelligence 11: The logic and acquisition of knowledge, chapter 2, pages 21–56, Oxford Press, Oxford, 1988.Google Scholar
  8. [DS88]
    Nachum Dershowitz and G. Sivakumar. Goal-directed equation solving. In Proceedings of the Seventh National Conference on Artificial Intelligence, pages 166–170, St. Paul, MN, August 1988.Google Scholar
  9. [Fay79]
    M. Fay. First-order unification in an equational theory. In Proceedings of the Fourth Workshop on Automated Deduction, pages 161–167, Austin, TX, February 1979.Google Scholar
  10. [Hul80]
    Jean-Marie Hullot. Canonical forms and unification. In R. Kowalski, editor, Proceedings of the Fifth International Conference on Automated Deduction, pages 318–334, Les Arcs, France, July 1980. Vol. 87 of Lecture Notes in Computer Science, Springer, Berlin.Google Scholar
  11. [GS90]
    Jean H. Gallier and Wayne Snyder. Complete Sets of Transformations for General E-Unification. In Theoretical Computer Science 67 (1989) pages 203–260, North-Holland.Google Scholar
  12. [MRM89]
    A. Martelli, G. F. Rossi, and C. Moiso. Lazy unification algorithms for canonical rewrite systems. In H. Ait-Kaci and M. Nivat, editors, Resolution of Equations in Algebraic Structures, pages 245–274, Academic Press, New York, 1989.Google Scholar
  13. [NRS89]
    Werner Nutt, Pierre Réty and Gert Smolka. Basic Narrowing Revisited. In J. of Symbolic Computation, (1989) Vol. 7, pages 295–317.Google Scholar
  14. [Red86]
    Uday S. Reddy. On the relationship between logic and functional languages. In D. DeGroot and G. Lindstrom, editors, Logic Programming: Functions, Relations, and Equations, pages 3–36, Prentice-Hall, Englewood Cliffs, NJ, 1986.Google Scholar
  15. [Ret87]
    Pierre Réty. Improving basic narrowing techniques. In P. Lescanne, editor, Proceedings of the Second International Conference on Rewriting Techniques and Applications, pages 228–241, Bordeaux, France, May 1987. Vol. 256 of Lecture Notes in Computer Science, Springer, Berlin.Google Scholar
  16. [Siv89]
    G. Sivakumar. Proofs and Computations in Conditional Equational Theories. PhD thesis, Department of Computer Science, University of Illinois, Urbana, IL, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Nachum Dershowitz
    • 1
  • Subrata Mitra
    • 2
  • G. Sivakumar
    • 2
  1. 1.Department of Computer ScienceUniversity of IllinoisUrbanaU.S.A.
  2. 2.Department of Computer ScienceUniversity of DelawareNewarkU.S.A.

Personalised recommendations