In
mathematics,
computer science, and
logic,
rewriting covers a wide range of (potentially
non-deterministic) methods of replacing subterms of a
formula with other terms. What is considered are
rewriting systems (also known as
rewrite systems,
rewrite engines or
reduction systems). In their most basic form, they consist of a set of objects, plus relations on how to transform those objects.