前几天和别人讨论电影《牛津杀手》,想起当中的片头说到的一本书叫做《逻辑哲学论》。作者维特根斯坦在 第一次世界大战时期是一名普通的士兵。在战场上,别人都开始撤退了,可是他却无动于衷埋头记笔记,不管身边有多少炮弹在爆炸。他写成的这本书就是《逻辑哲 学论》。不过今天不打算说这本书,今天打算说的是书里提到的以及我最近认为的一个很重要的事,所谓的“哥德尔不完备定理”。
哥德尔不完备定理是哥德尔证明了的一个定理。全文叙述如下:
任何一个相容的数学形式化理论中,只要它强到足以蕴涵皮亚诺算术公理,就可以在其中构造在体系中既不能证明也不能否证的命题。
解释一下。所谓相容的,指的是这个系统中的所有定理都是相互协调的,没有矛盾的;所谓皮亚诺算术公理,指的是自然数法则,1是最小的自然数,相邻的 自然数相差1,很简单吧。那么,这个定理就可以这样理解:在一个本身没有逻辑矛盾的理论体系内,如果可以运用自然数法则的话,那么其中必然有某些命题,是 永远也无法证明或者证伪的,也就是永远也没办法知道对错的。
这个定理太重要了。直接让伟大数学家希尔伯特的一个计划流产了。更为重要的是,他创立了一本新的学科,叫做元数学。元数学,即利用数学知识来研究数学这门学科本身。
要证明这个定理倒也不难,最近几天我也想到了一种方法,可能不是非常严格,但是足够说明问题了。首先我们引入一种叫做哥德尔数的概念。其实很简单,就是把人类的语言系统进行符号化,所有的语言文字、符号、变量,都指定一个唯一的自然数作为标志。比如:
- x指定为1;
- 平方指定为2;
- =指定为3;
- 乘号,指定为4
- ……
还可以指定下去,怎么规定完全随你的喜欢。好了,现在我如果想写一个方程:x的平方=x乘以x,就可以用指定符号代替,写作:1,2,3,1,4,1。一共6个数,来表示本来的方程的6个符号。
现在我们从2开始取6个质数,分别是2,3,5,7,11,13.然后构造一个新的数字Q。定 义:Q=2^1*3^2*5^3*7^1*11^4*13^1。每一项都是质数的指数形式,其中底数是质数序列,他们对应的指数就是方面翻译了的那个方 程。这样得到一个Q是2997744750。根据质数公理,我们可以在已知2997744750这一个数的情况下,还原回原来的1,2,3,1,4,1这 一组数字,从而查表得到对应的方程。而且,还原的结果是唯一的,因为质因数的分解是唯一的,而不论Q有多大。(在MATLAB中这个工作靠函数 factor完成。)这样一来,我们就可以把所有的命题和语言,唯一地转化为一个数字,并且能够唯一地还原回去。
因此,假如我们构造这样一个命题F(x)=0,然后可以把这个命题变成它的哥德尔数G,再把G当作自变量带入,得到F(G)=0。好了,想起什么 了?对了,理发师悖论。再通过利用理发师悖论,就可以得到哥德尔不完备定理了。简单地说,就是假如我们构造一个命题A=“这个命题不能被证明或者证伪”, 然后去证明这个命题A,无论命题A是否被证明,其结论都是哥德尔不完备定理。
最后一个问题,语言可以容纳自然数法则么?如果可以的话,辩论就失去了意义。因为一定有这样的观点存在,它永远无法被证明是对的或者错的。


最新评论