无穷、击溃数学的悖论、哥德尔不完备性与多重宇宙——乔尔·戴维·汉姆金斯
Infinity, Paradoxes that Broke Mathematics, Gödel Incompleteness & the Multiverse – Joel David Hamkins
数学逻辑学家汉姆金斯谈无穷的层级、击溃数学的悖论、哥德尔不完备性与多重宇宙。
1888年前后,柏林。利奥波德·克罗内克(Leopold Kronecker),当时德国数学界最有话语权的人物之一,公开把格奥尔格·康托尔(Georg Cantor)称为"青年人的腐蚀者",还动用关系阻挠他的学术前途。
康托尔晚年反复进出疗养院,精神状态崩溃,直到去世前都在死磕一个叫连续统假设的问题。
一个19世纪末的德国数学教授,因为研究"无穷"这件事,被同行攻击,被神学界怀疑,最后被自己钻研的问题拖垮。他到底干了什么?
他证明了:无穷有大小之分。
在此之前,从亚里士多德到高斯,几乎所有数学家都认为"实无穷"是个不合法的说法。你只能说无穷是一个过程,一个永远在逼近却达不到的极限,也就是所谓"潜无穷"。说"存在一个完成了的无穷集合",在当时的语境里差不多等于说"存在一个最大的整数"。
康托尔把这个禁区撬开了。
一间永远住满了的旅馆
要理解康托尔到底做了什么,得先从一个更好玩的例子开始。大卫·希尔伯特(David Hilbert)后来提出了一个思想实验,现在被叫做希尔伯特旅馆(Hilbert's Hotel)。
这间旅馆有可数无穷多个房间,编号0、1、2、3,一直排下去。此刻所有房间都住满了,第N号房住着第N位客人。
然后来了一位新客人,问前台还有没有空房。
经理说,稍等。他给所有已入住的客人发了一条通知:请所有人搬到比自己房间号大一号的房间去。5号房的人搬到6号,6号房搬到7号,以此类推。所有人同时行动,不会有两个人抢同一间房。搬完之后,0号房空了出来,新客人住进去。
旅馆本来是满的,现在还是满的,但中间多塞了一个人进去。
希尔伯特旅馆精确地说明了这一点:给一个集合增加一个元素,它并没有变大,因为新旧客人之间仍然可以建立一一对应。(乔尔·戴维·汉姆金斯)
这个场景会让大多数人第一反应觉得是脑筋急转弯。它像脑筋急转弯,实质上是康托尔那套无穷理论里最基本的操作演示。
第二天,来了20个人。同样的操作,所有人往上搬20个房间,底部空出20间,20位新客人入住。再往后,来了一辆希尔伯特大巴,车上有可数无穷多个座位,0号座、1号座、2号座,一直排下去。整车人都要住店。
这时候经理的招数是:让现在所有住客把房间号乘以2,全部搬进偶数号房。奇数号房就全空出来了。然后大巴上的乘客按座位号住进对应的奇数号房。
一个无穷,塞进了另一个无穷。
无穷列车上的一车无穷的人
事情还没完。希尔伯特列车来了。
这趟列车有可数无穷多节车厢,每节车厢里又有可数无穷多个座位。每一位乘客都对应一对坐标(车厢号C,座位号S),规模是"无穷乘以无穷"。
经理照样先把现有住客全部搬进偶数号房,然后用一个办法把每个乘客塞进一个奇数号房:给(C,S)这位乘客分配房间号 3的C次方 乘以 5的S次方。
这个数一定是奇数,因为它的质因数分解里只有3和5,没有2。不同的(C,S)一定对应不同的房间号,因为算术基本定理保证了质因数分解的唯一性。你拿到一个房间号,把它分解质因数,数一数3的指数是几,就知道乘客来自第几节车厢;数一数5的指数是几,就知道他坐第几号座。
结论是:可数无穷多个可数无穷集合,并在一起,还是可数无穷。
汉姆金斯说他第一次学到这个结论时"完全被震住了"。道理其实很直白:一个无穷,无论你往里塞多少个无穷,它都不变大。这违反了欧几里得在《几何原本》里反复用到的一条基本原则:整体大于部分。
除了素数那一招,还有一个更直观的做法。把所有(车厢号,座位号)看成平面上的整数格点,从原点出发,沿对角线来回折返地走一条蛇形路径,穿过整个网格。这条路会依次经过每一个格点,于是按照经过的顺序给它们编号,就把二维的无穷格点排成了一维的无穷列表。
汉姆金斯把这一招叫做"给每个无穷集合一次往名单上添一个人的机会"。只要你有条理地轮流照顾到每一个集合,最后所有人都能被排进去。
伽利略的两难
这个"整体等于部分"的现象,伽利略在1638年的《关于两门新科学的对话》里就注意到了,而且被它弄得束手无策。
他的观察是这样的:把所有自然数排一排,1、2、3、4……再把所有完全平方数排一排,1、4、9、16……你给每个自然数配一个它的平方,两边一一对上,没有遗漏。按"数量相等就是能一一对应"的标准,平方数和自然数一样多。
可是平方数之间明明漏掉了大量的空隙,自然数里有平方数,还有很多不是平方数的数。按照"整体大于部分"的标准,平方数应该比自然数少。
两条都看起来天经地义的原则,在无穷面前打架了。伽利略的结论是:关于无穷的大小比较,本身就说不通,别比了。
汉姆金斯把这两条原则分别叫"康托-休谟原则"(两个集合等数,当且仅当能建立一一对应)和"欧几里得原则"(整体大于部分)。他说,伽利略碰到的,就是这两条原则之间的张力。
这个张力在有限世界里根本不会出现。你有5个苹果和7个苹果,一一对应配到第5个就配不下去了,剩下的就是多的。整体大于部分,天经地义。一旦把视角推到无穷,这两条原则必须放弃一条。
康托尔做的选择是:放弃欧几里得原则,把一一对应当成"数量相等"的定义。这个选择一旦定下来,无穷就变成了一门可以计算的数学。
再补一个例子。有理数,也就是所有分数。分数稠密到什么程度?任意两个分数之间都还有另一个分数,取平均就行。这种"稠密有序"的性质,让很多人以为有理数肯定比自然数多得多。
其实不然。每个分数就是一个分子配一个分母,一对自然数。用上面那趟希尔伯特列车的法子,配一个3的P次方乘5的Q次方,有理数也是可数的。
到这里,一个自然的猜想冒出来了:既然自然数、整数、有理数、二维格点、有理数对、可数无穷个可数无穷集合,全都是可数的,那么是不是所有无穷集合都可数?是不是只有一种无穷?
不是。康托尔证明了实数不可数。
对角线:一个用了130多年还在用的证明模板
康托尔的证明如今被叫做对角线论证。它的结构极其简洁,而它的变形,构成了整个20世纪数理逻辑的骨架。
先假设实数是可数的。那就意味着所有实数能排成一个列表:R₁、R₂、R₃,一直排下去,每一个实数都在表上的某个位置。
现在构造一个特殊的实数Z。它的整数部分是0,小数点后第N位,取一个和R_N小数点后第N位不同的数字。为了避开0.999…和1.000…这类一个数有两种小数表示的麻烦,构造Z的时候干脆只用1到8这八个数字,不碰0和9。
于是Z和R₁在第1位不同,和R₂在第2位不同,和R_N在第N位不同。Z不等于列表上的任何一个实数。
但我们假设过列表包含了所有实数。矛盾。
所以实数不可数。实数构成的无穷,严格大于自然数构成的无穷。无穷不止一种。
这个论证最要紧的地方是它的形状,超过它证明了什么。它的核心是"拿第N个对象去对付第N个对象,然后构造一个在所有位置上都跟它不一样的东西"。这种自指的反身结构,后来被反复借用:
- 罗素悖论:所有不包含自身的集合所构成的集合,它包含自身当且仅当它不包含自身。
- 哥德尔不完备定理:构造一个句子,它说"我在这个系统里不可证"。
- 图灵停机问题:构造一个程序,它在输入自己时的行为,和输入程序的行为相反。
- 康托定理的一般形式:任何集合的幂集,严格大于该集合本身。
它们本质上是同一个论证换了不同的外套。
汉姆金斯有个习惯,讲罗素悖论的时候不叫它悖论,叫它"罗素定理",内容就是:不存在万有集合。他说,这在今天已经不怎么让人困惑了,我们已经把"集合不能无所不包"这件事吸收进了对集合的基本理解。当年让人困惑,是因为还没有这套理解。
鞋子和袜子:选择公理到底在争什么
这场无穷革命引发的连锁反应,最终逼出了现代数学的地基:ZFC集合论。
这中间有个插曲值得单独讲。1904年,恩斯特·策梅洛(Ernst Zermelo)给出一个证明:选择公理蕴含良序定理,也就是任何集合都能被良序排列。这个结论在当时看来近乎荒谬,因为没有人能想象出实数集的一个良序是什么样。
策梅洛遭到了猛烈的攻击。攻击到什么程度?历史学家说,在此之前,数学史上没有任何一个定理被如此公开、如此激烈地争论过。他被逼着把自己论证所依赖的公理系统明确写出来,这才有了1908年的策梅洛集合论。后来加上替换公理和基础公理,才有了今天的ZFC。
选择公理说的是:给定任意一堆非空集合,存在一个函数,能从每个集合里各挑出一个元素。哪怕这个"挑"没有任何规则可循。
伯特兰·罗素给了一个绝妙的类比。一个富翁有个无限大的衣柜,里面有无限多双鞋。他让管家从每双鞋里挑一只出来。管家很轻松就做到了,因为每双鞋总能挑左脚那只,规则明确。
如果衣柜里装的是无限多双袜子呢?同一双袜子左右不分,长得一模一样。管家就没有任何规则可以依据了。这时候还谈得上"存在一种挑法"吗?
两边争的是:你能不能给出一个规则,让选择函数遵守它,还是说选择里本就含有某种任意性。这就是你需要选择公理的地方。(乔尔·戴维·汉姆金斯)
更有意思的是,策梅洛的反对者们后来被翻出了旧账。策梅洛和其他人去查那些叫得最凶的同行以前发表的论文,发现很多人在自己的论证里早就偷偷用了选择公理,只是没意识到。因为它太自然了,自然到你会不假思索地用上它。
汉姆金斯的立场很明确,他属于数学实在论这一边:数学世界里本来就充满了各种各样的函数和选择方式,凭什么要求每一个存在的东西都必须能被一条规则描述出来?"存在一种挑法,但我未必能告诉你具体是哪一种",在数学论证里完全站得住脚。
真理不是证明
访谈里汉姆金斯反复回到一个区分,他说这是他心中最深刻的哲学思想。他自己给这个区分起了个名字:真理与证明之别。
他说,20世纪初的数学家,包括一些相当重要的人物,在这个区分上极其含糊。甚至到了布尔巴基(Bourbaki)那套影响深远的法国研究生教材里,"真"和"可证"还是被混着用的。在他们的用法里,一个命题为真,意思就是它能被证明。
这个混淆在哥德尔和塔斯基之前,几乎没人认真对待过。
塔斯基(Alfred Tarski)给出了真理的数学定义,核心是"去引号"(disquotation)。他说,"雪是白的"这句话为真,当且仅当雪是白的。
这个句子看着像同义反复,实际做了一件很重要的事:它把"真"这个谓词,从语言内部的对象(那句话)转移到了语言外部的世界(雪的状态)。左边是一个关于句子的断言,右边是一个关于世界的断言。引号被去掉了。
用同样的思路,塔斯基递归地定义了"一个形式语言中的句子在一个数学结构中为真"是什么意思。要判断"φ且ψ"在这个结构中是否为真,就看这个结构是否满足φ,并且是否满足ψ。注意,第一个"且"是句子内部的逻辑联结词,第二个"且"是我们用来谈论这两个条件的元语言连词。同一符号在两个层级上出现,这就是去引号的作用。
证明则是另一回事。证明属于语法,是一串符号按照规则排列出来的东西。它得满足三个条件:
- 可靠性:如果前提为真,证明推出的结论也为真。证明保真。
- 完备性(这里指哥德尔 completeness theorem,别和 incompleteness 搞混):如果一个命题是逻辑后承,那就存在一个证明。
- 可判定性:给定一串符号,我们能机械地判断它是不是一个合法的证明。汉姆金斯强调这第三条常被忽略,但没有它,证明这个概念就没法用。
他引了一句老梗:有个数学家宣称自己证出来了,但页边空白太小写不下。这不算证明,因为别人没法检验。
真理属于语义,证明属于语法。真理是关于数学实在本身是什么样子,证明是关于我们如何抵达对它的认识。这两件事在有限的世界里高度重合,在无穷的世界里彻底分家。
希尔伯特的天堂计划,和它怎么塌的
希尔伯特面对罗素悖论带来的地基危机,说过一句名言:"没有人能把我们赶出康托尔为我们创造的天堂。"
他不想放弃集合论,因为集合论把原本分裂的数学统一了。在集合论之前,代数、分析、拓扑、几何各有各的公理系统。可你证代数基本定理的时候,用的却是拓扑方法。如果每个分支是独立的公理系统,这种跨领域借用就说不通。必须有一个共同的地基。集合论当时就在扮演这个角色。
所以希尔伯特提出了一个两步走的方案,也就是希尔伯特计划:
第一,建立一个足够强的理论,强到能回答所有数学问题。他1920年代末的退休演讲里那句"我们必须知道,我们将会知道",就是这个乐观情绪的写照。
第二,用一个极弱的有穷主义理论,证明那个强理论永远不会推出矛盾。这里的"有穷主义",通俗讲就是:证明本身是一串有限的符号,我们只看符号怎么排,不看它指什么。
第二步的关键是形式主义的态度:把数学命题的意义和数学命题的符号操作剥离开。那些符号可能指称着巨大无比的无穷集合,让人不放心。可写下这些符号、按照规则推演它们的过程,本身只是一堆有限长的字符串在纸上的排列。这一层是完全可靠的。
如果希尔伯特成功了,数学会变成什么样?汉姆金斯描述了一个画面:你有一台定理枚举机,它按部就班地把强理论的所有定理一条条吐出来。你手上任何数学问题,把它的正面和反面都丢进去等,总有一天会有一条定理冒出来给答案。
数学研究就变成了摇机器的把手。
希尔伯特实际上是在告诉我们,数学的根本性质就是机械计算。失去创造性思考,失去想象力,只是通过一套死板的程序拿到答案。(乔尔·戴维·汉姆金斯)
哥德尔1931年的两篇不完备定理,把这两步全部打掉。
第一不完备定理:任何可计算地公理化的、包含足够算术的理论,都是不完备的。总存在一些命题,既证不出来,也证不出它的否定。
第二不完备定理:这样的理论也证明不了自己的一致性。不只是那个弱的有穷理论证不了强理论的一致性,强理论连自己的一致性都证不了。
汉姆金斯提到第二定理有个特别接地气的解读:一个理论如果证明自己是一致的,你该信吗?那就像一个二手车销售员跟你说"我值得信任"。他说自己可信,这本身不能作为信任的理由。事实上,一个不一致的理论同样能"证明"自己是一致的。
那希尔伯特失败之后,数学实在是什么样子?
两个方面。第一,你永远写不出一套能回答所有问题的理论,永远会有独立命题,永远会有我们最好的理论搞不定的问题。第二,你永远没法彻底安心地确认自己用的理论是自洽的。
汉姆金斯对这事的反应跟很多人不一样。他说这根本谈不上创伤,这是对数学实在的一次深刻揭示,知道了就好,知道了就能往前走。
一个程序停不停,能不能先猜一个
停机问题,图灵1936年的成果,是这场逻辑革命最出名的一件副产品,也是计算机科学的地基之一。
问题本身:给定一个程序,它会不会停机?注意,具体到某一个程序,答案当然非此即彼。真正的问题是,存不存在一个统一的可计算程序,能对所有程序给出正确答案。
答案是:不存在。
证明用的还是对角线。假设有个子程序H能判断任意程序P在输入P上会不会停机。现在构造一个新程序Q,输入是P,Q做的第一件事是问H:"P在P上会停吗?"如果H回答"会停",Q就跳进死循环,永不停机。如果H回答"不会停",Q立刻停机。
于是Q在P上的行为和P在P上的行为完全相反。现在问:Q在Q上会怎样?Q在Q上停,当且仅当Q在Q上不停。矛盾。
同样的结构,从康托、罗素、哥德尔一路沿用下来。
这个证明还有一个更短的用法:可以直接推出哥德尔第一不完备定理。假设存在一套能枚举所有算术真理的可计算公理系统。那样就能造一台定理枚举机,把"程序P在输入X上停机"这个命题丢进去,等它吐结论。因为理论是完备的,最终一定会吐出肯定或者否定。这就等于用一台机器解掉了停机问题,而停机问题不可解。所以这样的完备理论不存在。
汉姆金斯说这是他认为哥德尔定理最简单的证法,不需要构造哥德尔句。
其实停机问题还有一个特别有趣的角落。汉姆金斯和他的合作者 Alexey Myasnikov 研究过一个问题:几乎所有程序,是不是都能判定它停不停?
答案是能。他们在标准的图灵机模型里证明:存在一个容易识别的程序集合,集合里的程序,停不停很好判断;程序状态数越多,这个集合在全体程序中的比例越趋近于100%。
也就是说,停机问题虽然不可判定,但它的不可判定性集中在极小的一个"黑洞"里,外面的世界几乎全部可解。
证明过程特别有喜剧效果。汉姆金斯说,他一开始的想法是"找一堆傻瓜理由证明程序不停机,凑够50%就行了"。结果他们找到了一个巨大的傻瓜理由,占比趋近100%。
这个理由是:一台随机生成的图灵机,读头从纸带最左端出发,第一步有一半概率向左移,然后掉出纸带。掉出去就算崩溃,不算停机。剩下的一半向右走,进入新状态,下一步又有一半向左。当状态数很多的时候,这台机器基本上就是在纸带上做一维随机游走。波兰数学家波利亚(Pólya)有个定理:一维随机游走几乎必然回到起点。回到起点之后再走一步,一半概率掉出纸带。
所以几乎所有的图灵机,读头都会在重复某个状态之前掉出纸带。这种情况可以机械判定。
汉姆金斯说,这个定理一开始听着很惊人,说出证明之后,大家都觉得"哦就这么回事"。但这恰恰说明了一件事:不可判定性在问题空间里分布得很不均匀,它是高度局部的现象。这个观察在复杂度理论里有实用版本,很多NP完全问题都已经被证明存在多项式时间的近似算法,能解决几乎所有的实例。SAT求解器在工业界的表现就是活生生的例子。
连续统:康托尔死磕一生的那道题
回到那个让康托尔崩溃的问题。
他证明了实数的无穷严格大于自然数的无穷。证明完,一个极其自然的问题会立刻冒出来:中间还有没有别的无穷?
这就是连续统假设(Continuum Hypothesis,CH)。它断言:自然数和实数之间没有中间的无穷基数。
康托尔花了后半辈子想证明它。他有一套策略:从简单的集合类型往上爬。开集的情况是容易的,任何一个非平凡开区间都和整条实数轴等势,用反正切函数就能建立一一对应。闭集的情况他靠康托-本迪克松定理(Cantor-Bendixson theorem)也证出来了,非常不平凡,而且为了做这个证明,他发明了序数。
再往上,是 Borel 集,是投影集,一层一层复杂度往上升。康托尔的思路是:每往上爬一层,就多证明一批集合满足连续统假设,最终覆盖所有实数集合。这个纲领在接下来一百多年里被极大地推进,Borel 集搞定了,投影集在假设足够强的大基数公理下也搞定了。
它永远不会彻底成功。因为集合复杂度的层级本身就覆盖不了所有实数集合,更根本的原因是那个独立性结果。
1938年,哥德尔证了前半部分。他构造了一个"可构造宇宙"L,一个特殊的集合论模型,在里面选择公理和连续统假设同时为真。这证明:如果ZF(不含选择公理的集合论)是一致的,那么ZFC加上CH也是一致的。也就是说,你没法在ZFC里证伪CH。
1963年,保罗·科恩(Paul Cohen)发明了力迫法(forcing),证了后半部分:如果存在一个集合论模型,那就存在一个CH为假的模型。也就是说,你也没法在ZFC里证明CH。
两边一合,CH独立于ZFC。希尔伯特23问里的第一问,答案是"这道题在标准公理系统里没有答案"。
从可构造宇宙到力迫法
力迫法值得单独说,因为它是20世纪数学最强大的工具之一,也是汉姆金斯多重宇宙哲学的技术基石。
汉姆金斯管它叫"在数学宇宙之间旅行的方法"。
哥德尔的做法是往内收缩:从一个已有的集合论宇宙出发,只保留那些"可构造"的集合,得到一个更小、更整齐、性质更好的子宇宙。科恩的做法相反:从一个已有的宇宙出发,往里面加进新的集合,得到一个更大的宇宙。加什么、怎么加,可以被精确控制,控制到能决定CH的真假。
于是CH变成了一个开关。给定任意一个集合论宇宙,都存在与它关系极近的两个宇宙,一个里CH为真,一个里CH为假。你在哪个宇宙里生活,CH就在那里取相应的值。
汉姆金斯说,这才是CH的真正答案。真正要说的是,它可以被打开,也可以被关闭,取决于你身处哪个宇宙。
有个细节很有意思。力迫法不仅能往上扩张,还能反过来用。假设你想证明某个命题在原始宇宙里成立,你可以先力迫到一个更大的宇宙,在那里用更方便的工具论证,然后证明这个结论其实不依赖于新加进来的东西,可以"收回来"落在原宇宙里。
汉姆金斯拿早期复数的历史作类比。16世纪的数学家解三次方程,中间步骤会冒出负数的平方根,他们不知道怎么理解这个东西,还是硬着头皮算下去。算到最后,虚部全部抵消,结果是一个实实在在的实数,代回去验证还是对的。他们穿过了一片"无意义之地",最后带着正确答案回来了。
你从集合论出发,走到力迫扩张那片无意义之地,在那里论证,然后回来,在原来的模型里得出结论。这是一种非常漂亮的论证方式。(乔尔·戴维·汉姆金斯)
多重宇宙:数学实在不是一个,是很多个
汉姆金斯有一篇很有争议的论文,叫《集合论多重宇宙》(The Set-Theoretic Multiverse)。核心主张:不存在唯一的集合论实在。
先解释他对立的那一派。"宇宙观"或者叫"一元论":所有集合论问题都有确定答案,存在唯一正确的集合论真理,ZFC之所以回答不了CH,只是因为ZFC太弱,我们该去找更强的理论,比如大基数公理,最终逼近那个唯一真实的集合论宇宙。
汉姆金斯的反驳基于一个事实:CH 的独立性不是孤例。几千个独立性结果堆在那里,无穷组合学里几乎每一个非平凡命题都独立于ZFC。如果你接受宇宙观,那你就得承认我们手上这套理论几乎回答不了任何我们真正关心的问题。汉姆金斯不认为这是理论太弱的问题,他怀疑"唯一真理"这个假设本身。
他在伯克利读博的时候,隔壁有个做C*-代数的同学,跟一位非逻辑方向的教授做问题,做出来发现结论独立于ZFC。那位教授的反应是:"哦,看来我问错问题了。"
汉姆金斯和一众集合论学者的反应完全相反。一个问题被证明独立,说明你问对了问题。你摸到了数学实在的一条断层线。断层线的一边命题为真,另一边为假,这个发现本身就值得庆祝。他把这个动作叫做"切中自然的关节"。
他还强调一点:多重宇宙观和宇宙观的人,在数学上没有任何分歧。定理就是那些定理,证明就是那些证明。分歧在哲学层面,而哲学立场的作用在于指引研究方向,裁决数学事实不是它的活儿。
宇宙观会推着你去寻找那个唯一的真宇宙。他的博士导师休·伍丁(Hugh Woodin)就是这条路上最杰出的代表,搞出了"终极L"(ultimate L)纲领,几十年如一日地想让"唯一真宇宙"这个想法长出牙齿。多重宇宙观会推着你研究不同宇宙之间的关系,研究一个宇宙怎么力迫扩张到另一个,研究这些宇宙构成的整体是什么形状。
倒着走一遍力迫法
他和学生 Jonas Reitz 一起搞出来的"集合论地质学"(set-theoretic geology),起点是个特别小的对话。汉姆金斯跟 Reitz 说,力迫法的方向是从地面模型往外扩张,你没法反过来走。Reitz 坚持说,我就想倒着走。汉姆金斯说,行,那就认真试试。
于是问题变成:给定一个集合论宇宙,能不能找出它是从哪个更小的宇宙力迫扩张来的?像地质学家看岩层,反推这块地是怎么沉积出来的。他们定义了"基模型"(ground model)和"基岩"(bedrock)的概念,还引入了"地幔"(mantle)这个概念,开创了一个新方向。
最有意思的是后续。这套东西完全是从多重宇宙的哲学视角长出来的,结果宇宙观阵营的人后来也把它接了过去,因为反推基模型恰好能帮他们研究"那个唯一真宇宙"的结构。汉姆金斯自己也觉得这个反转很好笑。
这里藏着他对哲学功用的一个判断。他花了不少篇幅讲牛顿和莱布尼茨的微积分。那套无穷小量的基础,被贝克莱主教嘲讽为"已死量的鬼魂",在当时看确实站不住,要到1960年代鲁滨逊(Abraham Robinson)搞出非标准分析,微积分的基础才算严谨。
可牛顿和莱布尼茨在那套烂地基上,把微积分的主要定理和核心洞见全做出来了。
你需要一个坚实严谨的基础,才能做出持久的数学洞见吗?很遗憾,答案似乎是不需要。(乔尔·戴维·汉姆金斯)
所以哲学立场不决定数学能不能往前走。它决定你往哪走,决定你觉得什么问题值得问。汉姆金斯把这个叫"集合论潜力论"(set-theoretic potentialism):宇宙不是固定的,它可以更宽、更高,可以被扩张。这个视角带来的不是某个定理,是一整片问题域。
多重宇宙观有个容易被误解的地方,得说清楚。它不否认任何一个具体的数学定理,也不宣称"什么都是相对的"。它说的是:集合论的基本词汇,比如"所有集合",在不同的宇宙里有不同的外延,而这些宇宙彼此之间关系紧密,通过力迫可以互相抵达。你在哪个宇宙里,决定了CH取什么值。这是一种关于数学实在结构的判断,谈不上对真理的放弃。
P vs NP 被过度包装了
莱克斯问 P 是否等于 NP,以及这个命题有没有可能独立于公理系统。
汉姆金斯先纠正了一个表述上的问题:说一个命题"独立",必须说明独立于哪个理论。任何命题在足够弱的理论里都独立,所以这句话单独说出来没有意义。
然后他讲了一个他觉得被过度包装的点。P 和 NP 是关于渐近行为的:当输入规模趋于无穷时,所需时间是不是被某个多项式界住。这个多项式的次数可能极高,系数可能巨大。
所以那些"如果 P=NP,人类文明将获得巨大财富,所有难解问题都变得可行"的说法,需要打个折。P=NP 说的不是我们这辈子会遇到的输入规模,它说的是极限。
他还补了一刀:那个算法我们其实已经有了,只是常数项大到没法用。再加上第三层,实用的近似算法在很多情况下已经把真实工程问题解决了。SAT 求解器在工业界的表现好得惊人,虽然如果 P≠NP,理论上就不存在多项式时间的 SAT 求解器。
一个理论问题,一层一层被剥掉它的实践光环。
阿基米德,和被同时想到的定理
莱克斯问了那个所有人都想问但不太敢问的问题:史上最伟大的数学家是谁。
汉姆金斯说这个问题很难回答,他本人不按"伟大程度"给数学家排名。被逼到角落的话,他会选阿基米德,理由是成就太高而时代太早,完全超出了同时代所有人。他补了一个更有意思的观点:
我想从任何能提供数学洞见的人那里学数学,不管他是谁。而这并不总是来自最伟大的人。有时候那些伟人只是恰好第一个做出来,换了别人也可能很快做出来。(乔尔·戴维·汉姆金斯)
他提到数学史上一种常见现象:不同的人几乎同时证出相似的结论。他的解释很朴素:某些想法已经在空气里飘着了,只是还没被完整表述出来。这就是知识增长的形态。
莱克斯问他,你觉得想法是从哪来的?
他说,不太清楚。接着讲了自己的风格,这段值得原样记下来:
我不太喜欢难的数学。我喜欢的是简单、清晰、容易理解的论证,去证明一个出人意料的结果。这是我最喜欢的情形。至于这个结果是不是新的,对我来说反而没那么重要。(乔尔·戴维·汉姆金斯)
他解释了这个偏好背后的东西:他对复杂论证天然怀疑。如果不能在脑子里一次性把每一步都过一遍,他就会担心这论证是错的。所以他倾向于做那些偏离主流路线、但能被彻底想清楚的问题。
他的具体方法论,他自己叫"玩闹式的好奇心"。有了一个想法,就拨弄它,改一点小地方,先看最简单的情形,然后一点点搞复杂,往这边推一推,拿自己最喜欢的例子套上去试试。玩着玩着,就有洞见了,就有方法了,然后就有进展了。他说这套办法对他非常有效,他很满意。
给每个人发一美元
玩闹的核心工具之一是拟人化。他把集合论模型想象成一个你居住的地方,力迫法就是去远方旅行。他承认真实论证里没有土地也没有旅行,但这种可视化能帮他理解。尤其是当论证的不同部分互相冲突的时候,他就想象成几个人在打架,或者两个玩家在对局,一方想赢,那"敌人"会挑哪个选项?顺着这个往下想,策略往往就出来了。
他讲了个具体的例子。他书里有个题:一群人围成圈,可以随便指别人,也可以指多个人,问能不能安排出一种指法,让每个人都"被指的次数"多于"指别人的次数"。这跟推特上"能不能让每个人都粉丝数大于关注数"是同一个数学问题。
他最喜欢的证法是给每个人都发一美元,指向谁就给谁一美元。如果所有人都被指次数多于指人次数,那每个人收到的钱都比付出的多,每个人都赚钱了。可我们只是在自己人之间倒钱,没有任何新钱进来,一群人不可能靠互相倒钱全体变富。所以这种指法不存在。
这个证明之所以让人信服,是因为它借用了我们对"赚钱很难"这件事的生活经验。而如果把它换成抽象的函数语言,"一组人之间转移钱不可能全体变富"这件事本身其实也需要证明。拟人化在这里做的,是把一个需要证明的抽象命题,替换成了一个我们已经有直觉的具体命题。
他还补了个彩蛋:如果这群人是无穷多个,定理就失效了。不但能让每个人都被指得比指别人多,还能让每个人手里的一美元最后变成无穷多美元。做法是让第N节车厢的人把钱全给最后住进第N号房间的那个人,每人只付出一美元,那个人就拿到了无穷多美元。基数上,前后都是可数无穷,一样大。
两种数学家:怀尔斯和陶哲轩
莱克斯抛出了一个对比:安德鲁·怀尔斯(Andrew Wiles)把自己关了七年死磕费马大定理,而陶哲轩(Terence Tao)的策略是撞墙就换题,回头再来。他问汉姆金斯怎么看这两种风格。
汉姆金斯的回答很坦诚。他说怀尔斯证明的定理很了不起,但那种孤立工作的方式跟他的实践完全相反。他的合作者数量接近一百个,数学对他而言很大程度上是一种社会活动。有人有想法想跟他聊,只要他感兴趣,那就一起做,可能就解决了,可能就有一篇共同署名的论文。
我个人永远做不到怀尔斯做的事。也许我错过了什么。也许如果我把自己锁在卧室里死磕,我也能解决它。但我倾向于认为不会。(乔尔·戴维·汉姆金斯)
他强调自己大量泡在 MathOverflow 上,很多论文就是从那里的对话里长出来的。有人发问,他答一部分,另一个人有想法,拼成完整解法,最后三个人合写一篇。
莱克斯说他作为外行看,一个人单干数学是可怕的孤独,尤其是死磕一个已经弄垮过多位天才的问题。汉姆金斯承认有道理,但他说自己享受这个社会性的部分,而且这不只是"社交",这就是他理解的数学研究的本质:把想法抛给别人,别人回应,双方都在学。
聊到佩雷尔曼(Grigori Perelman)拒领菲尔兹奖和千禧年大奖,汉姆金斯说他不是完全理解这个选择,但他不觉得这有什么问题。数学界什么人都有,只要有好想法,他就想聊。
莱克斯接了一句很好的总结:奥运会运动员很多也不挣钱,还是把一辈子投进去,为的是金牌。这些最伟大的数学家做这些事,根本上是因为热爱这门艺术本身。
然后汉姆金斯拿这个开了个玩笑。他说如果要真正客观地评判谁是最伟大的数学家,那就需要一个客观标准,比如用 MathOverflow 的分数。莱克斯立刻接上。汉姆金斯说他一直主张终身教职和晋升评定就该按这个来。他还讲了自己女儿带男朋友回家,他第一个想问的两件事是:国际象棋等级分多少,MathOverflow 分数多少。
这段玩笑背后有个真实的观察。他在 MathOverflow 上的账号是全网最高分,二十多万声望,写了上百万字。他没有从这个东西里拿到一分钱。一个能在公开论坛上花十几年回答陌生人的问题的人,回答的动机和他做数学的动机是同一个。
思考题是怎么长出来的
莱克斯问他怎么在 MathOverflow 上挑问题。汉姆金斯说,任何他觉得有意思的问题都会碰,但不所有问题都吸引他,有些类型的题目他就是没感觉。
他刚加入的时候,逻辑方向答题的人很少。他的策略是:看到一个问题,逻辑只是其中一个角度,主体可能在群论、在分析、在别的领域,他得先学懂那个领域的背景,才能给出答案。他说自己在这个过程中成长极快,因为被迫学了一堆原本不会去碰的东西。
他列了几个自己答过的问题,这些问题本身能说明他关心的东西长什么样:哪些看起来很合理的命题其实独立于ZFC?数学教学中哪些替代定义最容易误导人?大学教的分析学其实是不是可定义数的分析?连续统假设有哪些解法?选择公理最反直觉的应用是什么?有什么定理结论惊人但证明平凡?反证法和逆否命题该怎么用?象棋在数学上是什么?
最后一个问题直接引出了无限象棋。
无限棋盘上的 ω 次方
无限象棋(infinite chess)的起点就是 MathOverflow 上那个问题,提问的人是诺姆·埃尔基斯(Noam Elkies),哈佛的顶级数论学家。问题是:象棋的数学定义是什么?
汉姆金斯的兴趣就被这个问题勾出来了。无限象棋的规则很简单:普通棋子,普通走法,只是棋盘变成向四个方向无限延伸的整数格,没有边界。一个差别是不玩标准开局,研究的对象是那些已经摆好大量棋子的特定局面。
他造出了一种局面,白方必胜,但不存在任何一个 N,使得白方能在 N 步内保证将死。换句话说,白方一定会赢,但黑方能决定要拖多久。你想让它拖一千步?可以。一百万步?也可以。这个局面的博弈值(game value)是 ω。
从 ω 数下来的意思就是:黑方必须先报一个有限数,然后从这个有限数开始每次减一。减完了,棋也就结束了。黑方第一次报的数越大,能撑的步数就越多,可他终究要报一个有限的数。
规则上还有几处必须调整。没有边界,所以没有兵的升变。三次重复局面判和的规则也要去掉,那只是在有限棋盘上逼近"无限对局算和"的一种技术手段,无限棋盘上直接用真正的规则就行。唯一的取胜方式是在有限的某一手走出将死。
后续的研究做得更猛。第一篇论文做到了 ω 的平方和 ω 的立方,跟 Corey Evans 和博士生 Norman Perlmutter 合作的那篇做到了 ω 的四次方。现在已知的结论是:每一个可数序数,都能作为无限象棋某个局面的博弈值出现。
这个构造过程没有算法,是纯数学创造。汉姆金斯说,棋子摆位几乎都是他做的,但论证里的细节全部靠 Corey Evans 把关。Corey 是美国国家大师级棋手,也是法学与哲学教授,还当过汉姆金斯儿子的儿童象棋教练。汉姆金斯按序数的要求去设计局面,Corey 过来一看:"这个兵是悬的,你的论证破了。"或者"这个象能从笼子里漏出来。"来回几轮,才能收敛到正确的结果。
莱克斯在这里注意到一个很酷的细节:一篇 arXiv 论文的参考文献里,赫然列着一条 MathOverflow 的链接,而那正是埃尔基斯的原始提问。
AI 生成的证明,像极了本科时排版漂亮的作业
聊到 AI 和 LLM 做数学,汉姆金斯的回答很直白。他自己试过各种系统,包括付费的,结论是"基本上零有用"。典型体验是拿到数学上不正确的垃圾答案。更让他烦躁的是,你指出它对某一步的错误,它回你一句"没问题啊"。他说,如果是人这么干,他不会再跟这个人说话。
但他也承认,他非常尊敬的几位数学家说 AI 对他们有用。这让他意外,因为自己的体验完全相反。他猜测可能是自己的用法不对,也可能是那些例子里,真正的数学想法其实来自人,而不是机器。
他还有一层更根本的怀疑,来自对 LLM 方法本身的理解:
我意识到,AI 在努力给我一个看起来像证明的论证,而不是一个是证明的论证。动机本身就偏了。(乔尔·戴维·汉姆金斯)
他讲了个本科时的故事,这个类比是整场访谈里最锋利的一处。他在加州理工读本科,那时候 LaTeX 刚出来,他学着用,把作业排版得极其漂亮。然后他交上去,成绩很差。他后来想明白了原因:那种精美的数学排版,他此前只在正式出版的书里见过,而书里的数学几乎总是对的。排版太漂亮,让他丧失了批判性,在证明里犯了一堆低级错误。
现在的 LLM 就是同一个效应的放大版。它被设计成生成看起来正确的东西,生成正确的东西不在它的目标函数里。如果你不够警惕,太容易被骗过去。
他区分了两种情况。把 LLM 接上 Lean 这类形式化证明检验器,是完全不同的操作模式,因为检验器会机械地判定证明对不对,那里没有"看起来像"的余地。但他担心的是普通人坐下来直接问聊天机器人要一个数学论证,那是危险的错误来源。
莱克斯提供了一个不同视角。他说跟 LLM 协作是一项真本事:你得把能提供的所有信息,从自己的工作到自己的思考方式,全部喂进去。它的价值不在于给答案,在于给启发,在于它知道的东西比你多,能在不同领域之间搭桥。代价是必须极度耐心,因为它经常蠢得让人抓狂。忍过去,可能有一两个漂亮的洞见。
汉姆金斯接受了这个说法,还补了一句自嘲:数学的训练数据里,MathOverflow 的答案肯定在里面。所以某种意义上他是在跟自己说话。
这场对话到这里出现了一个有意思的分歧,两边都没说服对方,但都没有把话说死。汉姆金斯的怀疑落在一个很具体的地方:语言模型学的是"关于数学的文本分布",而数学理解是另一回事。这两者之间的距离,可能比现在很多人以为的要远得多。莱克斯的经验落在另一个地方:编程领域有海量高质量数据,那里他已经看到了希望。
两种经验可能都对,因为他们看的是不同区域。数学证明的容错率极低,一个符号错了整个论证就废了,而代码可以跑起来验证。这个区别决定了 AI 在两边能走多远。
最漂亮的数学想法,是把计数这件事推过无穷
访谈最后,莱克斯问了两个"最漂亮的想法"。
数学这边,汉姆金斯的答案是超限序数。康托尔发明的"数过无穷之后接着数"的那套数系。
你数自然数,0、1、2、3,一直数下去,数不完。数完了之后还有一个数,叫 ω,然后是 ω+1、ω+2,永远可以加一。加完了所有这些,得到 ω+ω,也就是第一个排在它们后面的数。然后是 ω·3、ω·4,这些的极限是 ω 的平方。ω 的平方是个复合极限序数,它自身是极限序数,同时又是极限序数的极限。
然后是 ω 的平方加一,加二,一直往后。它不会停。
汉姆金斯说,这个想法简单、优雅,而且是后来所有超限递归构造的基础。康托-本迪克松定理用了它,冯·诺依曼的累积层级用了它,哥德尔的可构造宇宙用了它,策梅洛用选择公理证明良序定理也是超限递归。一个"数过无穷之后继续数"的朴素念头,撑起了整个现代集合论。
说到这里得插一句,超现实数那套构造也是这个路子。康威从一个空集出发,让"0"在第零天诞生,之后每一天把所有已有的数切成左右两堆,在裂缝里生出新的数。第 ω 天,所有实数同时落地,还顺带诞生了 ω 和 ε。这套东西的性质好得惊人,是个实闭域,能加能乘能开方,每个奇次多项式都有根。它缺的是最小上界性质,里面也没有收敛序列,所以基于极限的常规微积分方法在它上面走不通。汉姆金斯说它"本质上不连续"。
他还讲了一件挺动人的事。他在纽约组织过一次会议,请了康威来演讲。问答环节有人问了个相当冒犯的问题:"你这辈子最大的失望是什么?"汉姆金斯说他绝不可能在公开场合问这种问题。
康威很优雅地回答了。他说的失望不在超现实数这套东西本身,而在它被接受的程度。他本来期望它会成为整个数学和科学的基础工具,因为它能统一序数,能支撑非标准分析,结构漂亮,证明优雅。它没有获得那个地位。
汉姆金斯补了一句解释。超现实数研究的人其实不少,有几千人。专家 Philip Ehrlich 跟他讲过一个观察:康威在这个问题上最大的敌人是他自己,因为康威的风格是把一切都当成游戏。他把超现实数当一个玩具来玩,这大概让很多人没把它当回事。汉姆金斯的看法正相反,这东西极其严肃、极其有用、极其深刻。
哲学这边,还是那道缝
哲学这边,他选的还是那个区分:真理与证明。
真理是关于世界的,关于事物本来的样子,关于某种客观实在。证明是关于我们对世界的理解,关于我们怎么抵达我们所知道的东西。
专注证明,就是专注我们与客观实在的互动。专注真理,就是专注撇开我们的认识之后,事情本身是什么样。他说这是他自己理解世界、理解逻辑与推理本质的一个核心方式。
这个区分的适用范围远远超出数学。莱克斯在结尾补了一句:真理与证明之间的那道缝隙,里面装满了迷人的谜团,在柏拉图领域里如此,在物理世界里如此,在人的心理、社会、政治、地缘政治里也是如此。每一门学问的旅程,都是发现过程与真理本身之间的那段距离。
访谈里还有一段关于"物理实在和数学实在哪个更清楚"的讨论,值得单独记一下。汉姆金斯说,很多人觉得抽象对象的存在很可疑,想把数学存在还原成某种能物理触摸的东西,他觉得这个方向搞反了。他说我们对"物理存在"根本没有一个像样的说明。
他举了个例子。假设我跟你详细描述一台蒸汽机车,工程结构、重量、齿轮连杆、每一处设计细节,全说完了。然后我问你:这台机车"在物理世界中存在"是什么意思,和"它只是一个想象中的蒸汽机车"有什么区别?
你能说什么呢?你只能说"它存在于物理世界中",可这句话只是把问题重复了一遍。它没有回答问题。
物理学的进展让这件事变得更神秘,而不是更清楚。牛顿时代的物体像台球,后来发现由原子组成,原子又能拆成电子质子中子,这些又由夸克轻子组成,再往下是什么不知道。而且这些东西的存在形式是概率云里的波函数。越往下挖,越说不清"存在"是什么。
数学那边是另一番景象。你问他空集是什么,他能说清楚。你问他空集的单元素集是什么,他也能说清楚。往深处走,理解只会越来越清晰,不会越来越模糊。
所以他给出的判断是:数学实在我们是能理解的,物理实在我们只是经历过。这两件事不一样。他说他整个人活在柏拉图领域里,对物理宇宙基本不理解,所以也没什么强观点。
这段有个容易被忽略的补充。他并不是说物理世界不真实,他说的是我们对它的理解程度远不如对数学的理解程度。你能骑自行车、能喝马提尼、能过生日,你对物理世界有极其丰富的经验,但经验和对本质的理解是两回事。
结构主义:四是什么不重要
这段讨论引出了结构主义(structuralism),一个值得在这收一下的立场。
结构主义说的是:数学对象重要的是它在结构里怎么运作,它由什么构成、它的本质是什么,这些不重要。汉姆金斯管自己采取的态度叫"结构主义态度":数学结构只看到同构为止(up to isomorphism)。
如果有一个数学结构,你用另一批个体做一个完全同构的复制品,这个复制品在数学上一样好,任何数学问题都不会因为换成了复制品而有不同答案。
按这个立场,"数字四到底是什么"这个问法本身就有问题。自然数结构里有0、1、2、3、4,我完全可以让桌上这瓶水来扮演四这个角色,得到的东西同构,数学上毫无损失。
所以四的本质是什么,跟数学无关。有关的只有四在某个结构里有什么性质。
这套立场直接对上了一个著名的问题,弗雷格(Gottlob Frege)提出的"尤利乌斯·恺撒问题"。弗雷格想用康托-休谟原则作为数的理论的基础,那个原则说两个集合等数当且仅当能一一对应。可他发现这个原则只给出"两个数相等的标准",没给出"什么东西算一个数"的标准。按这个原则,你没法判断尤利乌斯·恺撒是不是一个数。
弗雷格大概觉得这个例子荒谬到不用回答,谁都看得出恺撒不是数。结构主义者的回答是:给我一个数系,如果恺撒不在里面,我把17这个角色换成恺撒,现在恺撒就是17了。数学上没有任何问题。
这个回答听着像耍赖,其实很硬。它说的是:数学不关心对象的本体身份,只关心它在结构中的位置。这也解释了为什么现代集合论一般不带"原子"(ur-elements)玩。带原子的版本和纯集合的版本,在结构上完全同构,按结构主义的眼光,原子是多余的一层装饰,去掉之后理论更干净。
一百年后还会有动乱吗
莱克斯问了个很大的问题:一千年后,数学还会不会有像20世纪初那样的动乱。
汉姆金斯的回答分成两边。他说自己一只脚在数学,一只脚在哲学,这两门学科对"进步"的态度差别巨大。
数学有巨大的进步。我们对数学思想的理解一直在变好,知识在增长。我们现在对无穷的理解,肯定比一百年前好;一百年前的理解,又比之前几千年好。好到什么程度?好到原来的问题已经不是问题了,整个领域往前推移到了更难、更有意思的地方。
哲学那边,进步也有一些,但同时还有一批几千年都没解决的问题。以至于很多哲学家认为,哲学的主要贡献在于提出问题,而不在于回答,因为这些问题的答案看起来是没指望的。
他说他没理由认为数学的进步会停下来。一千年后的人做的数学,他大概完全看不懂。他甚至不用等一千年,把古代的人拉到今天,可能都听不懂我们现在聊的某些问题。但他觉得如果阿基米德能跟他沟通,他有办法把现在数学里的一部分东西讲给阿基米德听。
这个判断挺乐观的,而且不是空话。它背后是那个"简单清晰的论证"的偏好:如果数学最终能沉淀成一串能被彻底想明白的简单论证,那么它就具备某种跨时代的可传达性。复杂到无法传达的数学,可能也复杂到无法验证。
给想认真读点数学的人
这场对话信息密度极高,如果只带走一堆定理名字,价值不大。有几个东西可以迁移到别的领域去用。
- 碰到"整体等于部分"觉得荒谬时,先问是哪个定义在起作用。欧几里得原则和康托-休谟原则在有限世界里重合,在无穷世界里分裂。很多争论僵住,是因为双方用的定义不同,而没人把这个说出来。
- 学一个证明,先看它的形状,再看它的内容。对角线论证的具体对象是实数,它的形状能用来说幂集、说停机、说不可证。看懂形状,一个证明就变成一类方法。
- 把抽象命题翻译成有身体经验的具体场景。汉姆金斯让所有人互相发一美元来证那道题。翻译的目的在于调用你已经付过学费的那部分直觉,简化不是重点。
- 遇到结论独立于公理系统,先别急着说问错了。独立意味着你摸到了一条真实的断层线。下一步该弄清断层两侧各是什么世界。
- 对"看起来对"的东西要额外警惕。排版精美的作业、行文流畅的模型输出、结构工整的论证,形式上的完备感会麻痹判断力。汉姆金斯本科时栽的那个跟头,现在每天都在更大规模上重演。
- 挑那些你能在脑子里一次走完的问题。这是一种质量控制策略,并非能力不足的妥协。走不完的论证,你看不出它错在哪。
- 数学不必是孤独的。汉姆金斯有近一百个合作者,大量论文长自公开论坛的对话。怀尔斯那种七年闭门是一种路,把想法不断抛出去听回响是另一条,没有哪条更高级。
- 读原典时留意"真"和"可证"这两个词是不是被混用了。这个区分看着琐碎,20世纪初一批一流数学家在这里含糊了几十年。你在任何一篇论证里看到"证明了就说明它是真的",那里就有一个坑。
- AI 能给你的数学论证,默认当草稿看。它优化的是"读起来像证明",验证得靠你自己或者 Lean 那类形式化工具。省下来的时间不要花在相信它上。
最后留一个画面。康托尔在19世纪末证明实数不可数的那一天,大概不会预见到一百多年后,这个证明的形状会出现在图灵机的论证里、在哥德尔句的构造里、在一个叫无限象棋的怪东西的博弈值里。
一个想不通的问题,可以弄垮一个人的后半生。同一个问题,也能撑起一整座学科的地基。
本集资源与出处
- 视频在 YouTube 收看
- 音频官方 MP3 直链来自 lexfridman.com 官方播客 RSS
- 官网Lex Fridman 官网本集页面
- 文稿官方 Transcript(lexfridman.com)