集合论初步

发布时间 2023-10-15 15:41:29作者: Aryper

零、弁言

或者更像是一种读书笔记。

鉴于笔者的低下智力,以这种方式来把第一次阅读时的一些可能的问题或思考过程进行记录。

其余的一些文本会在闲暇时更新。前提是我还活着。

这里是康托的乐园。欢迎各位。

1. 一些无聊的数学史——有关于无穷

Aristotle 首次提出潜在的无穷概念,并拒绝实在的无穷,但显然在之后的发展之中,这种观念对很多数学概念的认识产生了相当大的阻碍,其中,最基本的一个障碍就产生在无理数上。

Cauchy 提出了一些极限的概念,通过有理数序列来逼近无理数。但这个定义实际上有一些问题,因为在通过这个方法之前,我们并不知道某个无理数比如 \(\sqrt{2}\) 的确值,却贸然地就认为这个数列最终能收敛于此,让人在逻辑上感到些许的不爽。

Weierstrass 对这个方法做了些改进,他直接将序列的极限看作集合,然后直接定义某个无理数是这个集合。这在逻辑上固然问题不大,但是潜无穷的认识论已经被此打破了。

2. 关于 Cantor 有关无穷的想法

一个集合的基数是其所包含的元素的个数。

一个朴素的想法是:如果两个集合之间的元素有一一对应的关系,那他们的基数应当是相等的。

于是定义 \(A\)\(B\) 基数相等,或者称为“等数”的,当且仅当 \(A\)\(B\) 之间有一一对应。

很显然,如果想确定两个集合等数,我们并不绝对必要知道某一个集合的基数。比如,如果你能看到一个教室里没有空座位,而且没人站着,那椅子的基数和人的基数必然是相等的,不需要再去知道椅子多少或者人多少。

开始向无穷做一点尝试,我们很轻松地能够在自然数集 \(\mathbb{N}\) 和平方数集之间建立一一对应,于是这两个集合的基数是相等的。

这在有穷集合中将会是荒谬的,因为很容易明白平方数集只是 \(\mathbb{N}\) 的很小的一部分,而整体大于部分是难以想象的。

继续考虑更大的集合,有理数集 \(\mathbb{Q}\)。Cantor 使用一些方法证明了 \(\mathbb{Q}\)\(\mathbb{N}\) 等数(这个证明将在之后提及)。

再考虑更大的实数集 \(\mathbb{R}\),Cantor 利用对角线法证明了 \(\mathbb{R}\) 是不可能与 \(\mathbb{N}\) 等数的。

其实类似地,我们同样可以证明对任意集合 \(X\),其幂集(其所有子集组成的集合) \(\mathcal{P}(X)\) 的基数总是大于 \(X\) 的基数。

Cantor 自然地开始将无穷基数称为超穷数,而第一个超穷数就是 \(\mathbb{N}\) 的基数,用 \(\aleph _ 0\)(Aleph,希伯来符号)表示。而下一个超穷数即 \(\aleph _ 1\),超穷数的序列可以类似地延展下去。

同时 Cantor 把 \(\mathbb{R}\) 的基数记为 \(c\)。Cantor 已经证明了 \(c>\aleph _ 0\),于是他自然地猜想 \(c=\aleph _ 1\)

因为实数集常被称为连续统(continumm),这个猜想也被称为连续统假设。

至于为什么叫猜想,因为这玩意儿至今还没人能证明或证伪。

连续统假设也被称为 Hilbert 第一问题。原因是 Hilbert 在 1900 年的数学家大会上提了 23 个他觉得比较重要的问题,其中第一个就是连续统假设。

一、集合与公理

一个众所周知的关于 Frege 的 Sad Story,刚写完论文结果 Russell 就提出了他著名的悖论。(笑,不过我和 Wittgenstein 的想法类似,Russell 悖论称不上完全的悖论,更多可能像是在说胡话)

1. Russell 悖论

定义 \(S=\{x\mid x \notin x\}\),于是不可知 \(S\in S\)\(S \notin S\)

我也认为这是个哲学问题。并且 Russell 悖论并不对数学的应用产生太大困扰。

Zermelo 为了解决这个事情,提出了他的公理化方法,这也是一个比较成熟的方法。

2. 一些数理逻辑

很容易明白公式或者语句实际可以看作自然数的有穷序列,于是可以通过算数基本定理得到这个序列对应的一个唯一的自然数。

集合论的语言也是类似的,我们称之为 \(\mathcal{L}_{set}\),除了基本的逻辑符号与括号,它只多出一个二元谓词 \(\in\)

假设 \(\Sigma\) 是一个公式集,\(\varphi\) 是一个公式。

所谓 从 \(\Sigma\)\(\varphi\) 的一个推演,是指一个有穷的公式序列 \(\varphi _ 1, \cdots , \varphi _ n\),其中每个 $\varphi _ i $ 或者属于 \(\Sigma\),或者是逻辑公理,或者由在它之前的公式 $\varphi _ j $ 和 \(\varphi _ k = \varphi _ j \rightarrow \varphi _ i\) 得到,并且 \(\varphi = \varphi _ n\)。这个推演我们也常记作 \(\Sigma \vdash \varphi\)

特别地,如果 \(T\) 是语句集,而 \(\sigma\) 是语句,如果 \(T\vdash \sigma\),我们称存在 \(T\)\(\sigma\) 的一个证明。

如果语句集 \(T\) 满足:对任意语句 \(\sigma\)\(T\vdash \sigma\) 当且仅当 \(\sigma \in T\),即 \(T\) 是一个对证明封闭的语句集,就 \(T\) 为理论。

假设 \(T\) 是理论,如果存在一个语句集 \(A \subseteq T\) 使得对任意 \(\sigma \in T\),都有 \(A \vdash \sigma\),就称 \(A\)\(T\) 的一个公理集。

如果理论 \(T\) 的公理集 \(A\) 是递归的,即,任给一个语句,我们可以在有穷步内用完全机械的方法判定它是否属于 \(A\),就称 \(T\) 是可公理化的。

递归的,有时也被称为可判定的,或者可计算的。这些概念源自自然数上的一些关系与函数的一些性质。

理论本身,作为自然数的一个集合,通常是不递归的,或者说仅仅是半递归的。因为如果 \(\sigma \in T\),我们自然可以轻松地验证这一点。但如果 \(\sigma \notin T\),我们的判定往往很可能无法在有穷步内完成。这样的集合我们通常称为递归可枚举的。

在自然语言下,我们使用“理论 \(T\)”这一短语,往往既指理论 \(T\) 本身,也指它的公理集。

一个理论 \(T\) 是一致的当且仅当没有语句 \(\sigma\) 使得 \(T\vdash \sigma \land \lnot \sigma\)

元理论通常指一种直观的理论,它们往往不能严格地形式化。这是一个比较哲学的问题,我们暂且不讨论。

3. 公理

我们不可能证明所有命题。

所以很需要一些无需证明的初始命题,也就是公理。

公理虽然无需证明,但其直观上的显然性往往是必要的。虽然有时候经常会有让人难懂的显然出现(汗)。

逻辑公理就不多说了。我们只强调一条逻辑公理:

存在公理 \(0\)(简称 \(\mathrm{Exi}\)):存在一个集合:

\[\exists x(x=x) \]

哲学意义上来说就是:我们讨论的是一个实在的对象,而不是完全的虚无。

Zermelo 使用了更强的公理,即:存在空集。

但在后面我们将能够定义它。

外延公理 \(1\)\(\mathrm{Ext}\)):两个有相同元素的集合相等:

\[\forall X\forall Y\forall u (u\in X \leftrightarrow u\in Y)\rightarrow X=Y \]

这个公理的哲学意义是:元素决定集合。

分离公理模式 \(2\)\(\mathrm{Sep}\)):令 \(\varphi(u)\) 为公式。对任意集合 \(X\),存在一个集合 \(Y=\{ u \in X\mid \varphi (u)\}\)

\[\forall X \exists Y \forall u (u \in Y \leftrightarrow u\in X \land \varphi(u)) \]

我们称其为模式,是因为它实际上代表着无穷多条公理。

对于每一个公式 \(\varphi\),我们都存在相应的一个分离公理。

分离公理有很多不同的称呼,由于它是对概括原则的限制,所以有时就称为概括公理;又由于公理中的 \(Y\) 实际上是 \(X\) 的一个子集,所以有时也称为子集公理。

大部分时候,我们还是称其为分离公理。

关于分离公理,它是对概括原则的限制。比如,给定一个性质 \(\psi (x)\),概括原则允许我们定义集合 \(Y = \{x \mid \psi (x)\}\),但分离公理是不允许的。

除了给定的性质 \(\psi (x)\),我们还需要一个已经存在的集合 \(X\),才能利用 \(\psi (x)\)\(X\) 中分理出集合 \(Y\)

在这个公理下,我们容易证明:对于任意集合 \(X\),总存在一个集合 \(R_X\),使得 \(R_X\notin X\),因此所有集合的集合不存在。

我们让类似“所有集合的集合”这种概念被排除了,然后集合论里就不会再存在 Russell 悖论的困境了(汗)。

同时我们容易根据以上这些公理定义 \(\varnothing = \{x \mid x\ne x\}\)。容易知道空集是唯一的(对任意集合应用分离模式,得到的结果最终都会满足外延公理)。

定义:令 \(\varphi (u)\) 为一个性质,依据以上分析可知 \(\{u\mid \varphi(u)\}\) 不一定是集合,但我们可以称这样的对象为类(class),特别地,不是集合的类被称为真类(proper class)。

注:一般用粗体的大写字母表示类,比如用 \(\mathbf{V}\) 表示所有集合的类。而公式 \(x\in \mathbf{V}\) 就是在说 \(x\) 是集合,其等价于 \(x=x\)。但 \(x\in \mathbf{V}\) 本身并不是集合论的语言,而是 \(x=x\) 的一种写法。

Russell 类记为 \(\mathbf{R}=\{x\mid x\notin x\}\),所以 \(x\in \mathbf{R}\) 就是在说 \(x\notin x\)

对集公理 \(3\)\(\mathrm{Pai}\)):对任意 \(a\)\(b\),存在一个集合只以 \(a,b\) 为元素:

\[\forall a \forall b \exists c\forall x (x\in c\leftrightarrow x=a\lor x=b) \]

根据外延公理得到 \(c\) 唯一,我们将其表示为 \(\{a,b\}\)。我们由对集公理得到单点集 \(\{a\}=\{a,a\}\) 是集合。

并集公理 \(4\)\(\mathrm{Uni}\)):对任意集合 \(X\),存在集合 \(Y\) 满足:\(u\in Y\) 当且仅当存在 \(z\in X\) 使得 \(u\in z\)

\[\forall X \exists Y \forall u (u\in Y \leftrightarrow \exists z(z\in X\land u\in z)) \]

这样的 \(Y\) 是唯一的,称为 \(X\) 的并,记为 \(\bigcup X\)

特别地,我们定义 \(X\cup Y = \bigcup \{X,Y\}\)