集合的基数,归纳与递归

基数

等势(Equipotent):如果两个集合 AABB 之间存在一个双射,则称 AABB 等势,记作 ABA \approx B,否则称 AABB 不等势,记作 A̸BA \not\nobreak\approx B

等势的集合被认为基数相等,即 A=B|A| = |B|

从而有,若存在自然数 nn(集合论的自然数定义)与集合 SS 等势,则称 SS有限集,且 nnSS 的基数,记作 S=n|S| = n。否则称 SS无限集

SS 是无限集当且仅当存在 SS 的一个真子集 SS'SS 等势。可以推出 SS 一定包含一个与自然数集合等势的子集。

假设 S=S{a0}S = S - \left\lbrace a_0 \right\rbrace,从而定义 f ⁣:SSf\colon S \to S',当 aiSa_i \in S' 时,为 f(ai)=ai+1f(a_i) = a_{i+1},否则 f(ai)=aif(a_i) = a_i。显然 ff 是双射,从而 SSS \approx S'

可数集

可数集(Countable Set):若集合 SS 与自然数集 N\N 的某个子集等势,则称 SS可数的

可数个可数集的并集仍然是是可数的。例如下面是可数无穷个可数集:

00 11 22 33 \cdots
(0,0)(0, 0) (1,0)(1, 0) (2,0)(2, 0) (3,0)(3, 0) \cdots
(0,1)(0, 1) (1,1)(1, 1) (2,1)(2, 1) \cdots
(0,2)(0, 2) (1,2)(1, 2) \cdots
(0,3)(0, 3) \cdots
\cdots

然后按反对角线,即 (0,0),(1,0),(0,1),(2,0),(1,1),(0,2),(0, 0),\, (1, 0),\, (0, 1),\, (2, 0),\, (1, 1),\, (0, 2),\, \cdots 计数,这样得到的序列是可数的。

不可数集

实数集合 R\R 和自然数集合 N\N 不等势,即 R\R 不可数。证明方法即康托尔对角线论证

康托尔定理

康托尔定理:任何集合与其幂集不等势,即 A≉P(A)A \not\approx \mathcal{P}(A)

证明:设 f ⁣:AP(A)f\colon A \to \mathcal{P}(A)AA 到其幂集的一个映射,定义集合 B={xAxf(x)}B = \left\lbrace x \in A \mid x \notin f(x) \right\rbrace

显然 BP(A)B \in \mathcal{P}(A)。但不存在 xAx \in A 使得 f(x)=Bf(x) = B,因为若存在 xx 使得 f(x)=Bf(x) = B,则 xB    xf(x)=B;  xf(x)=B    xBx \in B \implies x \notin f(x) = B;\; x \notin f(x) = B \implies x \in B,矛盾。

因此 ff 不是满射,从而 A≉P(A)A \not\approx \mathcal{P}(A)

优势

如果存在从集合 AA 到集合 BB 的单射,则称集合 BB 优势于集合 AA,记作 AB|A| \le |B|ABA \preccurlyeq B

如果集合 BB 优势于集合 AA,且 A,BA,\, B 不等势,则称集合 BB 真优势于集合 AA,记作 A<B|A| < |B|ABA \prec B[1]

从而康托尔定理实际上是在说:对于任意集合 AAAP(A)A \prec \mathcal{P}(A)

康托尔·伯恩斯坦定理(Cantor-Bernstein Theorem)

ABA \preccurlyeq BBAB \preccurlyeq A,则 ABA \approx B

ffABA \to B 的单射,ggBAB \to A 的单射。

C0=A\g(B),Cn+1=g(f(Cn))C_0 = A \backslash g(B),\, C_{n+1} = g(f(C_n)),并令 C=n=0CnC = \bigcup\limits_{n=0}^\infty C_n

从而定义双射 h:ABh: A \to B 如下:

h(a)={f(a),aC,g1(a),aC.h(a) = \begin{cases} f(a), & a \in C, \\ g^{-1}(a), & a \notin C. \end{cases}

有时候找双射不如找双向单射方便。

由此可得(证明略)实数集与 P(N)\mathcal{P}(\N) 等势。

基数

α\aleph_{\alpha} 表示基数,其中 α\alpha 为序数。

  • 0\aleph_0 是可数集合的基数
  • 1\aleph_1 是实数集合的基数
  • 2\aleph_2 是平面上的曲线集合的基数

连续统假设(Continuum Hypothesis)

不存在介于 0\aleph_01\aleph_1 之间的基数,即不存在集合 AA 使得 0<A<1\aleph_0 < |A| < \aleph_1

归纳与递归

良序原理

良序原理

N\N 的任何非空子集 SS 都有最小元素。

霍尔三元组

霍尔三元组(Hoare Triple):{P}S{Q}\{P\} S \{Q\},其中 PP前置断言(Precondition)、SS语句(Statement)、QQ后置断言(Postcondition)。

三元组意思是:如果在 SS 执行前,PP 为真,那么在 SS 执行后,QQ 也为真。(假设 PP 成立是 SS权利,确保 QQ 成立是 SS义务

可记为 PSQP \xrightarrow[]{S} Q(个人记法)。

从而有 P=FP = \mathbf{F} 是最强的前置条件。

这称为部分正确性,因为 SS 能否执行完成需要另行说明。即程序的完全正确性还需要说明程序在有限步内终止。


  1. 与 PPT 中的符号不同,PPT 中用的是  ⁣ ⁣\prec\!\!\cdot ,意义不明,与 ,<\le , < 的对应关系也不同(同时也不方便打)。 ↩︎