分享

完美破解理发师悖论

 月未圆书斋 2014-09-04

理发师悖论:在某个城市中有一位理发师,他的广告词是这样写的:“本人的理发技艺十分高超,誉满全城。我将为本城所有不给自己刮脸的人刮脸,我也只给这些人刮脸。我对各位表示热诚欢迎!”来找他刮脸的人络绎不绝,自然都是那些不给自己刮脸的人。可是,有一天,这位理发师从镜子里看见自己的胡子长了,他本能地抓起了剃刀,你们看他能不能给他自己刮脸呢?如果他不给自己刮脸,他就属于“不给自己刮脸的人”,他就要给自己刮脸,而如果他给自己刮脸呢?他又属于“给自己刮脸的人”,他就不该给自己刮脸。

破解:

设x,y表示任意人,b表示barber(理发师),h表示haircut(理发),
x给y理发: h(x,y)
x不给y理发: ~h(x,y)

那么,
给自己理发: h(x,x)
不给自己理发: ~h(x,x)
理发师给某人理发: h(b,x)

理发师规则:~h(x,x)=>h(b,x) (x不给自己理发,则理发师给x理发)

如果理发师规则为真,【并且】x=b,那么~h(b,b)=>h(b,b)
而 ~h(b,b)=>h(b,b) 恒为假!
因此,【并非】”理发师规则为真, 并且 x=b“,
即”理发师规则为假,或者x不等于b”成立,
于是,”如果x等于b,则理发师规则为假”。

同样,”如果x等于b,则理发师规则为假”,
等效于
“如果理发师规则为真,则x不等于b”,
与我们的常识相符。

结论:理发师规则~h(x,x)=>h(b,x) ,只有在x不等于b的时候,才能成立,例如~h(a,a)=>h(b,a) , ~h(a,a)和h(b,a)没有矛盾。

当x=b的时候(b自己给自己理发),表达式变为~h(b,b)=>h(b,b),蕴含矛盾。所以理发师规则蕴含矛盾,本身就不成立。

【假设理发师规则为真】=>
{
假设不给自己理发=》给自己理发
假设给自己理发=》不给自己理发
}
这才是正确的,完全符合逻辑。

~h(x,x)=>h(b,x) 碰巧在x不等于b的时候,成立,在x等于b的时候矛盾。

同样对于三元逻辑,如果规定对应法则f,使得
~f(x,y,z)=>f(a,b,z),当(x,y)不等于(a,b)的时候,则f可成立。
当(x,y)等于(a,b)的时候,有~f(a,b,z)=>f(a,b,z),矛盾。

说谎者悖论:“这句话是假的”
令x=“这句话是假的”
这句话=x
即x=“x是假的”
x是假的,即~x为真
即 x=~x

“这句话是假的” 蕴含 x=~x
~h(x,x)<=>h(b,x) 蕴含~h(b,b)<=>h(b,b)
….
悖论是一个或一组命题(显然),【假定悖论命题为真】的前提下,“蕴含”形如A=~A的矛盾。

由此可见,这两个著名的悖论,在于构造命题(组)P
使得P=>(Q<=>~Q),因此,矛盾否定的是P。

P=>(Q<=>~Q)等价于
P=>(Q=>~Q) and P=>(~Q=>Q)
这就是悖论的感觉:如果q为真,则q假,如果q为假,则q真。因为你假定了悖论p真。

最终结论:悖论的产生源于其前提为假!悖论进一步表明了逻辑推理的伟大和正确性!


理发师悖论维基百科,自由的百科全书
 

理发师悖论(Barber paradox)是罗素用来比喻罗素悖论的一个通俗说法,是由伯特兰·罗素在1901年提出的。罗素悖论的出现是由于朴素集合论对于集合的不加限制的定义。由于当时集合论已成为数学理论的基础,这一悖论的出现直接导致了第三次数学危机,也引发了众多的数学家对这一问题的补救,最终形成了现在的公理化集合论。同时,罗素悖论的出现促使数学家认识到将数学基础公理化的必要性。

内容

小城里的理发师放出豪言:他要为城里所有不为自己刮脸的人刮脸,而且只为那些不为自己刮脸的人刮脸。


但问题是:理发师该给自己刮脸吗?如果他给自己刮脸,那么按照他的豪言“只为那些不为自己刮脸的人刮脸”他不应该为自己刮脸;但如果他不给自己刮脸,同样按照他的豪言“为城里所有不为自己刮脸的人刮脸”他又应该为自己刮脸。


集合论的语言来描述理发师悖论是这样的:小城里的人构成集合A=\{a | a\ lives\ in\ the\ town\},对于每个小城里的人a可以构造一个A的子集S_a=\{x | a\ shaves\ x\},即a给属于S_a的人刮脸。那么,如果城里人a给自己刮脸,则a \in S_a,如果a不给自己刮脸,则a\not\in S_a,如果a不给任何人刮脸,则S_a 为空,即S_a=\{\}。设理发师为s,则理发师的豪言就是:S_s=\{a | a \not\in S_a\}。问题是:如果s \in S_s,这将与S_s的定义矛盾,但如果s \not\in S_s,根据S_s的定义,又应该有s \in S_s。理发师悖论是个逻辑悖论。用集合论语言来描述并不是必需的,只是为了将来更容易说明它与罗素悖论不是一回事。

历史故事

德国数理逻辑大师戈特洛布·弗雷格(Frege)曾研究用集合论去描述数理逻辑,为此他还写了一本书。他在给罗素的信中提到他的工作时说他为此构造了一个特殊的集合(A),这个集合由所有不包含自己的集合构成。也就是说,集合A的元素X是一个集合,X自己不是自己的元素,即X \not\in X。罗素在回信中讲述了前面的理发师的故事。聪明的弗雷格看出了这实际上是指出了他所构造的集合A的问题:如果A \not\in A,那么根据定义A应该包含A,即A \in A;但是如果A \in A,那么同样根据定义A又不应该包含A,即A \not\in A。可此时弗雷格的书已经付印,修改已经是不可能的了,弗雷格只能在书中加一个后记并写到:在工作结束之后而发现那大厦的基础已经动摇,对于一个科学工作者来说,没有比这更为不幸的了。

虽然罗素没有直接点出那个弗雷格所构造的集合的悖论,但人们还是将那个集合的悖论称作罗素悖论。罗素悖论可以简单描述为:构造一个由所有不包含自己的集合构成的集合A,即A=\{X|X \not\in X\},但我们无法断定A是否应该包含A,无论包含或者不包含都会导出矛盾。由于罗素悖论只涉及集合的定义和从属关系的判断这些集合论最基础的问题,而集合论又已成为数学理论的基础,因此罗素悖论导致了第三次数学危机。

这一历史故事应该只是一个“故事”,而不完全是历史事实。从看到的一些罗素和弗雷格的通信来看,他们的交流是很学术的。但罗素悖论指出了弗雷格著作中的一个错误,使得他来不及修改他的著作而只能追加一段后记这是一个事实。

理发师悖论与罗素悖论

尽管人们经常把理发师悖论说成是罗素悖论,或认为它们是等价的,但理发师悖论和罗素悖论并没有等价的关系,它只是一个比喻。


理发师悖论里的“不给自己刮脸”即a \not\in S_a和罗素悖论里的X \not\in X是不一样的。集合以自己为元素(X \in X)是一个很抽象的概念,通常需要像“所有集合的集合”这样的表达方式才能做到,一般很难用一个构造的例子来说明。但也见过一个十分有趣的例子:如果定义集合N=\{x|x \ is \ set \ discussed \ in \ this \ article\}。则集合N是一个包含自己的集合的例子。


一种新的集合论的观点认为,罗素悖论也不是一个悖论,它也是一个和上述说法类似的逻辑错误,这用到了一个新的经改进的概括公理(comprehension axiom)。但这还有待学术界的认可。

请参阅

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多