溫馨提示:內容有些複雜,有興趣請耐心看完。一遍沒看懂,可以多讀幾遍。
不管是哥德巴赫猜想還是孿生素數猜想,數學家們在證明的時候估計哥德爾都在旁邊得意的笑著!因為哥德爾不完備定理:數學家的噩夢。
20世紀初的時候,以希爾伯特為首的數學家們,有一個夢想就是證明數學是自恰的。數學自恰就是數學這個體系可以做到在以一定的公理出發,在數學邏輯的運行下推論出來的所有的定理都是相融的,不會出現自相矛盾的地方。但是哥德爾,一個奧地利的邏輯學家,卻用他的不完備定理打破了數學家們的美好理想。
哥德爾不完備定理說的是任何一個自恰的數學系統,必然包含了系統裡的公裡定理無法證明也無法證偽的命題。舉一個簡單例子:一個火星人說所有的火星人都是說謊的,那麼請問這句話到底是真是假呢?如果這句話是真的,那麼說明確實所有火星人都是說謊的,那麼這個火星人說的這一句「所有火星人都是說謊的」就是謊話,那麼也就是火星人是不說謊的,那麼也就是說「所有火星人都是說謊的」這句話是一句真話,那麼這個火星人還是在說謊,這樣下去就是沒完沒了,也就是說這句話無法被判斷到底是真還是假。
當然有的人會覺得這就是個文字遊戲是一個小聰明。那麼我們就來看看哥德爾的證明。數學定理的推導都是從公理出發,經過數理邏輯的推導可以推導出很多定理。比方說歐幾裡得幾何其中有一條公理就是兩條平行線永不相交。通過這條公理能有幾千條幾何學的定理被推導出來。公理是無法被證明的,只能是不證自明,你只要認為這條公理是對的,就可以在在這個基礎上開始推導。
我們知道計算機是用0和1表達所有的信息的,我們可以設定這樣一條規則,給每條公理定理編號。所有的公理我們用一個素數代表,每個由公理推導出來的定理,命題用一個合數代表,他可以拆成幾個素數的乘積。也就是能被公理推理出來的命題能寫成那幾個公理所對應的素數的乘積。現在我們假設一個自恰的數學系統,裡面有若干的有限條公理,都用素數表示。
來看這樣的一個命題,這個命題是這樣說的:本命題不能由系統裡的公理推導出來,那麼請問這條命題是真命題還是假命題?先假設是假命題,也就是說這條定理能被這些公理證明,那麼他必然是個合數,意味著你可以證明這條命題說的「本命題不能被這些公理推導出來」是真的,那麼這個命題所對應的數字是個素數,這就與一開始這個命題是個合數相矛盾,那麼這條命題不可能是偽命題,所以這條命題只能是個真命題,也就是這條命題對應的數字一開始就應該是個素數,這樣才能讓這條命題那自恰。
既然他是素數,他就應該被歸類到剛才的那些公裡當中去成為一條新的公理,也就是現在對了一條公理。那麼現在可以如法炮製了。再舉一個命題叫「本命題不能被剛才多了一個公理的系統裡的公理推導出來」,那麼根據剛才的操作這條新的公理也應該被歸到你的公理當中去。這樣一直進行下去,會得到無限個公理,這就是哥德爾不完備定理的證明。
這就意味著數學系統裡的公理有無限個,不可能用有限的公理推導出所有的數學定理。所以人類以有限時間找到的有限個數學公理永遠不可能把數學全息,數學永遠不能自洽,並且很多著名的數學命題比如哥德巴赫猜想,黎曼猜想這樣猜想類的命題試起來都對,但我們遲遲證明不了他。可能不是因為他難,而是很有可能是因為他其實是一條公理,你去驗證怎麼都正確,但是就是證明不了。因為公理無法被證明的,只能被驗證,所以哥德爾作為一個邏輯學家,用簡單的邏輯就證明了數學家的努力是永遠沒有止境的。
哥德爾不完備定理還是比較繞的,弄不明白你就多看幾遍