- Lambda-mu calculus
In
mathematical logic andcomputer science , the lambda-mu calculus is an extension of thelambda calculus , and was introduced by M. Parigot in " [lambda-mu] calculus: an algorithmic interpretation of classical natural deduction", Springer LNAI no. 624 (1992). It introduces two new operators: themu operator (which is completely different both from themu operator found incomputability theory and from the μ operator of modal μ-calculus) and the bracket operator.One of the main goals of this extended calculus is to be able to describe expressions corresponding to theorems in
classical logic . According to theCurry-Howard isomorphism , lambda calculus on its own can express theorems inintuitionistic logic only, and several classical logical theorems can't be written at all. However with these new operators one is able to write terms that have the type of, for example thelaw of noncontradiction , orPeirce's law .Semantically these operators correspond to
continuations found in somefunctional programming languages .Formal definition
We can augment the definition of a lambda expression to gain one in the context of lambda-mu calculus. The three main expressions found in lambda calculus are as follows:
#V, a variable, where V is anyidentifier .
#(λ V. E), an abstraction, where "V" is any identifier and "E" is any lambda expression.
#E E′, an application, where E and E′ are any lambda expressions.For details, see the corresponding article.
In addition to these, lambda-mu calculus adds:
# [α] E, sometimes called freeze, where α is a variable but of a disjoint set from those in 1.
#(μ α. E), sometimes called unfreezeExternal links
* [http://lambda-the-ultimate.org/node/811]
Wikimedia Foundation. 2010.