代换公理

在公理化集合論和使用它的邏輯、數學和計算機科學分支中，**替代公理模式**（英語：axiom schema of replacement）是策梅洛 - 弗蘭克爾集合論（ZFC）的一個公理模式，它本質上斷言一個集合在一個映射（泛函謂詞）下的像也是一個集合。它對於構造特定的大集合是必需的。

## 陳述

假定 _P_ 是一個雙變量謂詞，對於任何集合 _x_ 有一個唯一的集合 _y_ 使 _P_(_x_,_y_) 成立。接著我們可以形成一個單變量的泛函謂詞 _F_，使得 _F_(_x_) = _y_ 若且唯若 _P_(_x_,_y_)。

替代公理聲稱，給定一個集合 _A_，我們可以找到一個集合 _B_，它的成員完全是 _F_ 在 _A_ 的成員上的值。注意對於每個這樣的謂詞 _P_ 都有一個相對應的公理；所以，這是一個公理模式。

在 Zermelo-Fraenkel 公理的形式語言中，這個公理模式讀做：

　
: $(\forall x,\exists !\,y:P(x,y))\rightarrow \forall A,\exists B,\forall y:y\in B\iff \exists x\in A:P(x,y)$

換句話說，

　
: 如果給定任何集合 _x_，有一個唯一的集合 _y_ 使得 _P_ 對 _x_ 和 _y_ 成立，那麼給定任何集合 _A_，有著一個集合 _B_ 使得，給定任何集合 _y_，_y_ 是 _B_ 的一個成員，若且唯若有是 _A_ 的成員的一個集合 _x_ 使得 _P_ 對於 _x_ 和 _y_ 成立。

如果允許在公理模式中使用導出的泛函謂詞，則這個公理模式可以寫為：

　
: $\forall A,\exists B,\forall y:y\in B\iff \exists x\in A:y=F(x)$

對於每個導出的單變量的泛函謂詞 _F_；
換句話說：

　
: 給定任何集合 _A_，有一個集合 _B_ 使得，給定任何集合 _y_，_y_ 是 _B_ 的成員，若且唯若有是 _A_ 的成員的一個集合 _x_ 使得 _y_ 等於 _F_ 在 _x_ 上的值。

通過外延公理可知這個集合 _B_ 是唯一的。我們稱這個集合 _B_ 為 _A_ 在 _F_ 下的像，並指示它為 _F_(_A_) 或（使用集合建構式符號形式）{_F_(_x_):_x_∈_A_}。

有時引用這個公理不帶唯一性要求：

　
: $\forall A(\forall x\in A,\exists y:P(x,y))\rightarrow \exists B,\forall x\in A,\exists y\in B:P(x,y)$

就是說，謂詞 _P_ 不被限制為泛函的：要應用它於一個集合 _A_，只需存在至少一個元素 _y_ 對應於 _A_ 的每個元素 _x_ 就可以了；_y_ 對每個 _x_ 是唯一的不是必需的。在這種情況下，被斷言存在的像集合 _B_ 將為 _A_ 的每個 _x_ 包含至少一個這樣的 _y_，不保證只包含唯一的一個。

有時陳述這個公理不對謂詞加任何限制：

　
: $\forall A,\exists B,\forall x\in A:((\exists y:P(x,y))\rightarrow \exists y\in B:P(x,y))$

就是說，根本不要求 _P_ 把集合 _A_ 的一個元素映射到任何對象。但是如果對於 _A_ 的一個元素 _x_ 有至少一個 _y_ 對應於它，則像集合 _B_ 將包含至少一個這樣的 _y_。 

這個不對謂詞作限制的公理，也叫做**有界公理**或**搜集公理**，看似比原先的替代公理更強，但是這兩個版本都可以從替代公理推導出來。另一方面，任何泛函謂詞都是謂詞，所以有界公理也蘊涵替代公理，因此兩個公理是等價的（在給定了其他 Zermelo-Fraenkel 公理的情況下）。

## 應用例子

序數 ω・2 = ω + ω（使用馮・諾伊曼的現代定義）是第一個不使用替代公理就不能構造的序數。無窮公理斷言無限序列 ω = {0, 1 ,2 ,...} 的存在，也只斷言了這個序列。我們希望定義 ω・2 為序列 {ω, ω + 1, ω + 2,...}，但是一般的序數的類不一定是集合（例如，所有序數的類不是集合）。替代公理允許你把在 ω 中每個有限數 _n_ 替代為對應的 ω + _n_，並保證替代所得的類是集合。注意你可以輕易地構造序同構於 ω・2 的良序集合而不需用到替代公理：取 ω 的兩個復件的不交並，然後設第二個復件大於第一個便可。但這樣所得的集合並不是一個序數，因為它在屬於關係下不是一個全序。

顯然，若要確保可以指派一個序數給任意的良序集合，也要用到替代公理。類似地，若要確保可以指派一個基數給任意集合（馮・諾伊曼基數指派），我們也需要替代公理，以及選擇公理。

所有的可數的極限序數的構造也要求替代公理，就像 ω・2 的構造那樣。較大的序數則不那麼直接地依賴於替代公理。例如 ω1 是第一個不可數序數，可以構造如下：由全體可數良序組成的集合，會是 ℘(**N**×**N**) 的一個子集，這點通過分離公理和冪集公理可知（在 _A_ 上的關係是 _A_×_A_ 的一個子集，因此是冪集 ℘(_A_×_A_) 的一個元素。關係的集合因此是 ℘(_A_×_A_) 的子集）。把每個良序集合替代為它的序數。這是可數序數 ω1 的集合，它自身可以被證明是不可數的。這個構造使用了替代公理兩次；第一次確保對每個良序集合的一個序數指派，第二次把良序集合替代為其對應的序數。這是哈特格斯引理的特殊情況，而一般情況可以類似證明。

不帶替代公理但帶選擇公理的 ZC 集合論不足以證明博雷爾集是確定的；為此你需要替代公理。

## 歷史和哲學

多數可以應用替代公理的應用實際上不需要它。例如，假設 _f_ 是從集合 _S_ 到集合 _T_ 的函數。接著我們可以構造一個泛函謂詞 _F_ 使得在 _x_ 是 _S_ 的成員的時候有 _F_(_x_) = _f_(_x_)，在其他時候隨意設 _F_(_x_) 為某個對象（這裡的指派方式不要緊）。然後，給定 _S_ 的一個子集 _A_，應用替代公理模式於 _F_，構造子集 _A_ 在函數 _f_ 下的像 _f_(_A_) 為 $\{F(x):x\in A\}$ （或表示為 _F_(_A_)）。但是這裡實際上不需要替代公理，因為 _f_(_A_) 是 _T_ 的子集，所以我們可以使用分類公理模式來構造這個像為集合 $\{y\in T:\exists x\in A,y=f(x)\}$ 。一般的說，當 _F_ 在 _A_ 的成員上的值都屬於某個預先構造的集合 _T_ 時，使用分類公理就足夠了；只在不能獲得這樣的 _T_ 的時候，才需要替代公理，比如定義在真類的子集上的運算。

按某些哲學家的說法，在上述例子中最好應用分類公理於集合 _T_，因為分類公理在邏輯上弱於替代公理。實際上，在普通數學中不需要替代公理，只是需要它作為特定公理化集合論的特徵。例如，你需要替代公理來從 ω・2 向上構造馮・諾伊曼序數，而馮・諾伊曼序數對特定集合論的結果是必需的。在良序集合的理論就足夠應用的情況下，你不需要用替代公理構造這些序數。對於某些鑽研數學基礎的數學家，特別是那些專注於類型論而非集合論的人，他們或認為這個公理在各種意義上都是不需要的，因此在其工作中不包括這個公理（以及其相對應的類型論版本）。通常在基於 拓撲斯 理論建造的基礎理論上，都難以表達出替代公理，所以一般不包括它。然而，替代公理的爭論不在於有人認為它的推論必然是假的（如選擇公理的爭論）；只是有部分人認為它是沒有必要的。

替代公理模式不是 恩斯特・策梅洛 在 1908 年所公理化的集合論（**Z**）的一部分；它由 亞伯拉罕・弗蘭克爾 在 1922 年引入，從而得到了現代的 Zermelo-Fraenkel 集合論 (**ZF**)。陶拉爾夫・斯科倫 在同一年晚些時候獨立的發現了這個公理，實際上我們今天使用的公理列表是 Skolem 的最終版本 -- 通常不提及他的貢獻是因為每個單獨的公理都是 Zermelo 或 Fraenkel 早先發現的。從證明論的觀點看，增加替代公理形成了很大的差異；把這個公理模式加進 Zermelo 公理使系統在邏輯上更強，允許你證明更多的陳述。特別是，在 **ZF** 中你可以通過構造馮・諾伊曼全集 Vω2 為模型，證明 **Z** 的相容性。（當然，哥德爾第二不完備定理表明這兩個理論都不能證明自身的相容性，如果它自身是相容的。）

## 參考資料

* Paul Halmos, _Naive set theory_. Princeton, NJ: D. Van Nostrand Company, 1960. Reprinted by Springer-Verlag, New York, 1974. ISBN 0-387-90092-6 (Springer-Verlag edition).
* Jech, Thomas, 2003. _Set Theory: The Third Millennium Edition, Revised and Expanded_. Springer. ISBN 3-540-44085-2.
* Kunen, Kenneth, 1980. _Set Theory: An Introduction to Independence Proofs_. Elsevier. ISBN 0-444-86839-9.