---
# System prepended metadata

title: 【數學理論】 09. 不完備、不一致、非保守、無法判定，數學信仰崩塌的開始 — 希爾伯特綱領（Hilbert Program）
tags: [【數學理論】]

---

---
title: 【數學理論】 09. 不完備、不一致、非保守、無法判定，數學信仰崩塌的開始 — 希爾伯特綱領（Hilbert Program）
tags:
  - 【數學理論】
url: https://hackmd.io/@lewisjjj800/rkXv5Ixzel
lastSync: 2025-05-25T08:47:58.756Z
hackmd:
  url: https://hackmd.io/@lewisjjj800/rkXv5Ixzel
  title: 【數學理論】 09. 不完備、不一致、非保守、無法判定，數學信仰崩塌的開始 — 希爾伯特綱領（Hilbert Program）
  lastSync: 2025-05-25T08:52:42.284Z
---
不完備、不一致、非保守、無法判定，數學信仰崩塌的開始
===
<font size=4><font color=gray>希爾伯特綱領（Hilbert Program）</font><br></font><br>
---

<!-- 20250910 -->

按照慣例，開頭先來說一個故事。

<br>

首先，請先問問自己：**你的信仰曾經崩塌過嗎？**

<br>

這邊的**信仰**指的不是宗教信仰，而是崇拜的偶像、人與人之間的信任、社會新聞層不出窮的刑事案件等等。

<br>

無論是發現你崇拜的偶像竟然有諸多醜聞，人與人之間勾心鬥角產生惡意，還是那些令人髮指的社會案件，會讓我們感到失望、難過，自己曾經深信不疑的事情，竟然會有崩塌的一天。

<br>

因為社會是由人組成的，人類是情感交織的物種，跟人文有關的領域都非常複雜，牽扯到習慣、人性等等。

<br>

《**底層邏輯**》這本書就曾提到過這個概念：「**文人相輕，武人相重；文無第一，武無第二。**」

<br>

人文社會經濟等學科就像文人一樣，公婆各自有理，只要有人提出一個理論，就一定可以找得出一個反例，屢試不爽，所以**文無第一**。

<br>

然而數學、物理這類理科就像武人一樣，只要有人提出一個理論，那就請拿出證明跟不服的人決鬥，證明得合理、決鬥得讓大家心服口服，那大家就得乖乖稱他為大哥，承認他是對的，所以**武無第二**。

<br>

這或許讓厭煩了由例外跟反例組成的理論學科的人，投身數學、物理等相關領域並醉心於**武無第二**的決鬥聖殿。


<br>

為什麼人文科學和數學物理會有這樣的區別？在於數學和物理是建立在 **公理（Axiom）** 上的學科。

<br>

我們先說說幾個名詞：

<br>

>[!Note] **公理（Axiom）**
>- **定義**：公理是**不需證明、不證自明**的基本命題，用來作為一個數學系統或邏輯體系的基礎。
>- **特點**：
>   - 在不同數學系統中，公理的選擇可能不同。
>   - 例如：皮亞諾公理（Peano Axioms）是自然數的基本公理，確立了加法和乘法的基本性質。



<br>

另外還有一個有點像的名詞叫 **公設（Postulate）**：

>[!Note] **公設（Postulate）**
>- **定義**：公設原本是指**幾何學中的公理**，但現在常用來指代數學中某個特定領域的基本假設。
>- **特點**：
>   - 主要用於幾何學等應用領域，與「公理」相似，這邊先看做是一樣的。
>   - 傳統上，歐幾里得幾何的基本假設就被稱為「公設」，例如 **第五公設（平行公設）**。

<br>

數學、物理是**公理化系統（Axiomatic System）**，是一種**自洽**的數學架構，所謂**自洽**就是我們可以從一組基礎公理出發，透過推理規則導出各種定理並且不會發生矛盾。這種自洽架構能夠確保數學推理的嚴謹性。

<br>

>[!Note] **公理化系統（Axiomatic System）**
>是一種數學與邏輯的架構，由一組明確規定的公理（axioms）出發，透過推理規則（rules of inference）來導出各種定理（theorems）。這種系統的目的是提供一個嚴謹且自洽的基礎，讓所有的推論都可以從最基本的假設（公理）開始。

<br>

包括我也是一樣，對於**數學**對錯分明、直球對決的方式很是著迷。

<br>

隨著時間看科技發展，人們在數學領域發展出不同的理論：皮亞諾算數公理、歐幾里得公設、拓樸學等等，人們逐漸在名為**數學**這片農場開墾、種植，期待最後在每一顆親手種下的樹上結滿數學真理的果實。

<br>

所謂的**完美、找不出矛盾**就是數學上說的**完備性**以及**一致性**。

>[!Note] **完備性**
>如果有一個數學系統它能夠證明所有在該系統內「為真」的命題，也就是說，對於系統內的每一個語句，要嘛可以證明它為真，要嘛可以證明它為假，不會有「**無法證明**」的情況。那我們就可以說這個數學系統是**完備的**。

>[!Note] **一致性**
>如果有一個數學系統它不會在證明某個命題時同時存在 $P$ 以及 $\neg P (非P)$，也就是不存在**矛盾**的話，那我們就可以說這個數學系統是**一致的**。

<br>

>先大概了解這兩個概念就好，後面會細說。

<br>

也就是說，一個數學系統**不應該有無法證明的情況(完備性)，也不應該存在矛盾(一致性)**。但是真的是這樣嗎？


<br>

事實上，數學家們總能發現數學上**不完備、不一致的地方**，在 19 世紀末和 20 世紀初，爆發了**數學基礎危機**，例如「**樸素集合論**中的**羅素悖論**」以及「**歐幾里得幾何**中的**平行公設**」。

<br>

我們先來看看**樸素集合論**。

---

## **樸素集合論（Naive Set Theory）**

樸素集合論（Naive Set Theory）是**最直觀、最原始的集合論**，由 **康托爾（Georg Cantor）** 在 19 世紀提出，用來描述數學對象的集合關係。它的核心概念很簡單：

>[!Important] **樸素集合論（Naive Set Theory）**
> **「集合」是一些元素的「無序」** 彙集，例如：
> - 自然數集合：$\{0,1,2,3,\dots\}$
> - 偶數集合：$\{2,4,6,8,\dots\}$
> - 英文字母集合：$\{\text{A, B, C, ... , Z}\}$

康托爾透過集合的概念，發展出集合運算、無窮集合的比較等理論，成為現代數學的基礎，例如以下我們都學過的基本概念。

---

### **常見的集合**


>[!Note] **集合（Set）**
>- 集合是一個包含 **元素（Element）** 的集合體，記作 $A = \{ a, b, c \}$。
>- 若 $x$ 屬於集合 $A$，寫作 $x \in A$（讀作「$x$ 屬於 $A$」）。
>- 若 $x$ 不屬於集合 $A$，寫作 $x \notin A$。

**例子**：
- 自然數集合：$\mathbb{N} = \{ 0, 1, 2, 3, \dots \}$
- $9$ 這個數字不屬於偶數集合 $\{2, 4, 6, 8, \dots\}$，所以 $9 \notin \{2, 4, 6, 8, \dots\}$。

---

>[!Note] **子集（Subset）**
>- 若集合 $A$ 的所有元素都在集合 $B$ 中，則 $A$ 是 $B$ 的**子集**，記作 $A \subseteq B$。
>- 若 $A$ 不是 $B$ 的子集合，記作 $A \not\subseteq B$。

**例子**：
- $\{1,2\} \subseteq \{1,2,3,4\}$ （因為 $\{1,2\}$ 的元素都在 $\{1,2,3,4\}$ 中）。
- $\{5,6\} \not\subseteq \{1,2,3,4\}$（因為 $5$ 和 $6$ 不在後者內）。

---

>[!Note] **空集合（Empty Set）**
>   - 沒有元素的集合，記作 $\emptyset$ 或 $\{\}$。
>   
**例子**：
所有大於 $10$ 且小於 $5$ 的自然數集合是空集合（因為沒有任何一個自然數同時大於 $10$ 又小於 $5$，所以找不到可以滿足這個集合的元素，所以是空集合 ）。

---

>[!Note] **全集（Universal Set）**：
>   - 包含所有考慮範圍內元素的集合，記作 $U$。
>   
**例子**：
對於整數集合 $\mathbb{Z}$，它可以被視為所有有理數的子集。

---

### **集合運算**

| 運算 | 記號 | 定義 | 例子 |
|------|------|------|------|
| **聯集（Union）** | $A \cup B$ | 所有屬於 $A$ 或 $B$ 的元素 | $\{1,2,3\} \cup \{3,4,5\} = \{1,2,3,4,5\}$ |
| **交集（Intersection）** | $A \cap B$ | 同時屬於 $A$ 和 $B$ 的元素 | $\{1,2,3\} \cap \{3,4,5\} = \{3\}$ |
| **差集（Difference）** | $A - B$ 或 $A \setminus B$ | 屬於 $A$ 但不屬於 $B$ 的元素 | $\{1,2,3\} - \{3,4,5\} = \{1,2\}$ |
| **補集（Complement）** | $A^c$ 或 $U - A$ | 不屬於 $A$ 的所有元素 | 若全集 $U = \{1,2,3,4,5\} \)，則 \( \{1,2\}^c = \{3,4,5\}$ |

---

<br>

了解完集合的基本概念後，我們知道在直覺的集合概念下，可以自己定義集合，例如：

- **水果集合**：包含蘋果、香蕉、橘子等。
- **奇數集合**：包含 $1, 3, 5, 7, \dots$。
- **所有集合的集合**：包含所有可能的集合。

<br>

然而，現在我們隨意定義如下集合：

>[!Tip] **舉例**
> **$R$ 是「所有不包含自己的集合」所構成的集合。換句話說，$R$ 包含所有「不屬於自己的集合」。** 數學符號表示為：
$$
R = \{ x \mid x \notin x \}
$$

<br>

這時候就出問題了，試想：

- **$R$ 本身是否屬於 $R$？**

### **假設 $R \in R$**
如果 $R$ 屬於 $R$，根據 $R$ 的定義，$R$ 必須 **不屬於** 自己，即 $R \notin R$，矛盾！

### **假設 $R \notin R$**
如果 $R$ 不屬於 $R$，根據 $R$ 的定義，$R$ 就應該**屬於**自己，即 $R \in R$，又矛盾！

<br>

假如隨意定義集合，我們就會發現會有**矛盾**的存在，這也連結到著名的**羅素悖論（Russell’s Paradox）**

<br>

## **羅素悖論（Russell’s Paradox）**

羅素悖論是集合論中的一個著名悖論，由哲學家兼數學家**伯特蘭·羅素（Bertrand Russell）** 在 1901 年提出，揭示了 **「無限制地定義集合」可能導致邏輯矛盾**。

<br>

首先關於羅素悖論你可能聽過以下一個經典的舉例：

>[!Important]**理髮師悖論（Barber Paradox）**
> 在某個村莊裡，有一位理髮師，他為**所有不自己刮鬍子的人刮鬍子。那這位理髮師該不該幫自己刮鬍子？**
> - 如果他幫自己刮鬍子，那**他就不屬於「不自己刮鬍子」的人，他就不該幫自己刮鬍子。**
>- 如果他不幫自己刮鬍子，那**他就符合「不自己刮鬍子」的條件，他應該幫自己刮鬍子。**

理髮師幫自己刮鬍子也對，不刮也對，這就導致了矛盾，這個邏輯結構與羅素悖論非常相似。


---

我們會發現，如果我們不加限制地允許集合的定義，就會產生**邏輯上的矛盾**。這種情況在數學中是無法接受的，因為一旦一個邏輯系統出現一對矛盾，那麼任何命題都可以被證明為真，也就是所謂的 **「爆炸原理」**。

<br>


>[!Important]**爆炸原理** 
>**一旦一個邏輯系統出現一對矛盾，那麼在這個系統中，任何命題都可以被推導為真**。  

這是因為在邏輯推理中，**矛盾（A 和 ¬A（「非 $A$」） 同時為真）允許推出任何結論**。我們來舉幾個例子來說明這個概念。

---
>[!Tip] **舉例**
假設我們有一個矛盾命題：
> 1. &nbsp; $P$ 為真。
> 2. &nbsp; $\neg P$（「非 $P$」）也為真。
> 
>我們想證明「如果有矛盾存在，則可以推出任意命題 $Q$ 為真」，即：
$$
(P \wedge \neg P) \Rightarrow Q
$$

---

### **步驟 1：由矛盾推出「任何命題」**
我們利用**合取（AND）引入**：
$$
P \wedge \neg P
$$
這表示 $P$ 和 $\neg P$ 同時成立，這是一個矛盾。

---

### **步驟 2：利用析取（OR）推理**
在邏輯學中，有一條規則叫做 **析取引入（Disjunction Introduction）**：
$$
P \Rightarrow (P \vee Q)
$$
這意味著，如果 $P$ 為真，那麼「$P$ 或 $Q$」也一定為真（因為只要其中一個為真，整個「或」命題就成立）。

我們已知 $P$ 為真，所以：
$$
P \vee Q
$$

---

### **步驟 3：矛盾導致 $Q$ 為真**
我們已知 $P$ **和** $\neg P$ **同時為真**，所以 $P$ 這部分其實是錯誤的。我們現在考慮「或」的邏輯規則：

$$
P \vee Q
$$

但我們已經知道 $P$ 是錯的（因為 $\neg P$ 也為真），因此 **「或」的另一個命題 $Q$ 必須為真**！

$$
Q
$$

這證明了：**一旦出現矛盾，就可以推出任何命題 $Q$ 為真，無論 $Q$ 是什麼**。

---

了解了上面的流程之後，我就可以來證明「**我比木村拓哉還帥**」。

<br>

### 用一對矛盾證明「我比木村拓哉還帥」

現在我們假設一個命題 $P$ 如下：

$$
P：\text{「所有數學命題都可以被證明」}
$$

<br>

我們可以推論出這個命題的反面 $\neg P$ 如下：

$$
\neg P：\text{「有些數學命題無法被證明」}
$$

假設這兩個矛盾的命題同時成立，我們就可以證明命題 $Q$ 如下：

$$
Q：\text{「我比木村拓哉還帥」}
$$

以下是證明思路。

---

### **步驟 1：由矛盾推出「任何命題」**
我們利用**合取（AND）引入**：
$$
P \wedge \neg P
$$
這表示 $P$ 和 $\neg P$ 同時成立，這是一個矛盾。

---

### **步驟 2：利用析取（OR）推理**
利用 **析取引入（Disjunction Introduction）**：
$$
P \Rightarrow (P \vee Q)
$$
如果 $P$ 為真，那麼「$P$ 或 $Q$」也一定為真，因為只要其中一個為真，整個「或」命題就成立。

我們已知 $P$ 為真，所以：
$$
P \vee Q
$$

---

### **步驟 3：矛盾導致 $Q$ 為真**
我們已知 $P$ **和** $\neg P$ **同時為真**，所以 $P$ 這部分其實是錯誤的。我們現在考慮「或」的邏輯規則：

$$
P \vee Q
$$

<br>

但我們已經知道 $P$ 是錯的（因為 $\neg P$ 也為真），因此 **「或」的另一個命題 $Q$ 必須為真**！

$$
Q：\text{「我比木村拓哉還帥」為真}
$$

---

<br>

為了避免矛盾帶來的爆炸性，數學家提出了**公理化集合論**，其中**最有影響力**的是**策梅洛–弗倫克爾集合論（Zermelo-Fraenkel Set Theory，ZF 或 ZFC）**。其中一個關鍵的公理是 **「正則性公理」（Axiom of Regularity）**：

>[!Important] **「正則性公理」（Axiom of Regularity）**
> **任何非空集合 $A$，都至少包含一個與自己沒有共同元素的子集合。**

<br>

這樣的規定保證了**沒有集合可以包含自己**，因此避免了羅素悖論的發生。

<br>

另一種方法是 **類（Class）理論**，像 **馮諾依曼–伯奈斯–哥德爾集合論（NBG 集合論）**，它區分了「集合」和「真類（Proper Class）」，其中：

- **集合可以被包含在其他集合中。**
- **真類不能被包含在集合中。**

<br>

在這種架構下，**「所有不包含自己的集合的集合」其實是一個「真類」而不是集合**，因此無法像一般集合那樣自由運算，從而避免悖論。

---

<br>

**羅素悖論**的矛盾聽起來問題不大，就像是大家玩自訂規則的遊戲時發現漏洞了，所以後面又補了幾條新規則，好讓大家繼續玩下去。

<br>

但是後來，**歐幾里得幾何**也被挑戰了。

<br>

## **歐幾里得幾何（Euclidean Geometry）**  

**歐幾里得幾何**是公元前三世紀**古希臘數學家歐幾里得（Euclid）**在《幾何原本》（Elements）中建立的幾何體系。這種幾何適用於**平面空間**，是兩千多年來人類對空間的基本認識。 

>[!Important]**歐幾里得的五大公設** 
>1. **任意兩點可連成一條直線。** 
>2. **一條線段可無限延長為直線。** 
>3. **任意一點與半徑可作一個圓。** 
>4. **所有直角相等。** 
>5. **如果一條直線與兩條直線相交，使得同側內角之和小於兩個直角，那麼這兩條直線如果延伸足夠遠，就一定會在該側相交。**

<br>

接著我們一條條公設來看看。

<br>

1. 第一公設：「**任意兩點可連成一條直線。**」 這很直觀也很合理。


<br>

2. 第二公設：「**一條線段可無限延長為直線。**」 這也很直觀合理。


<br>

3. 第三公設：「**任意一點與半徑可作一個圓。**」 這一樣直觀一樣合理。


<br>

4. 第四公設：「**所有直角相等。**」 這再直觀也再合理不過了。


<br>

5. 第五公設：「**如果一條直線與兩條直線相交，使得同側內角之和小於兩個直角，那麼這兩條直線如果延伸足夠遠，就一定會在該側相交。**」 修但幾列！第五點這麼複雜是怎樣？


<br>

**第五公設**又被稱做是**平行公設**，我們用維基百科上的圖比較好理解第五公設那段話：


<img src="https://raw.githubusercontent.com/lewisjjj800soic/HackMD-images-backup/main/Mathematic-Theorems/09/01.jpg" alt="圖片描述" style="display: block; margin: 0 auto;" width="600">

> <font size=1><font color=gray>photo credit by: By Dickdock - Own work based on: Parallel postulate.svg by Harkonnen2, Public Domain, https://commons.wikimedia.org/w/index.php?curid=4559984</font></font>


<br>

前四條公設都相對直觀，但 **第五公設** 看起來就很複雜，使得許多數學家懷疑它是否可以從前四條公設推出。而數學家長期以來也試圖證明**平行公設**可以從前四條公設推導出來。

<br>

但歷經數個世紀的努力都失敗了。這導致數學家開始懷疑：**如果不使用平行公設，是否還能建立一致的幾何體系？** 

<br>

沒想到這不試不知道，一試嚇一跳！這最終促成了 **非歐幾里得幾何（Non-Euclidean Geometry）** 的誕生。

<br>

**19 世紀**，數學家們發現，如果不採用平行公設，依然可以建立**完全自洽的幾何學**，這導致了兩種非歐幾里得幾何的誕生：

1. **雙曲幾何（Hyperbolic Geometry）**（羅巴切夫斯基幾何）  
   - **假設：「過直線外的一點，可以作無窮多條與原直線平行的直線。」**  
   - 適用於**雙曲空間**（如馬鞍面）。  

2. **橢圓幾何（Elliptic Geometry）**（黎曼幾何）  
   - **假設：「過直線外的一點，沒有任何直線與原直線平行。」**  
   - 適用於**球面幾何**（如地球上的大圓）。  

這些發現顛覆了人類對幾何的認識，使得 **「歐幾里得幾何」不再是唯一的幾何，而只是無數種幾何的一種特例。**


<br>

**1854 年，數學家黎曼（Bernhard Riemann）** 提出了**黎曼幾何（Riemannian Geometry）**，發展了對空間的更廣泛理解，認為：  
1. 空間的幾何性質依賴於**曲率**，而不是固定的法則。  
2. 歐幾里得幾何只是曲率為零的特例。  
3. 這一理論後來成為**愛因斯坦廣義相對論的數學基礎**。  


<br>

數學家最終發現：  
- 歐幾里得幾何並不是唯一正確的幾何學，而是**無窮多種幾何學的一種特殊情況**。  
- **非歐幾里得幾何的發展改變了數學、物理學的根基**，影響了現代科學，如相對論中的時空曲率概念。  
- **空間的本質不再是固定不變的，而是依賴於不同的幾何模型。**  

---
經過上面這兩個例子我們會發現，**樸素集合論**是**不一致**的，因為**羅素悖論**帶來的矛盾；而**歐幾里得幾何**是**不完備**的，因為**平行公設**無法從自身公理證明或是被推導出來，因此才有了**公理化集合論**以及**非歐幾里得幾何**的發展。

<br>

但是，如果每一套理論或是數學系統在建立後才發現不完備或不一致，後續再進行修補，這不是很費工嗎？難道不能從最基礎的地方開始建立數學體系，考慮到所有可能並且避免矛盾的存在嗎？

<br>

穩固了根基再蓋上大樓，數學體系能完善的發展的話，就不會再發生基礎數學理論被挑戰的情況。

<br>

這就是**希爾伯特綱領**的終極思想，在那之前我們先來談談算術的根基：**皮亞諾公理**。

---

## **皮亞諾公理（Peano axioms）**


可能有些人沒有聽過**皮亞諾公理**，所以我就簡單說明一下。

>[!important] **皮亞諾公理（Peano axioms）**
> - **公理一**： $0$ 是自然數。
> - **公理二**： 每個自然數都有一個**後繼數**。
> - **公理三**： $0$ 不是任何數的後繼數。
> - **公理四**： 後繼數是單射的。
> - **公理五**： 歸納公理。

>一般在數論中自然數是從 $1$ 開始的，而在集合論中自然數是從 $0$ 開始，只要「**公理一**」定義清楚即可。

<br>

首先**公理一**很容易理解，皮亞諾定義了 $0$ 是自然數，同時也定義了 $0$ 是自然數數列的起點，因為後面的公理都是依循著 $0$ 做為開始。

<br>

**公理二**說明了每個自然數都有一個**後繼數**。展開來說就是每個自然數 $n$ 都有一個後繼數 $S(n)$，其中 $S(n)$ 代表 $n$ 的後繼數。例如，若 $n = 1$，則 $S(1) = 2$，若 $n = 2$，則 $S(2) = 3$，依此類推。這樣就可以確定自然數會一直源源不斷的跑下去。

<br>

**公理三**也很好理解，$0$ 不是任何數的後繼數，代表不會有哪個自然數的後繼數是 $0$ ，然後 $0$ 的後繼數又是 $1$ 造成重複或是循環。

<br>

**公理四**說後繼數是單射的。說的是如果今天有兩個自然數 $n$ 以及 $m$ ，他們的後繼數分別是 $S(n)$ 以及 $S(m)$，當今天 $S(n) = S(m)$ 時，則 $n = m$。代表著**後繼數具有唯一性**，不存在兩個自然數的後繼數是一樣的，這確保了**自然數中的每個數字都有一個唯一的後繼數**。

<br>

**公理五**則是歸納公理，說的是假如有任意一個關於自然數的命題，如果今天證明這個命題在自然數 $0$ 為真，且假定這個命題對自然數 $k$ 為真時，又可以證明對 $S(k)$ 也為真的話。那麼這個命題對所有自然數都真。

<br>

是不是有點耳熟呢？這其實就是我們以前學過的 **數學歸納法**。下面我們舉一個例子來複習一下 **數學歸納法**。

### **數學歸納法**

>[!Tip] **利用數學歸納法證明以下命題為真**
>$$
>1+2+3+\dots+n=\frac{n \times (n+1)}{2}
>$$

<br>

#### 步驟一：確定這個命題在 $n=0$ 時為真。

$$
0=\frac{0 \times (0+1)}{2}
$$

確定 $n=0$ 時這個命題為真。

<br>

#### 步驟二：假設這個命題在 $n=k$ 時為真。

假設：

$$
1+2+3+\dots+k=\frac{k \times (k+1)}{2}
$$

<br>

#### 步驟三：驗證這個命題在 $n=k+1$ 時為真。

這時我們將 $n=k+1$ 代入原命題：

$$
1+2+3+\dots+k+(k+1)=\frac{(k+1) \times ((k+1)+1)}{2}
$$

<br>

根據**步驟二**我們知道 $1+2+3+\dots+k=\frac{k \times (k+1)}{2}$ ，所以我們可以代入上式的左邊，可以得到：

<br>

$$
\frac{k \times (k+1)}{2}+(k+1)=\frac{(k+1) \times ((k+1)+1)}{2}
$$

<br>

接著整理一下右邊：

<br>

$$
\frac{k \times (k+1)}{2}+(k+1)=\frac{k^2+3k+2}{2}
$$

<br>

再整理一下左邊：

<br>

$$
\frac{k^2+3k+2}{2}=\frac{k^2+3k+2}{2}
$$

<br>

我們會發現左式等於右式，根據**數學歸納法**，這個命題是正確的。

<br>

**數學歸納法**厲害的地方在於，我們要證明一個命題時，不需要利用**窮舉法**列出所有例子，也不需要利用**反證法**苦思去尋求反例，因為**皮亞諾公理**告訴我們以下四件事情：

1. 確保 $0$ 是自然數的一部分，並且 $0$ 是自然數數列的起點。
2. 每個自然數的後面都可以找到一個自然數，所以這個數列能夠無限延伸。
3. $0$ 不是任何數的後繼數，所以自然數數列不會形成循環或回到起點。
4. 每個自然數的後繼數是唯一的，因此自然數數列不會有重複的情況。

<br>

所以今天如果我證明了「**這個命題在起點時是對的**」，又證明了「**在任何一個點是對的時候，下一點也都是對的**」，就等於這個命題證明適用於所有自然數。

<br>

就好像骨牌一樣，以 $0$ 為起點開始推倒，我知道在「**任何一張會倒的情況下，下一張也會倒**」，骨牌就會一張張一直不停接續往後推倒。

<br>

皮亞諾公理是算術系統的根基，我們從最一開始接觸術學時也是從數字與算術開始認識。包括日常生活中我們會用到的最基本的數學就是算術，算錢算帳算東西就是根據皮亞諾公理，當今天知道這個公理是對的時候，我們就能放心大膽用，如果我今天要算 $1+1=2$ ，就不用再從皮亞諾公理開始證明，後人在建立更難的數學理論或是證明時也有了一個基礎。


<br>

在這個基礎之上，**希爾伯特綱領（Hilbert Program）** 被提出了。

---

<br>

## **希爾伯特綱領（Hilbert Program）**

1920年，德國數學家大衛希爾伯特（David Hilbert）提出了**希爾伯特綱領**，這個綱領的主要目標在於為全部的數學提供一個安全的理論基礎，用嚴格的形式化語言表達所有數學陳述，並能滿足一些性質。

<br>

>[!important] **希爾伯特綱領（Hilbert Program）**
>- **形式語言**：所有數學應該用一種統一的嚴格**形式化的語言**，並且按照一套嚴格的規則來使用。
>- **完備性（Completeness）**：必須證明：「在形式化之後，數學裡所有的真命題都可以被證明。」
>- **一致性（Consistency）**：運用這一套形式化和它的規則，不可能從命題中推導出矛盾。
>- **保守性（Conservation）**：如果某個關於「實際物」的結論用到了「假想物」（如不可數集合）來證明，那麼不用「假想物」的話我們依然可以證明同樣的結論。
>- **可判定性（Decidability）**：需要有一套演算法，來確定每一個形式化的命題是真命題還是假命題。

<br>


首先先來說說什麼是**形式語言**。

---

### 形式語言（Formal language）
**希爾伯特綱領**的目標是要為數學建立一個形式化的基礎系統。這需要用到**形式語言**來確保數學結構和推理過程的嚴謹性。

<br>

>[!Note] **形式語言（Formal Language）**
>**形式語言（Formal Language）** 是由一組符號及其規則構成的語言，這些符號和規則不依賴於自然語言的語法或語義，而是依照精確定義的形式來運作。形式語言廣泛應用於數學、計算機科學、邏輯學等領域，並且其核心特徵是完全規範化的結構，避免了自然語言中的模糊性。
>
>通常由以下幾個基本組成部分構成：
>- **字母表（Alphabet）**：一組基本符號，這些符號是語言的最小單位，通常被稱為字母。字母表中的符號可以是任何事物，如字母、數字、符號等。
>- **字串（String）**：由字母表中的符號組成的序列。例如，字母表 {a, b} 中的一個字串可以是 "ab" 或 "ba"。
>- **語法規則（Syntax Rules）**：描述如何將字母按照特定規則組合成有效的字串。這些規則確定了語言中哪些字串是合法的。
>- **語言（Language）**：由所有符合語法規則的字串組成的集合。換句話說，語言是由字母表及語法規則所產生的所有合法字串的總和。

<br>

具體來說，**形式語言**在希爾伯特綱領中的作用主要體現在以下幾個方面：

#### 1. 公理化系統的建立
為了將所有數學知識歸結為一組公理，並且通過邏輯推理從這些公理中推導出所有定理。這需要用到形式語言來進行以下操作：
- **定義公理**：使用形式語言來清晰地描述公理，使得每個公理都能夠無歧義地被理解並應用。
- **建立定理的推理規則**：在形式語言中，推理規則（如合取規則、假言推理等）被明確地定義，以便從公理出發推導出定理。

這些操作的核心在於使用形式語言來**精確描述數學概念**，並保證所有推理都是基於這些精確的語言規則。

<br>

#### 2. 避免歧義性和模糊性
自然語言往往含有模糊性和歧義，而這對於數學推理是不可接受的。數學中的任何推理都需要清楚明確，無歧義，才能確保其結論是可靠的。因此，**形式語言的精確性**對於希爾伯特綱領至關重要。形式語言的語法和語義都是明確定義的，這樣可以避免由於語言模糊性引起的誤解。

<br>

#### 3. 邏輯推理的機械化
希爾伯特綱領的一個重要目標是**將數學推理機械化**，即透過一組規則來自動化地從公理推導出定理。這樣的推理過程可以由計算機進行模擬，因此需要一個精確的形式語言來描述：
- 每個數學工具（如數字、集合、函數等）如何被表達？
- 如何進行推理和證明，並保證這些推理符合邏輯規則。

因此，形式語言提供了這種機械化推理的基礎，它是數學證明過程的**語言工具**。

<br>

#### 4. 一致性和完備性問題
希爾伯特綱領的另一個目標是證明數學體系的一致性（即無矛盾性）。為了證明這一點，需要從形式語言的基礎上出發，運用邏輯推理來證明在該系統中不會產生自相矛盾的命題。若沒有形式語言來精確地定義推理規則和結構，就無法清楚地檢查系統是否一致。

<br>

總得來說，形式語言在希爾伯特綱領中的作用是至關重要的，因為它提供了一個精確、無歧義的框架來定義數學公理、推理規則和證明過程。這使得數學推理可以在機械化的過程中運作，並且保證了邏輯的一致性和精確性。因此，形式語言是實現希爾伯特綱領的核心工具之一。

<br>

有了形式語言，我們就能進行嚴謹的證明，例如**如何證明 $1+1=2$ ？**

<br>

>[!Tip] **如何證明** 1+1=2 ？
>我們該如何利用皮亞諾公理證明 $1+1=2$ ？

<br>

**首先我們定義自然數以及後繼數：**

- 定義 **$1$ 為 $0$ 的後繼數**：
  $$
  1 = S(0)
  $$
- 同理，**$2$ 為 $1$ 的後繼數**：
  $$
  2 = S(1) = S(S(0))
  $$

---

**再來我們定義加法：**

<br>

加法 ($+$) 在皮亞諾算術中是透過「遞歸定義」建立的：
1. **基礎情況（加零）**：
   $$
   a + 0 = a
   $$
2. **遞推規則（加後繼數）**：
   $$
   a + S(b) = S(a + b)
   $$
   這表示「對 $b$ 加上它的後繼數，等於先算 $a+b$，再取後繼數」。

---

**接著就可以推導 $1+1=2$**

我們要計算：
$$
1 + 1 = ?
$$

**(1) 代入 $1 = S(0)$**
$$
1 + 1 = 1 + S(0)
$$

<br>

**(2) 使用加法遞推規則（$a + S(b) = S(a + b)$）**
$$
1 + S(0) = S(1 + 0)
$$

<br>

**(3) 使用加法定義的基礎情況（$a + 0 = a$）**
$$
1 + 0 = 1
$$
所以：
$$
S(1 + 0) = S(1)
$$

<br>

**(4) 根據 $2 = S(1)$**
$$
S(1) = 2
$$

所以：
$$
1 + 1 = 2
$$

---

透過皮亞諾公理和加法的遞歸定義，我們利用形式語言嚴格地推導出了：
$$
1 + 1 = 2
$$

>這看起來很簡單，在數學基礎研究中，這樣的形式化證明是數學邏輯的重要基石。但其實在 **《數學原理》（Principia Mathematica）** 中，懷特海與羅素花費了數百頁才正式證明 $1+1=2$。

<br>

有了**形式語言**，就能利用形式化證明嚴謹得推導或驗證出數學系統是否具有以下四個性質。

<br>

---

### 完備性（Completeness）

>[!Note] **完備性（Completeness）**
>如果一個數學系統能夠證明所有在該系統內為真的命題，那麼這個系統就是**完備的**。  

<br>

#### 例子：整數的四則運算
在 **整數的四則運算** 的系統中（$\mathbb{Z}, +, \times$），我們可以確保**每個整數加法與乘法的問題都有答案**，這是一種**完備性**的表現。例如：

- **加法運算**：
  - $2 + 3 = 5$ <font color=green> **正確**</font>
  - $-4 + 7 = 3$ <font color=green> **正確**</font>
  - 任意兩個整數相加，都有明確的整數答案。

- **乘法運算**：
  - $3 \times 4 = 12$ <font color=green> **正確**</font>
  - $-2 \times 6 = -12$ <font color=green> **正確**</font>
  - 任意兩個整數相乘，都有明確的整數答案。

這表示**整數加法與乘法是完備的**，因為**對於所有可能的問題，我們都能找到一個確定的答案，不會出現「無法決定」的情況**。

---

如果我們只考慮**自然數（$\mathbb{N} = \{0,1,2,3,\dots\}$）**，那麼減法就**不是完備的**，因為有些問題無法在這個系統內解決，例如：

- $3 - 5 = ?$  <font color=red> **錯誤**</font>，**沒有自然數答案**（因為 $-2$ 不是自然數）。
- **這代表自然數系統下的減法是不完備的**，因為並非所有命題都能在這個系統內被證明或解決。


---

### 一致性（Consistency）

>[!Note] **一致性（Consistency）**
>如果一個數學系統內不會同時導出某個命題 $P$ 及其否定 $\neg P$，則該系統是**一致的**。  

<br>

#### 例子：集合論中的「沒有矛盾」
在 **集合論（Zermelo-Fraenkel 集合論，ZFC）** 中，我們有一組公理來描述集合的性質，比如：
- 兩個集合相等當且僅當它們有相同的元素。
- 無窮集合存在（確保自然數的存在）。
- 任何集合都有其冪集合（所有子集的集合）。  

如果這些公理能夠建立一個無矛盾的系統，即 **不會同時導出「某個集合存在」和「該集合不存在」**，那麼這個集合論系統就是一致的。  
但如果我們可以推導出 **「某個集合既存在又不存在」**，那麼這個系統就是 **不一致的**。

---

### 保守性（Conservativity）

>[!Note] **保守性（Conservativity）**
>如果一個數學系統 $S$ 因為加入額外的公理，被擴展為另一個數學系統 $S'$，但 $S'$ **對於舊系統 $S$ 內的命題不會推導出新的結論**，那麼這個擴展是**保守的**。  

<br>

#### 例子：實數集合 $\mathbb{R}$ 的運算擴展到複數系統 $\mathbb{C}$ 的運算
- **實數集合 $\mathbb{R}$** 只包含正數、負數和零，可以定義加法、乘法等運算。
- **複數集合 $\mathbb{C}$** 是 $\mathbb{R}$ 的擴展，額外加入 $i = \sqrt{-1}$。
- **關鍵點**：
  - 在實數系統內成立的所有代數運算（如 $1+1=2$、$2 \times 3 = 6$）在複數系統內仍然成立。
  - 複數的引入不會影響 **實數領域內的運算規則**，它只是增加了新的元素（虛數 $i$）。
  - 因此，**複數系統是實數系統的保守擴展**。

---

### 可判定性（Decidability）

>[!Note] **可判定性（Decidability）**
>如果一個數學系統內的所有命題都有一個 **機械化的演算法** 可以判斷其真偽，那麼這個系統是**可判定的**。  

<br>

#### 例子：一元二次方程式實數解的判定

考慮一元二次方程：
$$
ax^2 + bx + c = 0
$$
我們可以使用下列 **判別式** 來確定該方程是否有實數解：
$$
D = b^2 - 4ac
$$

<br>

- 若 **$D > 0$**，則方程有 **兩個不同的實數解**。
- 若 **$D = 0$**，則方程有 **一個重根（即唯一實數解）**。
- 若 **$D < 0$**，則方程 **沒有實數解**，只有共軛複數解。

<br>

這個判斷方法是**機械化**的，因為只要代入 $a, b, c$ 的值，我們總能確定該方程的解的存在性與性質。因此，這是一個 **可判定的問題**，因為我們能在有限步驟內做出決定。


---

### 小結

我們整理一下**希爾伯特綱領**的四個重要性質：

| 性質 | 定義 | 例子 |
|------|------|------|
| **完備性** | 系統內的所有真命題都能被證明 | 對於所有整數運算的問題，我們都能找到一個確定的答案，不會出現「無法決定」的情況，因此具有**完備性**。 |
| **一致性** | 不能同時導出 $P$ 與 $\neg P$ | 集合論中不會同時推出「某集合存在」和「某集合不存在」，因此具有**一致性**。 |
| **保守性** | 新系統不會影響舊系統內命題的真值 | 複數集合 $\mathbb{C}$ 從實數集合 $\mathbb{R}$ 擴展++而來但不影響運算規則，因此具有**保守性**。 |
| **可判定性** | 是否有機械化演算法能判定每個命題的真假 | 一元二次方程式具有判別式可以判斷實數解的數量，因此具有**可判定性**。 |

---

希爾伯特提出了**希爾伯特綱領**後，就像是**哥爾羅傑**一樣，讓眾多數學家們趨之若鶩、奔向**數海**。

<br>

利用嚴謹的**形式語言**，證明數學系統具有以上完美的四條性質，數學定理就像是海賊船一樣能夠無所畏懼的奔向大海。

<br>

因為這四條性質穩固了數學的根基。

<br>

只要數學系統具有**完備性**，代表**數學系統的所有真命題都能被證明**，不會有無法確定的情況。

<br>

只要數學系統具有**一致性**，代表**數學系統不會從系統內部推導出矛盾的結果**，就不會有爆炸原理這種**一對矛盾證明一切**的情況。

<br>

只要數學系統具有**保守性**，代表**數學系統內只要有新的系統被提出，也不會影響舊系統的規則**，就不會有推翻以往設定的情況。

<br>

只要數學系統具有**可判定性**，代表**數學系統會有機械化的演算法能夠判定每個被提出的命題的真假**，所以除了過往的命題，未來被提出的新命題也能被判定。

<br>

所以，數學家們就能安心的在數學這塊大陸上開墾，期盼終有一天建立起一座座高聳的數學大廈。

<br>

但是，真的是這樣嗎？

<br>

下一篇，我們就來分析以上四條性質，來看看數學系統是否真的**完美**。

<br>

我是Lewis，我們[**下一篇**](https://hackmd.io/@lewisjjj800/rkcL9IxMgx)專欄見！












