載入中…
由日常計數轉入形式化描述,透過零、後繼與歸納去界定自然數。
乍看之下,自然數太熟悉,似乎根本不需要定義。我們從小到大數數,彷彿
已經把內容完整說明。
但嚴格的構造觀點會問:到底甚麼結構令自然數成為自然數?答案不在於符號本身,而在於一個起點、一個後繼運算,以及一條歸納原理。
如果我們只是寫下 ,其實未曾真正解釋:
Peano 觀點就是直接把這些核心性質說明。它不靠直覺,而是說明:凡是自然數模型,都必須具備某幾條基本公理。
定義 3.1.1
(自然數的模型)
設 是一個集合,並且有:
如果三元組 滿足以下 Peano 公理,就叫做 自然數模型:
核心思想是:自然數由它們之間的結構關係決定,而不是由寫法決定。
每條公理都排除某一類病態情況。
這幾條公理共同刻畫了從零開始、逐次取後繼的計數結構。
例題 3.1.2
(通常的數字如何由 與 表示)
一旦 與後繼映射固定,接下來的數就可以理解為
所以記號 只是「由 開始連做兩次後繼得到的對象」的簡寫。記號固然方便,但結構才是根本。
後繼記號使定義中的步驟保持可見,避免熟悉的數字符號掩蓋其結構。
許多學生在接觸歸納法這種證明工具之前,已經認為自己理解了自然數。在嚴格的構造中,歸納原理卻屬於刻畫自然數的基本條件。
在 Peano 觀點之中,歸納原理本身就屬於自然數定義的一部分。也就是說,歸納不只是用來證明 上命題的技巧;它本身就是令 成為自然數的結構事實之一。
定理 3.1.3
(歸納真正給你甚麼)
要證明命題 對所有 成立,只需要證明:
一旦兩步完成,歸納公理就保證 對每個自然數 都成立。
例題 3.1.4
(為甚麼有限循環不是自然數模型)
考慮集合 ,並定義後繼為
這個結構不滿足 Peano 公理。
首先,因為 ,所以 竟然是某個元素的後繼,第三條公理失敗。這一點已經足以排除它作為自然數模型。這個例子不應該讀成「歸納公理失敗」:由 反覆取後繼仍然會到達整個有限集合。真正問題是後繼映射回到起點,並令 成為某個元素的後繼。
因此,雖然符號看起來熟悉,這個結構也不是自然數模型。
這個例子重要,因為它說明 Peano 公理不是裝飾,而是用來排除「表面似數數,實際上不是」的結構。
常見錯誤
(不要把記號與結構角色混為一談)
Peano 觀點並不是說符號 本身帶有某種意義,而是說 所代表的對象,就是 的第二個後繼。
常見錯誤
(歸納不是可有可無的附加品)
如果沒有歸納公理,一個結構即使包含由 開始的熟悉後繼鏈,仍然可以有額外斷開的部分,甚至循環。歸納原理正是用來排除這些情況。
快速檢查
(為甚麼公理 那麼重要?)
想想若果 可以是某個數的後繼,會對整體結構造成甚麼影響。
如果 可以是某個後繼,數數鏈就可能回頭成環,而不再有真正起點。這樣就不再符合我們對自然數「由起點一路向前」的理解。
快速檢查
(後繼映射的單射性排除了甚麼情況?)
用「兩個不同數想共享同一個下一步」去回答。
它防止兩個不同元素擁有同一個後繼。若果沒有單射性,兩個不同數可能在下一步突然合流,破壞通常的線性計數結構。
快速檢查
(證明基本情況與後繼步驟之後,可以精確推出甚麼?)
答案要說明範圍。
你可以推出該命題對 之中每一個元素都成立,而不只是對最初幾個例子成立。
必須逐條檢查四條 Peano 公理:(1) 後繼單射;(2) ;(3) 不是任何後繼;(4) 歸納原理。
快速檢查
(令 ,並令 、、。四條 Peano 公理哪些失敗?)
檢查單射性、固定點、 的像,以及所有包含 而且在 下封閉的子集。
公理 (1) 失敗,因為 而 。公理 (2) 成立:、 而 。公理 (3) 成立,因為 的像是 ,不包含 。公理 (4) 亦成立:任何包含 而且在 下封閉的子集,都一定先包含 ,再包含 ,所以包括整個 ;循環只是返回已經包含的元素。
快速檢查
(令 ,在 上令 ,並令 、、。四條 Peano 公理哪些失敗?)
同時檢查三個循環元素與自然數鏈。
公理 (1) 成立:自然數後繼是單射,三循環的像互不相同,而且與自然數後繼的像分開。公理 (2) 成立,因為自然數鏈一路向前,而三循環沒有固定點。公理 (3) 成立,因為沒有後繼等於 。公理 (4) 失敗: 是 的真子集,包含 而且在 下封閉,卻漏掉 。
後繼給出向前的一步;加法與乘法則用遞歸規則描述重複的步驟。對 ,定義
以及
後繼出現在第二個輸入,所以除非已經證明左側引理,之後的歸納都要遵守這個方向。
加法規則 與 不只是記號;它們指定了怎樣把一個後繼輸入化為較早的輸入。乘法規則 與 也同樣把乘法化為重複加法。於是 會逐步減到 , 會逐步變成 。這些規則尚未證明交換律;交換律和分配律必須在此基礎上另行歸納證明。
加法的遞歸定義把後繼寫在第二個輸入上。若要把後繼放在左邊,不能在尚未證明交換律以前直接交換兩個輸入;我們要先證明一個獨立的恆等式。
定理 3.1.5
(左邊的後繼可以穿過加法)
對所有 ,都有
固定 ,令 表示 。
基本情況。 當 時,加法定義給出
而右邊亦滿足
所以 成立。
歸納步驟。 假設 成立,即 。於是
因此 推出 。歸納原理便給出所有 的結論。
這個證明顯示一個重要習慣:只有先把表達式改寫成歸納假設認得的形狀,才可以使用歸納假設。歸納假設不是把任意表達式替換成後繼形式的許可。
例題 3.1.6
(證明 ,而不是把它當作定義)
加法定義給出 ,這是基本情況。假設 ,則
所以歸納法證明 對每個自然數 成立。這是遞歸計算最後在左邊遇到零時所需要的恆等式。
常見錯誤
(歸納假設中的輸入是固定的)
在上面的證明中,歸納假設是當前 的 。它並沒有直接說帶有 的命題已經成立;那正是歸納步驟必須證明的內容。
快速檢查
(為甚麼證明 時對 歸納,而不是對 歸納?)
把歸納變量的選擇和遞歸定義的方向連起來。
遞歸定義會把第二個輸入降低: 被改寫成 的表達式。對 歸納正好沿着定義提供資料的方向進行。若對 歸納,還需要先有另一條引理,才可以使用這條遞歸規則。
定理 3.1.7
(每個非零自然數都有唯一前驅)
對每個 ,若 ,就存在唯一一個 使 。
令 表示:要麼 ,要麼存在唯一一個 使 。基本情況直接成立,因為第一個選項對 成立。在步驟中, 本身就是 的後繼,所以存在性立即成立。若 ,由後繼映射的單射性可得 ,因此唯一性成立。於是每個非零自然數恰好有一個前驅。
後繼映射給出向前的一步;歸納原理說明,在零處成立並且在這一步下保持的性質,會對模型中的所有元素成立。因此,證明必須說明定義域和基本情況,對任意固定的 假設 ,再用容許的恆等式推出 。只檢查幾個數字、把後繼情況本身當作假設,或只對一個選定輸入證明步驟,都不能得到全稱結論。
遞歸規則通常決定適合的歸納變量。也可以選別的變量,但必須已有相應的輔助恆等式。這個習慣同樣適用於後面的商集構造:那時要保持的性質是結果不依賴所選代表元。明確說出需要保持的性質,才能判斷每一步計算究竟要證明甚麼。
Peano 公理說明自然數必須有甚麼行為,但它不強迫我們採用某一種內部表示。一個標準的集合論模型是 von Neumann 構造:
一般而言,
所以每個自然數都是所有較早自然數所組成的集合。在這個模型裏,屬於關係反映大小次序: 正好表示 小於 。
例題 3.1.8
(為甚麼 變成 )
由 開始,後繼規則給出
再得到
這不是說日常記號 改變了意思,而是說我們建立了一個具體的集合論代表,它滿足同樣的後繼模式。
這一節是構造數系篇章的起點。之後會接到 3.2 歸納法與遞歸算術,而它使用的語言則可追溯到 2.2 函數與關係。
先自行作答,再檢查答案。你可以修改後重試。
載入中…
這一節可以獨立閱讀。