1998 年 13 巻 6 号 p. 944-952
Equivalent transformation seems to be one of the most fundamental methods for problem solving since it strictly ensures the validity of a solution as long as the given problem is transformed equivalently in each step of computation. There exists, we believe, no other theory that can ensure the validity of problem solving both generally and straightforwardly. This paper presents a foundation of "rule-based equivalent transformation", where a given problem is solved by successive equivalent transformation in terms of independent and valid rules. A general theory of equivalent transformation is developed, where definitions of basic concepts such as representation systems, formalization of problems and equivalent transformation rules, are introduced. Based on this foundation, we also introduce a specific class of declarative descriptions called declarative programs. A declarative programs is similar to a logic program in the sense that it is a set of definite clauses consisting of atoms, except that the atom-substitution structure in logic is extended to an axiomatic structure. Since the class of declarative programs is a general extension of logic programs, equivalent transformation of declarative programs can be used to solve various problems. A string rewriting problem is used to explain how declarative programs can be used for formulating problems, where declarative programs on a string domain, not logic probrams on a usual term domain, provide the most natural representation for the problem. Experimental results of a natural language understanding system show that the efficiency of computation may be increased by using (1) equivalent transformation rules not based on unfolding, (2) data structures other than terms, and (3) flexible control of computation.