歷史回顧
首先回顧發展公設集合論的動機,羅素悖論(Russell's Paradox):
令 $V = \{ S : S \not\in S \}$ 為所有不屬於自己的集合,試考慮 $V$ 是否屬於 $V$ 自己?
一般口語的說法是,假若 $V \in V$,則根據 $ V$ 的構造性質,$V \not\in V$;若 $V \not\in V$,則同理得到 $V \in V$,而不論哪一種,都會得到與前提違悖的結果。我們正式地說,考慮 Naive Set Theory,也就是一個帶有 $\in$ 關係以及底下公設模式(Axiom Schema):對任意用 $x$ 符號為 free variable 的邏輯述句 $P(x)$ 都有
\[\exists y . \forall x . (x \in y \iff P(x))\]
\[\exists y . \forall x . (x \in y \iff P(x))\]
的一階邏輯理論(first-order theory)。 那麼我們考慮 $P(x) = x \not\in x$,以上公設配合一階邏輯會推出\[y \in y \iff y \not\in y\]說明 Naive Set Theory 本身不一致,甚至根據爆炸原理(Principle of Explosion)從而可以證明任何描述,也就是即便 $1\neq 1$這樣的描述都可以成真。很顯然地,這樣的集合論我們沒辦法接受,促使了羅素(B. Russell)發展了型別理論(Type Theory)以及 Zermelo 跟 Fraenkel 發展目前標準的公設集合論——Zermelo–Fraenkel set theory (ZF)。
在 ZF 下描述幾種合法的手段構造集合,口語地說:
- Axiom of Extensionality:若兩個集合互相有一樣的元素,則兩集合相等
- Axiom of Foundation:不存在 $\dots \in x_2 \in x_1 \in x_0$ 這樣無限長的序列
- Axiom of Infinity:存在一個無窮集合(或者說,自然數存在)
- Axiom of Schema of Separation:給定任意的述句 $P$ 以及一個集合 $X$,可以構造出滿足述句的集合,也就是 $\{ x \in X : P(x)\}$ 的集合。
- Axiom Schema of Replacement:給定一個函數 $F$(一階邏輯上的函數),對任意的集合 $X$,其 image $\{ F(x) : x \in X \}$ 也是一個集合。
- Axiom of Pairing, Axiom of Union, Axiom of Power Set, 分別指能夠構造集合 $\{X, Y\}, X \cup Y$,以及$\mathcal{P}X$。
第二條公設回避了羅素悖論的問題,因為一個集合不能包含自己。且第四條限定了集合的構成,必須先指定某個集合,才能形成該集合的子集。不過根本的問題其實沒有解決:這個集合論 ZF 是不是一致的呢?會不會像是 Naive Set Theory 一樣,在哪又冒出一個悖論?答案是,不知道。根據哥德爾的第二不完備理論,這個集合論如果是一致的,那就沒有辦法證明這件事情。
從這個集合論我們可以發現,所有的 ZF 集合不是一個 ZF 集合,否則違反 Axiom of Foundation。這種情況下,我們稱所有的集合為 class (常翻譯為「類」)。
範疇論的定義
回到範疇論的定義來看,範疇(category) $C$ 的組成有
- $\mathrm{Obj}(C)$:一堆物件(a collection of objects),用 $a, b, c, \dots$ 等英文符號代表個別物件;
- $\mathrm{Mor}(C)$:一堆態射(a collection of morphisms),用 $f, g, h, \dots$ 等英文符號代表個別態射。對每個態射 $f$ 都有一個「定義域」物件 $a$ 跟「值域」物件 $b$,我們用箭頭 $a \xrightarrow{f} b$ 或 $f : a \rightarrow b$代表。另外,用 $hom(a, b)$ 代表所有以 $a$ 為定義域,$b$為值域的態射。
以及一個態射間的合成(composition)操作:
$\circ\colon hom(b, c) \times hom(a, b) \to hom(a, c)$
也就是將態射 $a \xrightarrow{f} b$ 跟 $b \xrightarrow{g} c$ 對映到態射 $a \xrightarrow{g \circ f} c$ ,並且滿足以下兩個公設
- 單位律 (identity):對每個物件 $a$ 都有一個(唯一的) 態射寫作 $id_a : a \rightarrow a$ 使得對所有的態射 $f : a \rightarrow b$ 都有 $f \circ id_a = f$ 以及 $id_b \circ f = f$;
- 結合律(associativity):對任意三個態射 $f : a \rightarrow b, g : b \rightarrow c, h : c \rightarrow d$ 合成的順序不重要,也就是說 $h \circ (g \circ f) $ 等於 $(h \circ g) \circ f$。
凡是滿足上述的構成以及條件,我們就稱之為範疇。經典的例子有
- 對任意集合 $X$ 上的一個 preorder $\lesssim$ 都構成一個範疇:取集合上的元素作為範疇的物件,並且定義 $hom(x, y)$ 有唯一的態設 $x \rightarrow y$ 若 $x \lesssim y$,否則 $hom(x, y)$ 為空集合(因為每個物件間頂多只有一個態設,我們就不特別標出態射的名稱)。而態射間的合成,很顯然地,根據根據 preorder $\lesssim$ 的遞移性(transitivity),我們有 $x \lesssim y \lesssim z \implies x \lesssim z$,所以可以將態射 $x \rightarrow y$ 跟 $y \rightarrow z$ 對應到唯一的態射 $x \rightarrow z$。根據 preorder 的自反性(reflexivity):$x \lesssim x$,每個物件都有 $id_x : x \rightarrow x$。因為唯一性,單位律跟結合律成立。
- 集合範疇(the category of sets):考慮所有的集合以及集合間的函數,我們取一般的函數結合作為範疇的態射結合。
注意第二個範例,集合範疇考慮了所有的集合。我們知道所有的 ZF 集合不構成 ZF 集合因為 ZF 集合論限定了 $V \not\in V$,所以集合範疇不能放在 ZF 的公設集合論下討論!
這使得發展範疇論的基礎上構成了一些麻煩,如果不用熟悉的集合論,我們要怎麼保證這個理論的基礎是穩固的呢?解決的辦法有幾種,我們可以採用如 NBG 集合論(Von Neumann–Bernays–Gödel set theory),在這個集合理論中,除了形式化集合以外,也有形式化所謂的 class,可以將上述用的 collection 更嚴格地用 class 來描述,那麼所謂的集合範疇討論的是 NBG 集合論下的 NBG 集合。另一種解決的辦法是,可以用所謂的 Grothendieck universe 。我們稱一個集合 $V$ 為 Grothendieck universe 若滿足以下條件:
- 遞移性:$t \in u \in V \implies t \in V$;
- $u \in V \implies \mathcal{P}(u) \in V$,其中 $\mathcal{P}(u)$ 為 $u$ 所有子集的集合;
- $u, v \in V \implies \{u, v \}, u \cup v \in V$。
備註:Grothendieck universe 大約是 ZF 集合論本身的模型,取決於是否要在 universe 內包含空集合跟自然數 。要求 $V$ 包含空集合,使得 universe 至少非空;或者,更進一步要求 $V$ 包含自然數,使得 universe 至少不是由 hereditarily finite sets 構成的(關於這個集合有機會再討論,與模態邏輯的 canonical model,domain theory 的 power domain ,以及 process calculus 還有 non-well-founded set theory 的模型都有關係)。
在 Grothendieck universe 下,我們可以證明一般數學用到的集合操作都會保持在 universe 下。例如說 $v \subseteq u \in V$ 可以推出 $v \in V$,因為根據第二條性質得出 $v \in \mathcal{P}(u) \in V$ 且根據遞移性 $v \in V$。如此一來,我們可以在充分大的集合內完成日常所需要的數學。
所以,我們在 ZF 下另外多加一條公設:
對所有的集合 $u$ 都存在一個 Grothendieck universe $V$ 包含 $u$,也就是 $u \in V$。
如此以來,對任意我們關心的集合下,都有個集合範疇在某個 universe $V$ 之內的集合所構成,用 $\mathbf{Set}_V$ 代表,universe 下所有的集合就構成一個 ZF 集合,當然每個態射間也形成一個 ZF 集合。我們接下來就稱在這個 universe 裡面的 ZF 集合為小集合(small set)反之稱為大集合(large set)。根據 ZF 的 Axiom of Foundation,universe 本身不包含自己也就是 $V \not\in V$,所以是大集合(large set)的一個範例。如果不會造成困惑的話,通常省略掉下標 universe 而直接寫 $\mathbf{Set}$ 。
最後我們可能會問,這樣的假設會不會導致什麼問題?事實上,不論存不存在都無法從 ZF 下證明。而且以上公設等價於每個集合都存在 strongly inaccessible cardinal 包含它。而集合學家通常會假設更強的 cardinal 存在公設,所以相信 ZF 加上這樣的假設是一致的系統不會有漏洞。
參考資料:
- Mac Lane, Categories for Working Mathematician, 2/e, Springer, 1998
- Grothendieck universe on nLab, http://ncatlab.org/nlab/show/Grothendieck+universe, 2013
沒有留言:
張貼留言
留言也可用 \$...\$ 輸入 $\LaTeX$ 語法(注意:預覽畫面無法顯示)