逻辑悖论

 

克里特人Epimenides的悖论


一个典型的逻辑悖论是Epimenides paradox,这个悖论是用克利特哲学家埃庇米尼得斯(Epimenides)的名字命名的。

Wikipedia上我们可以看到这个悖论,简要如下。

Epimenides was a Cretan who made one immortal statement: "All Cretans are liars."
克利特人埃庇米尼得斯(Epimenides)说了一句很有名的话:“所有克里特人都说谎。”

若我们假设谓词

P(x, y)为“x所说的y的真值y实际的真值 是相反的”,C(x)为“x是克里特人”

那么对于上面的陈述我们有

∀x∀y(C(x) → P(x, y))   · · · · · · · · · · · · · · · · ·   (1)

那么根据全称实例(Universal instantiation)我们有,

∀y(C(e) → S(e, y))   · · · · · · · · · · · · · · · · ·   (2)

现在,我们将令命题Q为“∀x∀y(C(x) → P(x, y))”,那么现在问题来了,

  • 如果(1)式为真(即命题Q为真)。

那么我们令x为e,y为Q,代入(1)式后我们有

C(e) → S(e, Q)

现在已知C(e)为真,那么在(1)式为真的假设下,S(e, Q)也一定为真。S(e, Q)为真就意味着e所说的“∀x∀y(C(x) → P(x, y))”具有与其本身相反的真值,即我们得出结论,“∀x∀y(C(x) → P(x, y))”(也就是我们的(1)式)为假。这与我们的假设矛盾。

  • 如果(1)式为假(即命题Q为假)。

我们知道如果一个全称命题为假,那么就是意味着可以找到至少一个使它为假的物证。根据条件语句的真值表和量词的否定,我们有

∃x∃y(C(x) → ┐P(x, y))   · · · · · · · · · · · · · · · · ·   (3)

且(3)式为真(因为只有这样我们的(1)式才能为假)。即“存在一个克里特人他至少有一句话不说谎”是真的,或者理解为“存在一个克里特人,存在至少一个 他所说的y的真值y实际的真值 是相同的”。

那么根据存在实例(Existence instantiation),我们可以令x为e,y为Q,代入(1)式后有,

C(e) → ┐P(e, Q)

现在已有C(e)为真,那么  ┐P(e, Q)的真值呢?

如果这里的Q正好是那个使得┐P(e, Q)为真的Q的话,那么我们有“e这个克里特人所说的Q的真值Q实际的真值 相同”是真的。即,e说“所有的克里特人所有说出口的都是谎话”为真(e说Q为真)此时Q为假。e所说的 与 实际的 不同,矛盾。

如果这里的Q使得┐P(e, Q)为假,那么条件语句的结论为假。我们有“e这个克里特人所说的Q的真值 与 Q实际的真值 不同”是真的。即,e说“所有的克里特人所有说出口的都是谎话”为假(e说Q为假)此时Q为假,e所说的 与 实际的 相同,矛盾。

至此,我们的悖论产生了,Q不论取真还是取假,我们都得出了矛盾的结果。

于是我们有了克里特人的悖论。

对克里特人悖论的理解:

假设我们的论域为集合A,对于所有的a∈A都具有某种性质Q。现在存在一个e∈A,e说“对于所有的a∈A都具有某种性质Q”却会产生一个悖论。

这大概像是“有一种东西只要你一说出来就会打破”。

或者是,我们都知道空集Ø是任何集合的子集,但是你一旦显式地写在集合里它的意义就变了。

{} ≠ {Ø}

因为Ø = {},那么{Ø} = {{}} ≠ {}

(如果你恰好有编写程序方面的知识的话,这个理由应该很好理解:变量a是一个集合,它里面有一个变量b,这个变量b也是一个集合,不过这个b的集合是空的。显然我们知道变量a不等于变量b(当然我们比较内容而非比较指针))

 
 
 

Jourdain 纸牌悖论


纸牌悖论就是纸牌的一面写着:"纸牌反面的句子是对的。"而另一面却写着:"纸牌反面的句子是错的。"

纸牌悖论的形式如下,

令命题P为“命题Q为真”,命题Q为“命题P为假”。

我们可以采用类似于真值表的方式来证明这是一个悖论。让我们先考虑命题P,

P Q 备注
T T 因为P为真,即“命题Q为真”是真的
F F 因为P为假,即“命题Q为真”是假的

可以看出,在P为真时,Q为真,这意味着命题Q“命题P为假”是真的,这显然与我们的假设矛盾了。
对于P为假时,类似地,我们也能得出矛盾的结果。

那么我们先考虑命题Q呢?

Q P 备注
T F 因为Q为真,即“命题Q为假”是真的
F T 因为Q为假,即“命题P为假”是假的

可以看出,在Q为真时,P为假,这意味着命题P“命题Q为真”是假的,这显然与我们的假设矛盾了。
对于Q为假时,类似地,我们也能得出矛盾的结果。
对Jourdain 纸牌悖论的理解:

我们有两个命题,A和B。

A为真导致B为真/假,此时B又将导致A为假。A为假导致B为真/假,此时B又将导致A为真。

或者我们可以这样思考纸牌悖论。

继续令命题P为“命题Q为真”,命题Q为“命题P为假”。

那么为了知道命题P是否为真,我们需要知道“命题Q为真”是否为真,即判断命题Q的真值;为了知道命题Q是否为真,我们需要知道“命题P为真”是否为真,即判断命题P的真值;为了知道命题P是否为真,我们需要知道“命题Q为真”是否为真,即判断命题Q的真值……

明显,我们将陷入无限递归中。这类似于定义函数f(x)与g(x)

f(x):
    1 · · · · · · · · (g(x) = 0)
    0 · · · · · · · · (g(x) = 1)

g(x):
    1 · · · · · · · · (f(x) = 1)
    0 · · · · · · · · (f(x) = 0)

此时,如果试图获取f(1)的值,我们将需要g(1)的值,为了拿到g(1)的值,我们将需要f(1)的值。

 
 
 

理发师悖论


有个理发师说,我只为不给自己理发的人理发。问他应该给自己理发吗?

理发师悖论是罗素悖论的一个通俗化表达,罗素悖论为:

设性质P(x)表示“x不属于x”,现假设由性质P确定了一个类A——也就是说“A={x|x∉x}”。那么问题是:A属于A是否成立?首先,若A属于A,则A是A的元素,那么A具有性质P,由性质P知A不属于A;其次,若A不属于A,也就是说A具有性质P,而A是由所有具有性质P的类组成的,所以A属于A。

关于罗素悖论,不得不多说一些内容,

十九世纪下半叶,德国数学家康托尔创立了著名的集合论,在集合论刚产生时,曾遭到许多人的猛烈攻击。但不久这一开创性成果就为广大数学家所接受了,并且获得广泛而高度的赞誉。数学家们发现,从自然数与康托尔集合论出发可建立起整个数学大厦。因而集合论成为现代数学的基石。“一切数学成果可建立在集合论基础上”这一发现使数学家们为之陶醉。
1903年,一个震惊数学界的消息传出:集合论是有漏洞的!这就是英国数学家罗素提出的著名的罗素悖论。罗素的这条悖论使集合论产生了危机。它非常浅显易懂,而且所涉及的只是集合论中最基本的东西。所以,罗素悖论一提出就在当时的数学界与逻辑学界内引起了极大震动。德国的著名逻辑学家弗雷格在他的关于集合的基础理论完稿付印时,收到了罗素关于这一悖论的信。他立刻发现,自己忙了很久得出的一系列结果却被这条悖论搅得一团糟。他只能在自己著作的末尾写道:“一个科学家所碰到的最倒霉的事,莫过于是在他的工作即将完成时却发现所干的工作的基础崩溃了。”

这就是著名的第三次数学危机,而康托尔创立的集合论是现代数学的基础,也是产生危机的直接来源。

根据记载,福尔蒂在1897年揭示了集合论中的第一个悖论。

布拉利和福尔蒂提出一个悖论:设W为一切序数所组成的集合。因为W按自然大小顺序成一良序集,故W有一序数Ω。由序数性质,Ω必比W中任一序数都大,但由定义,Ω也出现在W中,从而将有Ω>Ω,这是矛盾的。即推出互相矛盾的命题,所以是悖论。

康托尔自己也发现了一个悖论

包含一切集合的集合是否存在?

更严重的就是刚才写出的罗素悖论,其中涉及的是以自己为元素的集合。

在此之后,为了解决数学危机,提出了公理集合论(Axiomatic set theory)

 

Leave a Reply

Your email address will not be published. Required fields are marked *

2 × five =