集合论/朴素集合论
在19世纪后期,当康托尔证明了他的定理,数学家对无穷大的理解发展起来时,集合论还没有像今天一样被严格地公理化。它依赖于对集合是什么以及它们与成员之间关系的模糊直觉。这种缺乏严谨性导致了一些悖论。
在朴素集合论中,如果一个东西是集合,当且仅当它是一个定义明确的物体集合。集合算作物体。一个成员是集合中包含的任何东西。任何两个包含完全相同成员的集合都是同一个集合(外延原则)。
最著名的悖论之一是罗素悖论。英国哲学家和逻辑学家伯特兰·罗素在1901年发现了这个悖论。它围绕着包含所有不包含自身的集合的集合。要回答“这个集合是否包含自身?”这个问题是不可能的,除非遇到矛盾。如果它包含自身,它根据定义是一个不包含自身的集合——矛盾。如果它不包含自身,它就是一个不包含自身的集合,因此应该包含自身——矛盾。一个类似的语义悖论是理发师悖论。理发师给镇上所有不给自己刮胡子的人刮胡子,只给这些人刮胡子。理发师给自己刮胡子吗?如果这样,他就不属于那些不给自己刮胡子的人。如果不是,他应该。在这种情况下,理发师的合同是不一致的,因此,类比起来,朴素集合论也是不一致的,罗素悖论就是基于朴素集合论构建的。
这个悖论的解释有些技术性,但很简短,一些读者可能更愿意稍后回来看。
集合 A 是另一个集合 B 的子集,当且仅当 A 的所有成员都是 B 的成员。因此,所有集合都是自身的子集。此外,空集,Ø 或 {},不包含任何成员的集合,是任何集合的子集,因为它的所有成员也是任何其他集合的成员(因为它没有成员)。一个集合的真子集是一个不是集合本身的子集。一个集合的幂集是该集合所有子集的集合。例如,空集的幂集是包含空集的集合,{Ø}。注意,这个集合不同于空集:{Ø} 有一个成员 (Ø);Ø 没有成员。
1873 年,康托尔证明了任何集合的幂集都比该集合大(康托尔定理)。对于有限集来说,这似乎很明显,但当考虑无限集时,这件事就显得不那么清晰了。目前,一个无限集将被认为是一个大小与其真子集之一相同的集合,两个集合被认为具有相同大小或等势,当且仅当它们之间存在双射(第一个集合的每个成员都有第二个集合的唯一成员,第二个集合的每个成员都有第一个集合的唯一成员)。例如,自然数集合 {1,2,3,...} 是无限的。它有一个真子集 {2,4,6,...},即偶数,但是对于自然数集合中的每个成员(即对于每个自然数),都有偶数集合中的一个成员,反之亦然。这是因为每个自然数都可以乘以 2,得到一个偶数(即,每个自然数都可以被分配给偶数集合中的一些唯一成员),每个偶数都可以除以 2,将它分配给自然数集合中的唯一成员。如果两个集合等势,就有一种方法可以将第一个集合的每个成员与第二个集合的每个成员配对,使得第一个集合的每个成员都出现在恰好一个对的第一位置,第二个集合的每个成员都出现在恰好一个对的第二位置(有序对不受外延原则的限制:<a,b> 不等于 <c,d> 如果 a 不等于 c)。所以,对于 {1,2,3...} 和 {2,4,6...},有对 <1,2>,<2,4>,<3,6> 等等。所有这些对的集合是一个函数(也是一个双射)。
康托尔定理的证明依赖于上述概念。这里描述的证明是反证法,即假定要证明的结论的否定为真;证明表明这种假设是不一致的。
假设集合 A 与它的幂集 PA 等势。因此,存在一个从 A 到 PA 的双射 g。令 g(x) 为与 A 的成员 x 相关的 PA 的成员(即 A 的子集)。由于假设 A 与 PA 等势,对于 PA 的每个成员 y,都存在 A 的一个成员 x,使得 y = g(x)。令 B 为 A 的子集,使得 B 的任何成员 x 都不是 g(x) 的成员(记住 g(x) 将是 A 的某个子集)。因此,不存在这样的 x,它是 A 的成员且 g(x) = B。如果存在,它要么是 B 的成员,要么不是。如果 x 是 B 的成员,它将是 g(x) 的成员,因此不会是 B 的成员——矛盾。如果它不是,它将不是 g(x) 的成员,因此将是 B 的成员——矛盾(注意与罗素悖论的相似之处,用于显示这种矛盾)。然而,B 是 PA 的成员(因为 B 是 A 的子集),因此应该存在一些 x 使得 g(x) = B。这种矛盾完成了证明。对于任何集合,总存在一些子集不能被唯一地分配给该集合中的一个成员。
悖论是作为定理的延伸出现的。考虑包含所有事物,所有集合,树木,人,行星,钟乳石,数字,计算器等等的集合。根据定理,这个集合的幂集比它大。然而,如果是这样,那么“万物”这个集合一定漏掉了什么东西,因为有一个集合比它大,因此包含了除了它之外的其他东西。
考虑包含所有可以用英文在二十个音节内定义的自然数的集合。它将包含 26(只有三个音节),第二百万个素数(只有七个音节),以及 10 的 10 的 10 的 10 的 10 次方加 14(19 个音节)。由于音节数量有限,定义的长度必须是有限的,因此这个集合的大小必须是有限的。它将是包含 19 个或更少音节的所有排列的集合的真子集;特别是,它包含定义自然数的那些排列的集合。由于这个集合只有有限的成员,它必须有一个最大的成员(但注意无限集合不一定是这样的,例如自然数集合)。
考虑这个数字:可以用英文在二十个音节内定义的最小数字。这个数字是最小的不在这个集合中的数字;然而,它可以用少于二十个音节来定义,因为它刚刚用十八个音节定义了!这就是贝里悖论,由贝里在 1906 年提出,作为理查德悖论的简化版本,如下所示。
考虑所有可以用有限个词表示的介于 0 和 1 之间的数字。例如,0.33333333... 由“三分之一”表示。“正方形边长和对角线长度的比率”是另一个例子。按字典顺序排列所有这些数字表明它包含一个可数集合。因此,按某种顺序列出所有这些数字是可能的。然而,存在一个数字 p,它在其第 k 个位置与列表中的每个第 k 个数字不同。因此,它似乎在列表中没有出现,但它应该出现,因为它刚刚用有限个词描述了。
理查德和贝里悖论是由于对可定义性、可表示性等术语的粗心使用以及自指的包含而产生的。在公理集合论中不可能出现这种粗心大意。