This question already has an answer here:

I just read on this wikipedia page, about the difference between a class and a set.

A class that is not a set (informally in Zermelo–Fraenkel) is called a proper class, and a class that is a set is sometimes called a small class.

So apparently, there are classes that are not sets. However, in the definition of class on the same page it says:

a class is a collection of sets (or sometimes other mathematical objects) that can be unambiguously defined by a property that all its members share.

If we take collection to be a synonym of set, then these two statements contradict eachother. I don't see the difference between "collection" and "set".

So my question is: How can a class not be a set, if it is defined to be a "collection" (i.e. set) of objects based on a well defined property?


marked as duplicate by Eric Wofsey, Rohan, Asaf Karagila elementary-set-theory Dec 26 '17 at 11:46

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 3
    $\begingroup$ At least in this context, it is very important that we don't take "collection" to be a synonym of "set". $\endgroup$ – Zev Chonoles Dec 26 '17 at 8:57
  • 1
    $\begingroup$ Not everything you don't see isn't there. Collections aren't sets, neither in mathematics nor even in Java, period. Mathematics is about well-defined properties, not about arbitrary "synonyms". $\endgroup$ – Professor Vector Dec 26 '17 at 9:01
  • $\begingroup$ @professorvector, well thank you for that very informative comment... but obviously my question then is, what is the difference between a set and a collection. $\endgroup$ – user56834 Dec 26 '17 at 9:07
  • $\begingroup$ Every set is a collection, but not every collection is a set. Look at the definition, in mathematics (in set theory, the axioms define the properties of objects, usually). $\endgroup$ – Professor Vector Dec 26 '17 at 9:10
  • $\begingroup$ In usual formalizations of the class/set difference, a set is a class that belongs to another class : so theres a difference here $\endgroup$ – Max Dec 26 '17 at 9:12

Because "the set of all sets that aren't elements of themselves" leads to a contradiction called Russell's paradox (and there are other examples), we can't form arbitrary collections of sets and call them sets. But it is convenient to speak of arbitrary collections of sets, so the trick is to limit what qualifies as sets. The usual convention is to point out that, since we want to be able to collect sets however we like but aren't similarly obsessed with collecting the collections, we may as well say a set is anything that is an element of something. (A more complicated definition is needed if your theory contains urelements.) Thus classes are in principle arbitrary collections of sets, qualifying as sets if they are also elements of some class. As an example, the class of all sets that aren't elements of themselves exists but is not a set, so is not an element of any class.

In ZF(C) we only talk about the sets themselves, though when discussing it in English instead of symbols we usually include enough of the metalanguage to discuss all classes. Some variants of set theory use something called type theory, in which we say sets as I've defined them are level 0 and proper classes are level 1, and then a collection that can have proper classes as elements too needs to be at least level 2 etc. But since even this doesn't let you have such things as "the collection of all collections, regardless of level, that aren't elements of themselves", it's generally an unpopular approach. Most mathematicians instead stick with the 2-level approach, constructing just about all mainstream mathematics out of sets, discussing classes when we need to as part of a proof in ZF(C) or something similar. For example, the class of all ordinals may be necessary or convenient to discuss as part of a proof that proceeds by transfinite induction or transfinite recursion.

How do you know which classes are or aren't sets? In ZF, it's usually fairly easy because not only do the axioms often prove something qualifies, or a proof by contradiction that it doesn't, but thanks to the axiom schema of replacement proper classes are always bigger than sets.

  • $\begingroup$ " we may as well say a set is anything that is an element of something." So does this mean that the number 5 is a set, since it is an element of $\{5\}$ and of $\mathbb N$? That would change my intuition significantly as to what the word set means. So basically, not only is not every collection a set, it is not even the case that every set is a collection? $\endgroup$ – user56834 Dec 26 '17 at 9:30
  • $\begingroup$ @Programmer2134 Each set is a collection (we say class), though if your theory has urelements you have to say classes are of sets and/or urelements. For the other half of your question, the usual approach is to agree a definition according to which $5$ is a set, e.g. the non-negative integers are the elements of $\omega$ (and you can Google popular constructions for integers, rationals, reals, complex numbers and so on). Then our theory doesn't need urelements. As I mentioned, if you do have urelements then a set is a non-urelement that belongs to a class. $\endgroup$ – J.G. Dec 26 '17 at 9:57

Not the answer you're looking for? Browse other questions tagged or ask your own question.