Russell's paradox prevents us from allowing any expression of the form $\{x \mid P(x)\}$ from being a set. His observation shook up the field of set theory, prompting formal axiomatizations of the field and forcing mathematicians to think rigorously about the consistency of these systems of axioms.

There's a very simple and certainly wrong way to define sets that avoids Russell's paradox. I'd be interested in hearing why this definition fails.

We define a set $S$ as a mathematical object that provides two unary operations: $\in S$ and $\not\in S$ such that for any mathematical object $x$, exactly one of $x \in S$ and $x \not\in S$ is false and other is true. Definitions of inclusion, intersection, and union easily follow. Note that we don't expect $\in T$ and $\not\in T$ to be logical negations for any $T$ but they are negations if $T$ is a set (there is no attempt to define them for non-sets). Also, there is no requirement of well-foundedness: one can define a set $X$ such that $X \in X$ and $Y \not\in X$ for $Y \ne X$.

Russell's paradox is that the definition $R := \{x \mid x \not\in x\}$ implies that $R \in R$ and $R \not\in R$ are false. But this statement is only contradictory if we cannot allow both statements to be false. According to the above paragraph, Russell's paradox simply implies that $R$ is not a set. In other words, the above definition only allows statements of the form $\{x \mid P(x)\}$ to be sets if membership is unambiguous for every $x$.

This approach seems to me to be a minimal/canonical way to address Russell's paradox but I'm sure there's something that I am missing. I'm making no attempt to formally define mathematical object, which may be problematic. And the above definition of a set quantifies over all mathematical objects, which might not be allowed.

  • $\begingroup$ What about $\{x\ |\ x=1\text{ if CH is true and }x\not\in x\text{ otherwise}\}$? Does that set exist? (CH is the continuum hypothesis.) $\endgroup$ – Akiva Weinberger Jun 10 '15 at 15:07
  • $\begingroup$ @columbus8myhw If the CH is independent of the assumed set theory axioms, that expression isn't well defined so it doesn't denote a set. If CH is assumed or not assumed, that expression denotes a set. $\endgroup$ – Reinstate Monica Jun 10 '15 at 15:24
  • $\begingroup$ @Solomonoff'sSecret If CH is assumed false, that would be equivalent to $\{x\ |\ x\not\in x\}$ and thus wouldn't be a set. $\endgroup$ – Akiva Weinberger Jun 10 '15 at 15:42
  • $\begingroup$ @columbus8myhw You are right, I can't read. So the expression is a set if CH is true and not a set if CH is false. I don't see any contradiction there. $\endgroup$ – Reinstate Monica Jun 10 '15 at 15:55
  • 2
    $\begingroup$ @Solomonoff'sSecret It seems like you're trying to make up an axiom that says, "$\{x\ |\ P(x)\}$ can defined, if $P(x)$ is such-and-such." Where the "such-and-such" is something to the effect that $P(x)$ is unambiguous for every $x$. But, remember, such an axiom can only talk about the syntax of $P(x)$ (since axioms are rules for syntactic manipulation in a formal system), not its semantics! Thus, it has to give a definite answer to the question of whether the thing I defined above can be constructed. $\endgroup$ – Akiva Weinberger Jun 10 '15 at 16:14

Typically the relation "$\notin$" is defined by $x \notin y \iff \neg (x \in y)$, so logic alone tells us that "we cannot allow both statements [$R\in R$ and $R \notin R$] to be false." Moreover, redefining "$\notin$" to mean something else would not affect the paradox: we could just say $R = \{x : \neg(x \in x)\}$ instead of $R = \{x : x \notin x\}$.

EDIT: I think I may have missed the main point of the question, which is a proposed weakening of unrestricted comprehension that only allows us to define sets $\{x : P(x)\}$ in the case that "membership is unambiguous." As pointed out in a comment by columbus8myhw, this is problematic because it's not clear how unambiguity can be phrased as a syntactical property of $P$ (or how it can be made precise at all, I might add.)

In particular, it's not clear how we are supposed to know a priori that there is anything "ambiguous" about "$\neg (x \in x)$". There may be lots of ways to weaken the unrestricted comprehension schema in order to avoid Russell's contradiction, but from what is written in the question it's hard to tell exactly which weakening is being proposed.

  • $\begingroup$ I think the OP is suggesting that we don't have to define the relation "$\notin$" by $x \notin y \iff \neg (x \in y)$. This looks like an interesting idea to me, and not something to be dismissed out of hand. $\endgroup$ – TonyK Jun 10 '15 at 21:58
  • 1
    $\begingroup$ @TonyK That is what all of my answer except the first sentence is addressing. $\endgroup$ – Trevor Wilson Jun 10 '15 at 22:00
  • $\begingroup$ "Define the set $R = \{x : \neg(x \in x)\}$": $R$ is not a set according to the OP's definition. $\endgroup$ – TonyK Jun 10 '15 at 22:09
  • $\begingroup$ Clearly allowing $R$ to be a set is problematic. But does $R$ really fit my definition of a set? It seems that the veracity of $R \in R$ is not defined. This definition strikes me as like "the smallest positive real number" in that it simply doesn't exist, but maybe I'm missing something. $\endgroup$ – Reinstate Monica Jun 10 '15 at 22:15
  • 1
    $\begingroup$ @TrevorWilson Regarding your question "what does your comprehension axiom say, exactly?", I think you assume I know more than I do. columbus8myhw pointed out that my axiomatization involves more than just syntactic rules, but instead involves whatever theory and semantics is necessary to determine whether a definition is unambiguous or well-defined. So I think you are indirectly raising the same issue and this issue is a fatal flaw of my theory. $\endgroup$ – Reinstate Monica Jun 11 '15 at 12:11

What you are looking for is actually very elegant: 3-valued logic instead of classical logic. You are then free to construct a type given any defining formula, but membership may not be boolean. Call the types with boolean membership "classes". You can further stipulate that every type constructed using only classes in its defining formula is itself a class. (Here we consider $x$ as used if it appears in the form "$\in x$".) Then $U \overset{def}= \{ x : x=x \}$ is a class, of which every object is a member, including $U$ itself. $ \def\nn{\mathbb{N}} \def\qq{\mathbb{Q}} \def\rr{\mathbb{R}} $

Russell's paradox disappears, because $R \overset{def}= \{ x : x \notin x \}$ is not a class, and so $R \in R$ is not boolean and there will be no contradiction. From a computability perspective $R$ is like a recursive program that is not total, and "$R \in R$" does not halt. Interpreting objects as strings and types as programs also gives an obvious model for this system, where $U$ is simply the collection of all finite strings, clearly decidable by a program.

The next natural question is what other classes there should be. One obvious one is that $\nn$ ought to be a class, consistent with any natural encoding of naturals as strings. But since we want classes to be closed under quantification over classes, we would need to expand our model to have programs that use any (constant) finite Turing jump. If you have PA$^-$ for $\nn$, then every arithmetical set is a class. And hence if you also have the full induction schema on $\nn$ (for all sentences over the system) then you will be able to interpret ACA and hence recover nearly all real-world mathematics.

If you are a set theorist, you might want the powertype of $\nn$ to be a class as well, but in some sense that is felt by many logicians to be unsafe from a predicative perspective; you will find them saying that $Z_2$ (full second-order arithmetic) is impredicative. Indeed, there are three ways we can justify this viewpoint in this system:

  1. Let $S \overset{def}= \{ x : \forall y \in x\ ( y \in \nn ) \}$, but due to the "$\in x$" we cannot conclude that it is a class. And for good reason! We can construct $T \overset{def}= \{ x : \{ y : y \in \nn \lor x \in x \} \in S \}$. If $S$ is a class, then $T$ is also a class, and hence $V \overset{def}= \{ y : y \in \nn \lor T \in T \}$ is also a class. But if $T \notin T$, then $V \in S$ by definition of $V,S$, and hence $T \in T$ by definition of $T$. And if $T \in T$, then everything is in $V$ by definition of $V$, yet $V \in S$ and hence everything is in $\nn$. Presumably not what you want!

  2. Even if you want everything to be a natural number, we can use a modified variant of (1) that shows that the powertype of the positive naturals, namely $S' \overset{def}= \{ x : \forall y \in x\ ( y \in \nn \land y \ne 0 ) \}$, cannot be a class, where in the ensuing argument $0$ would be the witness that not everything is in $\nn_{\ne 0}$.

  3. Let $Class \overset{def}= \{ x : \forall y\ ( y \in x \lor y \notin x ) \}$, namely the type of all classes. Then we have another variant of (1): Let $S'' \overset{def}= \{ x : x \in Class \land \forall y \in x\ ( y \in \nn ) \}$. Here the "$\in Class$" is the only part that stops us from concluding that $S''$ is a class, and it had better do so because the same argument as before shows that it cannot be.

Although the above implies that we can no longer treat the powertype of the naturals as a class like in classical set theories, it does not really affect much of common mathematics. We still can deduce statements involving the subclasses of naturals, namely $S''$, as long as it is used as a type, just as in ordinary classical mathematics, because typically you never use $S''$ for anything else. What differs is that if we construct a type of objects whose defining formula uses "$\in S''$", then that type may not be a class and so cannot be used to define a subclass of natural numbers.

For example, $\qq$ can be easily constructed, and if we have inbuilt or definable pairing functions, we can then construct the type of Cauchy sequences from $\qq$ and from that the type of real numbers $\rr$. It does not matter that $\rr$ is not a class, since every statement of real analysis that merely involves quantifying over $\nn$ and $\rr$ and function types over them can still be proven.

Notice that there is absolutely no restriction on type specification, but not all types are classes. But there is a universal class, which is impossible in classical set theories. Furthermore, the above system is consistent with having a class $E$ whose only member is itself, in much the same way that there is a program that halts on every input and outputs "true" iff the input is its own source code. This is a nice puzzle in itself!

In summary your idea of ambiguity can be cleanly captured by 3-valued logic, and your idea of unambiguous sets is captured by classes.


Russell's paradox is that the definition $R := \{x \mid x \not\in x\}$ implies that $R \in R$ and $R \not\in R$ are false. According to the above paragraph, Russell's paradox simply implies that $R$ is not a set. In other words, the above definition only allows statements of the form $\{x \mid P(x)\}$ to be sets if membership is unambiguous for every $x$.

Actually, Russell's Paradox is that, in so-called naive set theory, you could both prove and disprove that $$\exists R:\forall x:[x\in R\iff x\notin x]$$

It could be proven by applying the axiom of unrestricted comprehension that was a feature of naive set theory. Disallowing unrestricted comprehension made it impossible to derive the above theorem.

The disproof was still possible since it was based only on applications of the rules and axioms of first-order logic.

  • $\begingroup$ $R$ is not a set, according to the OP's definition. $\endgroup$ – TonyK Jun 10 '15 at 19:35
  • $\begingroup$ @TonyK I think he misunderstood what RP is all about. I hope my answer will clear things up for him. $\endgroup$ – Dan Christensen Jun 10 '15 at 19:40
  • $\begingroup$ My "system" doesn't accept the axiom of unrestricted comprehension so I don't think Russell's paradox is a problem there. $\endgroup$ – Reinstate Monica Jun 10 '15 at 22:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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