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
.