罗素悖论
令X为不包含自身的所有集合的集合。 X是X的成员吗?
解决方案
回答
这个问题在标准的ZFC(Zermelo-Fraenkel +选择公理)集合论中是不合适的,因为这样定义的对象不是集合。
由于(再次假设使用标准ZFC)类{x:x \ not \ in x}不是集合,答案为否,因为它本身不是元素(即使是类),因为只有集合可以是类的元素或者套。
顺便说一句,一旦我们同意基础公理,就不会有任何集合是其本身的要素。
当然,关于数学的好处是,我们可以选择所需的任何公理:),但相信悖论只是怪异的。
回答
在ZFC中,基础公理(如上所述)或者理解公理(方案)都将禁止这种情况。首先,出于明显的原因;第二,因为它基本上说对于给定的z和一阶属性P,我们可以构造{xz:P(x)},但是要生成Russell集,则需要z = V(所有集的类) ,这不是集合(即无法从任何给定的公理生成)。
在新基金会(NF)中," x?x"不是分层公式,因此我们也无法定义Russell集。但是,有些有趣的是,V是NF中的一个集合。
在冯·诺依曼-贝纳斯-格德尔集理论(NBG)中,类R = {x:x是一个集合,x? x}是可定义的。然后我们问是否R R;如果是这样,那么也R? R,给个矛盾。因此我们必须有R? R。但是这里没有矛盾,因为对于任何给定的A,A级? R表示A A或者A是适当的类。由于R? R,我们必须简单地使R是一个适当的类。
当然,类R = {x:x?没有限制,x}在NBG中根本无法定义。
还要注意的是,以上过程在NBG中可以作为形式证明,而在ZFC中则必须诉诸于元推理。
回答
我见过的最优雅的证明非常类似于罗素的悖论。
定理(我想是康托尔)。
令X为一个集合,令2 ^ X为其子集。然后card(X)<card(2 ^ X)。
证明。当然card(X)<= card(2 ^ X),因为在X和2 ^ X中的单例之间存在平凡的双射。我们必须证明card(X)!= card(2 ^ X)。
假设在X和2 ^ X之间存在双射。然后,将X中的每个xk映射到2 ^ X中的集合Ak。
- x1-> A1
- x2 ---> A2
- ...
- xk ---> Ak
- ...
对于每个xk,机会是:xk属于Ak,否则不属于。令M为所有不属于其对应集合Ak的所有xk的集合。 M是X的子集,因此必须存在X的元素m,该元素通过双射映射到M。
m属于M吗?如果是,则不是,因为M是不属于其映射到的集合的那些x的集合。如果不是,则为x,因为M包含所有这样的x。该矛盾源于存在双射的假设。因此,不存在双射,两个基数不同,并且证明了该定理。