Core Concepts
Stratified Type Theory (StraTT) is a type theory that stratifies typing judgements rather than universes, and includes a separate nondependent function type with a floating domain to overcome the limitations of strict stratification.
Abstract
The paper introduces Stratified Type Theory (StraTT), a type theory that takes a different approach to preventing logical inconsistency compared to the typical universe hierarchy. Instead of stratifying universes, StraTT stratifies the typing judgements themselves.
The key features of StraTT are:
Stratified dependent function types: The domain type must be at a strictly lower level than the codomain type.
Displacement: Global definitions can be uniformly displaced to higher levels, providing a simple form of level polymorphism.
Floating nondependent function types: These have a domain type that "floats" to match the level of the overall function type, overcoming limitations of strict stratification.
The authors prove logical consistency for the subsystem subStraTT, which includes only stratified dependent functions and displacement. They also prove type safety for the full StraTT, including floating nondependent functions, though consistency of the full system remains an open problem.
The paper also includes several examples demonstrating the expressivity of StraTT, such as defining decidable types, Leibniz equality, and dependent pairs. Finally, the authors describe a prototype implementation that extends StraTT with datatypes and type inference.