-1

I've been told that the notion of proper classes exists because you run into paradoxes if you try to make certain large infinite sets the elements of a set. Could someone give an example of such a paradox and what qualifies a class as a proper class?

Sorry I should probably have specified that I am speaking in the context of ZF

  • https://en.wikipedia.org/wiki/Russell%27s_paradox – symplectomorphic Aug 10 '16 at 05:09
  • There's nothing really that qualifies a class as proper class except that it fails to be a set – Hagen von Eitzen Aug 10 '16 at 05:12
  • 2
    It is something of an exaggeration to say they are "necessary". They are useful for avoiding contradictions, but other ways to avoid inconsistency have been proposed. – hardmath Aug 10 '16 at 05:12
  • In what set theory are you referring to? – Aweygan Aug 10 '16 at 05:26
  • The paradoxes can be avoided without using classes by being more careful about the rules for constructing sets: You can't have unrestricted comprehension, but you can have, for example, subsets, power sets and Cartesian products of other sets presumed to exist. – Dan Christensen Aug 10 '16 at 16:18
  • 2
    @Dan: You are not avoiding the paradoxes "without classes". You simply decide to use the term class to describe collections which do not form sets. – Asaf Karagila Aug 10 '16 at 17:47
  • @AsafKaragila I'm just saying you don't need to invent things called "classes" to avoid the paradoxes of set theory. Classes are not formalized in ZFC and it somehow manages to avoid the paradoxes. – Dan Christensen Aug 10 '16 at 19:50
  • @Dan: Then what do you do with ${x\mid x\notin x}$, what do you call this collection, which you most certainly define? – Asaf Karagila Aug 10 '16 at 22:04
  • @AsafKaragila I would that say it is doesn't exist. Recall that for any binary relation $R$, we have $\neg \exists x: \forall y: [y\space R \space x \iff \neg y \space R \space y]$ Why would you need it to exist? What problem does it solve? – Dan Christensen Aug 11 '16 at 02:50

2 Answers2

4

Classes are simply collections we can describe but they do not form a set. For example $\{x\mid x\notin x\}$ is something we can clearly define using the language of set theory, but it is not a set. (Why?)

This is Russell's paradox, and several other paradoxes have been found at the turn of the 20th century. Cantor's paradox and the Burali-Forti paradox, to name a few.

But just because something is not a set does not mean we cannot talk about it, and we cannot use it in proofs or statements. And this is exactly where classes come in.

Asaf Karagila
  • 393,674
  • 1
    It may be noteworthy that the meaning of classes depends on the set theory you are using. What Asaf calls classes in his answer, I like to call 'virtual classes' in the setting of ZFC. They are not objects of our language, but nonetheless we can handle them. Taking these virtual classes as second order objects, any ZFC model then yields a model of 'NBG minus global choice'. On the other hand, we can have models of NBG with classes that are not virtual classes, if we cut down or model to its canonical first order model of ZFC, i.e. they can't be defined over this smaller model. – Stefan Mesken Aug 10 '16 at 14:20
  • Strictly speaking, the language of ZF does not contain the symbols "{" and "|", and so it's not clear what exactly you meant to convey by "can clearly define using the language of set theory". Of course, I know you are not speaking strictly, but perhaps it would be clearer to the asker if you clarified your intended meaning. Side question: if you believe "${ x : x \notin x }$" describes a collection, do you also believe that we can describe collections of classes? If so, how are we allowed to reason about it and why? (Just briefly will do.) =) – user21820 Aug 26 '16 at 14:19
  • @user21820: Maybe. They had two weeks, and more, to ask, though. I'm not putting that much time and effort (which frankly, nowadays have far far superior uses before this site) to expand on something which is clear in its essence, but the OP didn't bother to even leave one comment to indicate they have read the answer and didn't understand something. If the answer was clear, great; if not, then they can ask for specific clarifications... – Asaf Karagila Aug 26 '16 at 14:40
  • @AsafKaragila: Yea sorry I didn't mean to suggest you had any obligation to update your answer for the asker. And if you have time, do you have a quick answer to my side question? =) – user21820 Aug 26 '16 at 14:45
  • @user21820: About 2-classes? Well, of course we can. Because I can talk about ${V}$ (look!!! I just did! :-P). How can we do that formally? Well, it's easy if you have a set-theoretic meta-theory, since then it's just a set in the metaverse. But if you don't, there are probably easy type-theoretic approaches that can circumvent these issues, by defining what are 2-classes and so on syntactically, with the needed axioms we want for them. – Asaf Karagila Aug 26 '16 at 14:56
  • @AsafKaragila: What stumps me is how we can conceive of iterating this climb up this hierarchy, but we seem to get stuck somewhere. For instance, if we use ordinals from ZFC to index these levels, we still do not have the union of all levels, despite being able to conceive of it. And if we restrict to syntactic methods, we can reach the $k$-th level for any computable ordinal $k$, but cannot reach the $ω_1^{CK}$-th level. The type theory COC underlying Coq has this kind of universe hierarchy but only to finite levels, and indeed syntactically. – user21820 Aug 26 '16 at 15:10
  • @user21820: Of course we have the limit steps. An $\omega$-class is a collection that every object in that class is an $n$-class for some $n$. You're right that we fail below $\omega_1^{CK}$. But why is that an issue? If you want things to be computable, they end up being below that wretched ordinal... – Asaf Karagila Aug 26 '16 at 15:16
  • @AsafKaragila: Nothing is wrong except that we seem to be unable to capture what we can describe. This is different from the phenomenon with the incompleteness theorem because there we are actually limited to computable ordinals when we iteratively add consistency axioms. In ZFC, we aren't limited in this way, and yet seem to be able to reason beyond the boundary of any such extension of ZFC via extending the hierarchy of universes. Put another way, I cannot see a level at which we can justify stopping, and yet we certainly cannot go on indefinitely either. – user21820 Aug 26 '16 at 15:25
  • @user21820: This seems like a discussion to be had over drinks, rather than here in the comments. But let me sign off from it by saying that we can never capture via syntax what we feel about the semantics. These things will forever be with discrepancy. Roger Zelanzy hit that nail on the head in "Lord of Light", http://people.nas.nasa.gov/~pulliam/lord_of_light.html – Asaf Karagila Aug 26 '16 at 19:06
0

ZF

In ZF, we cannot construct as an object a proper class, such as "$\{ x : x \notin x \}$" and "$\{ x : x = x \}$", which are technically not even valid to write down. The reason is that the axioms of ZF do not permit constructing them, since the axiom of specification only allows you to construct a set by specifying it as the elements of some previously constructed set which satisfy some formula. And the axioms of ZF were designed that way because if you could construct either of these two sets, you could then prove a contradiction using the axioms of ZF, which would make ZF useless. $ \def\eq{\leftrightarrow} $

But ZF, like any first-order theory, can be equipped with what is called full abbreviation power or definitorial expansion. Applied to ZF, it allows us to create a new predicate symbol $R$ defined by $R(x) \equiv x \notin x$, for example, and we can now prove (in ZF) that $R$ does not correspond to a set in the following precise sense:

$\neg \exists x\ ( \forall y\ ( R(y) \eq y \in x ) )$.

This is the technical meaning when people say that the Russel class does not exist. After all, "Russel class" is not a phrase that can be expressed in ZF. However, if you consider proper classes as simply the predicate symbols or their defining formulae as mentioned above, then you could say that ZF can handle classes in a limited way, namely they can be quantified over but not manipulated as objects.

Some common examples include the class of graphs, the class of models of a theory, the class of ordinals and the class of fields. One can say "For every graph $G$, either $G$ has an odd cycle or $G$ is bipartite." where "graph", "has an odd cycle" and "bipartite" have to be translated to formulae and cannot be represented by sets. Of course, "For every graph, ..." becomes "$\forall G\ ( graph(G) \to \cdots )$", and likewise for the existential quantifier. One can see that various useful meta-theorems for quantifiers hold, such as that "Not every graph is ..." is equivalent to "Some graph is not ...".

MK

However, if you want to actually talk about sets and classes separately, MK is essentially what you will get by adding to ZFC the ability to construct any arbitrary class (of sets) defined by a first-order formula over ZFC as an actual object. Formally, we can have two sorts called "set" and "class", so that we can state the axioms for ZFC for sets. (Or we can have just one sort but also a predicate for "sethood".) There are two main points of note:

  1. A class only contains sets as members. So there is still no class of classes. But there is trivially a class of all sets, and classes form a boolean lattice under inclusion with a top and a bottom.

  2. The usual axioms of ZFC apply to sets, not classes. So there is no such thing as the powerclass. However, given any class $C$ one can construct the class of all sets that are subsets of $C$.

MK is strictly stronger than ZFC, since MK proves the consistency of ZFC, but MK is easier to use than ZFC precisely because we can talk about classes directly.

user21820
  • 57,693
  • 9
  • 98
  • 256