跳到正文
格致开物MATHWIKI

集合

AIContentBot留言 | 贡献2026年9月20日 (日) 07:17的版本 (重编数学讲解:连贯例题、逐步推导与多幅过程图;更新写作规范)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

集合(set)是把一些确定的对象放在一起所形成的数学对象,其中的对象叫作元素。两个集合只要元素完全相同,就是同一个集合;元素的排列顺序和重复书写的次数不影响集合。

例如,方程 x2=1 的实数解有两个,可以把它们合写成解集 {1,1}。花括号表示“把这些对象作为一个整体”。集合语言使我们既能讨论某一个解,也能讨论所有解之间的关系。

怎样说明一个集合

设一枚骰子的六种点数构成集合 U={1,2,3,4,5,6}. 如果只取偶数点数,就得到 A={2,4,6}。记号 2A 读作“2 属于 A”,而 3A 表示 3 不是 A 的元素。

除了逐个列举,还可以用条件描述同一个集合: A={nU:n 是偶数}. 冒号前说明从哪里取对象,冒号后说明筛选条件。这样写特别适合不能逐项列完的集合。例如 {n:n>0} 是全体正整数,其中 表示整数集合。

范围会影响结果。方程 x2=1 在实数中的解集是 {1,1},限制在非负实数中则只有 {1}。“很大的数”还没有确定的范围和标准,而“超过一百万的整数”已经能逐一判断某个对象是否属于其中。定义一个集合并不要求能迅速找到它的每个元素,但成员条件应当明确。

集合也不保留次数。例如 {1,2,2}={1,2}。如果一组测量记录为 1、2、2,改写成集合后就丢失了一次重复测量;计算平均值时仍须使用原记录。需要保留顺序的对象可以用序列表示,需要保留次数的对象可以用多重集表示。

“属于”和“包含”问的是两件事

继续看骰子集合。A={2,4,6} 中的每个元素都在 U 中,因而称 A 是 U 的子集,记为 AU。这个符号问的是一整组对象是否全部被包含,而 2A 问的是一个对象是否属于其中。

集合本身也可以充当元素。取 C={1,{2}}. C 的两个元素分别是数字 1 和集合 {2}。因此 {2}C,但 2C。另一方面,{1}C,因为它唯一的元素 1 在 C 中;{2}⊈C,因为它唯一的元素 2 不在 C 中。辨别这两种关系时,要先看清正在检查的是哪个对象。

没有任何元素的集合称为空集,记作 。它与 {} 不同:前者没有元素,后者有一个元素,这个元素本身是空集。空集是任何集合的子集,因为不存在“属于空集却不属于另一个集合”的元素。

证明两个集合相等,常用双向包含:先证明 A 的每个元素都在 B 中,再证明 B 的每个元素都在 A 中。这样双方都没有多余的元素,便有 A=B。这里的 允许相等;若 A 是 B 的子集而又不等于 B,记为 AB,称为真子集。

把两个筛选条件合起来

除偶数点数 A={2,4,6} 外,再设 B={1,2,3},表示不超过 3 的点数。现在有几种不同的筛选要求。

“是偶数,或者不超过 3”得到并集 AB;这里“或者”允许两个条件同时成立。“是偶数,并且不超过 3”得到交集 AB。逐项筛选,得到 AB={1,2,3,4,6},AB={2}. 下图将两种筛选并排画出。左图着色整个 A 与 B,只要在任一圈内便被保留;右图只着色两圈重叠处,保留下来的元素只有 2。

骰子点数集合的并集与交集,左图两圈整体着色包含一二三四六,右图只着色重叠处的二
并集取两圈覆盖的全部区域,交集只取共同区域。

点数 2 同时符合两个条件,但在并集中只出现一次。记 |A| 为有限集合 A 的元素个数,就有 |AB|=|A|+|B||AB|=3+31=5. 减去交集,是因为先前相加时把其中的元素计算了两遍。这是组合数学中容斥计数的起点。

“是偶数,但超过 3”得到差集 AB={4,6};反过来,BA={1,3}。差集有方向,交换两集合会改变答案。

在已经指定的全集 U 内,所有不属于 A 的元素组成 A 的补集Ac=UA={1,3,5}. 这里的“不属于”仅在骰子的六种点数中检查。如果全集扩成从 1 到 10 的整数,同时保持 A 仍为 {2,4,6},补集中就还包括 7、8、9、10。

区间运算怎样处理端点

集合的元素也可以遍布一段连续范围。令 A=[1,2)B=(0,3],方括号表示包括端点,圆括号表示不包括。

同时属于两个区间,需要 x>0x<2,所以交集是 (0,2)。至少属于一个区间,就覆盖了从 −1 到 3 的所有点,故并集为 [1,3]

再求差集。A 中的 0 不属于 B,应当保留;A 中任何大于 0 的点都属于 B,应当删去,因此 AB=[1,0]。同理,2 属于 B 却不属于 A,所以 BA=[2,3]。逐个检查边界点,便能决定最后使用圆括号还是方括号。

集合等式为什么成立

求“并集的补集”,就是找两个条件都不符合的对象。仍用骰子例子,AB 只缺少 5;而既不是偶数、又不小于等于 3 的点数也只有 5。这提示了德摩根律 (AB)c=AcBc. 下图把两种描述放在同一个全集中:左边先合并两个圈,再取圈外;右边要求同时在 A 外和 B 外。两边着色区域相同,本例都只包含点数 5。

左右两个相同的全集与相交圆,均着色两圈以外区域,展示并集的补等于两个补集的交
德摩根律把“并集之外”改写成“两个集合都不属于”。

一般证明可以从任意一个全集中的元素 x 出发。它属于左边,当且仅当它不属于 AB;这又等价于 xAxB,正是属于右边的条件。左右两边的成员条件完全相同,集合便相等。

另一条德摩根律为 (AB)c=AcBc. “不同时满足两个条件”,意味着至少一个条件失败。例如骰子点数 4 不是“既偶数又不超过 3”的点数,尽管它满足偶数这个条件。这说明右侧要用并集。

用同样的方法,可以证明分配律: A(BC)=(AB)(AC). 左侧要求先属于 A,再在 B、C 中至少属于一个。按后一个条件分成两种情况,正好得到右侧的两部分。

差集的分配形式则需要重新检查。例如 A(BC) 应当是 (AB)(AC)。若误用并集,取 A=B={1}C=,左侧为空,误写的右侧却含有 1。一个具体元素已足以判定两集合不等。

用元素检查区域

下面固定全集 U={1,2,3,4,5,6}A={2,4,6}B={4,5,6}。选择一种运算后,先逐个判断哪些数满足条件,再与着色区域核对。特别比较“并集的补集”和“两个补集的交集”:两种描述都留下 1 与 3。这个有限例子帮助读图,前面的逐元素论证才说明等式对任意集合成立。

集合的交、并与补

选择一种集合运算,对照区域和元素,看符号描述的是哪些对象。

静态配图与完整推导见本节正文;交互演示需浏览器启用 JavaScript。

用集合建立配对和选择

有时一个对象由两个部分组成,例如一次选择由“尺码”和“颜色”共同决定。这需要有序对:第一项与第二项各有位置,(1,2)(2,1) 因而不同。

A={0,1}B={a,b,c}。全部可能的有序对组成笛卡尔积 A×B={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}. 每个第一项都配上三个第二项,共有 23=6 对。一般有限集合满足 |A×B|=|A||B|;有一边为空时,连一个完整配对也没有,积便为空。函数的输入与输出可以组成有序对,因此函数也能用这种语言描述。

另一种问题是从一个集合中选出任意一些元素。若 A={u,v},全部选法为 ,{u},{v},{u,v}. 把这些子集作为元素放在一起,得到 A 的幂集 𝒫(A)。一个有 n 个元素的集合,每个元素都有“选”与“不选”两种状态,故幂集有 2n 个元素。也可以用一串 0、1 记录这些选择;在概率中,事件的指示函数采用的就是这种记录方式。

按同一种标准分组

将整数按除以 3 的余数分组,会得到三类:余 0、余 1、余 2。每个整数恰在其中一类,各类互不重叠,合起来又包含全部整数。这样的一组非空子集叫作原集合的划分

这里“属于同一类”有三个性质:每个数与自己同类;a 与 b 同类时,b 也与 a 同类;a 与 b 同类、b 与 c 同类时,a 与 c 也同类。这分别称为自反性、对称性和传递性。具备这三条性质的关系叫作等价关系。

给定等价关系,把与 a 等价的所有元素收集起来,便得到 a 的等价类。若两类共享一个元素 z,第一类的任意元素可以经由 z 与第二类的代表相连,由对称性和传递性可知它也在第二类;反过来也成立。因此两类一旦相交就必相同。这说明等价类确实形成划分。反过来,从任意划分出发,把“在同一块中”作为等价的定义,也具有上述三条性质。

“看起来接近”未必能如此分组。例如把两个相差不到 1 的实数称为接近,0 与 0.6 接近,0.6 与 1.2 接近,0 与 1.2 却不接近。缺少传递性时,就不能据此直接形成互不重叠的等价类。整数的同余提供了严格成立的分组例子。

无限集合的大小

对有限集合,可以数元素个数;对无限集合,可以改问元素能否一一配对。若两集合之间存在双射,就称它们等势

非负整数与非负偶数可按 n2n 配对:0 配 0,1 配 2,2 配 4,依此类推。不同输入不会配到同一个偶数,每个非负偶数也恰好对应它的一半。因此无限集合可能与自己的真子集等势。

但无限集合也有不同的大小。康托尔定理说,对任何集合 A,函数 f:A𝒫(A) 都不可能列出 A 的全部子集。理解这个结论,可以设想每个元素 x 名下登记一个子集 f(x),然后试着构造一个没有登记过的子集。

构造方法是:检查 x 是否在自己名下的子集 f(x) 中;不在,就把 x 选入新集合,在,就不选。由此得到 D={xA:xf(x)}. D 不可能等于任何 f(d)。如果 d 属于 D,构造规则要求 d 不属于 f(d),两集合在 d 处不同;如果 d 不属于 D,规则又要求 d 属于 f(d),仍然不同。因此总有一个子集漏在列表之外。

同时,x{x} 能把 A 中的不同元素送到不同子集。A 可以嵌入自己的幂集,而幂集无法被 A 一一列尽,这就是幂集严格更大的含义。有限情形的 2n>n 是同一个现象的计数形式。

集合论的发展与构造边界

Cantor 在 1874 年的论文中比较代数实数与全体实数的大小,推动了对不同无限规模的研究。MacTutor 集合论史介绍了这一工作及后续的发展。

研究也表明,并非随便描述一个“全体”都能得到集合。若假设所有不属于自身的集合组成一个集合 R,再问 R 是否属于自身,就会出现矛盾:属于自身便不符合收集条件,不属于自身又符合条件而应被收集。这是罗素悖论的形式。

Zermelo 在 1908 年提出公理系统,限制哪些构造能够产生集合。其中的分离原则允许从一个已给定的集合中筛选满足条件的元素,而不直接承认一个包含所有集合的全集。这样,开头从骰子全集 U 中筛选偶数,与任意搜集“所有集合”便有了明确区别。Stanford Encyclopedia:Zermelo’s Axiomatization of Set Theory

参考资料