Evanalysis
3.1預計閱讀時間: 8 分鐘

3.1 自然數與 Peano 公理

由日常計數轉入形式化描述,透過零、後繼與歸納去界定自然數。

乍看之下,自然數太熟悉,似乎根本不需要定義。我們從小到大數數,彷彿

0,1,2,3,0,1,2,3,\ldots

已經把內容完整說明。

但嚴格的構造觀點會問:到底甚麼結構令自然數成為自然數? 答案不在於符號本身,而在於一個起點、一個後繼運算,以及一條歸納原理。

為甚麼要形式定義

如果我們只是寫下 0,1,2,3,0,1,2,3,\ldots,其實未曾真正解釋:

  • 省略號究竟代表甚麼;
  • 為甚麼這個過程會一直延續;
  • 為甚麼歸納法有效。

Peano 觀點就是直接把這些核心性質說明。它不靠直覺,而是說明:凡是 自然數模型,都必須具備某幾條基本公理。

一個模型包含些甚麼

定義

自然數的模型

NN 是一個集合,並且有:

  • 一個指定元素 0N0 \in N
  • 一個函數 S:NNS : N \to N,稱為 後繼映射

如果三元組 (N, 0, S) 滿足以下 Peano 公理,就叫做 自然數模型

  1. SS 是單射:若 S(x)=S(y)S(x)=S(y),則 x=yx=y
  2. 沒有元素會等於自己的後繼:對每個 xNx \in N,都有 S(x)xS(x)\ne x
  3. 零不是任何元素的後繼:不存在 xNx \in N 使 S(x)=0S(x)=0
  4. 歸納成立:若某性質 PP0 成立,而且每當 P(x) 成立時, P(S(x)) 都成立,那麼 PP 就對所有 xNx \in N 成立。

核心思想是:自然數由它們之間的結構關係決定,而不是由寫法決定。

每條公理各自做緊甚麼

每條公理都排除某一類病態情況。

  • 單射性表示兩個不同數不可以在做一步後繼之後突然合流。
  • S(x)xS(x)\ne x 排除固定點。
  • S(x)0S(x)\ne 0 表示零是起點,而不是之後才回到去的位置。
  • 歸納排除額外斷開的部分,確保所有元素都在由 0 出發生成的鏈上。

合在一起,這幾條公理就迫出我們熟悉的「一步一步向前數」的圖像。

用後繼去讀出各個數

例題

平時的數字其實由 0SS 生出來

一旦 0 與後繼映射固定,接下來的數就可以理解為

1=S(0),2=S(S(0)),3=S(S(S(0))).1 = S(0), \qquad 2 = S(S(0)), \qquad 3 = S(S(S(0))).

所以記號 2 只是「由 0 開始連做兩次後繼得到的對象」的簡寫。 方便是方便,但結構先是根本。

因此,當這裏想保留定義感而不想被熟悉記號遮蔽時,就會再寫回後繼形式。

歸納不是附加技巧

許多學生會先把歸納法視為一種證明工具,之後才覺得自然數已經理解完成。 嚴格的構造觀點正好倒轉這個次序。

在 Peano 觀點之中,歸納原理本身就屬於自然數定義的一部分。也就是話, 歸納不只是用來證明 NN 上命題的技巧;它本身就是令 NN 成為自然數的 結構事實之一。

定理

歸納真正給你甚麼

要證明命題 P(n) 對所有 nNn \in N 成立,只需要證明:

  1. P(0) 成立;
  2. 對每個 xNx \in N,若 P(x) 成立,則 P(S(x)) 成立。

一旦兩步完成,歸納公理就保證 P(n) 對每個自然數 n 都成立。

一個失敗例子

例題

為甚麼有限循環不是自然數模型

考慮集合 \{0,1,2\},並定義後繼為

S(0)=1,S(1)=2,S(2)=0.S(0)=1, \qquad S(1)=2, \qquad S(2)=0.

這個結構不滿足 Peano 公理。

首先,因為 S(2)=0S(2)=0,所以 0 竟然是某個元素的後繼,第三條公理失敗。 這一點已經足以排除它作為自然數模型。這個例子不應該讀成「歸納公理失敗」: 由 0 反覆取後繼仍然會到達整個有限集合。真正問題是後繼映射回到起點, 並令 0 成為某個元素的後繼。

因此,雖然符號看起來熟悉,這個結構也不是自然數模型。

這個例子重要,因為它說明 Peano 公理不是裝飾,而是用來排除「表面似數數, 實際上不是」的結構。

可選模型:von Neumann 自然數

Peano 公理說明自然數必須有甚麼行為,但它不強迫我們採用某一種內部表示。 一個標準的集合論模型是 von Neumann 構造

0:=,1:={0},2:={0,1},3:={0,1,2}.0:=\varnothing,\qquad 1:=\{0\},\qquad 2:=\{0,1\},\qquad 3:=\{0,1,2\}.

一般而言,

S(n)=n{n}.S(n)=n\cup\{n\}.

所以每個自然數都是所有較早自然數所組成的集合。在這個模型裏,屬於關係 反映大小次序:mnm\in n 正好表示 m<nm<n

例題

為甚麼 2 變成 {0,1}

0=0=\varnothing 開始,後繼規則給出

1=S(0)=0{0}={0},1=S(0)=0\cup\{0\}=\{0\},

再得到

2=S(1)=1{1}={0,1}.2=S(1)=1\cup\{1\}=\{0,1\}.

這不是說日常記號 2 改變了意思,而是說我們建立了一個具體的集合論代表, 它滿足同樣的後繼模式。

為甚麼公理比省略號更有內容

0,1,2,3,0,1,2,3,\ldots

雖然方便,但本身不足以解釋算術與歸納為甚麼成立。

Peano 形式化正是要說明:

  • 從哪裏開始;
  • 前進一步是甚麼意思;
  • 為甚麼不會繞回起點;
  • 為甚麼歸納可以覆蓋全部自然數。

所以形式定義比起單靠直覺列表,更能揭示自然數的本質。

常見錯誤

常見錯誤

不好把記號同角色混為一談

Peano 觀點不是話寫出來個符號 2 天生有神秘意思,而是話 2 所代表的對象,就是 0 的第二個後繼。

常見錯誤

歸納不是可有可無的附加品

如果沒有歸納公理,一個結構即使包含由 0 開始的熟悉後繼鏈,仍然可以有額外 斷開的部分,甚至循環。歸納原理正正是用來排除這些情況。

快問快答

快速檢查

為甚麼公理 S(x)0S(x)\ne 0 那麼重要?

想想若果 0 可以是某個數的後繼,會對整體結構造成甚麼影響。

解答

答案

快速檢查

後繼映射是單射,究竟防止咗甚麼事發生?

用「兩個不同數想共享同一個下一步」去回答。

解答

答案

快速檢查

當你證明咗基本情況與後繼步驟之後,可以精確推出甚麼?

答案要說明範圍。

解答

答案

練習

快速檢查

證明結構 \{0,1,2\} 配上 S(0)=1S(0)=1S(1)=2S(1)=2S(2)=2S(2)=2 並不是自然數模型。究竟邊條公理失敗?

逐條檢查公理,不好靠感覺估。

解答

引導解答

建議先讀

這一節是構造數系篇章的起點。之後會接到 3.2 歸納法與遞歸算術, 而它使用的語言則可追溯到 2.2 函數與關係

先備知識

這一節可以獨立閱讀。

本單元重點詞彙