Defeating Russell's paradox

The Zermelo-Fraenkel Axioms for set theory were developed in response.

The key axiom which obviates Russell's Paradox is the Axiom of Specification, which, roughly, allows new sets to be built based on a predicate (condition), but only quantified over some set.

That is, for some predicate $p(x)$ and a set $A$ the set

$\{x \in A : p(x)\}$

exists by the axiom, but constructions of the form:

$\{x : p(x) \}$

(not quantified over any set) are not allowed.

Thus the contradictory set $\{x : x \not\in x\}$ is not allowed. If you consider $S = \{x \in A: x \not\in x\}$, there's no contradiction. The same logic as in Russell's paradox gives us that $S \not\in S$, but then the conclusion is simply that $S \not\in A$, instead of any contradiction.


There are other problems with Russell's program which led to Gödel's work, which is also something you should check out, but ZF is where Russell's Paradox was fixed.


I'm aware of two principal approaches to solving Russell's paradox:

One is to reject $x \not\in x$ as a formula. This is what Russell himself did with his theory of types: inhabitants on the universe are indexed with natural numbers (types), and $x \in y$ is only a valid formula if the type of $y$ is one greater than the type of $x$. Basically, this slices the universe into "elements", "sets of elements", "sets of sets of elements", etc, and then there is no slice that admits a concept of membership of itself.

One drawback of this approach is that we then have, e.g. many empty sets of different types. Sometimes this is addressed by introducing type-shifting automorphisms, so that you can somehow recognise that the empty sets are all really the same. Another approach is to say that comprehension formulae are permitted only if you could give types to the variables, but you don't actually have to do so – this is the basis of Quine's New Foundations set theory. NF even has a universal set, but still manages to avoid Russell messing things up. This actually leads to a slightly odd situation where in NF the universal set $V$ actually does satisfy $V \in V$, and does not satisfy $V \not\in V$, so we don't forbid this kind of consideration entirely, it's just not permitted when building sets by comprehension.

The other main approach is to permit $x \not\in x$, but reject the formation of the set $\{x : x\not\in x\}$. Some argued that this set is problematic because it is in some sense far too large, a substantial slice of the whole universe – if we only stuck to sensible things like $\mathbb N$ and $\mathbb R$ and $\aleph_\omega$ then everything would be fine. Zermelo–Fraenkel set theory (ZF) proposed to build sets by more concrete means: start with things you know are sets, like the empty set, and operations that you know make sets, like union and power set, and just keep applying those operations, and take all the sets you can prove to exist in this way. ZF only allows selection of subsets of existing sets by arbitrary properties, that is $\{x \in A : p(x) \}$ instead of the more general comprehension $\{x : p(x)\}$ that ruined everything.

As a sidenote, ZF actually includes the Axiom of Foundation, which implies that $x\not\in x$ is true for all $x$. But there are also theories like ZF but without Foundation in which some $x$ do contain themselves.


It lead to the development of a number of solutions in logic and set theory, as well as other insights. You can find a nice introduction to the topic in the Stanford Encyclopedia of Philosophy section on Russell's Paradox in Contemporary Logic.