康托尔公理指的是在Zermelo-Fränkel集合论中,声称任何集合A的幂集(所有子集的集合)的势严格大于A的势。
康托尔定理对于有限集合是明显的,但是令人惊奇的是它对于无限集合也成立。特别是,可数无限集合的幂集是不可数无限的。要展示康托尔定理的对于无限集合的有效性,只需要测试一下下面证明中无限集合。
证明
设f是从A到A的
幂集的任何函数。必须证明这个f必定不是
满射的。要如此,展示一个A的子集不在f的像中就足够了。这个子集是
要证明B不在f的像中,假设B在f的像中。那么对于某个y∈A,我们有f(y) =B。现在考虑y∈B还是yB。如果y∈B,则y∈f(y),但是通过B的定义,这蕴涵了yB。在另一方面,如果yB,则yf(y)并因此y∈B。任何方式下都是矛盾。
在X是可数无限时对证明的详细解释
要掌握这个证明,让我们检查X是可数无限时的特殊情况。不失去一般性,我们采用自然数集合,X=N= {1, 2, 3,...}。
假设N双射于它的幂集P(N)。让我们看一个样例P(N):
P(N)包含无限的N的子集,比如所有偶数的集合{2, 4, 6,...},还有空集。
现在让我们看一下P(N)的元素的样子,我们尝试给每个N的元素配对上每个P(N)的元素来证实这些无限集合是双射的。换句话说,我们将尝试对N的每个元素配对上来无限集合P(N)的元素,使得这两个集合中没有元素是未配对的。配对元素的尝试将是如下样子的:
某些自然数被配对上不包含它们的子集。例如,在我们的例子中,数1被配对上子集{4, 5}。其他自然被配对上包含它们的子集。比如数2被配对上子集{1, 2, 3}。
使用这个想法,让我们建造一个自然数的特殊集合。这个集合将提供我们所求索的矛盾。设D是被配对上不包含它们的子集的所有自然数的集合。通过定义,我们的幂集P(N)必定包含这个集合D作为元素。所以,D必定被配对上某个自然数。但是这导致了一个问题 -- 哪个自然数和D配对呢?它不能是D的成员,因为D被特殊构造为只包含那些不配对上包含它们的子集的自然数。在另一方面,如果配对于D的自然数不包含在D中,则再次通过D的定义,它必定包含在D。
这是矛盾因为这个自然数不能同时在D的内部和外部。所以,没有自然数可以配对于D,而我们的最初假定在N和P(N)之间有双射是有矛盾的。
通过这个反证法我们证明了N的势和P(N)的势不能相等。我们还知道了P(N)的势不能小于N的势,因为根据定义P(N)包含所有
单元素集合,而这些单元素集合形成在P(N)内的N的复制品。所以只剩下一个可能,就是P(N)的势严格大于N的势,这就证明了
康托尔定理。
历史
康托尔在1891年发表的论文《Über eine elementare Frage der Mannigfaltigkeitslehre》中本质上给出了这个证明,实数不可数的
对角论证法也首次在这里出现。在这个论文中给出的这个论证的版本使用的是在集合上的指示函数而不是集合子集。他证明了如果f是定义在X上的函数,它的值是在X上的二值函数,则二值函数G(x) = 1 −f(x)(x)不在f的值域中。
罗素在《数学原理》(1903, section 348)中给出了一个非常类似的证明,在这里他证明了命题函数要比对象多。“假设所有对象和所有和它们相关的命题函数之间有一种对应,并令phi-x为x所对应的命题函数。则'非-phi-x(xx对于xx假的时候为真,在phi-x真的时候为假,因此它和任何一个x所对应的phi-x不同”。他在康托尔之后贡献了这个想法。
恩斯特·策梅洛在他1908年发表的成为现代集合论基础的论文《Untersuchungen über die Grundlagen der Mengenlehre I》中有一个定理(他称之为康托尔定理)同于上面的论证形式。