1900年前后,在数学的集合论中出现了三个著名悖论,理发师悖论就是罗素悖论的一种通俗表达方式。此外还有康托尔悖论、布拉利—福尔蒂悖论。这些悖论特别是罗素悖论,在当时的数学界与逻辑界内引起了极大震动。触发了第三次数学危机。 什么是悖论 让我们先了解下什么是悖论。悖论(paradox)来自希腊语“para+dokein”,意思是“多想一想”。这个词的意义比较丰富,它包括一切与人的直觉和日常经验相矛盾的数学结论,那些结论会使我们惊异无比。 悖论是自相矛盾的命题。即如果承认这个命题成立,就可推出它的否定命题成立;反之,如果承认这个命题的否定命题成立,又可推出这个命题成立 如果承认它是真的,经过一系列正确的推理,却又得出它是假的;如果承认它是假的,经过一系列正确的推理,却又得出它是真的。 古今中外有不少著名的悖论,它们震撼了逻辑和数学的基础,激发了人们求知和精密的思考,吸引了古往今来许多思想家和爱好者的注意力。解决悖论难题需要创造性的思考,悖论的解决又往往可以给人带来全新的观念。 罗素悖论的定义 把所有集合分为2类,第一类中的集合以其自身为元素,第二类中的集合不以自身为元素,假令第一类集合所组成的集合为P,第二类所组成的集合为Q,于是有: P={A∣A∈A} Q={A∣A¢A}(数学中“不属于”的符号,键盘打不出来,只好以¢替代) 问,Q∈P 还是 Q∈Q? 若Q∈P,那么根据第一类集合的定义,必有Q∈Q,但是Q中任何集合都有A¢A的性质,因为Q∈Q,所以Q¢Q,引出矛盾。若Q∈Q,根据第一类集合的定义,必有Q∈P,而显然P∩Q=Φ,所以Q¢Q,还是矛盾。 这就是著名的“罗素悖论”。罗素悖论还有一些较为通俗的版本,如理发师悖论等。 理发师悖论 有个村子中有一位理发师,有一天,他声称:“我只给不给自己刮脸的人刮脸,我也只给这些人刮脸。”他如此宣称后不久,有一个人就问他:“按照你的规矩,那你给不给自己刮脸呢?”这时候麻烦就来了,理发师一沉思就呆住了,因为他无法确定他该不该给自己刮脸。因为如果他不给自己刮脸,他就属于“不给自己刮脸的人”,按照他自己的规矩他就应当给自己刮脸。而如果他给自己刮脸了,他就变成属于“给自己刮脸的人”,按照他自己的规矩,他又不应该给自己刮脸。 理发师悖论与罗素悖论实质上是等价的。 因为,如果把每个人看成一个集合,这个集合的元素被定义成这个人刮脸的对象。那么,理发师宣称,他的元素,都是城里不属于自身的那些集合,并且城里所有不属于自身的集合都属于他。那么他是否属于他自己?这样就由理发师悖论得到了罗素悖论。反过来的变换也是成立的。 理发师悖论的解决 如何解决罗素悖论呢?我们先来解决理发师悖论。 毛病自然是出在理发师的规矩上,但其毛病何在呢?我们且来分析一下“我只给所有不给自己刮脸的人刮脸”这个规矩。 定义一: “给自己刮脸的人”: 1、是给自己至少刮过一次脸的人; 2、“给自己刮脸的人”也可以让别人给自己刮脸。 3、“给自己刮脸的人”也可以给别人刮脸。因为“给别人刮脸的人”只要给自己刮过一次脸,就属于“给自己刮脸的人”。 定义二: “不给自己刮脸的人”: 1、从来不曾给自己刮过一次脸; 2、“不给自己刮脸的人”一定是由别人来刮脸的; 3、“不给自己刮脸的人”可以给别人刮脸,但不能“给自己”刮脸。 由定义一、二,“给自己刮脸的人”以及“不给自己刮脸的人”都可以是“ 给别人刮脸的人” ,而在职业上要“给别人刮脸的人”是“理发师”。一个理发师同时可以作为非职业行为像常人一样“给自己刮脸”。 所以,一个理发师作为元素可以属于集合“给自己刮脸的人”也可以属于“不给自己刮脸的人”。 但集合“不给自己刮脸的人”与集合“给自己刮脸的人”的交集是空集。 所以,一个理发师要么属于集合“给自己刮脸的人”要么属于集合“不给自己刮脸的人”。 推论一:“给自己刮脸的人”能给所有人(包括他自己)刮脸。 推论二:“不给自己刮脸的人”能给除他自己以外的所有人刮脸。 推论三:根据推论一,如果一个理发师是一个“给自己刮脸的人”,他能给所有人刮脸。 推论四:根据推论二,如果一个理发师是一个“不给自己刮脸的人”,他给其他所有人但不能给自己刮脸。 推论五:如果一个理发师是“给自己刮脸的人”,他能给所有“给自己刮脸的人”及所有“不给自己刮脸的人”刮脸。 推论六:如果一个理发师是“不给自己刮脸的人”,他能给所有“给自己刮脸的人”刮脸但因为他不能给他自己刮脸,所以不能给所有“不给自己刮脸的人”刮脸。 为了研究清楚当一个理发师宣称“我只给不给自己刮脸的人刮脸”时问题何在,我们不妨弱化条件,先研究一个理发师是否可以宣称“我给所有不给自己刮脸的人刮脸”而不产生逻辑矛盾。 于是我们有了如下的逻辑问题等待解决: 如果有一个理发师,如果他宣称“我能给所有不给自己刮脸的人刮脸”,并且这宣称是真话,那么请问:这个理发师是属于“给自己刮脸的人”还是属于“不给自己刮脸的人”呢? 解决这个问题的思路是检验当一个理发师是“给自己刮脸的人”或“不给自己刮脸的人”时,是否都可以如实宣称“我能给所有不给自己刮脸的人刮脸”。 如果这个理发师是“给自己刮脸的人”; 根据推论一,这个理发师能给所有人刮脸。 此时这个理发师宣称“我能给所有不给自己刮脸的人刮脸”是真话。 如果这个理发师是“不给自己刮脸的人”; 根据推论二,理发师不能给自己刮脸。此时,因为理发师是属于集合“不给自己刮脸的人”中的一员,所以集合“不给自己刮脸的人”中至少存在着一个元素不能由理发师来刮脸。 此时这个理发师宣称“我能给所有不给自己刮脸的人刮脸”是假话。 所以,如果一个理发师宣称“我给所有不给自己刮脸的人刮脸”,并且理发师说的是真话,那么可以推断这个理发师一定是一个“给自己刮脸的人”。 也就是说如果一个理发师是一个“给自己刮脸的人”而不是一个“不给自己刮脸的人”,当他宣称“我给所有不给自己刮脸的人刮脸”时说的是真话,反之如果该理发师是一个“不给自己刮脸的人”则该宣称是假话。 结论一:于是,如果一个理发师宣称“我只给所有不给自己刮脸的人刮脸”有可能成立,那么这个理发师只可能是一个“给自己刮脸的人”。 结论二:如果一个理发师可以无矛盾地宣称“我只给所有不给自己理发的人理发”; 根据结论一, 如果这个理发师存在,那么这个理发师只可能是一个“给自己刮脸的人”。 这也就意味着一个至少给自己刮过一次脸的人(根据“给自己刮脸的人”的定义)宣称“我只给所有不给自己刮脸的人刮脸”。矛盾。 所以,要么这个理发师不存在,要么他在撒谎。 所以,一个理发师不能无矛盾地宣称“我只给所有不给自己刮脸的人刮脸”。 另一种对理发师悖论简单得令人惊讶的解决方案 受前述解决方案的启发,为了深化对此理发师悖论解决的体会,我们来关注如下一个相关的逻辑问题: 如果一个村里的理发师,要给所有不给自己刮脸的人刮脸,那么,请问:他要不要给自己刮脸。 问题解决的推理步骤如下: 第一步:如果这个理发师是一个给自己刮脸的人,那么当这个理发师能给村里所有不给自己刮脸的人刮脸,他也是一个给自己刮脸的人; 第二步:如果这个理发师曾经是一个不给自己刮脸的人,那么当这个理发师为了给村里所有不给自己刮脸的人刮脸,那么他必须给自己刮脸,此时他就从一个“不给自己刮脸的人”变成一个“给自己刮脸的人”。 第三步:所以,当一个村里的理发师,要给所有不给自己刮脸的人刮脸,他必然要给自己刮脸,此时,他就不可能“只给所有不给自己刮脸的人刮脸”。 由此,理发师悖论得到了最完美的解决。 仅仅只需要简单的三大步推理。 而上述解决方案,只需要简单地改造成数学逻辑符号,变成形式推理,即能同样相应地完美解决集合论悖论中的“罗素悖论”。 在当今的逻辑学界,为了规避罗素悖论,主要的解决方案有所谓的策梅罗公理系统(ZF)和诺伊曼公理系统(NBG)。这两种解决方案,都能在数理逻辑系统中有效避免罗素悖论,但缺陷在于,采用人为规定而规避的方式,已经遗漏了真理的全面性。 只有正面解决罗素悖论,整个数理逻辑系统甚至数学才有可能建立在完整而不缺失的基础上。 |
|
来自: 百眼通 > 《a.总论-671》