王垠 原因與證明

2021-06-19 04:15:30 字數 1234 閱讀 8076

我在 cornell 的時候經常遇到這樣的問題,那就是教授們一上課就在黑板上寫長篇的「定理證明」,全體同學認認真真在下面抄筆記,就連只有十來個人的小課也是那樣。有些寫字速度慢的人就不得不帶上小型錄音機,把教授的課全都錄下來,要不就是之後去借別人的筆記來抄。

有一次某知名教授照著講義,背對著學生,在黑板上寫了大半節課,寫下好幾板的證明,證明的是 simply typed lambda calculus (stlc)的 strong normalization 特性(sn)。剛寫完就到下課時間了,他回過頭來喘了一口氣,說:「any questions?」沒有人啃聲,於是他說:「很好!下課!」

幾天後我問他,你證明了 stlc 有這個特性,然而你卻沒有告訴我它「為什麼」有這個特性。他神氣的看了我一眼:「你不懂嗎?」我說:「你的證明我看懂了大部分,可是乙個東西具有如此的性質,並不是因為你證明了它。這性質是它天生就有的,不管你是否能證明它。我想知道的是什麼讓 stlc 具有這個性質,而不只是證明它。」他說:「你問這樣的問題有什麼意義嗎?你需要非常聰明,並且需要經過大量的努力才能想出這樣的證明。」

兩年之後,我在 indiana 上了另外一堂程式語言理論課。教授是我之前的導師 amr sabry。他上課從來不帶講義,貌似也沒有準備,漫不經心的,卻每次都能講清楚問題的關鍵。於是有一天他也開始講 stlc 的 sn 特性。他說,我不想寫下這個證明讓你們抄,我只告訴你們大概怎麼去想。sn 的意思就是程式肯定會「終止」。所有會終止的程式,都會有乙個「特徵值」會隨著程式的執行而減小。你需要做的就是找到 stlc 的「特徵值」是什麼。接著他就開始在黑板上畫乙個圖……

過了一段時間,我不僅學會了這個「證明」,而且知道了 stlc 具有如此特性的「原因」。

從以上的故事,以及你的親身經歷中,你也許注意到了大部分的教育過分的重視了「證明」,卻忽略了比證明更重要的東西——「原因」。

原因往往比證明來得更加簡單,更加深刻,但卻更難發現。對於乙個事實往往有多種多樣的證明,然而導致這個事實的原因卻往往只有乙個。如果你只知道證明卻不知道原因,那你往往就被囚禁於別人製造的理論裡面,無法自拔。你能證明乙個事物具有某種特性,然而你卻沒有能力改變它。你無法對它加入新的,好的特性,也無法去掉乙個不好的特性。你也無法發明新的理論。有能力發明新的事物和理論的人,他們往往不僅知道「證明」,而且知道「原因」。

打個比方。證明與原因的區別,就像是犯罪的證據與它的原因的區別。證據並不是導致犯罪的原因。有了證據可以幫助你把罪犯繩之以法,可是如果你找不到他犯罪的原因,你就沒法防止同樣的犯罪現象再次發生。

古人說的「知其然」與「知其所以然」的區別,也就是同樣的道理吧。

觀王垠有感

今天閒著無聊,偶然看見王垠的簡單介紹,懷著好奇心看了他的相關經歷,看完有不少觸動,再加上自己的最近對於未來也有很多想法,於是記下一筆。王垠主要寫過幾篇文章,讓他出名的包括 完全用linux工作 寫給支援和反對 完全用linux工作 的人們 清華夢的粉碎 寫給清華大學的退學申請 前兩篇我沒讀,我讀了後...

牛人專題 王垠

我喜歡厲害的人,更喜歡追隨厲害的人的腳步,但是我也接受資歷平庸的自己,希望能在漫長的歲月裡更新迭代,企及厲害的人物的一點點的交集。其實我是不算很能尊敬網紅的,因為我覺得厲害的人當如那些科學家,院士等,不張揚,低調。後來,慢慢的了解後發現,其實就連曾國藩都會因為得失而欣喜,所以那些低調的人,其實也沒什...

原因與證明

我在 cornell 的時候經常遇到這樣的問題,那就是教授們一上課就在黑板上寫長篇的 定理證明 全體同學認認真真在下面抄筆記,就連只有十來個人的小課也是那樣。有些寫字速度慢的人就不得不帶上小型錄音機,把教授的課全都錄下來,要不就是之後去借別人的筆記來抄。有一次某知名教授照著講義,背對著學生,在黑板上...