Equational Programming is an elegant way to uniformly integrate important features of logic and functional programming. A number of function symbols encountered in such a programming paradigm have the properties of associativity and commutativity (AC for short). It is therefore important to find equation solving strategies which can handle AC operators effectively. In this paper we show that a strict top-down approach extending [Mit90] will not solve the problem in the general case. We then develop a sound and complete strategy for equation solving, which performs better than the conventional approaches using AC-narrowing. Furthermore, we show that by using the AC-rules as constraints while solving the non-AC equations, a number of fruitless (and even infinite) search paths may be eliminated.
Unable to display preview. Download preview PDF.
- [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
- [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.Google Scholar
- [DMS90]Nachum Dershowitz, Subrata Mitra and G. Sivakumar. Equation Solving in Conditional AC-Theories. In Proceedings of the Second International Conference on Algebraic and Logic Programming, Nancy, France, October 1990. Vol. 463 of Lecture Notes in Computer Science, Springer Verlag (1990).Google Scholar
- [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
- [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
- [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
- [Fort87]A. Fortenbacher. An Algebraic Approach to Unification under Associativity and Commutativity. In Proc. of Int. Conference of Rewriting Techniques and Applications, Springer LNCS 202, pages 381–397.Google Scholar
- [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
- [Mit90]Subrata Mitra. Top-Down Equation Solving and Extensions to Associative and Commutative Theories. Masters thesis, Department of Computer and Information Sciences, University of Delaware, Newark, DE, 1990.Google Scholar
- [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
- [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
- [Siv89]G. Sivakumar. Proofs and Computations in Conditional Equational Theories. PhD thesis, Department of Computer Science, University of Illinois, Urbana, IL, 1989.Google Scholar