Equation Solving in Conditional AC-Theories

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.

[1]  G. Sivakumar,et al.  Proofs and computations in conditional equational theories , 1990 .

[2]  I. G. BONNER CLAPPISON Editor , 1960, The Electric Power Engineering Handbook - Five Volume Set.

[3]  Nachum Dershowitz,et al.  Canonical Conditional Rewrite Systems , 1988, CADE.

[4]  Nachum Dershowitz,et al.  Confluence of Conditional Rewrite Systems , 1988, CTRS.

[5]  Werner Nutt,et al.  Basic Narrowing Revisited , 1989, J. Symb. Comput..

[6]  Jean-Marie Hullot,et al.  Canonical Forms and Unification , 1980, CADE.

[7]  Nachum Dershowitz,et al.  Equational programming , 1988 .

[8]  Uday S. Reddy,et al.  On the Relationship Between Logic and Functional Languages , 1986, Logic Programming: Functions, Relations, and Equations.

[9]  Roberto Barbuti,et al.  LEAF: A Language which Integrates Logic, Equations and Functions , 1986, Logic Programming: Functions, Relations, and Equations.

[10]  Doug DeGroot,et al.  Logic programming - functions, relations and equations , 1986 .

[11]  Pierre Réty Improving Basic Narrowing Techniques , 1987, RTA.

[12]  Giorgio Levi,et al.  The Relation between Logic and Functional Languages: A Survey , 1986, J. Log. Program..

[13]  Corrado Moiso,et al.  Lazy Unification Algorithms for Canonical Rewrite Systems , 1989 .

[14]  Nachum Dershowitz,et al.  Goal-Directed Equation Solving ” , 1999 .

[15]  Wayne Snyder,et al.  Complete Sets of Transformations for General E-Unification , 1989, Theor. Comput. Sci..

[16]  Maurice Nivat,et al.  Resolution of Equations in Algebraic Structures , 1989 .

[17]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.