Revision as of 13:43, 18 May 2009 editRadjenef (talk | contribs)394 edits →Formal definition: added stuff about μ-variables and named/unnamed terms← Previous edit | Revision as of 14:22, 18 May 2009 edit undoRadjenef (talk | contribs)394 edits →References: section createdNext edit → | ||
Line 1: | Line 1: | ||
In ] and ], the lambda-mu calculus is an extension of the ], and was introduced by M. Parigot |
In ] and ], the lambda-mu calculus is an extension of the ], and was introduced by M. Parigot.<ref>Michel Parigot. ''Lecture Notes in Computer Science'', Volume '''624''', pages 190-201, 1992.</ref> It introduces two new operators: the ] operator (which is completely different both from the ] found in ] and from the μ operator of ]) and the bracket operator. | ||
One of the main goals of this extended calculus is to be able to describe expressions corresponding to theorems in ]. According to the ], lambda calculus on its own can express theorems in ] 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 the ], or ]. | One of the main goals of this extended calculus is to be able to describe expressions corresponding to theorems in ]. According to the ], lambda calculus on its own can express theorems in ] 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 the ], or ]. | ||
Line 20: | Line 20: | ||
==See Also== | ==See Also== | ||
* ] | * ] | ||
==References== | |||
{{reflist|1}} | |||
==External links== | ==External links== |
Revision as of 14:22, 18 May 2009
In mathematical logic and computer science, the lambda-mu calculus is an extension of the lambda calculus, and was introduced by M. Parigot. It introduces two new operators: the mu operator (which is completely different both from the mu operator found in computability 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 the Curry-Howard isomorphism, lambda calculus on its own can express theorems in intuitionistic 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 the law of noncontradiction, or Peirce's law.
Semantically these operators correspond to continuations found in some functional 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 any identifier.
- λ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 the traditional λ-variables, the lambda-mu calculus includes a distinct set of μ-variables. These μ-variables can be used to name or freeze arbitrary subterms, allowing us to later abstract on those names. The set of terms contains unnamed (all traditional lambda expressions are of this kind) and named terms. The terms that are added by the lambda-mu calculus are of the form:
- t is a named term, where α is a μ-variable and t is an unnamed term.
- (μ α. E) is an unnamed term, where α is a μ-variable and E is a named term.
See Also
References
- Michel Parigot. λμ-Calculus: An algorithmic interpretation of classical natural deduction. Lecture Notes in Computer Science, Volume 624, pages 190-201, 1992.
External links
This mathematics-related article is a stub. You can help Misplaced Pages by expanding it. |