Skip to content

定义Definition

可数集

施工中 · 内容逐步修订

Countable set · At most countable

能单射进自然数集的集合;等价地,它有限或能按自然数无重复枚举。

形式陈述 ​

集合 A 称为至多可数,若存在单射 A↪N,其中 N 为自然数集。本库把“可数”用作“至多可数”,因此它包含有限集和空集。若 A 与 N 之间存在双射,则称为可数无限,其基数记为 ℵ0。有些教材用“可数”专指后一种情形,应先核对约定。

这两种描述相容:A 至多可数,当且仅当它有限或可数无限。给定单射 j:A→N,若其像无限,就依次取 j(A) 中最小的、尚未取过的自然数。每个编号之前只有有限多个更小的自然数,所以这一步骤不会遗漏任何像元素,再经 j−1 就得到 A 的无重复枚举。

当 A≠∅ 时,还有一个允许重复的版本:A 至多可数,当且仅当存在满射 e:N↠A。从这样的枚举得到单射,只需令

j(a)=min{n:e(n)=a}.

不同元素的首次出现位置不同。反方向,无限情形使用上述枚举;有限非空情形列完后反复输出一个固定元素。空集没有来自非空 N 的函数,所以必须从这个满射刻画中单独排除。

直觉

可数意味着每个对象都能获得一个有限的自然数号码。整张名单可以永不结束,但没有元素需要等到“无穷多个前项全部写完之后”才出现。这是证明枚举不遗漏时必须回答的问题。

二维表格尤其容易让直觉失灵。按行扫描 N2,第一行永远扫不完,第二行一个元素也轮不到;按坐标和扫描则不同。第 s 层只有 (s,0),(s−1,1),…,(0,s),每层都能完成,而 (m,n) 必定在第 m+n 层出现。此前只有 1+2+⋯+(m+n) 个位置,所以等待步数确实有限;这个层内顺序也与下文按第二坐标编号的公式一致。把层数也纳入调度,便把二维无限表排进一维名单。

可数性只要求存在编号,不要求编号能由程序算出。它讨论对象数量;可计算枚举额外规定一个有效生成过程。即使目标是 N 的子集,这两层含义也不能互换。

例子与边界

整数、有理数与有限描述 ​

整数可以排成 0,1,−1,2,−2,…。有理数则把最简分数 p/q(q>0)按 |p|+q 分层,每层先按分子排序,只保留互素的 p,q。任一有理数都在某个有限层中,每层也只有有限项,因此名单覆盖全部 Q 且没有重复。

更显式地,N2 上的编号

π(m,n)=(m+n)(m+n+1)2+n

先跳过前面各层,再定位本层中的第 n 个位置。前几层的编号分别是 0,1,2,3,4,5;由一个号码找到它所属的唯一三角数区间,又能恢复 (m,n)。这不仅证明“二维也是可数”,还给出可逆编码。

有限字母表上的全体有限字符串也可按长度、再按字典序列举。一串可以很长,但它的长度和在该层的位置都是有限的;因此程序源码、公式与有限证明只有至多可数多个。这里必须固定同一套有限或可数的符号表,不能把任意实数直接当作一个可用的新符号。

无限字符串为何越过边界 ​

有限二进制串的集合 {0,1}∗ 可数,无限二进制序列的集合 {0,1}N 却不可数。假设所有无限序列排成名单 s0,s1,…,定义

tn=1−sn(n).

新序列 t 与第 n 行至少在第 n 位不同,所以它不在名单上。这是对角线论证;无限长描述不是把有限描述“写得更长一点”,而是改变了可能对象的数量级。

同理,所有二进制语言是 {0,1}∗ 的子集,形成不可数的幂集;程序却只有可数多个,所以有些语言不存在判定程序。相对地,每个语言作为有限字符串集合的子集,本身仍至多可数。语言中的词有多少与一共有多少种语言是两个问题。

可数并与共同的编号 ​

可数集的子集可数,因为单射可以限制到子集;可数集的像也可数,因为可以从原枚举中读出输出。有限个可数集的乘积可数,可反复使用二元配对编码。

对一族 A0,A1,…,若已经同时给定各集合的枚举或单射,就可以用“集合编号、内部编号”这对自然数给并集编码,再去重。若仅知道每个 An 可数,却没有共同选好的编号,一般的“可数个可数集之并可数”在 ZF 中需要额外选择原则;可数选择公理足以支持这一步。不能把“对每个集合存在一个编号”直接写成“已经存在一整列选好的编号”。

推论与应用

分析中许多操作恰好允许可数规模:级数按自然数求和,σ-代数对可数并封闭,测度对两两不交的可数并可加。编号保证操作的索引形式合法;求和与极限能否交换,仍由相应收敛定理决定。

实数中的有理数既可数又稠密。稠密表示每个非空开区间都碰到它,可数表示它能被编号;两者并不冲突,也不能推出整个实数集可数。这一区分使“先在可数测试集上同时成立,再由连续性延伸”成为常用证明方法。

在模型论中,还要分清编号属于谁。若一个集合论模型从外部看是可数的,外部可以枚举它的元素;模型内部仍可能把某个集合判断为不可数,因为那个外部枚举未必是模型内部的函数。Löwenheim–Skolem 现象的关键是内外可使用的函数不同,不是同一个定义同时得出相反结论。

参考资料
  • Jeremy Avigad、Joseph Hua、Robert Y. Lewis、Floris van Doorn,Logic and Proof, 第 22 章:等势、可数无限、对角线与有限性的替代刻画。
  • Eric Lehman、F. Thomson Leighton、Albert R. Meyer,Mathematics for Computer Science,2015,第 7 章:无限集合、编码与不可计算性。
  • Herbert B. Enderton,Elements of Set Theory,1977,第 6 章;A Mathematical Introduction to Logic,第 2 版,2001,§2.6:分别讨论可数性与模型论中的可数模型。
关系图谱15 个相邻概念 · 4 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

类型化关系