| ▲ | cjfd 5 hours ago | |
One way that is very common to have decidable dependent types and avoid the paradox is to have a type hierarchy. I.e, there is not just one star but a countable series of them *_1, *_2, *_3, .... and the rule then becomes that *_i is of type *_(i+1) and that if in forall A, B A is of type *_i and B is of type *_j, forall A, B is of type type *_(max(i, j) + 1). | ||
| ▲ | SkySkimmer 3 hours ago | parent | next [-] | |
>if in forall A, B A is of type _i and B is of type _j, forall A, B is of type type *_(max(i, j) + 1). Minor correction: no +1 in forall | ||
| ▲ | anon291 39 minutes ago | parent | prev | next [-] | |
This is correct but just delays the problem. It is still impossible to type level-generic functions (i.e. functions that work for all type levels). The basic fundamental reality that no type theory has offered is an ability to type everything | ||
| ▲ | khaledh 4 hours ago | parent | prev | next [-] | |
I'm no expert myself, but is this the same as Russell's type hierarchy theory? This is from a quick Google AI search answer: | ||
| ▲ | IshKebab 4 hours ago | parent | prev [-] | |
Ah is that what Lean does with its type universes? | ||