我在不同场合见到类似问题:
- 听说编译器是用编译器来编译的,那第一个编译器是怎么来的?
- 世界上先有鸡还是先有蛋?第一只鸡是怎么来的?
- 宇宙是由一个奇点大爆炸来的,那大爆炸之前宇宙是怎么样的?
- 数学中,可以用一个定理去证明另一个定理,那第一个定理又怎么证明呢?
这些问题来自不同领域,但其精神是相通的,都是问一个起源。其基本的想法是,一个现象去解释(产生)一个现象,就可以解释各种各样的现象。那反过来,各种现象自然会汇集到起源的地方,那这个起源应该如何解释呢?
我当然不能回答此类问题的全部细节,这需要付出努力,某些方面甚至还无解的。物理上,宇宙的起源问题被称为第一推动问题,是个终极问题。有一套很好的科普书,就叫第一推动丛书。
这类问题很迷人,又很难回答。假如初中高中就产生类似疑问,身边没有其他人解释,独自思考,很可能就卡住想不通,一直迷惘。
拿我做例子。我上初中时学几何,有个证明,是证明三角形的内角和是 180 度。证明的方法是作一条边的平行线,因为两直线平行,内错角相等。于是三角形的三个角等于一条直线的平角,平角是 180 度,于是三角形的内角和是 180 度。
这个证明很简单,但我有疑问。为什么两直线平行,内错角相等?是因为两直线平行,同位角相等。那为什么两直线平行,同位角相等?我翻书,书上没有说。问老师,老师说这个是公理,不用证明,考试时可以直接使用。但为什么公理就不用证明呢,这个公理是怎么来的?老师说不清楚,只是叫记住就行。我向同桌讲我的疑问,他甚至不清楚我疑问什么,只说当然不用证明的啦,书上写着的啦。
我认为,类似疑问之所以难以想通,是有个思维盲点。试图在系统 A 的范围内,去回答系统 A 起源问题。这通常没有答案。
一个学科,表象都是无穷无尽的。假如一种种表象分别研究,自然会无穷无尽。于是人们不会单纯研究表象,而是会设立几条最基本的原理,和一套基本原理的组合法则。知道基本原理和组合规则,其它表象就可以归结成基本原理和基本组合法则的重复推演。只要研究好基本原理,研究好组合规则,其它的表象可以一大批统一地解决了。这几条基本原理和基本的组合规则就是研究这个学科的起点。
但那这些基本原理又是怎么来的呢?
一个科学本身就是一个系统 A,基本原理和组合规则就是这个系统 A 的起点,在系统 A 本身是解释不了的。假如这些基本原理在系统 A 中可解释,那它就不是基本原理呢,自然会有更基本的原理。于是系统 A 的起源问题,只能在一个更大的系统 B 中才能得到解释。而描述系统 B,并非是系统 A 的责任。这个科学的书,通常一上来就定义好这些基本原理和组合规则,之后一条推理一条,一切都整整齐齐。
各个学科有一个层次的关系,甚至是一个网状的关系。这些基本原理,是人们在更大范围的系统 B 中,根据经验、推导、试错而得出的。为一个学科找到完备、没有矛盾、又有意义的基本原理和组合规则,本身是些天才人物。需要反复试错。
看到这里,可能会觉得,你啰啰嗦嗦说了一大堆,实际上还没有说清楚基本原理是怎么来的?是啊,我自己也说不清楚啊。我只是想强调,试图在系统 A 的范围内,去回答系统 A 起源问题,是不能找到答案的,需要在更大的系统中寻找。我自己就是犯了这个思维盲点,一直想不通为什么“两直线平行,同位角相等”不需要证明。直到上了大学,看了一些科普书,了解了公理系统,知道了平行共设的历史,才最终弄明白。
我想到《雪山飞狐》的一个情节。那些武林人士上了一座高山,绳索被割断了,所有人下不去。最终让一个飞鸽(还是飞鹰?)送上来一条细线,这条细线拉到尽头,绑着一条粗些的线。于是飞鸽送上细线,细线拉起粗线,粗线拉起细绳,细绳拉起粗绳,粗绳拉起更多的粗绳。
稍微回答最开始的问题(细节实际我并不清楚)
- 第一个编译器是怎么来的,要去了解自举(Bootstrap)的概念。
- 先有鸡还是先有蛋,涉及到进化论。(进化论是翻译错误,应该是演化论)
- 时间是宇宙的一部分,爆炸之前还没有宇宙,自然没有时间。因而问爆炸之前是没有意义的。
- 第一个定理在此系统中不可证明,是公理。只能从在更大的系统中,根据经验、推导、试错,来人为设定。