馮諾伊曼-博內斯-哥德爾集合論

馮·諾伊曼-博內斯-哥德爾集合論（von Neumann–Bernays–Gödel Set Theory，NBG）是種以類為直觀動機的一階公理化集合論，它是策梅洛-弗蘭克爾集合論（Zermelo-Fraenkel Set Theory，ZF）的保守擴展（ZF裡可以證明的定理也都是NBG的定理），而且NBG僅需在一階邏輯基本的公理模式上添加有限數目的公理，但ZF需添加與集合有關的公理模式。

NBG首先由馮·諾伊曼在1920年代提出，從1937年開始由保羅·博內斯作修改，在1940年由哥德爾進一步簡化。

## 基本符號

在NBG下，「屬於關係」以一個雙元斷言符號 $P(x,\,y)$ 來表示， $P(x,\,y)$ 通常簡記為 $x \in y$，並被直觀理解成「x屬於y」；類似地， $P(x,\,y)$ 的否定 $\neg P(x,\,y)$ 通稱被簡記為 $x \notin y$，並被直觀理解為「x不屬於y」。

以下都把 $\vdash_{NBG}$ 簡寫為普通的 $\vdash$。

本條目定理的證明會頻繁引用一階邏輯的定理，定理的代號可以參見一階邏輯#常用的推理性質一節。

### 類與集合

「類」這個名詞在公理化集合論出現之前，通常被理解為「以集合為元素的集合。」或是集合（如等價類）。

但NBG所談及的一切對象（變數和項）都是類。而所謂的集合，是屬於某個類的類，也就是說以下的合式公式（$\mathcal{M}$ 來自德語的"集合"「Menge」）式

$$\mathcal{M}(x):=\exists y (x \in y)$$

可直觀理解為「x是集合」，特別注意到，為了避免跟其他合式公式的變數產生混淆， $y$ 必須是展開 $\mathcal{M}(x)$ 時首次出現的變數。反之合式公式

$$\mathcal{Pr}(x):=\neg\mathcal{M}(x)$$

可稱為「$x$ 是真類（proper class）」。

### 子類

直觀上「x包含於y」意為「所有x的元素a都會屬於y」，以此為動機，NBG有以下的符號簡寫

$$x \subseteq y := \forall a[\, (a \in x) \Rightarrow (a \in y) \,]$$

以上可稱為「x包含於y」或「x是y的子類（subclass）」；在 $\mathcal{M}(x)$ 和 $\mathcal{M}(y)$ 成立的前提下（也就是「x和y都是集合」），可稱為「x是y的子集（subset）」。

### 與集合相關的量詞簡寫

仿造量詞的簡寫，對於任意變數 $x$ 與合式公式 $\mathcal{A}$，可作如下的符號定義

$({\forall}^M x)\mathcal{A} := \forall x[\,\mathcal{M}(x)\Rightarrow \mathcal{A}\,]$ （對所有 $x$， $x$ 是集合則 $\mathcal{A}$）

$({\exists}^M x)\mathcal{A} := \exists x[\,\mathcal{M}(x)\wedge \mathcal{A}\,]$ （存在 $x$ 不但是集合且 $\mathcal{A}$）

也有書籍以小寫字母來表示被量化的集合變數，但考慮到一般的非邏輯數學書籍都將大小寫的差異挪作他用，為避免混淆本條目採用以上的上標表示法。

## 等號公理

### 看待等號的不同方式

直觀上，兩個集合相等意為「x的元素就是y的元素」，也就是樸素集合論的外延公理，換句話說，可用以下的嚴謹合式公式重寫為

$$\forall a[\, (a \in x) \Leftrightarrow (a \in y) \,]$$

但一階邏輯的等號可以視為單獨的斷言符號，也可以視為一條複合的合式公式。具體來說，視為一個新的斷言符號 $Q(x,\,y)$ 並簡記為 $x = y$ 的話，需在NBG內額外添加以下的公理

$$(T^{\prime})$$

$$(x=y) \Leftrightarrow \forall a[\, (a \in x) \Leftrightarrow (a \in y) \,]$$ 直觀上可理解為「類x的元素就是類y的元素，等價於類x等於類y」。

但視為一條合式公式，則僅需做以下的符號定義

$$(x=y) := \forall a[\, (a \in x) \Leftrightarrow (a \in y) \,]$$

不管是何種看待方法，習慣上都會把 $\neg(x = y)$ 簡記成 $(x \neq y)$ （直觀上的「不相等」）。

### 等號的良置

為了確保 $(x = y)$ 的確符合直觀上對等號的要求，還需添加以下的公理

$$(T)$$

$$(x=y) \Rightarrow \forall z[\, (x \in z) \Leftrightarrow (y \in z) \,]$$

直觀上，這個公理確保「x等於y，則x屬於z等同於y屬於z」。

這樣，以下的元定理就確保了如此定義的等號是「成功的」。

NBG是帶相等符號 $(x=y)$ 的一階邏輯理論

證明以下的證明會逐條檢驗等式定理一節所條列的定義 （E1）： $(x=x)$ 展開來是（或等價於） : $\forall a[\, (a \in x) \Leftrightarrow (a \in x) \,]$ 那考慮到恆等關係和(AND)有 : $\vdash (a \in x) \Leftrightarrow (a \in x)$ 那再套用(GEN)，就會有 : $\vdash \forall a[\, (a \in x) \Leftrightarrow (a \in x) \,]$ 所以（E1）得證。（E2）：因為目前的NBG理論內沒有任何函數符號，所以對變數 $x$ 來說，NBG的原子公式只有 $(x \in z)$ 和 $(z \in x)$ 兩種可能，這樣的話，（E2）等同於要求以下兩式是NBG的定理 : (1) $(x = y) \Rightarrow [\, (x \in z) \Rightarrow (y \in z) \,]$ : (2) $(x = y) \Rightarrow [\, (z \in x) \Rightarrow (z \in y) \,]$ 但依據量詞公理（A4），(1)可從本節一開始添加的公理（T）所推出；類似地，把 $(x=y)$ 視為斷言符號時，(2)都可以從（T'）配合（A4）推出；若把 $(x=y)$ 視為合式公式的簡寫，(2)也可以用 $(x=y)$ 的定義配上（A4）推出。（E3）：本條定義要求以下的合式公式為NBG的定理 : $(x = y) \Rightarrow (y = x)$ 從且的交換性有 : $\vdash (\forall z)[(z \in x) \Leftrightarrow (z \in y)] \Rightarrow (\forall z)[(z \in y) \Leftrightarrow (z \in x)]$ 對上式使用(AND)和(D1)就有 : $(x = y) \vdash (\forall z)[(z \in y) \Leftrightarrow (z \in x)]$ 再對上面式使用(AND)和(D1)又有 : $(x = y) \vdash (y=x)$ 所以（E3）的確是NBG的定理。綜上所述，定理得證。$\Box$

### 真子類

在定義「相等」以後，可以把「相等的類」排除出子類的定義中，換句話說，NBG有以下的符號定義

$$x\subset y := (x \subseteq y) \wedge (x \neq y)$$

可直觀理解為「x是y的真子類（proper subclass），定義為x包含於y且x不等於y」；在 $\mathcal{M}(x)$ 和 $\mathcal{M}(y)$ 成立的前提下（也就是「x和y都是集合」），可稱為「x是y的真子集（proper subset）」。

### 外延定理

為以下的定理可直觀理解為「x等於y等價於，對所有集合z，z屬於x等價於z屬於y」，也就是說，等於的定義可以「限縮」成元素為集合的狀況。$\vdash (x = y) \Leftrightarrow (\forall^M z)[\,(z \in x) \Leftrightarrow (z \in y)\,]$

證明以下取一個不曾出現的變數 $t$ 來展開 $\mathcal{M}(z)$ ($\Rightarrow$)$\forall z(z\in x\Leftrightarrow z\in y)\vdash\forall z\{\exists t(z \in t)\Rightarrow[(z\in x)\Leftrightarrow(z\in y)]\}$ :(1)$\forall z(z\in x\Leftrightarrow z\in y)$ (Hyp) :(2)$z\in x\Leftrightarrow z\in y$ (MP with 1, A4) :(3)$\exists t(z \in t)\Rightarrow[(z\in x)\Leftrightarrow(z\in y)]$ (MP with 2, A1) :(4)$\forall z\{\exists t(z \in t)\Rightarrow[(z\in x)\Leftrightarrow(z\in y)]\}$ (GEN with 3) ($\Leftarrow$)$\forall z\{\mathcal{M}(z)\Rightarrow[(z\in x)\Leftrightarrow(z\in y)]\}\vdash\forall z(z\in x\Leftrightarrow z\in y)$ :$\mathcal{A}:=(z\in x)\Leftrightarrow(z\in y)$ :(1)$\forall z[\exists t(z\in t)\Rightarrow\mathcal{A}]$ (Hyp) :(2)$\exists t(z\in t)\Rightarrow\mathcal{A}$ (MP with A4, 1) :(3)$\neg\mathcal{A}\Rightarrow\forall t[\neg(z\in t)]$ (MP with T, 2) :(4) $\neg\mathcal{A}\Rightarrow[\neg(z\in t)]$ (D1, with A4, 3) :(5)$(z \in t)\Rightarrow[(z\in x)\Leftrightarrow(z\in y)]$ (MP with T, 4) :(6)$\forall t\{(z \in t)\Rightarrow[(z\in x)\Leftrightarrow(z\in y)]\}$ (GEN with 5) :(7)$(z \in x)\Rightarrow[(z\in x)\Leftrightarrow(z\in y)]$ (MP with A4, 6) :(8)$(z \in y)\Rightarrow[(z\in x)\Leftrightarrow(z\in y)]$ (MP with A4, 6) :(9)$(z \in x)\Rightarrow[(z\in x)\Rightarrow(z\in y)]$ (D1 with AND, 7) :(10)$(z \in y)\Rightarrow[(z\in y)\Rightarrow(z\in x)]$ (D1 with AND, 8) :(11)$(z\in x)\Rightarrow(z\in y)$ (MP twice with A2, I, 9) :(12)$(z\in y)\Rightarrow(z\in x)$ (MP twice with A2, I, 10) :(13)$(z\in x)\Leftrightarrow(z\in y)$ (AND with 11, 12) :(14)$\forall z(z\in x\Leftrightarrow z\in y)$ (GEN with 13)

引入新的函數符號前，常需要唯一存在性的證明，而外延定理大大降低了證明的難度。

### 特定條件下的存在性

以下關於一階邏輯的一般性定理，也大大簡化了 NBG 引入新公理的過程所需的證明$x$ 於合式公式 $\mathcal{A}$ 完全不自由且 $c$ 是常數符號。若

$$\mathcal{A} \vdash (\exists x)\mathcal{B}$$

則有

$$\vdash(\exists x)\{\, [\,\neg\mathcal{A} \wedge (x=c)\,] \vee (\mathcal{A} \wedge \mathcal{B}) \,\}$$

證明(1)$\mathcal{A}\Rightarrow(\exists x)\mathcal{B}$ (Hyp) (2)$(\forall x)\{\neg\{[\neg\mathcal{A}\wedge(x=c)]\vee(\mathcal{A}\wedge\mathcal{B})\}\}$ (Hyp) (3)$\neg\{[\neg\mathcal{A}\wedge(x=c)]\vee(\mathcal{A}\wedge\mathcal{B})\}$ (MP with A4, 2) (4)$\neg[\neg\mathcal{A}\wedge(x=c)]\wedge\neg(\mathcal{A}\wedge\mathcal{B})$ (MP with 3, DIS) (5)$\neg[\neg\mathcal{A}\wedge(x=c)]$ (MP with AND,4) (6)$\neg(\mathcal{A}\wedge\mathcal{B})$ (MP with AND, 4) (7)$\neg\mathcal{A}\Rightarrow\neg(x=c)$ (MP with DIS, DN 5) (8)$\mathcal{A}\Rightarrow\neg\mathcal{B}$ (MP with DIS, DN, 5) (9)$\mathcal{B}\Rightarrow\neg\mathcal{A}$ (MP with T, 8) (10)$(\exists x)\mathcal{B}\Rightarrow\neg\mathcal{A}$ (GENe with 9) (11)$\mathcal{A}\Rightarrow\neg(\exists x)\mathcal{B}$ (MP with T, 11) (12)$\neg\mathcal{A}$ (A3' with 1, 11) (13)$\neg(x=c)$ (MP with 7, 12) (14)$(\forall x)[\neg(x=c)]$ (GEN with 13) 再套用一次（DN）也就是 $\mathcal{A}\Rightarrow(\exists x)\mathcal{B}\,\vdash(\forall x)\{\neg\{[\neg\mathcal{A}\wedge(x=c)]\vee(\mathcal{A}\wedge\mathcal{B})\}\}\Rightarrow\neg(\exists x)(x=c)$ 但由一階邏輯的等式性質有 $\vdash c=c$ 對上式以變數 $x$ 套用一次(GENe)有 $\vdash(\exists x)(x=c)$ 所以由(C2)本定理就會得證。$\Box$

## 空集合公理

$$(N)$$

$$({\exists}^{M} x)({\forall}^{M} y)(y\not\in x)$$

這個公理的直觀意思是「存在集合x，使的所有集合y都不屬於x」。

事實上這個公理還確保了空集的唯一性，嚴格來說，它確保了：

$$\vdash (\exists!x)[\, \mathcal{M}(x) \wedge ({\forall}^{M} y)(y\not\in x) \,]$$

證明假設 :$({\forall}^{M} y)(y\not\in x)$ :$({\forall}^{M} y)(y\not\in t)$ 那根據量詞公理的(A4)有 :$\mathcal{M}(y) \Rightarrow (y\not\in x)$ :$\mathcal{M}(y) \Rightarrow (y\not\in t)$ 另一方面，根據常用的推理性質的(M0)有 :$\vdash (y\not\in x) \Rightarrow [\,(y\in x) \Rightarrow (y\in t)\,]$ :$\vdash (y\not\in t) \Rightarrow [\,(y\in t) \Rightarrow (y\in x)\,]$ 這樣根據演繹定理的推論(D1)有 :$\mathcal{M}(y) \Rightarrow [\,(y\in x) \Rightarrow (y\in t)\,]$ :$\mathcal{M}(y) \Rightarrow [\,(y\in t) \Rightarrow (y\in x)\,]$ 這樣根據常用的推理性質(T)有 :$\neg[\,(y\in x) \Rightarrow (y\in t)\,] \Rightarrow \neg\mathcal{M}(y)$ :$\neg[\,(y\in t) \Rightarrow (y\in x)\,] \Rightarrow \neg\mathcal{M}(y)$ 這樣根據德摩根定律和邏輯與的(DisJ)有 :$\neg \{\, [\,(y\in x) \Rightarrow (y\in t)\,] \wedge [\,(y\in t) \Rightarrow (y\in x)\,] \,\} \Rightarrow \neg\mathcal{M}(y)$ 這樣再根據(T)有 :$\mathcal{M}(y) \Rightarrow [\,(y\in x) \Leftrightarrow (y\in t)\,]$ 這樣根據普遍化有 :$(\forall^M y)[\,(y\in x) \Leftrightarrow (y\in t)\,]$ 那這樣根據上節的外延定理有 :$x = t$ 換句話說 :$\vdash [\,({\forall}^{M} y)(y\not\in x) \wedge ({\forall}^{M} y)(y\not\in t)\,] \Rightarrow (x = t)$ 這樣根據邏輯與的直觀性質和(D1)有 :$\vdash \{\, [\,\mathcal{M}(x) \wedge ({\forall}^{M} y)(y\not\in x)\,] \wedge [\,\mathcal{M}(t) \wedge ({\forall}^{M} y)(y\not\in t)\,] \,\} \Rightarrow (x = t)$ 這樣根據普遍化有 : $\vdash (\forall x)(\forall t)\big\{\, \{\, [\,\mathcal{M}(x) \wedge ({\forall}^{M} y)(y\not\in x)\,] \wedge [\,\mathcal{M}(t) \wedge ({\forall}^{M} y)(y\not\in t)\,] \,\} \Rightarrow (x = t) \,\big\}$ 再綜合本節的空集合公理（N），本定理就得証了。$\Box$

也就是直觀上，「空集是唯一存在的」，這樣根據函數符號與唯一性一節，可以在NBG加入新的常數符號 $\varnothing$ 和以下的新公理（嚴格來說，把完全沒有函數符號和常數符號的NBG擴展成有 $\varnothing$ 的新NBG，但兩個理論是等效的）

$$(N^{\prime})$$

$$\mathcal{M}(\varnothing) \wedge ({\forall}^{M} y)(y\not\in \varnothing)$$

這個新公理直觀上以「$\varnothing$為集合，且任意集合y都不屬於$\varnothing$」，把 $\varnothing$ 定義成了空集的表示符號。

## 配對公理

$$(P)$$

$$({\forall}^{M} x)({\forall}^{M} y)({\exists}^{M} p)({\forall}^{M} z)\{(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\}$$

這個公理的直觀意思是「對所有集合x和集合y，存在一個僅以x跟y為元素的集合p」。

這個公理還確保了以下的唯一性：

$$\mathcal{M}(x) \wedge \mathcal{M}(y) \vdash (\exists!p)\big\{\, \mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\} \,\big\}$$

證明根據量詞的簡寫，配對公理(P)等價於 :$(\forall x)(\forall y) \bigg\{\, \mathcal{M}(x) \wedge \mathcal{M}(y) \Rightarrow (\exists p)\big\{\, \mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\} \,\big\} \,\bigg\}$ 這樣對上式套用兩次量詞公理的(A4)有 :$\mathcal{M}(x) \wedge \mathcal{M}(y) \Rightarrow (\exists p)\big\{\, \mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\} \,\big\}$ 這樣在有 $\mathcal{M}(x) \wedge \mathcal{M}(y)$ 的前提就有 :$(\exists p)\big\{\, \mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\} \,\big\}$ 所以 :$\mathcal{M}(x) \wedge \mathcal{M}(y) \vdash (\exists p)\big\{\, \mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\} \,\big\}$ 另一方面，若假設 :$\mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\}$ :$\mathcal{M}(\pi) \wedge ({\forall}^{M} z)\{\,(z \in \pi)\Leftrightarrow [(z=x)\vee(z=y)]\,\}$ 這樣根據邏輯與的直觀性質有 :$({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\}$ :$({\forall}^{M} z)\{\,(z \in \pi)\Leftrightarrow [(z=x)\vee(z=y)]\,\}$ 再根據(A4)有 :$\mathcal{M}(z) \Rightarrow \{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\}$ :$\mathcal{M}(z) \Rightarrow\{\,(z \in \pi)\Leftrightarrow [(z=x)\vee(z=y)]\,\}$ 如果再假設 $\mathcal{M}(z)$，根據MP律有 :$(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]$ :$(z \in \pi)\Leftrightarrow [(z=x)\vee(z=y)]$ 這樣根據演繹定理的推論(D1)和邏輯與的直觀性質有 :$(z\in p) \Leftrightarrow (z\in \pi)$ 也就是說 :$\mathcal{B}(p) \wedge \mathcal{B}(\pi),\, \mathcal{M}(z) \,\vdash\, (z\in p) \Leftrightarrow (z\in \pi)$ 其中 $\mathcal{B}(p) := \mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\}$ 因為變數 $z$ 在 $\mathcal{B}(p)$ 和 $\mathcal{B}(\pi)$ 內完全不自由，對上式套用演繹定理(D)將 $\mathcal{M}(z)$ 移到右方後，再對 $z$ 套用普遍化會有 :$\mathcal{B}(p) \wedge \mathcal{B}(\pi) \,\vdash\, (\forall^M z)[\,(z\in p) \Leftrightarrow (z\in \pi)\,]$ 這樣根據本條目的外延定理有 :$\mathcal{B}(p) \wedge \mathcal{B}(\pi) \,\vdash\, (p = \pi)$ 那以演繹定理(D)將 $\mathcal{B}(p) \wedge \mathcal{B}(\pi)$ 移到右方，然後接連對 $p$ 和 $\pi$ 使用普遍化有 :$\vdash (\forall p)(\forall \pi) [\, \mathcal{B}(p) \wedge \mathcal{B}(\pi) \Rightarrow (p = \pi) \,]$ 故本定理得証。$\Box$

這樣的話會有$$\vdash (\exists! p)\bigg\{\, \{\, \neg[\,\mathcal{M}(x) \wedge \mathcal{M}(y)\,] \wedge (p = \varnothing) \,\} \vee \big\{\, \mathcal{M}(x) \wedge \mathcal{M}(y) \wedge \mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\} \,\big\} \,\bigg\}$$

證明根據（P-1）和本條目的特定條件下的存在性(DC)會有 :（P-2）$\vdash (\exists p)\bigg\{\, \{\, \neg[\,\mathcal{M}(x) \wedge \mathcal{M}(y)\,] \wedge (p = \varnothing) \,\} \vee \big\{\, \mathcal{M}(x) \wedge \mathcal{M}(y) \wedge \mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\} \,\big\} \,\bigg\}$ 設 :$\mathcal{A}(p) := \neg[\,\mathcal{M}(x) \wedge \mathcal{M}(y)\,] \wedge (p = \varnothing)$ :$\mathcal{B}(p) := \mathcal{M}(x) \wedge \mathcal{M}(y) \wedge \mathcal{M}(p) \wedge ({\forall}^{M} z)\{\,(z\in p)\Leftrightarrow [(z=x)\vee(z=y)]\,\}$ :$\mathcal{C} := \mathcal{M}(x) \wedge \mathcal{M}(y)$ 那連續套用邏輯與合邏輯或的分配律與邏輯與的交換性會有 :$\vdash \{\, [\,\mathcal{A}(p) \vee \mathcal{B}(p)\,] \wedge [\,\mathcal{A}(\pi) \vee \mathcal{B}(\pi)\,] \,\} \Leftrightarrow \big\{\, \{\, [\,\mathcal{A}(p) \wedge \mathcal{A}(\pi)\,] \vee [\,\mathcal{B}(p) \wedge \mathcal{A}(\pi)\,] \,\} \vee \{\, [\,\mathcal{A}(p) \wedge \mathcal{B}(\pi)\,] \vee [\,\mathcal{B}(p) \wedge \mathcal{B}(\pi)\,] \,\} \,\big\}$ 但考慮到邏輯與的直觀性質和邏輯與的定義有 :$\vdash [\,\mathcal{B}(p) \wedge \mathcal{A}(\pi)\,] \Rightarrow (\neg\mathcal{C}\wedge\mathcal{C})$ :$\vdash [\,\mathcal{A}(p) \wedge \mathcal{B}(\pi)\,] \Rightarrow (\neg\mathcal{C}\wedge\mathcal{C})$ :$\vdash (\neg\mathcal{C}\wedge\mathcal{C}) \Leftrightarrow \neg(\mathcal{C}\Rightarrow\mathcal{C})$ 那根據恆等關係$(I)$和常用的推理性質(T)有 :$\vdash \neg[\,\mathcal{B}(p) \wedge \mathcal{A}(\pi)\,]$ :$\vdash \neg[\,\mathcal{A}(p) \wedge \mathcal{B}(\pi)\,]$ 所以根據邏輯或的定義來重複使用演繹定理的推論(D1)會有 :$\vdash \{\, [\,\mathcal{A}(p) \vee \mathcal{B}(p)\,] \wedge [\,\mathcal{A}(\pi) \vee \mathcal{B}(\pi)\,] \,\} \Leftrightarrow \{\, [\,\mathcal{A}(p) \wedge \mathcal{A}(\pi)\,] \vee [\,\mathcal{B}(p) \wedge \mathcal{B}(\pi)\,] \,\}$ 然後從NBG的等式定理會有 :$\vdash [\,\mathcal{A}(p) \wedge \mathcal{A}(\pi)\,] \Rightarrow (p = \pi)$ 另一方面，根據（P-1）有 :$\vdash [\,\mathcal{B}(p) \wedge \mathcal{B}(\pi)\,] \Rightarrow (p=\pi)$ 這樣結合邏輯與的(DisJ)有 :$\vdash \{\, [\,\mathcal{A}(p) \vee \mathcal{B}(p)\,] \wedge [\,\mathcal{A}(\pi) \vee \mathcal{B}(\pi)\,] \,\} \Rightarrow (p=\pi)$ 再對 $p$ 和 $\pi$ 套用普遍化有 :$\vdash (\forall p)(\forall \pi)\bigg\{\, \{\, [\,\mathcal{A}(p) \vee \mathcal{B}(p)\,] \wedge [\,\mathcal{A}(\pi) \vee \mathcal{B}(\pi)\,] \,\} \Rightarrow (p=\pi) \,\bigg\}$ 這樣結合剛剛的（P-2）與邏輯與的直觀性質，本定理就得證了。$\Box$

所以根據函數符號與唯一性一節，可以在NBG加入新的雙元函數符號 $f^2_p(x,\,y)$（簡記為 $\{x,\,y\}$）和以下的新公理

$$(P^{\prime})$$

$$\bigg\{ <pre> \neg[\,\mathcal{M}(x) \wedge \mathcal{M}(y)\,] \wedge (\{x,\,y\} = \varnothing) </pre> \bigg\} \vee$$

$$\bigg\{ <pre> \mathcal{M}(x) \wedge \mathcal{M}(y) \wedge \mathcal{M}\left(\{x,\,y\}\right) \wedge ({\forall}^{M} z)\{\,(z\in \{x,\,y\})\Leftrightarrow [(z=x)\vee(z=y)]\,\} </pre> \bigg\}$$

這個新公理的直觀意思是「若x和y為集合，則 $\{x,\,y\}$ 就是那個只以x和y為元素的集合；但反之，若x和y不全為集合，則 $\{x,\,y\}$ 為空集」。

### 有序對

$$\{x\}:=\{x,\,x\}$$

$$\langle x \rangle := \{x\}$$

$$\langle x,\, y \rangle := \{\{x\},\,\{x,\,y\}\}$$

$$\langle x_1,\,\dots,\,\,x_n,\,x_{n+1} \rangle := \langle \langle x_1,\,\dots,\,\,x_n\rangle,\, x_{n+1}\rangle$$

在不跟括弧產生混淆的情況下，也可以把$\langle x_1,\,\dots,\,\,x_n,\,x_{n+1} \rangle$記為$( x_1,\,\dots,\,\,x_n,\,x_{n+1} )$。

### 關係

$$Rel(f):=(\forall^M a)\big\{\, (a\in f) \Rightarrow (\exists x)(\exists y)\{\, \mathcal{M}(x) \wedge \mathcal{M}(y) \wedge [\,a=(x,\,y)\,] \,\} \,\big\}$$

### 類函數

$$Fnc(f):= Rel(f) \wedge (\forall^M x)(\forall^M y)(\forall^M \upsilon)\{\, [\,(x,\,y)\in f\wedge(x,\,\upsilon)\in f \,] \Rightarrow (y = \upsilon) \,\}$$

類函數跟普通函數的差別在於普通函數是個集合。

## 類的存在公理

### 屬於類公理

$$(K_{\in})$$

$$(\exists e)(\forall^M a)(\forall^M b)\{ <pre> [(a,\,b)\in e] \Leftrightarrow (a\in b) </pre> \}$$

### 交類公理

$$(K_{i})$$

$$(\forall x)(\forall y)(\exists i)({\forall}^{M} a)\{ <pre> (a \in i) \Leftrightarrow [(a\in x) \wedge (a\in y)] </pre> \}$$

### 補類公理

$$(K_{c})$$

$$(\forall x)(\exists c)({\forall}^{M} a)[ <pre> (a\in c) \Leftrightarrow (a\not\in x) </pre> ]$$

### 定義域公理

$$(K_{D})$$

$$(\forall x)(\exists d)(\forall^M a)\{ <pre> (a\in d) \Leftrightarrow (\exists^M b)[(a,\,b) \in x] </pre> \}$$

### 積類公理

$$(K_{p})$$

$$(\forall x)(\exists p)(\forall^M a)(\forall^M b)\{ <pre> [\,(a,\,b) \in p\,] \Leftrightarrow (a \in x) </pre> \}$$

### 置換類公理

$$(K_{\sigma 1})$$

$$(\forall x)(\exists \sigma)(\forall^M a)(\forall^M b)(\forall^M c)\{ <pre> [(a,\,b,\,c) \in x] \Leftrightarrow [(b,\,c,\,a) \in \sigma] </pre> \}$$ $$(K_{\sigma 2})$$

$$(\forall x)(\exists \sigma)(\forall^M a)(\forall^M b)(\forall^M c)\{ <pre> [(a,\,b,\,c) \in x] \Leftrightarrow [(a,\,c,\,b) \in \sigma] </pre> \}$$

### 類的存在元定理

這個元定理對應到ZFC爾集合論的分類公理。

首先需要遞歸地定義「可敘述公式」（predicative well-formed formula）：

- 對任意變數 $x$ 和 $y$，$x \in y$ 為可敘述公式。
- 若 $\mathcal{P}$ 與 $\mathcal{Q}$ 為可敘述公式， $x$ 為任意變數，則 $(\neg\mathcal{P})$、 $(\mathcal{P} \Rightarrow \mathcal{Q})$ 與 $(\forall^M x)\mathcal{P}$ 都是可敘述公式。

這樣依據上列諸類存在公理，就有以下元定理：

$\mathcal{P}$ 為一條只內含變數 $x_1,\,\dots,\,x_n,\,y_1,\,\dots,\,y_m$ 的可敘述公式，則有

$$\vdash (\exists s)(\forall^M x_1)\ldots(\forall^M x_n)[ <pre> (\langle x_1,\,\dots,\,x_n\rangle \in s) \Leftrightarrow \mathcal{P} </pre> ]$$

證明

## 集合的公理

### 併集公理

$$(U)$$

$$(\forall^M x)(\exists^M u)(\forall^M a)[ <pre> (a \in u) \Leftrightarrow (\exists^M \xi \in x)(a \in \xi) </pre> ]$$

### 冪集公理

$$(W)$$

$$(\forall^M x)(\exists^M w)(\forall^M \xi)\{ <pre> (\xi \in w) \Leftrightarrow (\xi \subseteq x) </pre> \}$$

### 子集公理

$$(S)$$

$$(\forall^M x)(\forall y)(\exists^M z)(\forall^M a)\{ <pre> (a \in z) \Leftrightarrow [(a \in x) \wedge (a \in y)] </pre> \}$$

## 無窮公理

$$(I)$$

$$(\exists^M I)\{ <pre> (\varnothing \in I) \wedge (\forall^M a)[ (a \in I) \Rightarrow (a \cap \{a\} \in I) ] </pre> \}$$

## 取代公理及其替代

$$(R)$$

$$Fnc(f) \Rightarrow (\forall^M x)(\exists^M r)(\forall^M b)\bigg\{ <pre> (b \in r) \Rightarrow (\exists^M a)\{ (\langle a,\,b\rangle \in r) \wedge (a \in x) \} </pre> \bigg\}$$

直觀意義為「$f$ 為類函數則對任意集合 $x$，存在一個集合 $r$，正好就是在 $f$ 的規則下映射出的像」。

### 大小限制公理

- 對於任何類 C，存在一個集合 x 使得 $Rp(C,x)$ （謂 x 是 C 的表示，即 C 和 x 所包含的元素一樣），若且唯若沒有在 C 和所有集合的類 V 之間的雙射。

這個公理貢獻自馮·諾伊曼，並一下實現了分離公理、替代公理和全局選擇公理。他效力相當於原始的替代公理加上這選擇公理。完全的大小限制公理蘊涵了全局選擇公理，因為序數的類不是集合，所以有從序數到全集的雙射。

## 引用

- John von Neumann, 1925, "An Axiomatization of Set Theory." English translation in Jean van Heijenoort, ed., 1967. From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931. Harvard University Press.
- Mendelson, Elliott, 1997 (1964). An Introduction to Mathematical Logic, 4th ed. Chapman & Hall. The classic textbook treatment of NBG set theory, showing how it can found mathematics.
- Richard Montague, 1961, "Semantic Closure and Non-Finite Axiomatizability I," in Infinitistic Methods, Proceedings of the Symposium on Foundations of Mathematics, (Warsaw, 2-9 September 1959). Pergamon: 45-69.