科学大院

为什么康托定理是定理,理发师悖论是悖论呢?


本篇文章正文共3236字 预计阅读时间约为8分钟
什么是悖论

我们给悖论下一个“进行式”的定义: 悖论就是导致矛盾但原因不明的推理 。

根据这一定义,一旦矛盾的原因找到了,悖论也就不再是悖论了。另外,矛盾的原因应该比较难于察觉。


这一定义可能与许多文献中对悖论的定义不同。笔者主张这一定义。


理发师悖论

某村有一理发师,恰给本村那些不给自己理发的人理发。请问他给不给自己理发?


若他给自己理发,则他是一个给自己理发的人。按照他的原则,他应该不给自己理发。矛盾。


若他不给自己理发,则他是一个不给自己理发的人。按照他的原则,他应该给自己理发。也矛盾。


这是一段有名的、非常有趣的推理。由于找不出矛盾的原因,这段推理就被称为“理发师悖论”。


但真的找不出矛盾的原因吗?


本文的目的就是说明,其实这一矛盾的原因并不难察觉,故理发师悖论不足以称为悖论。


理发师悖论的解决

让我们把理发师悖论再叙述一遍:


某村存在一理发师,恰给本村那些不给自己理发的人理发。请问他给不给自己理发?


若他给自己理发,则他是一个给自己理发的人。按照他的原则,他应该不给自己理发。矛盾。


若他不给自己理发,则他是一个不给自己理发的人。按照他的原则,他应该给自己理发。也矛盾。


如果这一次还不容易看出矛盾的原因,请注意,第二次陈述时,把第一次陈述里的第三个字 “有”换成了“存在”。其他没动。


这样一换,是不是比较容易看出矛盾的原因了呢?


是的,应该说这样一换就比较容易看出,矛盾的原因是 假设了这样一个理发师的存在 。因此, 这一矛盾无非说明,具有这种性质的理发师(即恰给本村那些不给自己理发的人理发)在本村不存在罢了。

矛盾的原因找到了,悖论也就不成其悖论了,问题也就解决了。


文字游戏?

但矛盾的原因是怎样找到的呢?我们把“有”换成了“存在”。这是不是文字游戏,是不是偷换概念,是不是改变了问题呢?


当然不是。“有”就是“存在”。把“有”换成“存在”,没有改变问题,只是用语更科学、更醒目,使人注意到,原来这里隐藏着一个“存在”的假设。


假设,或者说前提,对推理是至关重要的。知道有假设,推出矛盾就不会大惊小怪,无非说明假设不正确罢了。但若不知道有假设,推出矛盾就会无法解释,就要惊呼为悖论了。因此,千万不要丢失、模糊任何假设。


引经据典

按说理发师悖论这样就解决了。不过人们可能不太放心,问题破解得太容易了:只换了一个词“存在”,就启发、导致了答案。这个答案太平淡无奇了。


为了让人彻底相信,这个答案一点也不平淡,问题确实出在存在性上,让我们引经据典,回顾集合论创始人康托的一个定理。为此先要回顾一下集合论的几个概念:映射、满射、子集的集。


设X和Y为两个集。所谓一个从X到Y的映射f: X→Y是指一个法则,它对X中的每一x,指定Y中唯一一个元素。这个为x指定的唯一元素称作x在f下的像,记为f(x)。称X为映射的定义域,Y为映射的值域。如果值域Y中的每一个元素都是定义域X中某个元素的像,就称f是一个满射。如图所示:



我们还需要一个概念:子集所成的集。设X为一个集。用P(X)表示集X的所有子集所成的集。例如,若X={1, 2, 3},则


。


康托定理

康托定理 对任何集X,不存在从X到P(X)的满射。

证明 任取一个映射f: X→P(X)。要证f不是满射。为此令

我们来证明,不存在z∈X,使得f(z)=C。


为此用反证法。假设存在z∈X,使得f(z)=C。那么,

若z∉C,则z∈f(z)。但f(z)=C,故z∈C。矛盾。 若z∈C,则z∉f(z)。但f(z)=C,故z∉C。也矛盾。

这说明不存在z∈X,使得f(z)=C。故f不是满射,康托定理得证。


康托定理是集合论最早,也最重要的定理之一。这个定理之优美,大概可以代表人类的智慧。这个定理一般放在大学数学系的三年级课程《实变函数论》中讲,但它几乎不用什么基础知识,是中学生可以理解、欣赏的。康托定理的陈述一般为,“不存在从X到P(X)的一一对应”,但实际上不存在满射。不存在满射当然就更不存在一一对应。


康托定理与理发师悖论的比较

康托定理与理发师悖论有什么关系呢?


我们来给康托定理一个“理发”的解释。用表示该村的人的集。对每一村民x,用f(x)表示村里被x理发的那些人的集,即x的“顾客集”。那么康托所考虑的集合



不存在z∈X,使得f(z)=C。翻译成理发的语言就是:


村里不存在这样的理发师,恰给本村那些不给自己理发的人理发。这是康托证明的一个深刻的事实。


让我们把康托推理的过程也翻译成理发的语言看看:


若z∉C,则z∈f(z)。但f(z)=C,故z∈C。矛盾。 (若他给自己理发,则他是一个给自己理发的人。按照他的原则,他应该不给自己理发。矛盾。)
若z∈C,则z∉f(z)。但f(z)=C,故z∉C。也矛盾。 (若他不给自己理发,则他是一个不给自己理发的人。按照他的原则,他应该给自己理发。也矛盾。)

可见,理发师推理就是康托推理。


评 述

那么,为什么康托定理与理发师悖论一个是定理,一个是悖论呢?


康托明确写道,这样一个z的存在只是假设。所以推出矛盾毫不惊讶,而是立即做出结论:不存在这样一个z。


理发师悖论却用日常语言的“有”模糊了科学语言的“存在”。“存在”换成“有”以后,就不知不觉从假设变成了天经地义,于是矛盾无法解释,成了“悖论”。可见,我们在前面把“有”换回成“存在”,确实不是文字游戏。理发师悖论的问题确实出在存在性上。


但说“换回”对吗?谁先谁后呢?


康托定理 (1895) ,理发师悖论 (1907) ,康托在先。因此,说“换回”是对的。


康托深刻地证明了,不存在这样一个古怪的理发师。12年后,理发师悖论全盘照收了康托的推理过程,却模糊了康托的存在性假设,致使矛盾无法解释,造成“悖论”。


这不像个恶作剧吗?


关于罗素悖论

读者可能知道罗素悖论,听说过“理发师悖论是罗素悖论的通俗版”的说法。如上所述,理发师悖论几乎是对康托定理的一个恶作剧。那么罗素悖论呢?


这个问题留给读者追踪、思考最好。但急于知道答案是人类的优良天性,所以也简单说明一下:罗素悖论 (1902) 显然受到了康托定理的启发,但它与理发师悖论有很大的不同。它的假设隐蔽得多,以致当时的集合论无法察觉。当然该假设最终还是被后来的集合论彻底破解了,所以罗素悖论早已不再是悖论了。但罗素悖论极大地刺激了当时的集合论,对集合论的进步有重大的意义。

【后记】其实,像理发师悖论这样易于破解的“悖论”可以要多少有多少,都是对康托定理的恶作剧。比如“恰爱那些不爱自己的人”,“恰恨那些不恨自己的人”,“恰表扬那些不表扬自己的人”,“恰批评那些不批评自己的人”,“恰修理那些不修理自己的机器人”,“恰引用那些不引用自己的书”,等等等等。理发作为这些“反身及物动词”中的一个只是特别生动形象罢了。


作者介绍

文兰(1946-),1969年毕业于北京大学数学力学系,1981年在北京大学获得硕士学位,导师为廖山涛先生。1986年在美国西北大学获得博士学位,导师为 R. Williams教授。1988-1990年在北京大学从事博士后研究,后留校任教。文兰主要从事微分动力系统方面的研究,在不可逆系统C1封闭引理、C1连接引理、流的稳定性猜测、星号流问题、Palis稠密性猜测等动力系统的若干基本问题上做出重要贡献;1997年获陈省身数学奖,1999年当选为中国科学院院士,2005年当选为第三世界科学院院士,2011年获华罗庚数学奖。


本文根据文兰院士在双流棠湖中学所做公众报告整理成文。 原文发表于《数学通报》2011年第12期。 原标题为《康托定理与理发师悖论》。



版权说明 :未经授权严禁任何形式的媒体转载和摘编,并且严禁转载至微信以外的平台!


文章转载自公众号”返朴“,仅代表作者观点,不代表科学大院立场。
推荐阅读
跟着感觉走,会掉坑里头? >> 虽然陌生,但它可能是你最好的朋友 >> 数学好吃吗?好吃! >> 论如何科学地通过忍者考试 >>

科学大院 是中科院官方科普微平台,由中科院科学传播局主办、中国科普博览团队运营,致力于最新科研成果的深度解读、社会热点事件的科学发声。
转载授权、合作、投稿事宜请联系[email protected]


大院er拍了拍你:不要忘记

点亮这里的 赞 和 在看 噢~