Type notion |
Notation |
Meaning
|
Product
|
|
If has type , then is a pair such that has type and has type .
|
Sum
|
|
If has type , then either is the first injection such that has type , or
is the second injection such that has type .
|
Function
|
|
If has type and has type , then the application has type .
|
Intersection
|
|
If has type , then has type and has type .
|
Union
|
|
If has type , then has type or has type .
|
Record
|
|
If has type , then has a member that has type .
|
Parametric
|
|
If has type , then has type for any type .
|
Existential
|
|
If has type , then has type for some type .
|
Dependent product
|
|
If has type , then is a pair such that has type and has type .
|
Dependent function
|
|
If has type and has type , then the application has type .
|
Dependent intersection[1]
|
|
If has type , then has type and has type .
|