Saturday, 26 March 2011

Practical impact


The most obvious application of type theory is in constructing type checking algorithms in the semantic analysis phase of compilers for programming languages.

Type theory is also widely in use in theories of semantics of natural language, especially Montague grammar and its descendants. The most common construction takes the basic types e and t for individuals and truth-values, respectively, and defines the set of types recursively as follows:

    * if a and b are types, then so is \langle a,b\rangle.
    * Nothing except the basic types, and what can be constructed from them by means of the previous clause are types.

A complex type \langle a,b\rangle is the type of functions from entities of type a to entities of type b. Thus one has types like \langle e,t\rangle which are interpreted as elements of the set of functions from entities to truth-values, i.e. characteristic functions of sets of entities. An expression of type \langle\langle e,t\rangle,t\rangle is a function from sets of entities to truth-values, i.e. a (characteristic function of a) set of sets. This latter type is standardly taken to be the type of natural language quantifiers, like everybody or nobody (Montague 1973, Barwise and Cooper 1981).
Social sciences

Gregory Bateson introduced a theory of logical types into the social sciences; his notions of double bind and logical levels are based on Russell's theory of types.

No comments:

Post a Comment