不是数学家也不是哲学家,但学的是数学和哲学,并且刚好在学维特根斯坦的数学哲学,所以就顺手回答一下吧。
数学家如果要讨论哲学,那么在除了数学哲学的领域,并不会比其他非哲学家了解得更多,所以本文对于哲学的讨论仅限于数学哲学。要做一个对比的话,可以考虑牛顿和希尔伯特。牛顿是一个数学家,同时是一个神学家,但是这两者是不太相干的,仅仅是因为当时的学科并不难,所以一个人可以同时从事多个方面的研究。而对于希尔伯特,他是一个数学家,并且可以视作形式主义这个数学哲学主张的开创者,他的数学工作和他的哲学主张是直接联系在一起的。
本文的讨论在适当的情况下可以移植到别的领域中,如:政治哲学和政治科学,物理哲学和物理学,心理学哲学和心理学等。
一、数学哲学与数学
引用 LFM(Wittgenstein's Lectures on the Foundations of Mathematics) 的开头进行分析。(注意,LFM 并不是维特根斯坦的著作,而是根据几位学生的笔记整理成的,但叙述角度主要是以维特根斯坦为第一人称)
I am proposing to talk about the foundations of mathematics. An important problem arises from the subjects itself: How can I —— of anyone who is not a mathematician —— talk about this? What right has a philosopher to talk about mathematics?
这一个问题,若是换做康德来问,则可能会变成:「(由哲学家主导的)数学哲学是如何可能的?」
当然我们要注意这个地方有一个微妙的措辞上的区别:foundations of mathematics 和 philosophy of mathematics。前者属于哪个领域其实是不明确的。有人会认为 logic 是 foundations of mathematics,也有人会认为 philosophy 似乎也可以作为 foundations of mathematics。总而言之它的意义并不像 philosophy of mathematics 那样确凿。虽然,任何一个「philosophy of …」的含义也都并不确凿。当然,在维特根斯坦口中, foundations of mathematics 似乎就是指 philosophy of mathematics,而 logic 是另一个东西。
问「哲学家如何有权利开口谈论数学的基础」其实没太大意思,如果我们仔细审视一下近期的重要工作,我们会发现,即便是和数学最为贴近的数理逻辑,也经常被抛弃在正统数学之外。或者说,大部分数学家并不关心数理逻辑,原因很简单,数学大多数情况下并不是一个问「what is the foundation of …」的学科。这种思维方式和物理学等大部分科学截然不同。那当然了,数学不是科学。
在大部分自然科学中,学科发展的一个目的是寻找某个占位词的精确表述,比如说「热」是一个占位词,当我们发现了分子的热运动之后,我们就可以将「X 热」变成「X 的分子热运动速度变快」从而得到一个更为精确的描述(注意到这个地方并不涉及循环定义的问题,因为「热运动变激烈」和「动能增加」之间是有差别的,一个物体整体加速之后其中的每一个分子自然也会动能增加,但是物体本身并不会更热,这里可以视作一种运动方式上的划分)。生物学要做的事情也有一部分是在研究某个生物现象的微观机制是什么,比如说如何用分子层面的反应解释光合作用或者是无氧呼吸。当然,并不是说一个占位词被替换下来了之后我们就得到了一个「终极解释」,这其实很好理解:我们自以为发现了最为基本的「原子」,奈何原子由电子和原子核组成,而原子核中又包含这些东西。因此,当我们将「水」替换为之后,又可以进一步将作为占位词的「H」和「O」替换为别的东西。这类处理占位词的问题,实际上都可以视作是在问「what is the foundation of …?」
但是,在数学中,数学家们是怎么提问的呢?数学很大一部分是由猜想和证明构成的,这似乎和科学一样,科学也是通过「观察 - 归纳 - 实验 - 证明」这样一串行为来进行的。但不同的是,数学的基础是坚实的,或者说,如果数学是一场游戏的话,那么问这个游戏怎么胜利是有意义的,而问规则为何如此是没有(游戏/数学)意义的,这是一个「游戏/数学人类学」或者「游戏/数学史」的问题。
因此,提问 foundations of mathematics 注定就会是一个不受数学家们重视的问题。假设你正在好好地打着 DotA,玩着 WOW,或者,斗着地主,忽然有一个人跑过来问你:「为什么你玩的这个游戏的规则是这样的啊?」这时,如果你精通对应游戏的历史,比如说你正在玩的 WOW,你就会从 MMORPG 的发展史和魔兽系列游戏的发展史说起,以此解释为什么这个游戏成为了现在这样;又或者,你会给出一个应然性的解释,来说明为什么这个游戏应该这样设计,游戏策划是怎样考虑职业平衡的。并不排除有某些游戏玩家在痴迷于游戏的同时会同时痴迷于这些问题,但是这并不是一个普通游戏玩家所考虑的问题。如果我是一个有礼貌的人,面对这样的提问,我或许会答复到,「我不知道也不想知道这些东西,所以请不要问我」,而实际上,作为一名粗鲁的人,我会吼到:「滚你丫的别碍着老子玩!」一个普通的游戏玩家考虑的仅仅是游戏本身应该怎么玩:怎么打过某个 Boss,怎么在某场 PvP 中获胜,怎么配装打更好的 DPS,怎么改写输出宏……
当然,某种意义上来说,数学家不仅仅扮演了游戏玩家的角色,偶尔还会充当游戏的设计者,比如说欧几里德通过非常良好的直觉设计了欧氏几何这个公理系统(真正发明这个游戏的自然不是欧几里德一个人,而是那整个时代的人,欧几里德仅仅是一个整理者,他将零散的传统变成了严格的文字)。另一方面,当作为玩家的数学家发现自己玩的游戏出了问题,或者,又新的发展可能的时候,也会重启自己设计者的身份来重新设计,而这种更新游戏的过程自然和官方更新游戏客户端不同,它不具有强制性,因此,当有人提出了那个叫做非欧几何的游戏时,遭到了不少老玩家的反对,同样的情况也发生在虚数的引入以及集合论中。
作为设计者的数学家所做的工作就是开创一个什么东西,比如说牛顿和莱布尼兹处理微积分,康托处理集合论,这时候我们或许会说他们处理的是一些基础问题,但是这种情况下的基础仅仅是针对于某一个理论的基础,而不是元数学意义上的基础。并且,数学每次的扩展似乎都是自然的,并不是全盘推倒重建,而是在某些有趣的地方做一个改动或者延伸,因而,数学家们总是沿用了部分以前的规则。
这时候我们会发现,在「游戏制造人 - 游戏参与者」的模型中,没有对应于数学哲学家的角色。的确没有,数学哲学家是局外人。
That is not what I am going to do at all. In fact, I am going to avoid it at all costs; it will be most important not to interfere with the mathematicians. I must not make a calculation and say, "That's the result; not what Turing says it is." Suppose it ever did happen —— it would have nothing to do with the foundations of mathematics.
在说这段话之前,维特根斯坦给了一个假想的情况,说某些哲学家通过自己的初等数学知识和逻辑训练去指出数学家的证明或者计算中的错误。维特根斯坦认为这并不是在做哲学(或者,研究 foundations of mathematics),因为数学家和哲学家应该互不干涉。顺便说一下,图灵是维特根斯坦的好基友,也是这门课的学生之一,可惜天才上课不记笔记。
可见,维特根斯坦本人也持有一种局外人的观点,哲学家并不真的探讨数学,哲学家讨论的是别的问题,甚至这种问题不是数学家口中的数学规则的制定,因为制定数学的规则依然是数学家的事情。事实上,维特根斯坦在数学方面并没有公理和定理的区分,作为一个反对公理系统的人,他将所有数学命题视作规则,。
但是,我们不会满足于单纯的局外人这种说法,因为局外人有很多种,比如说哲学家中有政治哲学家、伦理学家、数学哲学家等等,但是如果说数学哲学家是局外人的话,那么我们如何区别他们和伦理学家或者政治哲学家呢?
有一个古老的关于城邦、政府和哲学家的类比,恰好也是用体育比赛(也算是某种游戏吧)来进行比喻。在这个比喻中,有裁判,有运动员,还有观众,而哲学家就是观众。假设这个比喻是恰当的,那么数学家和数学哲学家是什么关系呢?运动员可以看比赛么?显然可以。但是运动员会热衷于此么?显然不会。那么如果数学哲学家是「数学游戏」的观众,那么伦理学家是什么呢?别的比赛的观众。
但是,请注意这个类比有一个缺陷:数学家在审视别人工作的时候,如果当他开始进行推理了,那么他有可能就参与到了一般性的数学过程中,或者是依照规则推理,或者是思考数学规则本身是否有问题,但这两者都是他日常的行为,并不是哲学思考。而运动员似乎没有这样的问题。一个职业运动员,即便穿着一身运动服,做好了热身运动,只要他坐在看台上,那他就是观众。物理空间的分隔决定了这个「运动员 - 观众」的划分是明确的。但是果真如此吗?如果一个运动员在观看比赛的时候,并不是像普通观众那样观看,而是在脑海中反思或者预演自己在比赛中的行为,那么这种情况下,他的身份就依然是运动员,一个在训练的运动员。一个数学家在进行审视一个数学家的工作,或者是,审视自己的工作的时候,我们如何区分这种审视是数学的审视还是哲学的审视呢?
我们似乎找不到一个明确的思想上的分界。就以希尔伯特为例,他主张形式主义,这原本是一个数学上的期望,希望将所有数学形式化,并且由此通过逻辑的方式解决所有数学问题,但这种主张却演变成了一个数学哲学主张,我们很难说作为数学家的希尔伯特是在迈出哪一步,产生哪个想法之后就开始变成作为数学哲学家的希尔伯特。我们只知道,形式主义的确算得上一个数学哲学主张,而希尔伯特的确是一个数学家。而且,这种分界本身也是不必要的,因为真正值得注意的部分往往不会落在模糊的边界上。
某种意义上来说,这种模糊性是必然存在的,在非欧几何尚未诞生之前,有一部分数学家试图采用反证法的方式来说明第五公理的否定和前四条公理是不一致的,这似乎是一个非常规矩的,遵从既有规则的证明尝试,但是这一部分尝试,同时也在某些方面成为了黎曼几何或者罗氏几何的第五公理能够被加入到对应几何系统中的说明,即,它可以视作重新制定游戏规则的前过程。我们没有可能划出一条截然的界限。
当然,希尔伯特的时代已经过去了,数学家们并不再像当时那样容易产生数学哲学的思考,一个很重要的原因自然是数学变难了。而另一个原因实际上是因为,在现在大多数数学家在意的是游戏规则内的行为,连制定规则的情况都很少,更不用说产生数学哲学的思考了。发生这种现象和数理逻辑的兴起于衰落不无关系。这一部分我将留到第三部分详细展开。而在这里,我的结论是,因为数学的严格化已经完成了,大部分数学家将不再关心这个问题,而将严格的数学语言融入自己的血液中。
要给一个结论就是,数学家是否思考数学哲学都是可以理解的事情,但是,就目前的学科情况来看,数学家不太容易去触碰数学哲学问题,这种现象的产生是因为所有学科本身的发展都趋向于细节化,以至于一个人很难分心到别的地方去。即便是数学,本身也分了若干个不同的领域,而一个正常的数学家大概也只会熟悉自己的研究领域,你让一个做偏微分方程的人去讨论代数拓扑是不现实的。因此让一般数学家讨论数学哲学也是不现实的。
二、哲学本身的困难性
如果一个人一上来就读康德,读维特根斯坦,我只能说他脑子有洞。这些著作根本就不是写给初学者的。康德在写《未来形而上学导论》的时候,将其视作一本给未来的老师用的书,维特根斯坦在《逻辑哲学论》的开篇声明,这本书是写给那些已经思考过这些问题的人看的。当你看数学的时候,你看教材,当你看哲学的时候,你看著作,别说你看不懂,我也看不懂啊。
对于这种困难,似乎可以给一个这样的类比:你随便找一本 LNM 或者 GTM,翻到中间一半开始看,如果你很快地看懂了,那只能说明之前学过。如果你根本就没有融入讨论的语境,没有学会基本的词汇,讨论又将如何展开呢?注意,我这个地方并不是就如何做哲学来展开讨论,而是就如何读哲学来展开讨论,某种意义上来说,读比做更难一些。
有人会说,为什么数学就那么容易懂呢?口胡,你让一个高中开始就读文科的人来读公里集合论,他读得懂?对于大多数理科生来说,数学已经成了一个默认语境,没有什么人会不知道坐标系、自变量、函数、映射或者是集合的交、并、补。但是,大多数人没有受过哲学训练,没有哲学的语境,所以很难参与到哲学的学术讨论中。你去抓一个人来问他,什么是 a priori,什么是 transcendental,什么是 normative,估计他也回答不出来吧。而且,对于普通人来说,数学的例子比哲学的例子更为常见,哲学也是一个非常依赖例子的学科,如果你听到「当今法国国王」无法脑补出「是秃头」,听到「晨星」想不起「暮星」,听到「gavagai」想不起「兔子」,听到「『雪是白的』为真」接不上「当且仅当雪是白的」,那么当你需要一个例子来理解理论的时候,就会因为想不到例子而无所适从。
还有约定的问题。一个人去读费马、欧拉、牛顿的手稿,大多数情况下也是读不懂的,因为符号不同,别忘了,微积分的符号沿用的是莱布尼兹的记号。而罗素当年写数学原理,以及弗雷格当年写概念文字所用的符号也和当代的符号有很大出入。不同哲学家口中的词汇未必是相同的,而很多看上去熟悉的词汇,比如说「先天」、「经验」、「实在」也和日常的用法不同。另一方面,如果我们读的是译本而不是原著,那么很有可能会被翻译坑。以「series」为例,维特根斯坦在《哲学研究》 中经常提到这个词,但这个词却被某些坑爹的人翻译为「系列」,而根据语境,他显然是想表达「数列」这个意思。当然,一个词错了可以纠正过来,但是当整片译文中有大量的错误,或者,有很多以前的用法的话,那么这时阅读体验就会被严重影响。(另一个值得吐槽的 point 是,很多哲学家为了装逼或者单纯是出于习惯,喜欢用一些拉丁词汇,这对于只学过英语的人来说也是一件很坑的事情。)
哲学和数学的发展方式也是不同的。哲学的发展往往是基于对前人的批评,这种 motivation 和数学的 motivation 是不同的,数学往往是以抽象一个既有的概念作为 motivation,比如说测度是长度、面积和体积的抽象,群是加法和乘法的抽象,模是线性空间的抽象,格是确界的抽象。而就算一个例子被抽象为两类东西,大概也不会产生矛盾(比如说我们可以将实数集和上面的伯雷尔集抽象为测度空间,也可以将其抽象为拓扑空间,这并不产生矛盾)。但是,如果不同的哲学家通过将例子 blow up 为不同的哲学理论,那么不同的理论之间就会产生或多或少的冲突。这种冲突就是哲学家们重点处理的东西。同时,这种冲突导致哲学没有那么强的层级性。学数学的时候,我们有一个基础,然后一步一步上来,但是在哲学中,如果我们希望明白一个人在反对什么,那么我们就需要一步步往前看他的对手说了些什么。因此,某种意义上来说,相较于数学,哲学是杂乱无章的。
哲学另一方面的困难性在于,它讨论的问题以及所起的争执都先于形式化。这一部分讨论可以参考「
哲学论证有可能像数学一样精确吗?」。
三、逻辑作为数学严格性的基础
要注意一件事情,数学中严格性的概念是近两三百年才出现的,我不确定这个概念的出现和当代数理逻辑的先后顺序如何,但是毫无疑问,严格性的概念和数理逻辑是共同发展的,逻辑语言是严格的,而数学家也在尽可能地使用严格的语言(虽然不完全是形式语言)。
当代逻辑发展的初期很大程度上是为了构建一个理想语言。这种理想语言拥有精确性和严格性。这很难说是一个什么领域的行为,或许我们可以认为,追求理想语言是全领域的行为,通过构建一个理想语言,我们可以更为便捷地展开数学、哲学、科学的工作,避免歧义和表面语法蒙蔽我们的双眼。(表面语法的常见例子是「存在」这个词,虽然我们会把它当作普通的一阶一元谓词使用,但是实际上大多数情况下它是一个一阶量词,即,二阶谓词。)
我可以举个例子来说明一个严格的证明和一个不严格的证明。假设我们要证明 3+2=5,那么一个不严格的证明如下所示:
· · · | · ·
对,就是五个点用一条竖线分开,左边三个右边两个,这幅图不严格地证明了 3+2=5。
那么严格的证明呢?
根据皮亚诺算数系统的表述,即要证 SSS0 + SS0 = SSSSS0。
根据加法规则(2), a+Sb=S(a+b),将 a 替换为 SSS0,b 替换为 S0,得:
SSS0 + SS0 = S(SSS0+S0)
再次运用加法规则(2),将 a 替换为 SSS0,b 替换为 0,得:
SSS0+S0=S(SSS0+0)
而根据加法规则(1):a+0=a,将 a 替换为 SSS0 得:
SSS0+0=SSS0
因此,SSS0 + SS0 = S(SSS0+S0) = S(S(SSS0+0)) = SSSSS0。
当然,这并不是一个形式证明。
所谓一个严格的数学证明,并不是说这个数学证明已经写成了逻辑符号的形式,而是说,只要我们愿意,可以将这个证明完全形式化。
这里可以看出来一般数学家对于逻辑学的态度:数学应该尽量严格,但是没有必要完全形式化,因为即便是自然语言书写的证明,只要精细到一定程度,我们就可以轻易地将其形式化。
基本上,数理逻辑在上个世界就是这样风靡起来的。作为一种数学书写规范。
数学家不采用完全的形式化证明是有原因的:一个完整的形式表达式实在是太长了。要注意,一本代数书里面基本上会有几百个概念,而每一个概念都对应着一个新定义以及一串新规则的引入。并且,大多数数学概念在阶数上是很尴尬的。群的内部运算是一阶的,但是要刻画一个结构是不是群又似乎必须使用二阶的语言,但是这种表述又是不必要的,这就会引起很多翻译上的麻烦。(我们说 G 是一个群,就等同于说一个集合和一个运算组成的二元组具有一个二阶性质,它们不能具有一个一阶性质,因为这个二元组已经包含了一个集合)
因此,数学的严格性就处于这样一种微妙的位置上:不同于形式命题演算,但却几乎有了形式命题演算在精确性上的所有优点。
当然,我怀疑这并不是真的标明了我们的数学语言没有问题,因为日常语言本身似乎并不阻止我们构建「所有不包含自身的集合构成的集合」或者「所有集合的集合」。数学语言也仅仅是强行禁止我们采用这样的说法,只有当我们使用形式语言的时候,才能明白为什么,因为仅仅是一个简写,正常情况下我们是知道的 x 的论域,所以不需要将它完整地写出来,但实际上我们只有。
「尽量避免自指」是逻辑学给数学的一个忠告,但是这个忠告似乎在除了和数理逻辑相关的领域之外毫无用处。虽然经受过高等数学教育的人都知道哥德尔不完全性定理,但是从来没有一个数学家在证明的时候会考虑说这个命题本身是一个哥德尔句。因为哥德尔句实际上是一种超越正常使用语言的表达方式。我们可以用构建一个哥德尔句,使得这个句子在恰当的情况下能具有自指性质,但是这种句子已经完全不具有几何或者代数直观,而仅仅是为了构建而构建出来的。
当然,并不是说严格性问题不重要,这仅仅是对于受过良好数学训练的人来说不重要,因为严格性已经成为了一种习惯,如果你有兴趣去看看各种民数证明哥德巴赫猜想、费马大定理、四色问题等高冷洋的问题的证明过程,你就会发现严格性一个不错的分界线。猜想多么大胆都可以,但是证明必须是谨慎的。
接下来就是填坑了,数学家开始关心逻辑学问题,大体上是因为第三次数学危机和哥德尔不完全性定理(?我不确定后者对于数学的影响有多大,但是前者至少算是一个危机)。第三次数学危机其实就是想说自指会导致一些不好的东西,比如说句子「这句话是真的」和「这句话是假的」都是不好的语句。后者即是说谎者悖论,无须多说。而前者也不是什么好东西,「这句话是真的」自然是一致的,但是它的真值不取决于任何东西,因为当「这句话是真的」为真时,这句话为真,而当它为假时,这句话为假。这就变成了一个完全封闭的情况,因而这种语句是没有意义的。而说谎者悖论拓展到集合论的领域就是考虑一个「包含所有不属于自身的集合的集合」。(有一些集合是属于自身的,比如说)
这个问题似乎并不是一个数学问题,而是一个语言问题。其中最有问题的词汇就是「所有」这个词。「所有」和「最大」一样,讨论的是某种奇怪的东西。「所有集合的集合」和「最大的正整数」两个词都是应该被排除的,而当我们使用这些词的时候,自然就会产生错误。罗素悖论本身可以视作「所有不包含自己的集合的集合」一词不合法的证明。数学中的词汇并不是单纯根据语法结构使用的,因为从语法和日常语义的角度上来说,我们似乎可以使用诸如「最大的自然数」这样的词汇,而数学通过严格的证明,排除了「最大的自然数」之类的词汇,将其无意义化。当然,ZFC 系统采用的是构建的方法,用了一种更为严格的语言来避免罗素悖论,但是无论如何,只要问题一旦被解决,它就不会再受到重视。正如第一次危机和第二次危机那样,一旦危机被解决,留下来的解决方案就变成了一种传统。
况且,虽然说集合论被视作某种基础的东西,但是实际上只要我们考虑到数学的发展,就会发现「集合论的问题会影响到数学全体」是一个无稽之谈。假设有一天,科学家发现水不是,那么这会导致「水不能解渴」么?显然不会。同理,集合论和数理逻辑所做的努力,是力图将全体数学还原为一些基础的东西,如果集合论出了问题,这并不是数学出了问题,而是还原的方式出了问题,数学的其余部分可以照常运作。当然更为激进的观点是,还原论本身就是一种错误的思维方式,我们说自然数能还原为集合,仅仅是说两个结构之间存在一个同构关系,而并不能说明某种本体论上的优先性。
虽然还有很多各种各样的废话想写,但是就此停笔好了。