说谎者悖论
第 1 章 说谎者悖论:一句话咬住自己的尾巴
西方逻辑史上最凶的怪物,出生时一点也不吓人。它最初的样子,是公元一世纪保罗写给提多的信里的一句闲话。使徒保罗在克里特岛上待过,对当地民风深有体会,于是他在《提多书》第一章十二节写道,有克里特人中的一个本地先知说过,克里特人常说谎话,是恶兽,又馋又懒。这位被引述的本地先知,一般认为是公元前六世纪的埃庇米尼得斯,传说他一睡五十七年,醒来之后到处给人占卜预言,在希腊世界颇有名气。保罗引他的话,本意是借本地人之口骂本地人,修辞策略相当高明。可这句骂人的话在逻辑学家眼里,慢慢显出了另一副面孔。一个克里特人说所有克里特人都撒谎,那他自己这句话算不算谎。如果算,那至少有一个克里特人(他自己)说了真话,所有克里特人都撒谎就不成立;如果不算,那这句话就是真话,可一个说真话的克里特人偏偏断言所有克里特人都撒谎,包括他自己,还是拧着。骂人骂出了逻辑事故,这大概是保罗始料未及的。
严格说来,这句话还够不上悖论,只能算半个。它有个漏洞:就算埃庇米尼得斯撒谎,也只说明至少有一句克里特人的话是假的,推不出矛盾,顶多推出这句话本身是假的且其他克里特人还有说真话的可能。真正把刀架在逻辑脖子上的,是后来人们提炼出来的那个干净版本:这句话是假的。请只看这五个字,别管谁说的。如果它是真的,那么按照它自己说的,它是假的;如果它是假的,那么世界上的情形与它所说的相反,于是它又是真的。真推假,假推真,一个循环咬合得严丝合缝的齿轮组,无论从哪个齿口插入手指,都会被碾碎。没有模糊地带,没有可以指认的外部事实,全部内容就是它对自己的判断。逻辑学教科书把这叫自我指涉加否定,自指提供镜子,否定提供刀刃,两者合起来就能割伤真理概念本身。两千多年里,这个五字句成了逻辑学的心绞痛,一发作,整个学科都要停下来喘气。
写这本书之前,我给朋友试讲过全稿的目录,反应最一致的就是这一章:说谎者悖论人人听说过,人人觉得自己懂,人人讲不出所以然。这很正常,它太短了,短到没有藏任何可以下手拆的零件,短到你没办法指着一个环节说,错就在这儿。全书我选了十五个悖论,有运动方面的,有概率方面的,有集合论方面的,有民主制度方面的,各有各的凶险与好处,但我把它们排成一条线时,脑子里想的都是同一件事:逻辑这套我们用了几千年、用得顺风顺水的工具,它的适用范围到底到哪里,边界上立着哪些界碑。说谎者悖论是所有界碑里最古老、也最靠近日常语言的一块,从它开始走,路的坡度最缓,风景却最险。全书体例也交代一句:每章先讲故事,再讲技术,最后给态度,技术部分我会尽量把公式压到最少,把人名、年份和文献压到最实,宁可注释味重一点,也不说那些两头堵的圆滑话。
一个先知的谣言史
埃庇米尼得斯这个人,史料稀薄得像清晨的雾。第欧根尼·拉尔修在《名哲言行录》第一卷里给他立过传,说他生于克里特岛的费斯托斯或克诺索斯,活动年代约在公元前六世纪,与梭伦同时代。传说中最有名的事迹是他治愈了雅典的瘟疫,方法让人哭笑不得,他让人在阿瑞奥帕格斯山附近放牧黑羊白羊,然后照着无角的羊建祭坛,瘟疫就退了。这类故事的真实性不必深究,重要的是他在古代地中海世界被当成半神半人的先知,连他打盹五十七年的传闻都被亚里士多德在《修辞学》里当作谈资提过一句。先知说话往往夸张,克里特人常说谎这话由他说出,多少带着本地人自嘲或党争攻讦的味道,可惜语境早已流失,后人手里只剩那句光秃秃的断言。于是它开始了漫长的漂流。早期教父们对《提多书》里这个麻烦有过讨论,奥利金和哲罗姆都注意到了其中的别扭,但他们的解法多是神学式的,比如说先知指的是克里特人的总体风气而非每一句话。真正的逻辑解剖,要等到中世纪。
十三到十四世纪是悖论研究的一段黄金时期,巴黎和牛津的经院学者们发明了一门专门的手艺,叫诡辩术,专治各种刁钻句子。他们对悖论有个统称,不可解命题, Insolubilia,直译就是解不开的东西,等于承认这玩意儿能把最聪明的头脑逼进死角。文献流传下来的有几百种处理方案,光是分类就能列一长串。让·布里丹是其中名气最大的一位,此人当过巴黎大学校长,流传最广的轶事是他把驴子的故事安在自己养的狗身上做道德实验,当然那个著名的布里丹之驴多半是后人附会。布里丹写过《诡辩论》,大约成书于十四世纪三十年代,里面系统处理了说谎者句。他的一个方案是:说谎者句里的这个词项,指称的不是它自己这个句子,而是它所对应的命题,而这个命题恰恰是它是假的,于是指称落空,句子没有真正的真假可言,像一封没有收件人的信。这个思路已经非常接近二十世纪的语言分层,只不过包装在拉丁文的词项指代理论里。同时代的萨克森的阿尔伯特、威廉·奥卡姆、伪司各脱也都留下过各自的解法,有人限制自指,有人引入真值间隙,有人区分显性自指与隐性自指。二十世纪的逻辑史家像斯波丁和后来的斯皮德等人重新整理过这批中世纪文献,结论让现代人汗颜:二十世纪提出的十来种主流方案,中世纪几乎每种都有人试过了。历史不是螺旋上升那么简单,有时是原地打转了几百年,忽然接上了电。
卡片、链条与循环
单句的自我否定还不是说谎者家族的全部火力。一九一三年,英国逻辑学家菲利普·乔丹恩构造了一个更精巧的变种,后来被称为卡片悖论。设想一张卡片,正面写着,背面的句子是真的;背面写着,正面的句子是假的。两个句子各自看都人畜无害,谁也没说自己怎么样,可一旦合起来读,正面真则背面真则正面假,正面假则背面假则正面真,同样的死循环,只是刀刃分给了两个人。这个变种的杀伤力在于,它把悖论从自指扩大到了互指。你可以说一个句子谈论自己是不合法的,可你怎么禁止句子甲谈论句子乙、句子乙谈论句子甲。一九一三年乔丹恩在《心灵》杂志上公布这个例子时,正是罗素悖论余波未平的年代,大家已经明白,悖论这东西会换马甲。三张、四张、任意多张句子的循环都能造出来,甚至可以让一百个句子排成一圈,每个都说下一句是真的,只有其中一个说上一句是假的,循环一转,照样全线崩塌。真值在环里流动,找不到落点。
如果说循环还算有形有状,斯蒂芬·雅布洛一九九二年的构造则把说谎者家族推到了更诡异的地界。雅布洛是美国逻辑学家,他在《分析》杂志一九九三年的文章里提出了一个无穷句子序列:第一个句子说第二个句子是假的,第二个说第三个是假的,如此以至无穷,每个句子都说后面所有句子都是假的。奇妙的在于,这个系统里没有任何一个句子谈论自己,也没有循环,每句话的目光都朝着无穷远方。可它照样矛盾。假设第一个句子为真,那后面全是假话,于是第二个句子后面全是假话,这恰好意味着第二个句子是真的,可第一个句子说了它是假的,矛盾;假设第一个句子为假,那后面至少有一个真句子,而任何一个真句子都会引发同样的麻烦。这就是雅布洛悖论,学界至今还在为它是否算真正的自指吵架,因为严格证明它不可满足需要在自然数的语言里表达那个无穷序列,这本身用到了额外的表达能力。克里普克等人指出,它至少说明自指不是悖论的必要条件,只要有足够长的指称链条加上否定,真理概念照样会短路。这个例子对那些想靠禁止自指来一劳永逸解决悖论的人,是一记闷棍。逻辑学家后来还研究真值图,把句子的真值依赖画成有向图,有根的句子真值可以固定下来,无根的句子悬浮在图的上层,说谎者句就是那个最简单也无根的结构。图论的语言让这个古老问题有了新的坐标,但问题本身纹丝不动。
解剖一台故障机器
聊到这儿,值得停下来干一件略显学究但很有必要的事:给悖论本身下个定义,看看到底什么样的东西配得上这个称呼。悖论的西文 paradox 出自希腊语,前半截 para 是超出、违背,后半截 doxa 是意见、信念,合起来就是违背预期。按这个字面义,凡是结论让人吃惊的论证都算悖论,比如蒙提霍尔问题,换门赢率三分之二,违反直觉但不违反逻辑,只要算清楚人人服气。一九六二年四月,蒯因在《科学美国人》上写过一篇科普文章,题目就叫悖论,他在里面做了个三分法,至今常被引用。第一类叫真悖论,结论听着离谱,其实是对的,比如货船东行让地球自转帮它省油这类例子;第二类叫假悖论,推理链里藏着错误,结论看似有理实则荒谬,比如那些悄无声息偷换单位的证明,一步一步全是等号,最后证出一等于二;第三类才是蒯因眼里的正品,二律背反,推理每一步都无懈可击,结论却是赤裸裸的矛盾。说谎者悖论是第三类的标本,它坏得很纯粹,你检查它的每一个零件都完好,整台机器就是不走直线。蒯因在那篇文章里的态度很鲜明:二律背反不是抬杠的素材,而是概念自身生病的高烧,烧出来的信号值得认真读。
说谎者悖论还有个特点,让它成为解剖课的绝佳素材:它对替换极其敏感,又极其不敏感。敏感的一面是,把假换成不真、换成不被某某相信、换成不可证明,只要保留否定意味,悖论一般还活着,只是毒性不同,换成不可证明甚至能变成定理,这是哥德尔的戏法。不敏感的一面是,无论载体是英语、汉语、拉丁文,是写在纸上还是刻在心里,无论句子多长多绕,只要那个自指加否定的骨架在,它就发作。逻辑学家由此明白,要对付的不是某个句子,而是一种结构。结构是抽象的,删掉血肉只剩骨架,说谎者的骨架画出来就是一个箭头从句子指向它自己的真值,中间打个负号。这么简单的结构能在任何足够丰富的语言里生长,就像野草,你烧掉一片,风又把种子吹来。历代解决方案说白了都在做同一件事:动土,让这种结构没法生根。只是有人动得狠,把整块地用层级隔开;有人动得巧,给它划一块真值悬空的保留地。动土力度与语言表达能力之间的取舍,是这行当两百年来真正的技术主线。
家族扩大:库里、知道者与皮诺曹
围绕这个骨架,二十世纪还繁衍出一大家子变体,个个都有来历,值得认识几位。一九四二年,哈斯克尔·库里在《符号逻辑杂志》上发表文章,提出一个不用否定词的悖论:如果这句话是真的,那么圣诞老人存在。用条件句代替否定,杀伤力反而更强。推理很短:先假设这句话为真,按条件句的规矩,前件成立就得承认后件,于是圣诞老人存在;而这一步恰恰证明了这句话的前件可以被满足,所以这句话是真的,于是圣诞老人存在。请注意,整个推理没有用到假字,矛盾却凭空造出了一个圣诞老人。库里悖论对 conditional-based 的逻辑系统是灭顶之灾,也是后来 Curry-Howard 对应、类型论研究绕不开的礁石。再说知道者悖论,一九六〇年卡普兰与蒙塔古在《哲学评论》上合作发表文章,把说谎者句换成了认知版本:这个句子是已知的,或者更刺眼的,这个句子是假的且它是已知的。只要把知识当作可公理化的算子,加上知识蕴含真、知道自己的推导这类温和原则,矛盾照样登场。这说明悖论不挑食,真换成知道、相信、可证,毒性都在。
还有一个滑稽的年轻亲戚。二〇一一年,逻辑学家在《分析》杂志上讨论过一个木偶悖论:皮诺曹的鼻子只在说假话时变长,现在让他说,我的鼻子会变长。这句话为真则鼻子变长则他说的是假话,为假则鼻子不变则他说的是真话。玩具级的人物设定,严丝合缝的悖论结构,作者用它说明自指悖论可以寄生在任何带自我应用机制的载体上,哪怕是一个童话人物。至于摩尔悖论,摩尔在二十世纪四十年代注意到,说下雨了,但我不相信下雨,这句话不矛盾,却怪异地不可正常断言,它不属于逻辑矛盾,而暴露了断言与信念之间的规范关系。把这些亲戚排成一排看,规律很清楚:只要一个概念既是评价性的又允许自我应用,真、假、知道、相信、可证、可定义,配上合适的句法环境,就能逼出矛盾。哲学家把这类概念统称为语义概念,说谎者家族的户口本上写着:语义概念与自指的结合处,是逻辑的高危地带。
塔斯基的手术:不许谈论自己
一九三三年,二十六岁的波兰逻辑学家阿尔弗雷德·塔斯基用波兰语发表了他的博士论文级巨著,形式化语言中的真概念。这份工作的直接动机之一,正是说谎者悖论。塔斯基的判断相当冷静:悖论不是耍赖,它证明了一个定理级的真理,在满足某些自然条件的语言里,真这个概念是不可能被无矛盾地定义出来的。具体说,如果一种语言足够丰富,能表达基本的算术,能谈论自己的句子,还想在语言内部给出自己的真谓词,那么矛盾必然发生。这个结论后来被称为塔斯基不可定义性定理,它把说谎者悖论从怪谈升格为定理,这是悖论史上少有的漂亮转身,一个用来刁难人的谜题,被证明其实是数学结构的一部分。塔斯基的诊断是,日常语言是语义封闭的,句子可以谈论包括自身在内的一切语句的真假,正是这种封闭性制造了短路。既然短路不可避免,那就切断线路。
他的手术方案叫语言分层。设想一个层级塔:最底层是对象语言,比如算术,它只谈数字,不谈自己句子的真假;第二层是元语言,它拥有真和假这两个谓词,专门用来给对象语言的句子贴标签;第三层是元元语言,给元语言的句子贴标签,如此向上无穷。每一层的真谓词只作用于下一层,自己句子的真假要由上一层来裁决,就像初审法院不能推翻自己的判决,必须上诉到更高一级。在这个层级里,说谎者句无法被合法写出,因为句子是假的这句话里的真如果想指向句子本身,就违反了层级规定,真必须属于更高一层。悖论不是被解决了,而是被制度隔离了。这个方案在数学基础研究中极为成功,模型论的整个大厦就建在对象语言与元语言的区分上,哥德尔编码后的算术句在元语言里谈论,塔斯基分层是标准操作。但对日常语言,塔基本人相当诚实,他明说自然语言是语义封闭的,他的方案并不真正适用于它,我们能做的是在人工语言里保持清洁。换句话说,塔斯基没有告诉我们说谎者句哪里错了,他只是宣布,在他的建筑规范里,这种房子不许盖。有人满意,有人觉得这是把病人挡在门外说他没病。
塔斯基方案在数学里畅通无阻,拿到日常语言里却处处碰壁,这一点连支持者也不讳言。麻烦不只是哲学上的。想想最普通的自指真话,我现在说的这句话是用汉语说的,或者我此刻正在说话。这些句子谈论自身,按分层规矩属于违章,可它们无害得像白开水,人人天天说,从没引爆过任何逻辑事故。一座为防洪修建的大坝,把正常饮用的水也拦在了上面,设计上就有问题。更麻烦的是分层带来的级联:你在元语言里说对象语言的句子为真,那元语言里这个真句子本身的真假呢,要由元元语言裁决;你想一次性说明这个层级结构,用的那段话又站在哪一层。维特根斯坦一派的哲学家由此讥讽说,塔斯基治好的不是病人,而是把病人逐出了医院。这话刻薄,但点中了要害:悖论句在日常语言里能被说出,能被听懂,能引起争论,这说明我们的语言实践本身就容得下这种结构,把它宣布为不合法,等于承认理论对母语无能为力。分层的另一个软肋在于它治不了间接的病。乔丹恩卡片已经演示过,两个句子分属不同话题,互相一指,照样成环。你可以在形式系统里规定句子只能指更低层的句子,从而杜绝一切环,可这么一来,语言被切成了无穷多个互不相通的楼层,每层都得配备自己的词汇、量词、逻辑联结词,整个体系臃肿得让人绝望。卡尔纳普当年真试过沿这条路走,为科学语言设计层级,工程浩大,收效有限。逻辑学的历史经验反复证明一条规律:每当你用一个简单规则一刀切掉悖论,总会切掉一大块健康的语言组织,而剩下的部分里,又会长出变着花样的新悖论。说谎者就像耐药的病菌,青霉素式的方案一轮接一轮地上架,一轮接一轮地失效。到二十世纪七十年代,学界的心态已经从根治转成了共存,问题不再是消灭它,而是给它一个说得过去的户口。这正是克里普克登场的背景。
克里普克的宽容:让无根的句子悬着
一九七五年,索尔·克里普克在《符号逻辑杂志》上发表了真理论纲要,这是说谎者研究在二十世纪的另一座界碑。克里普克觉得塔斯基的层级太苛刻,日常语言里我可以说我刚才说的那句话是真的,也没出任何乱子,这种无害的自指在分层体系里居然是违章建筑,说明制度设计有问题。他的思路是,不是所有自指都致命,要害在于句子的真值有没有根据。他借用数学里的不动点技巧构造了一个过程:从没有真谓词的裸语言出发,先给那些不涉及真字的经验句子赋值,比如雪是白的为真,草是黑的为假;然后根据这些基础事实,计算含真字的句子的真值,比如雪是白的是真的是真的;再迭代一轮,处理雪是白的是真的是真的是真的,如此逐步向上。这个过程像一个螺旋上升的楼梯,可以证明它最终收敛到一个不动点,在那个点上,语言获得了它所能拥有的最大范围的真谓词。绝大多数句子,包括大量自指句,都会在这个过程里安定下来。剩下的那一小撮,比如这句话是假的,永远无法获得真值。它们的特征是,无根基,真值像电流一样在句子之间传导,最后没有一根地线能把这个回路接通大地。柏拉图是有死的之类句子有经验世界做地线,说谎者句悬空。
克里普克在论文里还留了一个很有人情味的例子。他设想尼克松说,迪恩说的每句话都是真的,而迪恩说,尼克松说的关于水门事件的每句话都是假的。两句都不含真字的自指,一个谈别人,一个被别人谈,按塔斯基的分层完全合法,因为它们分属两个说话人的语句集合,谁也没直接谈论自己。可万一尼克松恰好也说了些别的话,链条一绕,两个人就可能联手搭出一个真值循环。这个例子妙在说明,悖论未必来自语法上的自指,它可以来自语义上偶然形成的环,而现实世界的对话网络里,这种环防不胜防。克里普克的 groundedness 概念恰好处理这种情况:不管环是怎么搭起来的,只要真值顺着依赖关系往下追,最后能追到雪是白的这类经验地基上,句子就是健康的;追不到,就悬空。这是一个语法结构管不了、只有语义结构才说得清的标准,比一刀切的分层精细得多。
克里普克的方案被叫作真值间隙论,真假之外还有第三种状态,无真值。这个方案解释力不错,比如它能说明为什么说谎者句让人难受:我们的语言直觉默认每句话都有真假,而这句话恰恰卡在系统的缝隙里。但间隙论很快遇到反扑,最著名的是复仇悖论。你可以对间隙论者说:这句话不是真的。如果这句话有间隙,那它不是真的,于是它说的是事实,于是它是真的,矛盾回来了;如果它是真的,那它不是真的,也矛盾。间隙论者只好说这句话也是无真值的,可它无真值就意味着它不是真的,它又对了。这个你堵我挖的拉锯战贯穿了二十世纪八十年代的逻辑学期刊,间隙、分层、修改逻辑联结词的真值表,各种方案轮番上阵,每种方案几乎都会遇到量身定做的复仇版本。真有点像抗癌药与耐药性的竞赛。到一九八二年,古普塔提出了修义理论,后来与贝尔纳普合作发展,一九九三年两人出版了《修义理论》一书。他们的想法大胆:说谎者句的真值不是没有,而是不稳定,它在一个循环里震荡,假、真、假、真,永远定不下来。修义理论干脆把这种震荡当作真概念的本性来接受,真的语义不是给每个句子盖棺定论,而是一个无限修订的过程。这个方案数学上精致,哲学上激进,支持者说它首次尊重了说谎者句的动态本质,反对者说它把谜题编码进了理论而不是消除谜题。我自己读这些文献的感受是,每一代逻辑学家都以为自己在给悖论收尾,结果都只是给它换了批注。
双面真理论与务实的选择
还有人走得更远。澳大利亚哲学家格雷厄姆·普里斯特从二十世纪七十年代末开始主张,有些矛盾就是真的。这套立场叫双面真理论,dialetheism,这个词是他造的,意思是真在一个地方也是假。普里斯特一九八七年的专著《在矛盾中》系统阐述了这个立场:说谎者句既是真的又是假的,这不是病,而是语言边界的实况,就像球面上的经线在极点相交,矛盾是概念结构不可避免的奇点。为了容纳真矛盾,他采用了弗协调逻辑,在这种逻辑里,从矛盾并不能推出一切,爆炸原理被限制住了,所以容忍少量真矛盾不会让整个系统血流成河。多数逻辑学家不接受这条路,但没人能轻易把它打发掉,因为普里斯特逼问的问题实实在在:为什么我们如此确信没有真矛盾。我们的确信本身,是逻辑训练的