In the branches of
mathematical logic known as
proof theory and
type theory, a
pure type system (
PTS), previously known as a
generalized type system (
GTS), is a form of
typed lambda calculus that allows an arbitrary number of
sorts and dependencies between any of these. The framework can be seen as a generalisation of
Barendregt's
lambda cube, in the sense that all corners of the cube can be represented as instances of a PTS with just two sorts. In fact Barendregt (1991) framed his cube in this setting. Pure type systems may obscure the distinction between
types and
terms and collapse the type hierarchy, as is the case with the
calculus of constructions, but this is not generally the case, e.g. the
simply typed lambda calculus allows only terms to depend on types.