【集合论】 02 - 集合与自然数

1. 公理系统

  先来看看康托尔对集合的定义:“一个集合是我们知觉中或理智中的、确定的、互不相同的事物的一个汇集,被设想为一个整体”。尽管康托尔本人已经建立起了相当广泛而深刻的集合理论,但对于集合本身的定义却还是含糊的,他的理论被称为“朴素集合论”(Native Set Theory)。虽然试图描述集合的每个属性,但其中“汇集”、“整体”等词其实是和“集合”等价的。定义的含糊使得各种悖论趁虚而入,这也成为反对者们的主要攻击目标。之后,策梅洛(Zermelo)为集合建立了一套公理化系统,并由弗兰克尔(Fraenkel)进行了扩充和修正,被称为ZF公理系统,包含选择公理(见下文)的ZF系统简称为ZFC系统。ZFC系统对集合的限制比较严格,后来由冯·诺伊曼(von Neumann)、哥德尔(Gödel)等人建立的GB公理系统则宽松很多,但这里仅介绍ZFC系统。

                    

Zermelo(1871 - 1953)          von Neumann(1903 - 1957)               Gödel(1906 - 1978)

1.1 有限集

  公理化系统中对原始概念不作定义,而只给出一些限定条件和定义,并在此基础上进行推理。同样,公理集合论中对集合不作定义,它是我们讨论的唯一对象。另外,集合间有未定义的基本关系:\(A\in B\),可以说成\(A\)是\(B\)的元素(member),或\(B\)包含\(A\)。任何概念都首先有一个基本关系“等于”,ZFC系统的第一个公理就对“等于”作了定义,该公理其实可以看作是“等于”和“属于”的互相定义和描述。需要说明的是,虽然以下的结论都只有启发性的描述,严格的证明都是要从公理或定理推出的。

  【ZFC-1外延公理(Atom of Extensionality):如果对任意\(x\),\(x\in A\)当且仅当\(x\in B\),则\(A=B\)。

\[\forall A\forall B(\forall x(x\in A\Leftrightarrow x\in B)\Rightarrow A=B)\]

  鉴于语言不方便也不精确,公理系统采用了一阶谓词逻辑的语言。使用\(A\in B\)和\(A=B\)作为原子公式,加上逻辑操作符\(\neg\)、\(\wedge\)、\(\vee\)、\(\Rightarrow\)、\(\Leftrightarrow\)、\(\forall\)、\(\exists\)可以组成复杂的公式,原子公式的否定可以简写为\(A\notin B\)和\(A\ne B\)。如果\(C(x)\)是一个含有\(x\)的公式,且\(x\)不受\(\forall\)、\(\exists\)限制,则\(C(x)\)称为\(x\)的一个条件

  ZFC系统共10条公理,除去外延公理,其它9条都是对集合的限定,后续讨论的集合必须可以由这些公理构造。公理将集合限定在可控制的范围内,消除了悖论的产生,下面我们就从零开始,构建集合的大厦。

  【ZFC-2】 空集公理(Atom of Empty Set):存在不含任何元素的集合。

\[\exists A\forall x(x\notin A)\]

  空集公理承认不包含任何元素的集合是存在的,这样就避免了追究元素到底是什么。更重要的是,空集公理承认了至少有一个集合存在,有了这块砖,集合的大厦就有了基础。当然,根据外延公理,空集都是相等的,即空集是唯一的(这样的推论以后不再赘述),一般记作\(\varnothing\)。

  有了一个集合,接下来可以构造包含1个元素、2个元素...的集合。它们的数量非常庞大,如何用尽量少的公理去构造它们?我们直接来看看ZFC系统是如何解决的:

  【ZFC-3偶集公理(Atom of Pairing):对任何集合\(a\)、\(b\),都存在仅包含它们的集合\(A\)。

\[\forall a\forall b\exists A\forall x(x\in A\Leftrightarrow x=a\vee x=b)\]

  【ZFC-4并集公理(Atom of Union):对任意集合\(M\),存在集合\(A\),它的任何元素属于\(M\)的某个元素。

\[\forall M\exists A\forall x(x\in A\Leftrightarrow\exists X(X\in M\wedge x\in X))\]

  偶集公理开始对集合进行打包,构造更上层的集合,选择两个集合是因为1是无法扩展的,而且\(a=b\)时也有\(M=\{a\}\)。并集公理将打好的多个包合并为一个包,它用操作符\(\cup (M)\)表示,也可以对元素直接操作,比如\(\cup\{a,b\}=a\cup b\)。借助偶集公理它可以继续扩展集合元素的数量,比如\(\{a,b,c\}=\cup\{\{a,b\},\{c\}\}\)。另外要注意,并集公理并不限于两个集合的并,这为无穷集提供了很好的工具。

  有了这3个公理,任何有限集都可在有限步内构造完成,有限的世界已经没有什么秘密了。如果再加上(\(\cup\),intersection)、(\(\cap\),union)、(\(-\))的运算和子集(\(\subseteq\))、真子集(\(\subset\))的概念,就和我们高中学习的集合没什么两样了。当然还有这么一个妖艳的计算并集的公式:容斥原理,它在概率论和组合学中经常出现,觉得公式复杂的画个文氏图就一目了然了。

\[\left| {\bigcup\limits_{i=1}^n{{A_i}}}\right| =\sum\limits_{k=1}^n{{{(-1)}^{k-1}}\sum\limits_{1\le{i_1}<\cdots<{i_k}\le n}{\left| {{A_{{i_1}}}\cap\ldots\cap{A_{{i_k}}}}\right| }}\]

  在向无穷集进发之前,我们需要休整一下,再了解几个今后有用的公理和概念。

  【ZFC-5幂集公理(Atom of Power Set):集合\(A\)的一切子集组成集合。

\[\forall A\exists P\forall X(X\in P\Leftrightarrow X\subseteq A)\]

  【ZFC-6子集公理(Atom Schema of Separation):存在满足给定条件的子集。

\[\forall B\exists A\forall x(x\in A\Leftrightarrow x\in B\wedge C(x))\]

  幂集构建了一个很大的上层集合,为子集公理提供了非常好的限制集,\(A\)的幂集一般记作\(\mathscr{P}(A)\)。子集公理说明:满足一定条件集合,只有被限定在某个集合中时,才能组成集合。这使得集合不能是过于庞大的汇合,从而消除了各种悖论。考虑以下“集合”(很容易导出矛盾):(1)一切不属于自己的集合(罗素悖论,Russell's Paradox);(2)包含所有集合的集合。对于限制集比较明显的场合,也可以用\(\{x|C(x)\}\)来表示子集。

                    

Russell(1872 - 1970)               Peano(1858 - 1932)            Dedekind(1831 - 1916)

1.2 关系

  数学处理的对象除了数之外,更多的是关系,而关系一般由有序对组成。集合中的元素是没有顺序的,需要为有序对(ordered pairs)建立模型。集合论中比较通用的有序对定义是:\((a,b)=\{\{a\},\{a,b\}\}\),你可以尝试证明其合理性。笛卡尔积\(A\times B\)定义为如下,它的限制集为\(\mathscr{P}(A\cup B)\)。只包含有序对的集合叫关系,\(xRy\)表示\((x,y)\)在关系\(R\)中,关系\(R\)所有元素的第一个元素组成定义域\({\rm dom}(R)\),所有元素的第二个元素组成值域\({\rm ran}(R)\),它们都是集合。

\[A\times B=\{(a,b)|a\in A\wedge b\in B\}\]

  关系的复合已是我们熟悉的概念,它们分别记作\(R^{-1}\)和\(R\circ S\)。对于关系\(F\)值域内的每个\(x\),若满足\(xFy\)的\(y\)唯一,则\(F\)叫函数(function),且写作\(F:X\to Y\),\(X\)上的二元运算则可以写做\(F:X\times X\to X\),\(X\)到\(Y\)的一切函数组成的集合记作\(Y^X\),\(F\restriction A =\{(x,y) \in F|x\in A\}\)称为\(F\)的限制(restriction)。另外还有大家熟悉的单射满射双射(一一映射,one-to-one injection)、原象的概念就不赘述了。

2.自然数

  集合是数学的语言,而数学首先是研究数的,所以必须用集合为数下个定义。人们最初认识的是自然数(natural number),它有着非常简单的性质:“以0为起点,以1为步长依次排列”,所有自然数的运算都可以建立在这个简单的模型上。所以定义自然数不是一件难事,著名的皮亚诺公理系统(Peano)就为自然数建立了一个很好的模型,不过这里我们只介绍冯·诺伊曼用集合为自然数下的定义。

  首先用\(\varnothing\)定义\(0\)、用\(\{\varnothing\}\)定义\(1\)是没有什么疑义的,那么\(2\)呢?用\(\{\{\varnothing\}\}\)?需要强调的是,自然数有两个本质属性:一个是数量,一个是顺序,所以\(2\)里既要体现它的大小,又要体现它与\(0\)、\(1\)的关系。冯·诺伊曼给出了如下巧妙的定义:

\[0=\varnothing,\quad n+1=\{0,1,\cdots,n\}\]

  当然,我们需要用集合的语言重新描述一下,定义\(a^+=a\cup\{a\}\)为\(a\)的后继者(successor),任何自然数都是从\(\varnothing\)开始的某个后继者。仔细品味这个定义,它很好地满足了量和序的双重要求。对于一个包含有\(\varnothing\)的集合\(A\),如果它的任意元素的后继者还是在\(A\)中,\(A\)被称为归纳集(inductive set),但从目前的6条公理我们还不能构造出这样的“集合”,它需要单独的一条公理来保证。

  【ZFC-7无穷公理(Atom of Infinity):至少存在一个归纳集。

\[\exists A(\varnothing\in A\wedge (\forall a(a\in A\Rightarrow a^+\in A)))\]

  归纳集是我们构造的第一个无穷集,但要注意一个归纳集中可能含有自然数之外的的其它元素,需要剔除它们才能得到纯正的自然数集。当然,有了一个归纳集作为限制集,加上用子集公理可以这样定义自然数集:\(\omega =\{n|n\in any\,inductive\,set\}\),容易证明\(\omega\)也是归纳集,并且其中只有自然数。显然,\(\omega\)是最小的归纳集,如果它的某个子集\(A\)是归纳集,则有\(A=\omega\),这就是著名的归纳原理(Induction Principle),它是我们熟悉的数学归纳法的理论依据,经常被用来证明某个性质对所有自然数都成立。

  接下来需要验证这样的自然数集是否合理,看看它与我们直观上认识的自然数集是否兼容。直观上的自然数集表现为一个有序序列,每两个自然数\(m\)、\(n\)都可以进行比较,即\(m=n\)、\(m<n\)和\(m>n\)中有且仅有一个成立(三歧性)。用集合定义的自然数有两个等价的关系\(A\in B\)和\(A\subset B\),反复运用归纳原理不难证明它们也有三歧性,所以可作为\(A<B\)的定义。自然数序列有开头而没有结尾,这个简单的性质使之区别于其它数集,而且也是后面扩展为超限数的基础。这个性质一般表现为“最小数定理”:任何自然数的集合都有最小数。证明思路是构造一个下限集,并选取其中的最大者,即是我们要找的最小数。这样看来,自然数加上\(A<B\)的定义,完全是和直观的自然数集相兼容的。

  类似于自然数的定义,有一种常见的递归序列\(u_{n^+}=f(u_n)\),序列的后一项依赖于前一项,这样的序列能否成为集合?直觉上看它和自然数集本质上是相同的,只要证明存在一个从自然数集到该序列的函数即可,这就是“递推原理”(Recursive Theorem)。虽然这个函数有明显的限制集,但由于是递归定义的,无法用有限的条件来描述它,所以简单地用子集公理是不行的。证明方法和自然数集的定义是类似的,即找寻满足条件的关系中最小那个(所有关系的交集),继而只要用归纳原理证明它满足递归条件且是函数即可。 

  有了递推原理,就可以按如下递归的方法定义自然数上的运算,容易证明它们都是\(F:\omega\times\omega\to\omega\)上的函数。至于这些运算的各种性质(交换律、分配律之类)也不难推导,就不再赘述了。

  (1)\(m+0=m,\quad m+n^+=(m+n)^+\);

  (2)\(m\cdot 0=0,\quad m\cdot n^+=m\cdot n+m\);

  (3)\(m^0=1,\quad m^{n^+}=m^n \cdot m\)。

  归纳原理和递推原理都依赖于“前序数”,而自然数则更强调“后序者”,如果想扩展这两个原理,需要摆脱对“前序数”的依赖。一个简单而有效的做法就是依赖所有“前序数”,如同最小数定理的证明一样,我们可以关注它们的“后序者”(学完超限数,这些就更明白了)。由此可以得到更具一般性的第二归纳原理和第二递推原理:

  第二归纳原理:自然数集合\(A\)如果满足\(\forall x(x<n\Rightarrow x\in A) \Rightarrow n\in A\),那么\(A=\omega\)。

  第二递推原理:存在满足递归定义\(u_n=f(u\restriction n)\)的函数。

  至此,自然数已经被很好的定义和研究了,你甚至可以自己很轻松地定义整数(integer number)和有理数(rational number),它们都可以由自然数扩展得来。但实数(real number)的定义似乎并不是那么显然,而实数却又是那样的真实和重要,必须有一个好的模型才能使微积分有个坚实的基础,这就回到了集合论创立的初衷。历史上有两个优秀的实数模型,一个来自康托尔的战友戴德金(Dedekind),一个来自康托尔本人。戴德金分割(Dedekind cut)将一个实数定义为有理数集的一个分割,这个简单而有效的定义非常适合于实数运算。康托尔则用无穷有理数列定义实数,本质是将实数定义为实无穷。关于数系的内容,我打算另开专题,这里就不展开讲了。

posted on 2014-10-11 18:17  卞爱华  阅读(7248)  评论(2编辑  收藏  举报

导航