The
simply typed lambda calculus (

) is a
typed interpretation of the
lambda calculus with only one type combinator

(function type). It is the canonical and simplest example of a typed lambda calculus. The simply typed lambda calculus was originally introduced by
Alonzo Church in 1940 as an attempt to avoid paradoxical uses of the
untyped lambda calculus, and it exhibits many desirable and interesting properties.
The term simple type is also used to refer to extensions of the simply typed lambda calculus such as products, coproducts or natural numbers (System T) or even full recursion (like PCF). In contrast, systems which introduce polymorphic types (like System F) or dependent types (like the Logical Framework) are not considered simply typed. The former are still considered simple because the Church encodings of such structures can be done using only
and suitable type variables, while polymorphism and dependency cannot.
The syntax of the simply typed lambda calculus is essentially that of the lambda calculus itself. The term syntax used in this article is as follows
That is, variable reference, abstractions, and application. A variable reference x is bound if it is inside of an abstraction binding x. A term is closed if there are no unbound variables.