Foundations Group     of the ICIS

Lambda calculus and Type Theory

The lambda calculus was originally conceived by Church in 1932 as part of a general theory of functions and logic, intended as a foundation for mathematics. Although the system turned out to be inconsistent, the subsystem dealing with functions only became a succesful model for the computable functions. This system is called now the (type-free) lambda calculus. Representing computable functions as lambda terms gives rise to so called functional programming.

In the lambda calculus above every expression, considered as a function, may be applied to every other expression, considered as an argument. In the typed versions of the lambda calculus types are assigned to terms. Now a term M may be applied to a term N of type A only if M has type A-->B for some type B. A term may be considered as a program and a type of that term as a specification of that program. But that is not the only possibility. A type can also be viewed as a proposition and a term of this type as a proof of this proposition. Several systems of proof checking are based on this interpretation of propositions-as-types and proofs-as-terms.

People::

Projects::

Research/Lambda calculus and Type Theory (last edited 12-12-2006 02:33:58 by DanSynek)