来源:数学方法论选讲
作者:徐利治
一、悖论的定义
所谓悖论,从字面上讲就是荒谬的理论。那么,为什么要把悖论这样一个晦涩古怪的名词来取代这一通俗易懂的说法呢?按照美国柯朗数学研究所M. Kline教授的说法,那是为了不把自相矛盾的真相摆在桌面上,才采用了这样一个婉转的措辞。当然,M. Kline教授是针对Paradox才这样说的,并不是针对悖论所说,因此,我们在这里不是直接引用而是引而套用了M. Kline的说法。当然,现在时间一长,悖论这一词汇也用习惯了,其真实涵义也就人人皆知了。
图1
关于悖论的定义,当前流行的说法,如悖论是一种导致逻辑矛盾的命题。这种命题,如果承认它是真的,那么它又是假的;如果承认它是假的,那么它又是真的。又如悖论是指这样一个命题A,由A出发,可以找到一语句B,然后,若假定B真,就可推得¬B真,亦即可推出B假。若假定¬B真,即B假,又可推导出B真。再有如一个命题构成一个悖论,如果由它的真可以推出它的假,而由它的假又可以推出它的真。诸如此类的定义法,有它合理的一面,但有不够全面的地方。第一,任何一个悖论在实质上都相对地被包含在某个理论体系中,例如,著名的罗素悖论是一个被包含在古典集合论系统中的悖论。可能有的悖论看上去似乎不像针对那一个理论体系,其实只是这个悖论所属系统的原始概念和基本原则没有明朗化。所以,一个悖论总是相对于某个理论系统而言的。如果竟有这样一个悖论,它将被包含在历史的和将来的任何一个理论体系中,那么,我们就既不要去硏究什么悖论的成因,也不必去考虑排除悖论的方法,因为既有这种绝对的悖论出现,那么研究它也无济于事。当然,我们也不相信会有这种悖论出现。由此可见,当我们给悖论下定义的时候,如果忘记了相对于某一理论体系这个前提,将会造成怎样的误解。第二,并非每个悖论都要陈述为一个命题或某一语句的形式,有的悖论往往要有一个推演过程来表现。第三,从一些著名的悖论的陈述形式来看,人们并不习惯于要求把每个悖论都化归为肯定等价于否定的形式,也可用某一系统中并存的两个互相矛盾的命题来表述一个悖论。例如,古典集合论中的
并没有也不必要化归为两个矛盾命题的等价式。综上所述,我们认为孤立地用肯定等价于否定来作为悖论的定义是不够合理而全面的。
所以,我们主张采用A.A.Fraenkel与Y.Bar-Hillel的说法,如果某一理论的公理和推理原则看上去是合理的,但在这个理论中却推出了两个互相矛盾的命题,或者证明了这样一个复合命题,它表现为两个互相矛盾的命题的等价式。那么,我们就说这个理论包含了一个悖论。我们认为,这样来定义悖论较为全面而合理,因为在这里,首先指明了任何一个悖论总是相对于某一理论系统而言的。其次又指出了一个悖论可以表现为某一理论系统中两个互相矛盾的命题的形式。最后才指出,悖论也可集中地表现为肯定等价于否定的复合命题。这拝看来,当前流行的那种定义法,就只是抽取了Fraenkel陈述中的最后两句话作为悖论的定义,这当然是不够全面而合理了。另外,在Fraenkel陈述中的第一句话,不光是指明了任一悖论总相对于某一系统这一点,十分重要的是在这里强调了该系统的公理和推理原则看上去是合理的,如果不强调指出这一点,那么我们就可轻而易举地把一些明显的矛盾命题凑合在一起算作一个系统,然后宣布在这个系统中创造性地发现了许多悖论。
二、悖论的起源
关于悖论的起源,可以追溯到古希腊和我国先秦哲学时代,但在那时代其往后的一个相当长的历史时期中,悖论往往泛指那些推理过程看上去是合理的,但推理的结果却又违背客观实际。例如,著名的芝诺悖论便属于这一类悖论。
图2
在历史上,还有另一种与之相反的情形而称之为悖论的,那就是由于新概念的引入而违背了具有历史局限性的传统观念,这也一时称为悖论的发现。这就不是推理看上去好像是合理的问题,而是传统观念貌似真实的事了。例如Galilei对平方数与自然数一一对应的发现而矛盾于全体大于部分的原则,在历史上也称为Galilei悖论。这就不是Galilei的发现在推理上的问题,而是由于全体大于部分的直观原则是从有限数量的事物关系中抽象出来的,自然不适用无穷集合的情形了。诸如此类的悖论还可列举,例如,鳄鱼的二难论等,但所有这些与我们今天所讲悖论的含义已略有距离。因之,述其一、二就不作更多的讨论了。
历史上,与今天所讲悖论的含义较为切近并可看作悖论之直接起源的是这样一件事。公元前六世纪,克里特哲学家Epimenides发现了一个实际上没有构成悖论的悖论。其原始命题是:一个克里特人说:所有的克里特人所说的每一句话都是谎话试问这句话是真是假。如果它是真话,则因这句话也出自一个克里特人之口,故按此话的论断可推知这句话为假。因之,由这句话的真可导致它为假。但反过来,若设这句话为假,则并不导致任何矛盾。但仅由它的真可导致它为假这一点而言,就足以引人注目了。
在此顺便指出:上述那个并非悖论的悖论却至今有被误认为悖论的情况,其实是一种误解或疏忽。因为假定这句话是假,并不引起矛盾,更推不出它为真,至多说并非每个克里特人总说谎。另外,在历史上,这个原来认为是悖论而实际上不是悖论这一点也早已为人们所觉察,并设法修改它。最先是Eubulides(公元前4世纪)把上述命题改述为:现在我说的是一句假话。这就是我们下文所要分析讨论的强化了的扯谎者悖论,对此暂且不谈。又有罗素指出,如果假定了在此克里特人说这句话之前的每个克里特人所说的每句话皆为假话这样一个前提,则上述原始命题便构成悖论。因由原始命题的真导致它为假已如上述,现假定原始命题为假,则至少有一个克里特人说过一句真话,但因为有了如上这样一个前提,这就有且仅有这一原始命题是真话。故又由它的假导致了它为真。这就构成了现代意义下的一个悖论。但是这样一个前提太强,无非是在人为地制造悖论罢了。
再举一个例子,一个人说:上帝是全能的,全能就是胜过一切。试问此话真、假如何?设其为真,则可问:上帝能否创造一个对手来击败上帝呢?如果能,则上帝就要被上帝自己创造出来的对手击败,故上帝并非全能。如果不能,就说明上帝还有事情做不到,即并非全能。不论何说,均导致上帝全能这句话为假。但是,反过来设这句话为假,则并不导致任何矛盾,全能的上帝本来就不存在。
以上二例均不构成悖论,却指明了一个逻辑推理,即当否定者自身被包括在被否定的对象中时,则否定者必然走向它的反面。上帝全能原要否定一切,因为上帝自己也置身于这一切之中,结果必然否定上帝自己。前例中那个克里特人也是一样,由于他自身就是克里特人,必然导致他自身说谎。
图3
后来,人们顺着Epimenides的原始命题,终于构造了等价于上述Epimenidcs命题的强化了的扯谎者悖论,即永恒性说谎者悖论,陈述如下:
(在本页本行里所写的那句话是谎话)由于上一行里除了这句话本身之外别无任何其他的话,因此,这是一句话中套话的话,而被套之话就是套它之话自身,于是若设该话为真。则要承认该话之结论,从而导致该话为谎话。若设该话为谎话,则应肯定该话结论的反而为真,因之推出该话为真。
这就真正构成了现代意义下的一个悖论。问题出在什么地方?这是由于语言层次的混乱,被论断是真是假的话与去论断它的话混而为一。如果在下一行写上一句话:
(A)现在在下雨。
然后再在下一行写一句话:
(B)前一行里写的那句话是谎话。
这就不能构成悖论。话(B)是真是假,要看(A)的真假,而(A)的真假决定于现在是否下雨。在这里,话(A)是被论断的话,而话(B)是对(A)去作论断的话。故强化了的撒谎者悖论的症结就在于作论断的话与被论断的话混而为一。所以,这个悖论的排除在于语言的分层,这正是近代语义学产生发展的原因,也正是语义学所研究的重要内容。
图4
最近美国数理逻辑学家Smullyan写了一本书,其书名为这本书的书名叫什么?现把这本书放在桌子上,并有甲、乙、丙 三个人围着它,因为甲不识字而指着该书问:这本书的书名叫什么?而乙又接着指着这本书说:这本书的书名叫什么?这时丙在考虑,刚才乙讲这句话算是回答甲的问题呢?还是在重复甲的提问呢?而且乙可以叫别人永远猜不着。因为这既是问也是答。但是,如果乙诚心想回答甲的问题而又愿意把话说得清楚些:这本书的书名就叫做《这本书的书名叫什么?》。这就不致引起丙的烦恼了。在这里,同样存在着语义学的问题。