In the
lambda calculus
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation ...
, a term is in beta normal form if no ''
beta reduction
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation t ...
'' is possible. A term is in beta-eta normal form if neither a beta reduction nor an ''
eta reduction
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation th ...
'' is possible. A term is in head normal form if there is no ''beta-redex in head position''.
Beta reduction
In the lambda calculus, a beta redex is a term of the form:
:
.
A redex
is in head position in a term
, if
has the following shape (note that application has higher priority than abstraction, and that the formula below is meant to be a lambda-abstraction, not an application):
:
, where
and
.
A beta reduction is an application of the following rewrite rule to a beta redex contained in a term:
:
where