An algebraic specification (or text) specifies a congruence relation on a set of expressions. In algebraic language $ASL/*$ , a pair $(G, AX)$ is called a text, where $G$ is a context-free grammar and $AX$ is a set of axioms. A text $t=(G, AX)$ specifies the set $E_{G}$ of expressions generated by $G$ and the least congruence relation on $E_{G}$ satisfying all the axioms in $AX$ , where ‘congruency’ is defined based on the syntax (phrase structure) of the expressions. In general, for a text $t$ in $ASL/*$ , the condition, (A) $e$ is congruent with $e’$ in $t$ , is not logically equivalent to the condition, (B) $e’$ is obtained from $e$ by rewriting $e$ when the axioms in $t$ are regarded as ‘bidirectional‘ rewrite rules. We present a sufficient condition for a text $t$ under which (A) and (B) are equivalent for any pair of expressions $e$ and $e’$ , which means that the congruence relation specified by $t$ is simply defined operationally.
[1]
Jeffrey D. Ullman,et al.
Introduction to Automata Theory, Languages and Computation
,
1979
.
[2]
Robert McNaughton,et al.
Parenthesis Grammars
,
1967,
JACM.
[3]
Joseph A. Goguen,et al.
Abstract Errors for Abstract Data Types
,
1977,
Formal Description of Programming Concepts.
[4]
G. Huet,et al.
Equations and rewrite rules: a survey
,
1980
.
[5]
Katsuro Inoue,et al.
Compiling and Optimizing Methods for the Functional Language ASL/F
,
1986,
Sci. Comput. Program..
[6]
Tadao Kasami,et al.
Principles of algebraic language ASL
,
1987,
Systems and Computers in Japan.