The residuation principle is based on the idea of delaying function calls until they are sufficiently instantiated for a deterministic evaluation by rewriting.
The advantage of rewriting the boundary conditions in this form is that the equations become separated into groups of independent equations which are easily solved.
Different controls are equipped with different reaction rules, often called rewriting rules in syntactic or graphical systems.
Furthermore, there are unary rules rewriting this start category into each of the relevant maximal projections.
A rewriting in a set will be redundant if the data it asks for are already contained by the other rewritings in the set.
For example, text rewriting in translation and compiler construction is based on tokenized text, hence problems with overlapping originals do not occur.
We use a small-step operational semantics in the form of a single-step rewriting system that defines a (non-deterministic) normal-order reduction.
All these observations also hold for rewriting modulo associativity and commutativity.