Simply Typed -calculus
Simply typed -calculus, also known as STLC, is the most basic type system on can equip -calculus with.
On the logical side, STLC corresponds to propositional logic. On the semantic side, STLC corresponds to cartesian-closed categories.
Definition
Syntax
For this section, assume we have a (possibly infinite) set of atomic types. A type is defined by the following grammar:
We equip the previewΞ»-calculus with the following type system.
Semantics
Let be a previewcartesian closed category, and a function that maps atomic types to objects of . We can define an interpretation going from types to objects of , as well as, for any open term such that , we have
defined by induction on the typing derivation, where
- Axiom
- by definition of a product, there exists a projection if
- Abstraction
- by induction hypothesis, we have constructed a morphism . By adjunction, this corresponds exactly to a morphism .
- Application
- by induction hypothesis, we have and . By adjunction, the former morphism corresponds exactly to a . Therefore, we have
Meta-theory
Strong normalization
Theorem Strong normalization Soit un terme (potentiellement ouvert), tel quβil existe un type et un environnement tels que
est fortement normalisant.
In order prove this highly non-trivial result, we need to define an interpretation of types , by induction on 11 Note that, while it might be more intuitive would be to enforce that, if , then . This would work, but it turns out this assumption is never used in the rest of the proof, and would add unnecessary complexity.: