Lambda Calculus
Overview
The lambda calculus is a mathematical modeling of computer programming, introduced by
Alonzo Church. It was intended as a way to study computation, and in particular,
non-computability from a mathematical perspective. As such, it was not designed to be a usable
programming language, rather it was designed to be simple from a mathematical perspective, in order
to simplify computing to its essence and simplify proofs in the lambda calculus.
Terms
The definition of what constitutes a term in the lambda calculus is a set of rules that specify what
constitutes a valid lambda calculus program.
- Variables - a list of variables is pre-specified (such as {% \{x_1,x_2,...x_n\} %}). Each variable is a term
- if {% M %} and {% N %} are terms, then {% (MN) %} is a term
- if {% M %} is a term and {% x %} is a variable, then {% \lambda x.M %} is a term
Reduction
Reduction is the process of taking a lambda expression and converting it into
an
equivalent
expression. It is at the heart of what it means to compute something.