康托尔定理指的是对于任意无限集合A,都有 |A| = |2^A|,其中2^A表示A的幂集,即A的所有子集的集合。

证明如下:

首先,我们可以将A中的元素表示为二进制数的形式,即将每个元素表示为0和1的序列,例如A={a,b,c}可以表示为{(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)}。

接着,我们可以将A中的所有元素按照字典序排列,得到一个无限长的0和1的序列,例如A={a,b,c}中的元素按照字典序排列为{(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)}对应的无限长序列为0000110111011111...。

我们可以将这个无限长的序列表示为一个实数x,其中x的小数部分表示A中所有元素的二进制表示按照字典序排列后得到的无限长二进制序列。例如A={a,b,c}中的元素按照字典序排列后得到的无限长二进制序列为0000110111011111...,因此x=0.0000110111011111...。

由于x是一个实数,可以表示为一个二进制小数,因此我们可以将x表示为一个无限长度的0和1的序列,即x=0.x1x2x3...,其中xi表示x的第i位是0还是1。

接着,我们定义一个函数f:A→2^A,对于A中的任意元素a,f(a)表示A中所有元素的二进制表示按照字典序排列后得到的无限长二进制序列中,a对应的位为1的所有元素组成的集合。例如,对于A={a,b,c}中的元素a,f(a)={a,b,d,e},因为a在第一个二进制位上是1,而b、d、e在第一个二进制位上也是1。

我们可以证明f是一个双射函数,即f是一个一一映射且满射函数。首先,对于A中的任意元素a1和a2,如果它们在二进制表示中的某一位不同,则它们对应的集合f(a1)和f(a2)必然不同。因此,f是一个一一映射。其次,对于A中的任意子集S,我们可以构造一个元素a,使得f(a)=S。具体地,我们可以将S中所有元素对应的二进制表示中的第i位取出来,组成一个0和1的序列,然后将这个序列作为a的二进制表示中的第i位。这样构造出来的a对应的集合就是S,因此f是一个满射函数。

由于f是一个双射函数,因此A和2^A有相同的基数,即|A|=|2^A|。证毕。

证明康托尔定理

原文地址: https://www.cveoy.top/t/topic/bx7C 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录