Will stop?

1 打破幻想
本来是想写一写关于哥德尔定理与形式系统的问题。但是这引发了我新的思考。一个关于构建本身的思考。
哥德尔定理的证明实际上非常复杂,这源于他论文的前一部分的构建。他花了很大篇幅去构建自然数和形式系统之间的映射关系。这一点上我们可以从康托关于等势的构建获得启发。但对于我们来说,体会到这一点灵感已经足够了。
不同于关于可数性的证明问题,那边的构造是简单清晰的,不会引起不必要的引申和遐想。而哥德尔这边显然是一个非常宏大的目标。以至于,我们很难去真正意识到哥德尔定理的边界,用计算机术语来讲也就是我们容易混淆作用域。
因此,关于哥德尔定理的误解和滥用是非常之多的。比如,很多人将它与不可知论混为一谈。
将问题简单化,通俗化是我们通向理解的一条重要道路。然而,这样的道路是留给有准备的人的。也就是说,首先他必须存在正确的完整的理解这个事物的可能性,然后用轻松的方式表达以获得愉悦和启发。
但类似哥德尔这样的问题,化繁为简的表达会起到很大的破坏作用。精简的表达却又不能被大家所接受,比如:
任何相容的形式系统,只要蕴涵皮亚诺算术公理,它就不能用于证明它本身的相容性。
这里总共有三句话,前两句就是一个简历形式系统和自然数映射关系的过程。也就说,当我们构建完成,会发现不相容的命题。这个命题不可在这个系统内被证明。
这个定理主要作用是因为人类总是有这样的幻想——容纳整个世界。
哥德尔定理打破了这个幻想,也就说说我们没法从基本算术证明比它更强的系统,因为无法在其内部证明它自己的相容性。
看到这样有力的结论很难不浮想联翩,然而正是这样的浮想很容易把自己带偏。
马克思主义也是一个非常复杂的构造,马克思自己试图表达自己的思想都没能最终取得完全的结果。一方面是因为他过世的比较早,另一方面是因为这个理论的构造太复杂,里面有很多的“递归”互相嵌套。
倘若用极其简单的言语来描述马克思的思想,就会出现大篇幅的类似某朝政治课本中的马克思。要了解马克思必须了解他关于整个系统构建的最初思考和构建过程。这个过程太复杂了,类似这样的系统,是不宜用来降低维度以取得“理解”上的妥协的。
我们在回到幻想这个话题上,我们不仅仅是试图容纳整个世界,同时希冀以一种省力的方法去理解世界。我们期望从一篇小短文,一个小句子那里获得自然的运行规则。
或许,我们应该胃口小一点。只要能从这些庞大的智慧体系中要是获取到一点点有限的启发,我想已经是很好的经历了。
顺带说一下,这个非常惊人的哥德尔定理对于数学本身并没有产生任何破坏。
2. 提出下一个问题
关于哥德尔定理我认为不宜多谈了,但利用从它这得到的启发我们可以提出下一个问题。
没错,这一次,我们不仅仅要构建参数、函数、集合了。我们要提出一个新问题。
根据爱因斯坦的说法,提出问题是最重要的能力。现在让我们来运用它。
哥德尔构建映射的过程,实际上我们之前已经在可数的无限? - 简书这一篇中见识过了。
在那一篇里,我们在试图建立无理数与自然数列一一映射的过程中出现了矛盾。通过这个矛盾我们进一思考,我们是否能再构造出一些类似的列表?或者说这样的列表都是因为什么样的共同原因导致构建失败的?
首先,我们可以明确的是这样的列表试图囊括的范围都特别大。
其次,我们总能找到符合列表准入条件,但却在列表之外的情况。
或者,列表自身没法确定自己的位置
那么,思路就有了,我们要提出的新问题是关于递归的,是需要自己调用自身的。而调用的结果包含不可避免的矛盾。
换而言之:
G是不包含自身的集,但我们能在这个集中构造出G对自身自指,从而引发矛盾。
或者G约定列出了所有情况,但在调用G的时候出现了例外。
针对第一种情况,我们可以这样加以阐述:
G定义为包含所有不包含自身的集的集合。如果G真的不包含自身,那么G并没有实现将所有不包含自身的集囊括起来的定义。如果G包含它自身,则与其定义直接相悖。
上面这段话,实际上就是罗素悖论了。著名的理发师问题就是一个通俗的表达:一个村里的理发师给所有不给自己理发的人理发,那么他给不给自己理发?
另外,我们可以发现第二种情况正是我们在构造无理数排序碰到的矛盾。
实际上,面对这样的列表我们可以永远地玩下去。
假设获得了一张无限长的列表。这个列表囊括所有命题,而这些命题都可以通过列表系统内判断程序是否有结果。这样就实现了自指。
我们先构造一个没有结果的问题肯定是个循环的问题,那么我们这样构造它:

我们再构造一个可以判断所有程序是否停止的程序:

如果我们输入上面的f(n),结果自然是#f。如果判断使用will_stop?判断will_stop?自身,那么答案将是#t。因为我们定义will_stop?是肯定会输出结果的。
在此基础上,我们加上G问题,并用will_stop这一肯定有结果的判断引用G:

这里会发生什么呢?
Will stop?