Definition
In type theory, strict positivity is a syntactic restriction on inductive type definitions requiring that the type being defined, , occurs only to the right of function arrows in the types of its constructor arguments. This constraint ensures the defined type represents a well-founded least fixed point and guarantees the termination of recursive functions and logical consistency.
Formally, we say occurs strictly positively in a type expression if any of the following holds:
- does not contain .
- is .
- is (or ) where does not occur in , and occurs strictly positively in .
- is an application of a previously defined strictly positive type constructor (e.g., ), where occurs strictly positively in the parameters.
Non-strictly Positive Example
We reject definitions where occurs in a negative position (to the left of an arrow):
Here occurs negatively in the domain of the argument to . This violation allows the encoding of paradoxical combinators, leading to non-termination and inconsistency (Girard’s Paradox).
Relation to Functors
In category theory, strictly positive types correspond to initial algebras for strictly positive functors. A functor is strictly positive if it can be built from constant functors, the identity functor, products, and coproducts (and fixed points thereof).