Is the number of classes countable in axiomatic set theory

elementary-set-theoryfirst-order-logiclogicset-theory

I'm recently learning mathematical logic and axiomatic set theory. In Takeuti and Zaring's Introduction to Axiomatic Set Theory Chapter 4, it says

For each wff (well formed formula) $\varphi(a, a_1, … , a_n)$ we will introduce a class symbol $\{x| \varphi(x, a_1, … , a_n)\}$

This seems to imply that a class is just another expression of a well-formed formula. This answer also says a class is a collection of "all sets which have a property which we can describe in the given language".

My question is, since in the formal language we used to describe set theory there is only countable symbols (finite quantifiers, finite connectives, finite relationships, finite constants, and countable variables), it is obvious that the number of all well formed formulas can only be countable, and since each class is just another expression of wffs, does that mean there are only countable classes in axiomatic set theory?

This seems strange to me because people say "every set is a class" and the number of sets is uncountable. Is there an explaination of this apparent contradiction?

My guess is my understanding of classes is wrong. If so, could anyone give me a precise definition of a class?


update:

To be more precise, consider these two questions:

  1. Is it true that for every class $A$, there exists a well formed formula $\varphi(x)$ such that $A = \{x| \varphi(x)\}$?
  2. Is it true that every subset of natural number set $\mathbb N$ can be described with a finite string (since every wff is at least a finite string of symbols)?

If the answers to both questions above are Yes, then it looks strange to me. I want to know which statement above is wrong.

Best Answer

Informally, a class is "a collection of sets". There are three ways this is typically treated in axiomatic set theory:

  1. Every mathematical object is a set and so variables in our formal theory range over sets. Classes are just a convenient mode of expression for what are really first-order statements about sets.
  2. Similar the previous, but we're a little more deliberate about it. We add class comprehension terms $\{x:\varphi(x,\vec a)\}$ to the formal language and then define class membership by $y\in \{x:\varphi(x,\vec a)\}\iff \varphi(y,\vec a).$ Our variables still always range over sets.
  3. Classes are bona-fide mathematical objects, and our formal theory quantifies over classes and sets, not just sets.

Your question concerns the first and second approach, which are only different in the formal details... it's similar to how you can work in the language where $\in$ is the only non-logical symbol, or can work in a definitional extension, including constant/relation/function symbols for empty power set, union, etc. We generally add these things mentally, anyway, and it's just a matter of whether for formal purposes you conceive these things to be abbreviations or as additions to the formal language.

Let's take approach 2 explicitly. You are correct, of course, that there are countably many formulas, so only countably many class comprehension terms, but that's not quite the same thing as saying there are only countably many classes. The class comprehension terms have parameters, so don't describe one notion of class membership, but a whole family of notions of class membership indexed by the parameter variables.

For instance, we can write down the term $\{x: x\in a_1\land x\in a_2\}$ (which is another way of writing $a_1\cap a_2$), or for a proper example, we can write $\{x: a_1\in x\}.$ When we actually put together a formal argument involving these class symbols, we will wind up instantiating the variables $a_1$ and $a_2,$ and we'll be talking about a "specific" class at that point (quotation marks since $a_1$ or $a_2$ may well be instantiated as arbitrary sets).

In this set-up, we can make sense of the idea that every set is a class, since we can write down the class term $C:=\{x:x\in a\}.$ Then we have by definition $x\in C\iff x\in a.$ So any time we reason about a set, we can assign it the variable $a$ and also talk about the corresponding class $C,$ which has the exact same members.

Now, we'll only ever instantiate finitely many variables in a given argument, or in our lifetime, and there are only countably many possible formal proofs anyway, but that's not generally taken as cause to say there's only countably many sets. So nor should the fact that there are only countably many class comprehension terms be cause to say there are only countably many classes.


I didn't want to bring model theory into this since you seemed resistant to it in the comments, but the idea of "what a class is" becomes much snappier in this arena. A class (in the sense of approaches 1 and 2) in a model of set theory is nothing more or less than a definable-with-parameters subset of the model.


As for your summary questions, hopefully the first one is superseded by the explanation above. For the second one, no there's no reason that we should expect every subset of the natural numbers to be definable. But one thing to appreciate is that in order to even make precise what we mean by this, we need to talk about models... (global) definability is not a property that we can define in set theory.

Related Question