A Rewriting Semantics for Maude Strategies

Intuitively, a strategy language is a way of taming the nondeterminism of a rewrite theory. We can think of a strategy language S as a rewrite theory transformation [email protected]?S(R) such that S(R) provides a way of executing R in a controlled way. One such theory transformation for the Maude strategy language is presented in detail in this paper. Progress in the semantic foundations of Maude's strategy language has led us to study some general requirements for strategy languages. Some of these requirements, like soundness and completeness with respect to the rewrites in R, are absolute requirements that every strategy language should fulfill. Other more optional requirements, that we call monotonicity and persistence, represent the fact that no solution is ever lost. We show that the Maude strategy language satisfies all these four requirements.