公理化集合论简介(二)

公理化集合论简介(二)

  • 本篇内容

从本篇开始我们将介绍 ZFC 公理系统中每条公理的意义和作用,以及集合论中的各种重要对象.

本篇介绍的内容包括:外延公理,子集,分离公理,类,空集,配对公理,元有序对

相关回顾


  • 外延公理(axiom of extension)

如果两个集合有相同的元素,则它们相等

\forall u(u\in x\leftrightarrow u\in y)\rightarrow x=y

对尚不熟悉这些符号的读者的解释:“对任意的元素 u ,如果 u x 的元素当且仅当 u y 的元素(也就是说 x y 的元素完全一致),那么 x=y

所谓外延,和内涵相对,是逻辑学中的概念. 注意如果 x=y ,那么 x 的元素和 y 的元素是相同的,这是由相等这个关系决定的,是谓词演算中的公理. 而外延公理说的是相反的方向,它告诉我们,只要元素相同,集合就相等,换言之,“一个集合完全被它的元素(外延)决定 ”.

这条公理给出了判断集合相等的方法. 事实上,在定义 子集 的概念后使用这条公理会更加方便:

定义 子集(subset)
如果 x 的元素全都是 y 的元素,我们就说 x y 的子集,记作 x\subseteq y .
公式描述如下:
x\subseteq y \leftrightarrow \forall u(u\in x\rightarrow u\in y)

要记忆这个记法,只需注意 \subseteq \leq 的相似性. 有了子集概念后,外延公理就等价于“如果 x\subseteq y \wedge y\subseteq x x=y
这正是我们早在中学时期就学过的判断两个集合相等的方法,这个方法追根溯源正是来自外延公理.

子集有一些简单的性质,读者可自行验证:

  1. 每个集合 x 都是自身的子集,即对任意的 x 都有 x\subseteq x
  2. 子集关系具有所谓“传递性”,即 (x\subseteq y\wedge y\subseteq z)\rightarrow(x\subseteq z)

  • 分离公理(axiom schema of separation)

在上一篇中我们曾提到著名的罗素悖论——一个以所有不属于自身的集合为元素的集合,它既属于自身,又不属于自身.

产生这条悖论的根源就是所谓的概括公理——对每一个公式 P(x) ,存在一个以满足 P 的所有对象为元素的集合 Y=\{x:P(x)\}

概括公理看起来很美好,但它太强了,至少对于集合来说是这样. 通过这条公理我们可以创造出一些容纳了“过多”对象的“集合”.

为了排除悖论,我们不得不抛弃概括公理而采用它的弱化版本——

分离公理(axiom schema of separation)

S(x) 是一个公式,或者说叫关于自由变量(以后解释) x 的一个性质,则对任意的集合 X ,存在一个集合 Y ,它的所有元素恰是 X 中满足 S(x) 的元素

\forall X \exists Y \forall x(x\in Y\leftrightarrow x\in X\wedge S(x))

通俗地说,就是对每一个关于 x 的性质 S(x)

[就是一条以 x 为自由变量的公式,所谓自由变量,就是 x 至少要在 S(x) 中出现一次,但它必须是“外源的”——即它不能出现在这条公式 S 里的某个量词后面(还记得量词后面也要跟一个符号吗)],

我们都可以通过这条性质从某个已经存在的集合 X 中把所有满足这个性质的元素全都分离出来,构成一个新的集合 Y ,这也是分离公理名字的由来.

对比一下,概括公理是从整个“集合universe”中筛选元素,而分离公理只允许我们从已经存在的集合中筛选元素. 我们看到分离公理创造的新集合总是比原来的小,也就不会创造出罗素悖论中的那种“过大”的集合.

仿照罗素悖论的构造,我们可以从分离公理得出有一个有趣的推论——没有集合能容纳所有集合.

x 是一个集合,考虑集合 y=\{u\in x:u\notin u\}

比起罗素悖论中的那个集合, y 的元素都是从 x 中选出来的,尚不论 u\in u 是否真的会出现(看起来不太可能),我们可以证明 y\notin x .

采用反证法:如果 y\in x ,那么有两种可能:1.如果 y\in y ,那么根据 y 的定义, y 不是 x 中那些不属于自身的元素之一,因此 y 不属于 y ,导致矛盾;2.如果 y\notin y ,那么同样根据定义, y x 中不属于自身的元素之一,从而 y\in y ,同样矛盾.

我们看到,在 y\in x 的前提下,无论后续是哪种情况,都是矛盾的,从而 y\in x 不可能是真命题,因此 y\notin x . 注意我们并没有给 x 附加任何条件,这事实上就证明了对任意的集合 x ,我们都能找到一个不是它元素的集合 \{u\in x:u\notin u\} ,也就是说没有集合能容纳所有集合.

那当我们想要考虑所有的集合时要怎么办呢,很多时候这样的概念是很方便的. 为了弥补这一点,我们有了以下概念:

定义 类(class)
类以集合为元素,我们仿照外延公理,规定元素相同的类相等,同时让概括公理对类成立:对任何的性质 S(x) ,都存在一个类 C=\{x:S(x)\}

这样,只要应用一条恒真的性质,就可以得到所有集合的类,比如这样 Universe=\{x:x=x\}

而由于类不能作为类的元素,只能以集合为元素,这就避免了罗素悖论. 这个思路可能来自罗素曾经思考过的给集合设置等级的想法,因为类看起来就像是集合之上的高一级的集合.

仿照集合中的概念,我们可以定义子类,类的交,并,补(后面会给集合定义这些概念)等.

目前为止我们其实还没有理由说真的有一个集合存在,不过看看上一篇中提到过的 无穷集公理——至少存在一个无穷集合 ,即便不去理解它的具体含义,光从字面上我们就知道它规定了某个集合(比如记作 Inf )的存在性,这样,应用分离公理我们可以得到:

定义 空集(empty set)
∅=\{x\in Inf:x\ne x\}

很明显地,空集没有任何元素,且由外延公理它是唯一的,并且我们还有以下结论:

空集是任意集合的子集.

借此机会我们演示一下如何去证明空集是否满足某个性质,就以上述命题为例, 要证明空集是任意集合 x 的子集,按定义我们应该验证它的每个元素都属于 x . 然而空集没有元素,这个命题就是“虚真(vacuously true)”的. 更具体来说,我们去验证命题的反面——如果空集不是 x 的子集,那么,“空集的每个元素都是 x 的元素”的否定是“空集至少有某个元素不是 x 的元素”. 这样由于空集没有元素,上述否定命题是不可能成立的,因此原命题成立.

在遇到与空集相关的命题时都可以用类似的方法考察.


  • 配对公理(axiom of pairing)

如果 x y 都是集合,那么存在一个集合 z ,它的 元素恰是 x y

\forall x\forall y\exists z\forall u(u\in z\leftrightarrow u=x\vee u=y)

根据外延公理,得到的以 x y 为元素新集合是唯一的,我们通常把它记作 \{x,y\} ,而如果对 x x 应用配对公理,得到的 \{x,x\} 就记作 \{x\} .

通过配对公理得到的集合可以称作无序对,因为根据外延公理有 \{x,y\}=\{y,x\} .

有时候有序对会更有用. 所谓的有序对就是,我们希望两个有序对相等,当且仅当它们的第一元和第二元分别相等,即 (a,b)=(c,d) 当且仅当 a=c\wedge b=d ,这样在 a\ne b 时有 (a,b)\ne (b,a) ,这也是所谓的“序”所要求的结果.

为了定义有序对以及更一般的有序n元组,需要多花一点功夫,并且可能有几种不同的方式来定义. 按照本系列采用的思路,我们要先定义这个概念:

定义 元有序对
<a,b>=\{\{a\},\{a,b\}\}

之所以称为元有序对,是因为它只是正式定义有序对乃至有序n元组的一个工具,在完成工作之后就作为底层内容被隐藏起来. 证明 <a,b>=<c,d> 当且仅当 a=c\wedge b=d 并不困难,只需要细心验证即可,因此留给读者完成.

虽然元有序对很好的满足了我们对有序对的期望,但它有一些“病态的”性质——比如 \{a\}\in<a,b> . 这条性质是完全多余的,或者说和我们对有序对的期望无关,不过对于一个临时的工具而言,元有序对已经足够好了,起码在我们只关注想用的性质时它是足够用的.

为了正式定义有序对我们必须引入幂集公理,这将会留在后续篇目中完成.


  • 后续内容
编辑于 2019-01-26 21:36