B. Luttik and E. Visser Specification of Rewriting Strategies User-definable strategies for the application of rewrite rules provide a means to construct transformation systems that apply rewrite rules in a controlled way. This paper describes a strategy language and its interpretation. The language is used to control the rewriting of terms using labeled rewrite rules. Rule labels are atomic strategies. Compound strategies are formed by means of sequential composition, non-deterministic choice, sequential choice, fixed point recursion, and a primitive for expressing term traversal. The traversal primitive called `push-down' applies a strategy to the direct descendants of a term. Several complex term traversal strategies such as bottom-up and top-down application and innermost and outermost reduction can be defined in terms of push-down. The paper contains two case studies of the application of strategies.