Zulip Chat Archive

Stream: new members

Topic: Type universes


Kevin Lacker (Dec 16 2022 at 21:53):

I have possibly a naive question about type universes. Why does there have to be an infinite hierarchy of universes of types? For example in Python the type of "type" is just "type".

>>> type(0)
<class 'int'>
>>> type(type(0))
<class 'type'>
>>> type(type(type(0)))
<class 'type'>

Does it lead to some sort of Russell's paradox problem if you let the type of "type" be "type" ?

Kevin Buzzard (Dec 16 2022 at 22:00):

Yes! You can prove false.

Kevin Lacker (Dec 16 2022 at 22:12):

I feel like it should be something like, it implies that you are allowed to define a function like def f(g): g(g) is false, but I don't see how that would be a result of letting the type of type be type

Kevin Buzzard (Dec 16 2022 at 22:18):

It's called Girard's Paradox. here is a proof in Lean.


Last updated: Dec 20 2023 at 11:08 UTC