※ 引述《PikaCracker (成功湖之狼)》之铭言:
: 小弟刚刚在阅读赛门辛的FLT纪录
: 看到哥德尔不完备定理
: 好像是一个不仅止于数学或哲学的东西
: 也粉碎了希尔伯特逻辑的野心
: 但小弟还是看不太懂 有咪有大大能解说一下鸭
: 有没有哥德尔不完备定理的八卦?
各位温拿安安,小妹是键盘数学家、30cm、高富帅、胜利组、温拿、E cup。
假设所有正确的陈述都可以被证明,那我们来看看会发生什么事。
考虑任意的一支程式,我们称它为a.exe好了,假设它不会和使用者互动喔。
首先我们把“a.exe执行后不会停”写成一个数学的陈述。
然后造一支甲程式,它的功能是列举所有1个字的话、然后列举所有2个字的话、然后列举
所有3个字的话、...,以此类推,每当列举到一句话时,甲程式就检查这句话是不是
“a.exe执行后不会停”的证明,如果是,它就印出“a.exe执行后不会停”。
观察1. 只要“a.exe执行后不会停”一语可以被证明,甲程式就迟早会列举到这句话的一
个证明,并因而印出“a.exe执行后不会停”。
现在造一支乙程式,它会轮流跑甲程式和a.exe,例如第1、3、5、7、... 秒跑甲程式,
第2、4、6、8、... 秒跑a.exe,过程中,一旦甲程式印出“a.exe执行后不会停”,乙程
式便宣布“我知道了,a.exe执行后不会停”,反之一旦a.exe停了,乙程式便宣布“我知
道了,a.exe执行后会停”。
我们分两个情形讨论:
(i). a.exe执行后不会停。根据我们先前假设的“所有正确的陈述都可以被证明”,可知
“a.exe执行后不会停”可以被证明,因此由观察1,甲程式迟早会印出“a.exe执行
后不会停”,即乙程式迟早会宣布“我知道了,a.exe执行后不会停”。
(ii). a.exe执行后会停。那么乙程式迟早会见证a.exe停的那一天,并宣布“我知道了,
a.exe执行后会停”。
我们得到了一个方法,足以判断任意一支程式a.exe是否会停!!!这和Alan Turing的一
个著名结果矛盾,因此我们只好说一开始假设的“所有正确的陈述都可以被证明”是错的
。
数学上的确有重要但不能被证明、也不能被反证的陈述。
如果一个无限大的集合的元素可被排列成第一个元素、第二个元素、第三个元素、...,
且任何元素都有被排到,那么我们就称这个集合为一个可数集,反之则称为不可数集。
数线上所有的点构成的集合~也就是实数集~便是一个著名的不可数集。
“连续统假设”声称不存在比实数集小的不可数集(在此不赘述大小的比法),这就是一
个不能被证明也不能被反证的陈述,证明此事的大数学家为Kolmogorov和Cohen。