A general characterization of the process of deriving or transforming data by means of rules. It is an abstraction based primarily on examples of term rewriting systems: it is simply a reflexive and transitive binary relation →R on a nonempty set A. For a,b ∈ A, if a →R b then a is said to reduce or rewrite to b.
Using this abstraction, it is easy to define a range of basic notions that play a role in computing with rules.