A system in which words (expressions) of a formal language can be transformed according to a finite set of rewrite rules is called a reduction system. While reduction systems are also known as string rewriting systems or term rewriting systems, the term "reduction system" is more general.
Lambda calculus is an example of a reduction system with lambda conversion rules constituting its rewrite rules.
If none of the rewrite rules of a reduction system apply to expression , then is said to be in normal form for a reduction system.
A pair of expressions is called joinable if both and can be reduced to the same expression in zero or more reduction steps (i.e., applications of rewrite rules).
If is reduced to in one step, this is indicated . If is reduced to in zero or more steps, this is indicated . The notation is used if there is a sequence such that , , and for every pair , either or .