九、大跳蚤与小跳蚤
——类型论
小学一年级时用过的语文课本曾令我惊奇不已。课本的封面上有一男一女两个小学生坐在一起看着一本书,而这本书正是我们使用的语文课本,他们看的书上也有两个稍小一点的小学生同样也是在看语文课本。如果画家继续画下去,那就会形成层层的倒退。
这样的情形我也在理发店里见过,在顾客的前面有一面大镜子,而后面的墙上也有同样的一面镜子,往任何镜子里看去,人们都会看到无穷的镜子和镜子前的顾客。如果读者感兴趣,不妨也做一个这样的实验:把一根蜡烛放在两面相向的镜子中间,从镜子里你可以看到无穷层次的蜡烛。
数学家奥古斯塔斯·德摩根曾改写了乔纳·斯威夫特的一首诗,生动地描绘了这种无穷的倒退:
大跳蚤有小跳蚤
在它们的背上咬,
小跳蚤又有小跳蚤,
如此下去
没完没了。
大跳蚤倒了个儿——变小,
上面还有大跳蚤,
一个上面有一个,
总也找不到
谁的辈数老。
罗素也曾设想了一个与此相似的类型论来消除悖论。按照罗素的看juexiang大校缘是由于非直谓定义造成的恶性循环引起的。所谓“恶性循环”就是自我指称性或自返性。通俗地讲就是自己说自己。而“非直谓定义”是指这样的定义:它借助于一个整体来定义一个对象,而这个对象又属于这一整体。也就是说,假设我们要给一对象A下定义,这时要借助于B,而B是一类对象的整体,A是B的一部分。例如,在格雷林悖论中曾给“非自状的”下这样的定义:一个形容词,如果它不具有自身所代表的性质就称为“非自状的”。这一定义就是非直谓定义。因为“非自状的”要借助于“不具有自身所代表的性质”来定义,“不具有自身所代表的性质”描述的是这类对象的整体。但是,“非自状的”却恰恰是这一整体中的一员,这样,就造成自己指称自己、自己描述自己的恶性循环。同样,在罗素悖论中,“不以自身为元素的集合的集合”要借助于“不以自身为元素的集合”的全体来定义,但是,这一集合本身也是全体的一分子。又如,所有集合也可以构成一集合(大全集),但此大全集本身也是一个集合,当然又属于“所有集合”,这样就形成“所
称自己、自己描述自己的整体称为“不合法的总体”。为了避免“不合法的总体”,罗素提出了“恶性循环原则”,确切点说应该是“避免恶性循环原则”:凡牵涉到一个汇集的全体者,它本身不能是该汇集的一个分子;或者,反过来说,如果假定某一汇集有一个总体,它便将含有一些只能用这个总体来定义的分子,那么,这个汇集就没有整体。换句话说,一类对象可以汇集成为一个总体,人们可以利用这总体给某一具体对象下定义,但这一具体的对象不能是这一全体的成员;反之,假如某类对象可以汇集成为一个总体,但其中却发现有这样的对象,它们必须用这一总体来定义,那么,此总体就不成其为真正的总体。有了这一原则,对任何具体的对象下定义时,就不会借助于包含这一对象的总体,从而也就不会造成自己说自己的恶性循环。在此原则的基础上,罗素提出了类型论。
这种理论用简单的例子来说并不深奥。例如,“张三是高个子”是个有意义的命题,显然,如果我们用“李四”、“王五”、“赵六”等等来代替命题中的“张三”一词,它仍然具有意义。但是,如果我们用“班级”、“小组”、“人类”等代替“张三”时,这个命题就变得毫无意义了。这是因为,“李四”、“王五”等是与“张三”属于同一级别的具体事物,而“班级”、“小组”等则是由这些具体事物作为元素构成的集合。由此可以看出,在这里,命题的意义取决于对个别事物和个别事物的集合两个层次的区分,这就是类型论的思想。
类型论的基本轮廓是这样的:
世界是一个无穷等级的体系,在最低级的层次上只有个别事物,在较高一级的层次上只有个别事物的集合,在更高一级的层次上只有个别事物的集合构成的集合。依次类推。总之,同一层次的对象构成一个类型,不同层次的对象构成不同的类型。假设个别事物为最低一级的类型,即类型0,那么,次一级的类型由个别事物的集合构成,即类型1;再次一级的是由个别事物的集合构成,即类型2。依次类推,可以构成无穷的类型层次。类型n+l的集合只能把类型n的集合作为自己的元素,而不能以类型 n+ l的集合作为自己的元素,也不能以类型n+2的集合作为自己的元素等等。因此,不能考虑一个集合是否是自身的元素。用罗素的话说,正如“美德是四边形,或者不是四边形”这句话是没有意义的一样,“一个集合是自己的元素”或者“一个集合不是自己的元素”不是错误的,而是没有意义的,因为它们混淆了类型,是恶性循环的。
罗素的类型论就像我们平时看到的套餐盒一样。大餐盒里面套着中餐盒,中餐盒里又套着小餐盒,小餐盒里面还有更小的餐盒,这是层层递进的。不同大小的餐盒属于不同的类型。这里只能由大到小往里套,即只能套比自己小的,任何餐盒都不能自己套自己,更不能套比自己大的。
据类型论,“A不属于A”并非有意义的命题,同样,“S〔不以自身为元素(A不属于A)的集合的集合〕是否属于S”的问题也是没有意义的。另外,“A不属于A”既然没有意义,那么,由它也不能构成集合S,也就是说并非任何性质都能决定一个集合,这样就否定了上节所述的罗素悖论中的前三个前提,罗素悖论得以避免。
格雷林悖论的构成过程是这样的:
(1)把形容词分为两类:一是适用于自身的,称为“自状的”,一类是不适用于自身的,称为“非自状的”。
(2)据集合形成规则:任何一性质决定一个集合,“自状的”构成一集合,而“非自状的”同样也能构成集合。
(3)问“非自状的”是否属于自身。
(4)据排中律,要么属于自身,要么不属于自身,总之都会引起矛盾。
而据类型论,“非自状的”是否属于自身的问题是没有意义的,去掉这一环节,悖论也就不能构成。
由于“类型的划分”不能消除所有的悖论,罗素又提出“级的划分”,即在每一类型中又划分出不同的级。但后来罗素的学生兰姆塞认为,“级的划分”完全是没有必要的,并认为“恶性循环原则”应该放弃。他指出,非直谓定义方法是应该允许的。
实际上,非直谓定义虽然是循环的,但有些循环不是恶性的,而是无害的“良性循环”,正如人的肿瘤有良性肿瘤和恶性肿瘤(癌)一样。例如,一形容词如果它所表示的性质可以适用于自身,那么它就是“自状的”,这一定义就使用了“可以适用于自身的”这种性质的总体,而“自状的”也是其中的一要素,这样,此定义就是非直谓定义,是循环的,但它并没有造成悖论。在生活中,人们经常使用这种方式说话,如“房间里的最高者”、“我们班里年龄最大的人”、“他是班里考得最好的”等。“房间里的最高者”姑且解释(定义)为:“在一个房间里有许多人,这些人形成此房间里所有人的整体,而在这一整体中,张三的个子是最高的,这时,我们称张三为‘房间里的最高者’。”可见,在对“房间里的最高者”的解释中使用了“房间里所有人的整体”,而房间里的最高者也是这个整体的一员,因此,这种解释是循环的。但是显然,没有人认为这样的说话方式有什么问题。
另外,这种定义方法也是必不可少的。正如兰姆塞所说,人都是有限的——有限的生命、有限的能力等,我们不可能对无穷多个性质逐个地进行命名,但却可以通过性质的总体来对其中的一些进行描述。也就是说,当我们接触到一些未了解的性质时,没有必要每一个都进行命名,而只是根据过去掌握的知识说明这种性质在性质总体中处于何种地位,与其他性质有何类似或不同之处等。这种描述利用了性质的总体,而这种性质却是整体的一部分,因此是循环的。
罗素的另一解除悖论的方案是“加限制”的方法。这一方案罗素并没有采用,而被后来的数学家策梅罗接受。据以前的分析可知,悖论的构成中都包含了这样一前提,即任何一性质都决定一个集合,这是康托尔对集合的直观规定。那么到底什么是集合?集合是什么样的呢?人们是不甚清楚的。康托尔自己说,集合是个“无底的深渊”,而戴德金则说:“集合是一个口袋,里面装的什么可不知道了。”这样就可能出现包含问题的集合,从而带来悖论。罗素和策梅罗都认为,集合论中悖论的出现是由于使用了太大的集合,特别是大全集,即所有集合的集合。因此必须对康托尔的集合论进行限制,特别是抛弃“任何性质都决定一个集合”这一原则,因为从这一原则可立即推出大全集的存在。
策梅罗认为,他的目标就是要保留康托尔集合论中一切有价值的部分,也就是说使限制后的集合论仍能起原来的基础作用,即能由此出发而展出全部数学理论。为达此目标,他采取了把原来的直观集合论进行公理化的方法。在这里,集合成了不加定义的原始概念,它的性质由公理加以规定,即由公理直观地显示集合的特征,当然也就表明了什么是集合。例如,其中有这样一条公理:我们可以凭借任何性质由一个已知集合分出一个子集,它是由已知集合中所有那些满足这一性质的元素构成的。比如,我们可以用“在中学读书的”这一性质从已知的“人类”这一集合中分出一子集“在中学读书的人”即“中学生集”。这里也是由一性质决定一集合,但它不是任意的,而必须是由更大的已知集合中分离出,因此,它与康托尔的上述原则是不一样的。根据此公理,“所有集合的集合”、“所有子集的集合”、“所有非自状的形容词的集合”等等这些集合都不会出现。因为没有比它们更大的集合,当然也就不能由已知的集合分出这些集合。这样也就否定了悖论构成的第二个前提:即任何一个性质都决定一个集合。罗素悖论、格雷林悖论、康托尔悖论等都可以得以避免。
就已知的集合论悖论来说,其共同的特点就在于对大集合特别是大全集的承认。因此,人们普遍认为,这些悖论已不可能在策梅罗的系统中得到构造。准确点说,是不可能按照原来的方式在此系统中得到构造,因而策梅罗的公理系统为集合论悖论提供了一种可能的解决。而且,就目前的数学实践看,策梅罗的系统已为数学提供了一个合适的基础。所以,在一定的意义上说,策梅罗原来的目标已基本达到。
尽管如此,策梅罗的系统并非是十全十美的。例如,虽然此系统避免了原来所发现的悖论,而且迄今尚未遇见悖论,但是,它还不能保证将来不会出现新的悖论。因为它没有证明系统本身的无矛盾性,即本身是否包含矛盾。所以法国著名数学家彭加勒挖苦说:“我们设置栅栏保护羊群以免受到狼的袭击,但是很可能在装栅栏时,就已经有狼被围进栅栏里了。”他说的狼就是悖论,羊群就是集合论,栅栏则是策梅罗的公理集合论系统。
十、我受骗了
——语言分层理论
美国逻辑学家雷蒙德·斯穆里安曾经讲过这样一个故事:
1925年4月1日,6岁的我曾卧病在床,传染上了流感或诸如此类的什么病。一大早,大我10岁的哥哥埃米尔跑进我的卧房说:“喂,弟弟,今天是愚人节。你向来没让人骗过,今天我要骗骗你啦!”那一整天我都等着他来骗,而他却不动声色。深夜,我妈妈问我:“你怎么还不去睡呀?”我回答她说:“我在等哥哥来骗我。”妈妈转身冲哥哥:“埃米尔,你就行个好,骗骗这孩子吧!”哥哥这才调过脸望着我,跟我对上话了:
他:这么说,你是盼我骗你喽?
我:是啊。
他:可我没骗吧?
我:没有啊。
他:而你是盼我骗的,对不?
我:对啊!
他:这就行了,我已经把你骗了!
嘿,至今我还记得,关了灯好久我还躺在床上寻思自己是不是真的受骗了。一方面,如果没有受骗,那么我就没有盼到我所盼的事,因此我受了骗。埃米尔抱的正是这个理儿。不过,同样可以理直气壮地说,如果我受了骗,那么,第二只手,但第三只手必须画在第三张画布上,依次类推。
我们所使用的日常语言就是一类似于画画的双手的封闭语言。因为在其中,我们可以用命题A描述命题B的真假情况,而又可以用命题B描述命题A的真假情况,也就是说,可以相互描述。当然,命题A也可以描述自身,即自我描述。然而,在这种条件下,只要假设(T)等式是成立的,就立即可构造悖论。
现考虑这样的命题:
“本页第18行的那个命题不是真的。”
现在令C代表本页第18行的那个命题。
据C的意义,C是上述命题,同时又可代入上述命题的前半部分,这样自然有:
(1)“C不是真的”等同于C;
但据(T)原则又有
(2)“C不是真的”是真的,权且仅当C不是真的。
由(1)和(2)可得:
(3)C是真的,权且仅当C不是真的。矛盾。
“说谎者悖论”(“我在说谎”)可据同样的方式构成。因为“我在说谎”等同于“我在说的话是假的”或“我在说的话不是真的”,只要用C代表“我在说的话”即成。
塔斯基认为这些悖论的出现是因为在封闭的语言中,语言的层次是混淆的。为了得出真理的令人满意的定义,避免悖论,塔斯基采取了语言分层的理论。
塔斯基指出,在讨论语言意义的问题时,我们应当使用两种不同的语言,其中第一种是被讨论的语言,即讨论的对象,这种语言称为对象语言。用以讨论第一种语言的为第二种语言,这种语言称为元语言。例如:我们可以用汉语讨论英语的语法,如构词法、句子结构及时态等等,这时英语为对象语言,而汉语为高一级的元语言。当然,我们也可以用汉语讨论汉语,这时汉语既是对象语言又是元语言,但其中的层次不同。又如,我们可以讨论一个命题的真假情况,这时,命题本身如“华盛顿是美国第一任总统”为对象语言,而讨论时使用的命题“‘华盛顿是美国第一任总统’是真的”则属于元语言。在对象语言中,命题本身不能涉及自己的真假问题,为了谈论用对象语言表述的句子的真或假,我们必须使用元语言,即比所说明的语言更高一层的语言。元语言包括了所有的对象语言。因此它比对象语言更丰富,它可以谈论对象语言的真实性。
那么,我们能不能谈论元语言中命题的真实性呢?当然能。不过,这时需要进到更高一层的元语言,也就是用更丰富的即包括了它以下的对象语言的语言说话时才能做到。每一层语言相对于它下面一层的语言来说为元语言,而相对于它上面一层的语言来说则又成为对象语言。
初中的平面几何中有这样一条定理:“一直线的垂线与斜线必定相交。”那么,为什么它是一条定理?有何根据?我们要对它进行讨论,引用已知的一些定理、定义等进行证明。这时,定理本身为对象语言,而讨论、证明时所有的语言则为元语言。例如,我们可以这样证明:
已知:如图8,在平面内
(1)直线a是L的垂线,
(2)直线b是L的斜线。
求证:a、b必定相交。
证明:假定a、b不相交,
∵a、b在同一平面内,
∴a∥b(a平行于 b),
∴ ∠1=∠2
又∵a是L的垂线,
∴∠2=90°,
∴b是L的垂线。
而这与已知条件矛盾,故假设不能成立,定理得证。但是,我们也可以对这一证明的真假、形式等进行讨论,说明这种证明是正确的,它使用的形式是反证法。这时证明又成为对象语言,而关于证明的理论又是用更高一层的元语言写成的。当然,我们也可以用更高一层的语言对证明的理论进行研究,等等。
根据语言分层理论,“说谎者悖论”完全可以避免。“我正在说的话不真”,这句话可以用A表示,A语句既然是讨论一个句子的真假情况,那么可以把它看成元语言。而“我正在说的话”就是这一元语言讨论的对象语言,我们可以用B来表示,因此,A就等于“B不是真的”。这里的B可以用一些句子代替,如“张三打了人”、“这些人都戴眼镜”等等,但却不能用A代替。因为A是元语言中的句子,与B不属于同一层次。这样就避免了A说自己不真的问题,悖论也就不会出现。同理,“非自状的”这一形容词能用来描述各个具体的非自状的形容词,如“白色的”、“不能理解的”等等。这些具体的形容词属于对象语言,“非自状的”则属于元语言。但“非自状的”自身不能描述自己,否则就混淆了元语言和对象语言的层次。这样也就不能问“非自状的”是否非自状的问题,悖论就得以避免。
斯穆里安搞不清楚他的哥哥是否骗了他,这是因为他哥哥的话造成了悖论。但这个悖论又是如何形成的呢?他哥哥说:“我要骗骗你啦!”这句话是用来说明他要骗斯穆里安的行为的,因此这是元语言的句子,但从以后的结果来看,他说这句话却是指的自身,就是说“我要骗骗你啦”本身就是欺骗行为,这样就混淆了语言的层次,所以才造成了悖论。按照语言分层理论,只有在一天中具体进行了其他欺骗(正如斯穆里安所希望的),“我要骗骗你啦”才有意义,而在这种情况下也就不会出现悖论。
这种语言层次的混淆使我联想到中国的一段传统相声:
甲:旧时候中国人有好多忌讳。
乙:有什么忌讳呢?
甲:比如新婚夫妇在头天晚上入洞房后是不能说话的,谁先说话谁先死。但我大爷就不信这一套,他说他结婚时一定能使新娘子先说话。
乙:人家能信吗?
甲:不信,不过我大爷和他的一个拜把子兄弟打了一个赌。
乙:打什么赌呢?
甲:我大爷如果能让新娘子先说话,说一句他的小兄弟给10块大洋。
乙:新娘子说了没有?
甲:说啦!那天晚上我大爷进洞房时,新娘子已经睡下了,他上床后就把被子横了过来,新娘子就把它竖了过去。我大爷又把它横过来,新娘子又竖过去。如此几个回合,新娘子急了,说:“你这个人,怎么回事?”我大爷高兴了:“一句啦!”“什么‘一句啦’?”新娘子不知原故,问道。“两句啦!”“什么‘两句啦’?”新娘子继续问。“三句啦!”我大爷更来劲,新娘却更摸不着头脑:“你这人怎么啦,什么‘三句’、‘两句’的?”这时,蹲在窗外偷听的那位小兄弟急了,忙叫道:“大哥,别喊啦,我只有40块大洋!”
你又能从这段相声中悟出些什么道理呢?”