可能是因为那个想证四色猜想的吧友那贴吧,突然想做个科普,做的不太好请见谅。
数学中有一些世界性难题,虽然至今未被证明,但是就命题的自身表述而言,它们是非常容易理解的。典型的代表就是哥德巴赫猜想。此外还有四色定理,3N+1猜想等等。有无数人认为自己和历史上的一些命运坎坷的数学天才一样,可以靠证明这些猜想从而名垂历史。于是他们就拿起了手头少许的知识向这些猜想发起了冲锋。但最后的结局无非是一无所获,过了中二期之后不得不承认我们都是一样的普通人。哥德巴赫猜想是一个鱼饵,白白钓去了无数人的时间与精力。为什么会这样呢?
两种谓词
谓词是数学语言的重要组成部分,数学的一阶逻辑也被称为谓词逻辑。谓词是指描述名词的性质的词,在亚里士多德的三段论中,——是人,——会死,都是谓词。在数学中,——是质数,=,都是谓词。在谓词的适当位置填入名词就成为命题,因此谓词又叫命题函数。
学过编程的人可能会对这点体会比较深,有一种谓词无论填入什么名词是可以机器地判定得到的命题的对错。比如——是质数。填入23,命题:23是质数。我们可以从2开始一直到22,让它们除23,看能不能整除。把真看成“0”,假看成“1”。这类谓词是可以用递归的方式定义的(定义0时的值,再用n时的值定义n+1时的值)。这样的谓词生成的命题非真即假,非假即真,真的一定能被证明,假的一定能被证否。
但哥德巴赫猜想绝不是这样的命题,否则它也不会是世界难题了。
形式系统
是否所有的命题真假必定取一个,真的就一定能被证明,假的就一定能被证否吗?希尔伯特在发动希尔伯特计划的时候有一句激情澎湃的口号,点燃了当时无数数学家的激情---“真理就在那里,我们必将知道”。
随后他就被哥德尔泼了一盆冷水。这盆冷水是如何泼下去的?先从形式系统讲起,你们认为是不是所有的实数都可以有一个专属于它的名字?证明又是什么?为了提一下阅读兴趣,先讲一个悖论:
汉语中某些片语表示实数,比如"一个圆的圆周与直径之比"就表示实数π。,如果翻译成英文,英语字母有一定的顺序,所以我们可以把所有片语按照字母顺序排列,然后按照片语中字母的多少排列,少的在前,多的在后。这样我们把能用片语表达的实数排成一个序列,al,a2,a:,……。于是就得到了所有能用有限多字(字母)定义的数了。它们构成了一个可数集合E。现在我们提出一个规则把这个序列改变一下造成一个数来:"设E中第n个数的第n位为p,我们造一个实数如下:其整数部分为0,如果p不是8或9;其第n位小数为p+1,要是p是8或9的话,则第n位变成1。"这个实数显然不属于E,因为它和E中每个数都不一样。但是它们却可以由上面有限多个字组成的话来表示,因此应该属于E,这就出现矛盾。
如果这个编码方式有点难懂的话可以理解成ASCII码。通过这个悖论,首先结合康托的对角法我们可以知道,有的实数是没有名字的,这就是用语言自身的局限,无论有怎样复杂的语言,都不可能为每一个实数命名,无论何时,未命名的实数总是比已命名的多得多。
另外,这个悖论是个伪悖论,用最通俗的方法解释,设这“实数”的编码为N0,那请问它的N0位是什么?这个方法根本就没给出一个会引起矛盾的实数。但它第一眼看上去就像个悖论一样。自然语言就有这样的复杂性,没有规定好怎样的字符串是一个实数的名,单就“语义”去“悟”它是不是一个实数的名就会引起这样的误会。
为了避免这样的误会,数学中要严格地对数学对象命名(哪怕不能给所有的对象命名),原则上是不允许搞一词多意的(但事实上还是搞了,因此那样的缩写是不严格的),把数学名词的严格形式化的一系列规则是形式系统最重要的组成部分之一。
证明是什么
证明必然是一串字符,另外有个谓词,--是--的证明,填进证明(字符串),哥德巴赫猜想(字符串)后又得到一个命题。我说我得到了哥德巴赫猜想的证明,写了一大堆,没人相信我,所有人都讥笑我,那我现在要证明我之前给的证明是哥德巴赫猜想的证明,怎么样?那我怎么证明证明是证明呢?还记得之前讲的递归性谓词吧,如果把--是--的证明定义为一个递归谓词的话,非真即假,非假即真,真的一定能被证明,假的一定能被证否。计算机都承认我给的证明是对的,你们还能不承认?这个谓词被希尔伯特学派找到了(虽然实际的数学活动中几乎不会使用,相当复杂)(把这个方法完全数字化的是哥德尔,哥德尔码是现代计算机编码的雏形,在理论分析上有天然的优势,但实际用在计算机上会浪费大量算力,一般计算机使用ASCII码),他们发展出了相当完美且严格的数学基础理论,提出了无矛盾性和完备性等概念。希尔伯特计划出世,他们准备在当年的学派混战中大杀四方。证明不是随便写的,不是什么玄学的启发,或者写得别人不知所云的东西。高等的数学分支使用着各种各样的奇怪语言,但它们的核心是一样的,让有耐心看的人看懂。
哥德尔的冷水
在有了证明的严格定义后,哥德尔证明了这样一个定理:每个包含有一阶形式逻辑与皮亚诺公理(用它作公理或能证明它都算)且无矛盾的形式系统总有一个命题A(p),它与它的否定都不可证明,并且还有如果它不可证明,它是真的(所以是真的)。那几个条件几乎适用于所有的数学领域(但也有不受影响的领域,比如研究SAT处理器等等)哥德尔不完备定理的证明中利用了递归函数的知识,而且证明非常的长,不多说了,有兴趣自己看。
所以哥德尔告诉了希尔伯特,有的真命题是不可证的。
哥德巴赫的梦想
如果把一个人现有的知识(比如初等数论)和健全的逻辑看成是一个形式系统的话,那么哥德巴赫猜想就是他的那个真但不可证,如果他停留在原地,梦想仍旧遥不可及。去够到梦想的方法只有一个,学习,扩大自己的系统,说不定有天,梦想就可证了。虽然总有可证范围以外的东西,但数学会不断发展,数学是永无止境的。
数学中有一些世界性难题,虽然至今未被证明,但是就命题的自身表述而言,它们是非常容易理解的。典型的代表就是哥德巴赫猜想。此外还有四色定理,3N+1猜想等等。有无数人认为自己和历史上的一些命运坎坷的数学天才一样,可以靠证明这些猜想从而名垂历史。于是他们就拿起了手头少许的知识向这些猜想发起了冲锋。但最后的结局无非是一无所获,过了中二期之后不得不承认我们都是一样的普通人。哥德巴赫猜想是一个鱼饵,白白钓去了无数人的时间与精力。为什么会这样呢?
两种谓词
谓词是数学语言的重要组成部分,数学的一阶逻辑也被称为谓词逻辑。谓词是指描述名词的性质的词,在亚里士多德的三段论中,——是人,——会死,都是谓词。在数学中,——是质数,=,都是谓词。在谓词的适当位置填入名词就成为命题,因此谓词又叫命题函数。
学过编程的人可能会对这点体会比较深,有一种谓词无论填入什么名词是可以机器地判定得到的命题的对错。比如——是质数。填入23,命题:23是质数。我们可以从2开始一直到22,让它们除23,看能不能整除。把真看成“0”,假看成“1”。这类谓词是可以用递归的方式定义的(定义0时的值,再用n时的值定义n+1时的值)。这样的谓词生成的命题非真即假,非假即真,真的一定能被证明,假的一定能被证否。
但哥德巴赫猜想绝不是这样的命题,否则它也不会是世界难题了。
形式系统
是否所有的命题真假必定取一个,真的就一定能被证明,假的就一定能被证否吗?希尔伯特在发动希尔伯特计划的时候有一句激情澎湃的口号,点燃了当时无数数学家的激情---“真理就在那里,我们必将知道”。
随后他就被哥德尔泼了一盆冷水。这盆冷水是如何泼下去的?先从形式系统讲起,你们认为是不是所有的实数都可以有一个专属于它的名字?证明又是什么?为了提一下阅读兴趣,先讲一个悖论:
汉语中某些片语表示实数,比如"一个圆的圆周与直径之比"就表示实数π。,如果翻译成英文,英语字母有一定的顺序,所以我们可以把所有片语按照字母顺序排列,然后按照片语中字母的多少排列,少的在前,多的在后。这样我们把能用片语表达的实数排成一个序列,al,a2,a:,……。于是就得到了所有能用有限多字(字母)定义的数了。它们构成了一个可数集合E。现在我们提出一个规则把这个序列改变一下造成一个数来:"设E中第n个数的第n位为p,我们造一个实数如下:其整数部分为0,如果p不是8或9;其第n位小数为p+1,要是p是8或9的话,则第n位变成1。"这个实数显然不属于E,因为它和E中每个数都不一样。但是它们却可以由上面有限多个字组成的话来表示,因此应该属于E,这就出现矛盾。
如果这个编码方式有点难懂的话可以理解成ASCII码。通过这个悖论,首先结合康托的对角法我们可以知道,有的实数是没有名字的,这就是用语言自身的局限,无论有怎样复杂的语言,都不可能为每一个实数命名,无论何时,未命名的实数总是比已命名的多得多。
另外,这个悖论是个伪悖论,用最通俗的方法解释,设这“实数”的编码为N0,那请问它的N0位是什么?这个方法根本就没给出一个会引起矛盾的实数。但它第一眼看上去就像个悖论一样。自然语言就有这样的复杂性,没有规定好怎样的字符串是一个实数的名,单就“语义”去“悟”它是不是一个实数的名就会引起这样的误会。
为了避免这样的误会,数学中要严格地对数学对象命名(哪怕不能给所有的对象命名),原则上是不允许搞一词多意的(但事实上还是搞了,因此那样的缩写是不严格的),把数学名词的严格形式化的一系列规则是形式系统最重要的组成部分之一。
证明是什么
证明必然是一串字符,另外有个谓词,--是--的证明,填进证明(字符串),哥德巴赫猜想(字符串)后又得到一个命题。我说我得到了哥德巴赫猜想的证明,写了一大堆,没人相信我,所有人都讥笑我,那我现在要证明我之前给的证明是哥德巴赫猜想的证明,怎么样?那我怎么证明证明是证明呢?还记得之前讲的递归性谓词吧,如果把--是--的证明定义为一个递归谓词的话,非真即假,非假即真,真的一定能被证明,假的一定能被证否。计算机都承认我给的证明是对的,你们还能不承认?这个谓词被希尔伯特学派找到了(虽然实际的数学活动中几乎不会使用,相当复杂)(把这个方法完全数字化的是哥德尔,哥德尔码是现代计算机编码的雏形,在理论分析上有天然的优势,但实际用在计算机上会浪费大量算力,一般计算机使用ASCII码),他们发展出了相当完美且严格的数学基础理论,提出了无矛盾性和完备性等概念。希尔伯特计划出世,他们准备在当年的学派混战中大杀四方。证明不是随便写的,不是什么玄学的启发,或者写得别人不知所云的东西。高等的数学分支使用着各种各样的奇怪语言,但它们的核心是一样的,让有耐心看的人看懂。
哥德尔的冷水
在有了证明的严格定义后,哥德尔证明了这样一个定理:每个包含有一阶形式逻辑与皮亚诺公理(用它作公理或能证明它都算)且无矛盾的形式系统总有一个命题A(p),它与它的否定都不可证明,并且还有如果它不可证明,它是真的(所以是真的)。那几个条件几乎适用于所有的数学领域(但也有不受影响的领域,比如研究SAT处理器等等)哥德尔不完备定理的证明中利用了递归函数的知识,而且证明非常的长,不多说了,有兴趣自己看。
所以哥德尔告诉了希尔伯特,有的真命题是不可证的。
哥德巴赫的梦想
如果把一个人现有的知识(比如初等数论)和健全的逻辑看成是一个形式系统的话,那么哥德巴赫猜想就是他的那个真但不可证,如果他停留在原地,梦想仍旧遥不可及。去够到梦想的方法只有一个,学习,扩大自己的系统,说不定有天,梦想就可证了。虽然总有可证范围以外的东西,但数学会不断发展,数学是永无止境的。