ZFC公理集合论系统
集合论发展简史
集合的朴素理解
“集合”是集合论中的一个原始概念,原始概念是不能被精确定义的,因为我们没有比它更原始的概念。因此,我们只给出集合这个概念的一种非形式的描述,说明这个概念的含义。这正如同欧几里德几何中的“点”不加定义,而作为原始概念之一一样。
通常把一些互不相同的东西放在一起所形成的整体就叫做一个集合,简称集。构成集合的每一个东西,称为这个集合的一个成员。构成集合的这些成员可以是具体的东西,也可以是抽象东西。例如,某教室里的所有学生形成的整体就是一个集合。全体自然数构成的整体也是一个集合。集合的概念是如此的普遍和原始,以致于有许多同义语,如“全体”“汇集”等等。
集合论的历史
集合论自从Cantor开始就面临两个基本问题:一个是在实数集合上是否存在一个秩序?如果存在,该如何在实数集合上定义一个秩序?另外一个就是连续统假设是否成立?除了这两个基本问题之外,还有一个更为基本的问题:为了建立合适的关于无穷集合的数学理论,无穷的基本数学内涵如何确定?无穷集合应当以什么样的合适的方式获取既不至于资源贫乏又不至于导致矛盾?换句话说,严格的集合理论应当以一种什么样的方式来奠基以至于它的发展会健康而且没有止境?
任何复杂的系统总是从最基本最简单的部件开始的,集合论也一样。
首先,集合论必须以一种不会导致争议的方式确定“集合”这个基本名词内涵解释的范围。提醒在这里谨慎行事的是英国哲学家Russell于1902年6月16日写给德国哲学家Frege的一封信。在这封信中,Russell就Frege毫无限制地使用谓词表达了质疑,这便是史上所称的Russell悖论:
Russell悖论:考虑由所有那些自己不是自己的一个元素的集合所合成的实体,姑且记成 $M$ ,那么,这一实体 $M$ 就不能是一个集合。
我们假定这样一个实体是一个集合,即 $M$ 是一个集合。那么,我们就可以问:$M$ 是否是它自身的一个元素?答案只有两个,或者是,或者不是。如果 $M$ 是其自身的一个元素,那么,由其合成规定,它的任何一个元素一定是一个自己不是自身的一个元素的集合,这是一个矛盾。如果 $M$ 不是它自身的一个元素,那么,由 $M$ 的合成规定,作为一个集合,$M$ 又不是它自身的一个元素,$M$ 就应当被收录到 $M$ 中来,所以,$M$ 就应当是它自身的一个元素,这又是一个矛盾。我们由此得出一个结:论并非任意地将一些对象收集起来就应当合成一个集合。
其次,集合论里,乃至整个数学里,函数这个概念是最基本的一个概念在数学发展史上,有过很长一段这样的时间区间:在这个期间,数学家们对函数概念应当在什么范围内使用感到困惑。尤其是,当德国数学家Zermelo在非常一般的环境下显式地应用函数这一概念表述他所提出的选择公理,并且应用选择公理证明了也是他提出的秩序原理(任何集合都携带一个秩序),从而在选择公理下给出实数集合是否可以秩序化问题的肯定解答)之后,不少数学家感到某种不安。
为了解决罗素悖论所指明的问题,以及解决函数的抽象定义问题,Zermelo开始了公理化集合论的探索。基于对自己秩序原理证明的重新审视,Zermelo选取了基本的由已有集合获得新集合的运算:由两个给定集合得到一个以它们也只以它们为元素的新集合;由一个给定集合得到一个以它的元素的元素为元素的新集合;以一种特性将一个给定集合中所有具有这种特性的元素分离出来组成一个新的集合;对于一个给定的集合,可以将它的全部子集合收集起来得到一个新集合;在这些集合运算的基础上,Zermelo还提炼出集合相等的同一律、无穷集合公理和选择公理。Zermelo将这些简洁和开放的公理系统发表在1908年的《数学年鉴》上这便是当今通用的集合论公理系统ZFC中的Z和C。Z是用来纪念这位深刻的思想者,因为他的姓的第一个字母为Z,C则是选择公理中的选择一词的英文第一个字母。
Zermelo并没有在他的公理系统中定义“点”,或者“有序对”。如果希望将集合论中的函数概念也当成内在的概念,一个以集合来确定的有序对就必不可少。基于对Zermelo证明的仔细分析,Kazimierz Kuratowski提供了有序对的定义。于是,无论是函数,还是二元关系,也就都成为集合论论域中的对象。
由于Zermelo在表述以一种特性从一个给定集合中分离部分从而获得一个新的子集合时他并没有对性质有任何规定,也就是说,在这里存在着潜在的二义性。为了避免这种潜在二义性,Skolem提出了用一阶逻辑语言的方式来限定特性的表述。就这样,Zermelo所提炼出来的集合论公理系统与Freg在《概念文字》中提炼出来的一阶逻辑系统发生了融合。
很快人们意识到就算在执行最简单的Zermelo的幕集运算迭代过程中也会遇到
Zermelo的公理系统不能保证其收敛性的问题。Abraham Fraenkel提出为Zermelo集合论公理系统ZC添加一条新的公理模式:映像存在原理。于是,现代集合论公理系统ZFC中便用给ZC添加一个字母F来纪念他。
虽然Cantor强调秩序以及秩序的序型——序数,甚至建立了序数的算术运算,但是在John von Neumann之前并没有关于序数的合适的定义。毫无疑问,von Neumann在1925年发表的文章中对序数的定义是美妙绝伦、精湛极致的,在冯·诺伊曼那里,序数就应当在属于关系 $\in$ 之下既是传递的又是有秩序的。如此一来,每一个序数就是所有那些比它严格“小”的序数的集合,这也就同时给出了自然数的集合定义:任何一个自然数就是所有那些严格小于它的自然数的集合。
公理系统的自身局限性
在经过二十来年的公理化进程之后,Cantor的朴素集合论演变成了严格的几乎完美的数学理论,新的理论产生了它是如此简洁,它又是如此丰富同时,它也面临着经典的问题:它能够解决连续统假设问题吗?不仅如此,它还面临着更为严峻的挑战:它是自身和谐的吗?也就是问,它是否蕴涵着自相矛盾?
关于是否自相矛盾的问题,根据Gödel在1931年发表的题为《关于〈数学原理〉及相关系统中不可形式判定的几个命题I》的论文,这是对于功能如此强大的集合论来说依然不可能自身解决的问题:因为它不能在自己的系统之中来证明自己的无矛盾性,除非它本来就自相矛盾。这里,我们给出能对形式系统整体情况有个理解的Tarski不可定义定理和Gödel不完备定理的表述。
这几条定理对数学和哲学体系的影响非常大,它们共同揭示了形式系统在表达自身语义和证明能力上的内在限制,从而动摇了早期数学基础形式主义的信念,特别是希尔伯特提出的“完备且自洽的数学体系可构造”的设想。
集合论语言
集合论是一种关于无穷的纯粹数学理论,是一种关于无穷的认识的理论体系。集合论可以大概地分成两部分:第一部分是集合论关于其基本对象--集合的“算术”的、“几何”的、“组合”的理论,在这一部分,我们要回答的主要问题形如到底都有什么样的无穷集合存在,它们之间的关系如何,因此,第一部分是我们关于无穷的最基本的认识的结晶;第二部分是集合论的一种“自我检测”“自我判断”的理论,在这一部分,我们要回答的主要问题就是到目前为止我们关于无穷的认识到底达到了一种什么样的完美的程度,我们的认识可以达到什么样的完美的程度。集合论的第一部分是集合论的一阶理论;集合论的第二部分则是集合论的二阶甚至高阶理论,具有元数学理论的成分。第一部分探讨我们的论域之中都有什么样的对象存在;第二部分探讨我们用来保证这些对象存在的假设是否合理,是否多余,是否完备,也就是是否构成一种完美的理论这种区分其实只是在刚开始的时候才有必
要。
我们先解释一下上面用到的几个术语的基本含义。一个论域,就是我们所关注的某一类数学对象的一个界定范围。比如,有理数的全体构成域论的一个论域实数的全体又构成域论的另外一个论域;而复数的全体则构成域论的一个新的论域。
在域论中,我们所关注的对象就是域中的“数”,尽管一个具体的例子可以是一个有限域这些论域中的对象就是我们所说的“一阶对象”,所以,域中的“数”就是域论的一阶对象。那么,域论中的二阶对象又是什么样的呢?比如,子域、域同构、多项式等等,都是域论中的二阶对象集合论的一阶理论所关注的对象就是集合,就像数论中的“数”那样。集合论的一阶理论还关注集合之间是否具有“隶属”关系,就像有序域论中的“序”那样。所以,集合和集合之间的属于关系就是集合论一阶理论所关注的两类对象。
通常,我们很快就会问一个直觉问题什么是集合? 一个直觉的回答:一个集合就是将一些对象收集起来所合成的一个实体。这些被收集起来的对象就是这个被合成的实体的元素或者成员。大家很快会发现,关于集合这一概念的问题我们往往不会到此打住,除非我们愿意在某一时刻停下来,否则将永无终结我们可以追求用别的初始概念来定义集合这一概念,但必须有一个不加定义的但可以不引起混淆的初始概念。为了消除这样烦恼,我们采用Frege方式:用变元来表示集合论论域中的集合。这也正是通常的数学实践中处处可见的事情。比如,大家不难回顾到在学习或研究数论或域论时,我们并没有关心过什么是“数”;在学习或研究几何时,我们也并没有关心过什么是“点”。我们通常所做的不过如此:设 $n$ 为一个自然数,···;设 $x$ 为域中的一个元素,···;设 $p$ 为平面或空间上的一个点,···。如此等等。
面对诸如“集合”以及“属于”这样的初始概念(不加定义的概念),我们不求给出数学定义,但求给出一系列条件来区分和限制我们所关注的对象,这就是公理化:不求初始定义,但求明确,但求准确但求用一系列的公理来有限度地表达我们对初始概念的“理解”或“期望”。
首先,我们将用字母作为变量、变元、变数(variables)来表示所关注的论域中的对象集合这里要强调的是我们不定义集合,也不回答什么是集合的问题,而是将集合作为我们论域中的对象,作为一个不加定义的初始概念。
其次,就整个论域宏观而言,我们有一个抽象的隶属关系并且用一个特殊的记号“$\in$” 来表示这一抽象关系。假设 $x$ 和 $y$ 是两个集合,我们用 $x \in y$ 来表示“$x$ 属于 $y$”或者“$x$ 是 $y$ 的一个元素”;有时,我们也用 $y \ni x$ 来表示 $x \in y$ ,并且称“$y$ 包括 $x$”。而用 $x \notin y$ 来表示“$x$ 不属于 $y$ ”或者“$x$ 不是 $y$ 中的一个元素”;当需要时用 $y \notni x$ 来表示“$y$ 不包括 $x$”。这里的 $x$ 和 $y$ 可以是任何其他的表示集合的变量。
集合论中的逻辑表达,如联结词、量词等继承自命题逻辑和一阶谓词逻辑,见朴素数理逻辑。
世界越来越美了。我独自一人,却很自在。我别无所求,只想被阳光晒透。― Hermann Hesse, 《克林索尔的最后夏天》