標籤:

可不可以說雖然數學歸納法本身是嚴謹的,但我們使用時卻不可能做到完全嚴謹?

數學歸納法的定義,我引用自陶哲軒的分析教材:

Axiom 2.5 (Principle of mathematical induction). Let P(n) be

any property pertaining to a natural number n. Suppose that P(O)

is true, and suppose that whenever P(n) is true, P(n++) is also

true. Then P( n) is true for every natural number n.

注意那個粗體的whenever,嚴格的說,在P(0)為true的基礎上,我們必須驗證在任何情況下P(n)和P(n++)都為true,才能得到最終的結論。在實際使用中,我們只是隨機挑選了一個或幾個n和n++來驗證,不可能滿足「任何情況」這個條件,因為那將有無窮多的情況需要驗證。

也就是說數學歸納法本身雖然是嚴謹的,但使用中我們不可能、做不到完全嚴謹?


forall n, P(n) 
ightarrow P(n+1)

這是一整個命題,並不是無限多個命題的交集。前面的那個「對於任意的n」是這個命題的修飾。在推理過程中,這個修飾可以跟著推理過程保留下來,而不需要真的去對每一個n做驗證。最終來說,這個修飾來自於公理當中本來就有的修飾,比如:

任意兩點可以通過一條直線連接。

它實際上是說:

forall x,y, exists l, p(l,x), p(l,y)

其中p(l,x)表示直線l過點x。

再比如:

任意正整數都有一個後繼

實際上是

forall x, exists y, p(x,y)

也就是「任意正整數x,存在正整數y,使得y是x的後繼」

因為公理中已經處理了無窮這個概念,所以我們運用公理推理就可以一次證明所有的n都可以成立,而不是一個一個去證明。


根本問題在於你對演繹法毫無概念。

形象點說,數學歸納法分為兩個「部件」。

部件1是「靜」態的,檢查輸入序列開頭是否正確(證明P0時成立)。

部件2是「動」態的,你可以認為它是一個「邏輯機器人」,這個機器人的邏輯構成是「如果Pn正確,則Pn+1必定正確」——你得先證明它成立,這個「邏輯機器人」才能造出來。

然後,把部件1和部件2組合起來:部件1證明了P0成立;於是部件2就說既然P0成立那麼P1肯定也成立;P1成立那麼P2當然也成立……

換句話說,部件1是打基礎,部件2是推廣器。

有了部件1打好的基礎後,部件2「嗖」的一下就沿著自然數軌道爬到無窮遠了,於是整個自然數域自動得證(嗯,有點像多米諾骨牌的感覺)。

換句話說,數學歸納法相當於「構造了一個可遍歷整個問題空間的邏輯機器人「,然後你只要證明了這個」機器人「在整個空間都能運行良好,那麼整個問題空間已經被遍歷了。

事實上,這種思路還可以推廣到自然數以外的領域。比如,實數域。

如果你真徹底理解了,這個推廣還是很容易的。


經過我數年線上線下的各種答疑,我發現如何正確理解假言命題(若P則Q)是本科數學入門的其中一個大難點。

關於數學歸納法:

https://www.zhihu.com/question/60467390/answer/176478896

類似地還有,

答疑高等代數時,有部分同學不理解為什麼證明線性無關的時候,要設線性組合為0,這是怎麼得出來的?

答疑數學分析時,關於henie定理以及一系列類似的例子,有部分同學不理解為什麼要假設數列有極限?

這些本質上都是假言命題沒有深刻被理解。

另外,似乎題主還有一個問題:不理解如何證明全稱命題?數學歸納法是對任何的n大於等於2,滿足若P(n-1)則P(n)。我們的證明可以保證驗證「任何的」,而不是只驗證了一部分。我們證明全稱命題時,就是設一個字母出來代表集合中一個普通的元素,然後對這個普通的元素考察是否有結論中的性質。

--------------

我知道了,萬惡的英語邏輯!題主你被他坑了!

Suppose that P(O) is true, and suppose that whenever P(n) is true, P(n++) is also true. Then P( n) is true for every natural number n.

按照漢語的邏輯,P(n++) 之前少了個then!所以產生了很大的歧義:whenever了兩句話,到底是一起做條件呢還是前面做條件後面做結論?

更可惡的是,這裡面加了一個不明所以的also。如果沒有這個also,可能還能判斷清楚,因為逗號之間沒有連詞。加了個also,讓人一頭霧水,很容易誤解成並列關係!

https://www.zhihu.com/question/38510895/answer/192442952

前幾天剛回答的一個。我覺得在數學定理的敘述中,明確「條件隔板」「結論隔板」非常非常重要!在這類問題上,我覺得這是英語的一個問題。我是主張打破這種語法壁壘以獲得更精確的表述。當然,我一個小小的學生人輕言微~


forall


數學歸納法是公理(模式),形式化表達為:

?xψ(x)?ψ(0)∧?x(ψ(x)→ψ(S(x)))

S是後繼函數,一般指x+1(但是因為+是用S定義的,所以公理里不用+;S也不一定是x+1,當然也可以x+2,或者是「下一個質數」,如果x是集合,也可以是x∪{x}等等,得看你用在什麼地方了)

ψ是個謂詞。

數歸包含兩個部分:

1)初始條件(ψ(0))

2)推理規則。(?x(ψ(x)→ψ(S(x)))

就是

若ψ(0)成立,則ψ(1)成立;

若ψ(1)成立,則ψ(2)成立;

……

現在我ψ(0)成立了,我就可以得到ψ(所有自然數)成立了。

數歸也有好多變形,變形也很靈活。一般有這兩個部分的,都可以由最原始的數歸得到。

例:

跳躍歸納法

1)?xψ(x)?ψ(0)∧ψ(1)∧?x(ψ(x)→ψ(x+2))

2)

?xψ(x)?ψ(0)∧?x(?y(y&

很複雜的

3)

設p(x)為「x是質數」

(p(x)??u?v(x=u?v→u=1∨v=1))

?x∈P ψ(x)

?ψ(2)∧?p∈P((?q∈P(q|p-1→ψ(q)))→ψ(p))

推理規則的意思是

質數p ψ(p)要成立,只需要所有整除p-1質數q ψ(q)成立。

這個應用在Galois理論中,證明所有質數階群可解。

數歸最淺顯的應用

就是數列了

簡單的一條遞推式都是一個推理規則:

a[n+1]=a[n]+1。

我就不多說了。

本質上,一般涉及可數無窮的命題都要用到數學歸納法。

ps:

倒序相加法一類求通項公式的方法,只是一種計算方法,而不是一種證明方法。也就是說,求出來了,照理說還得用數歸證一遍才嚴謹。

為什麼呢?

舉個例子,

Sn=1+2+3……+n

這個式子的含義是,我們從1列舉到了某個數n。而不是對於所有的自然數n。

因為我們「沒有能力枚舉所有的自然數」

而數歸正是我們「觸及」無窮的一個工具。

不過平時 我們就不用管這麼多了,就當省略號承擔了證明功能吧(笑)

(這段話就當是一個民數所說的吧)


樓主你再讀讀你這句話,覺得通嗎

在P(0)為true的基礎上,我們必須驗證在任何情況下P(n)和P(n++)都為true


這就是沒學好英語就看英文教材的結果


數學歸納法分兩步。

這兩部在證明上是獨立的,只有最後結論上才總結到一起。

第一步,證明f(0)正確。

第二步,當f(n)正確,證明f(n+1)正確。

注意第二步當中,f(n)正確是已知條件,不是問題。

說這兩步是獨立的因為你完全可以先證第二步,再證第一步,從邏輯上來說沒有任何問題,只是普遍習慣採用第一步和第二步的方式來書寫。

我個人偏好第二種邏輯。 2成立,3就成立;3成立,4就成立;……100成立,101就成立……

為什麼101成立?因為100成立……為什麼4成立?因為3成立;為什麼3成立,因為2成立;為什麼2成立,因為1成立。

哦,原來只要1成立了所有自然數都成立。


對任意的n屬於自然數,都是成立的。那麼就是對全體自然數成立


英語和數學都不好,就不要裝逼了


現在有直線排列的多米諾骨牌一列,如果每一塊多米諾骨牌倒下後都能壓倒後一塊,請問當第一塊骨牌倒下後哪一塊骨牌不會倒下?

第一數學歸納法同理,我們需要說明的就只有兩點:

1.第一塊會倒下

2.每一塊都會壓倒後一塊

其他數學歸納法也是類似的情況。


我們不需要真的去取每一個自然數就能證明對任意n成立的命題,你再想想,想不明白就基本告別數學了。


數學歸納法使用條件:

1,初始項成立;

2,所有項的遞推邏輯關係成立。

屬於白盒測試。

樣本驗證是給看不懂邏輯關係的人看的。屬於黑盒測試。


我們驗證的不是某幾項的正確與否,而是項和項之間的關係。


我大學沒學過數學歸納法,只在高中時學過一點皮毛,還是想來強答一下。

我想題主大概理解錯了一件事,驗證P(0)後,下一步並不是驗證在任何情況下P(n)和P(n++)都為true,而是先假設如果P(n)成立,然後去驗證P(n++)成立。

結合以上兩步,由P(0)可得P(1),由P(1)可得P(2)??


自己沒理解對


不知道題主對於P(n)里的n是怎麼理解的?當我們使用歸納的時候,我們要證明對於任意n,若P(n)成立,則P(n+1)成立。而由於對象是任意n,所以並沒有喪失一般性。也就是說,我們並不是選擇了特定幾個值代入。不過事實上我個人並沒有理解題主為什麼會提出這個問題?因為哪怕沒有理論上完全理解,實際使用的時候也會發現是在證明對於所有n都成立啊?還是說題主常年在做偽證?。。


1.

Suppose that P(0) is true

翻譯:假設P(0)成立。

這一步又叫奠基,一般對於n=0,1,2或者一些開始的值進行驗證。奠基完成,所以P(0) is true.

2.

and suppose that whenever P(n) is true, P(n++) is also true.

無論n為何值,當P(n)成立時,P(n+1)也成立。

這一步就是歸納的證明,目前為止我見過的證明 無一不是 對於 任意的n和n+1 進行證明的。

所以根本不存在你說的隨機取的問題


了解了一下英語whenever用法,這裡的黑體whenever應該可以等同於if,這樣更好理解這段文字說的p(n)為真是假設吧。

-------------------------------------------------------------------

原回答:

以我有限的英文水平來看,我覺得是陶哲軒的鍋(當然也可能是題主引用錯了)。

Axiom 2.5 (Principle of mathematical induction). Let P(n) be

any property pertaining to a natural number n. Suppose that P(O)

is true, and suppose that whenever P(n) is true, P(n++) is also

true. Then P( n) is true for every natural number n.

粗體的Suppose that應該去掉。數學歸納法的n=1不是假設成立,必須實際成立。那麼第二個suppose that就順理成章了,翻譯過來就是,假設n為任何值p(n)成立,p(n++)也成立。

你的困惑是,「我們必須驗證在任何情況下P(n)和P(n++)都為true」。p(n)不是驗證的,是假設的,這是重點。


推薦閱讀:

中國為什麼沒有翻譯法國數學家的著作?
物理學與數學中有哪些特別有意義的名詞?
如何理解banach tarski悖論?
幾何平均數的空間意義是什麼啊?
基礎學科的大學教授教授本科課程對自己純理論的科研會不會有啟發?

TAG:數學 |