数学 / 集合论 · 从 ∈ 到映射与量词 / 相等、子集、真子集与不相交 待审核 2 / 11
集合关系 · =        = \; \subseteq \; \subsetneq \; \supseteq \; \supsetneq

相等、子集、真子集与不相交

成员关系看的是元素与集合之间的 \in,本页看集合与集合之间的关系。工具仍只有一件:逐元素比较。三条定义都由 \in 直接写出,都可以「对每个元素查一遍」来判定。

1 · 包含与相等的定义

relations · =    = \; \subseteq \; \subsetneq · disjoint

定义 1.1(子集、真子集、相等、不相交) 若 AA 的每个元素都属于 BB,即对任意 xxxAxBx \in A \Rightarrow x \in B,则称 AABB子集,记 ABA \subseteq B。若 ABA \subseteq BABA \ne B,则称 AABB真子集,记 ABA \subsetneq B。若 ABA \subseteq BBAB \subseteq A,则 A=BA = B。若 AB=A \cap B = \emptyset,则称二者不相交

「相等     \iff 互相包含」这一条值得单独看:它把一个等式拆成两个包含式,证明两个集合相等的标准套路由此而来:证两次包含。这是外延性在实用层面的样子,集合相等无法「一眼看出」,只能双向验。

\subseteq 是自反且传递的:AAA \subseteq A 恒成立;ABA \subseteq BBCB \subseteq C 给出 ACA \subseteq C。但它不是全序——两个集合完全可以互不包含,例如 {1,2}\{1, 2\}{2,3}\{2, 3\},谁也装不下谁。包含关系是偏序,这一点与实数的 \le 不同,也是「集合之间不能问谁大谁小」的原因。

图 1-1 · 子集、真子集、相等、不相交等六种关系的判定与文氏图对照。可改两个集合的成员,观察六条判定分别何时成立。

2 · 两处易错的边界

edge cases · A\emptyset \subseteq A · A⊊̸AA \not\subsetneq A

警示 · A\emptyset \subseteq A 对任何 AA 恒成立,包括 A=A = \emptyset。理由不是「空集很小」,而是定义 1.1 的条件 xxAx \in \emptyset \Rightarrow x \in A 前件恒假,蕴含式随之恒真,这就是空集上的全称命题为真(vacuous truth,见 集合推导与量词)。同一条推理还给出:\emptyset 与任何集合都不相交,包括它自己

另一处边界是自反性与严格性的差别:AAA \subseteq A 恒成立,而 AAA \subsetneq A 恒不成立,因为真子集的定义额外要求 ABA \ne B。把「子集」与「真子集」混用,最常见的后果是把 ABA \subseteq B 误读成「BBAA 大」。

注 · 真子集的记号在文献里不统一,这是读别人材料时的实际障碍。\subsetneq 无歧义,一律指真子集;\subset 则有两种读法——一派把它读作真子集(与 << 类比),另一派把它读作一般子集(与 \subseteq 同义,Halmos 与多数集合论文献取此义)。本系列统一写 \subseteq\subsetneq,不使用 \subset。这一处口径原先在本系列内部就没对齐:relations 页的 lab 用 ⊂ 表真子集,而 conditions 页的 lab 用 ⊊ 表同一关系,两页并读会以为是两种关系;现已统一为 ⊊。

3 · 参考文献

  1. Subset. Wikipedia. 子集、真子集的定义,以及 \subset 记号的两种约定。https://en.wikipedia.org/wiki/Subset
  2. Vacuous truth. Wikipedia. 前件恒假的蕴含式为真,A\emptyset \subseteq A 的来源。https://en.wikipedia.org/wiki/Vacuous_truth
  3. Partially ordered set. Wikipedia. 偏序的定义,以及包含关系为何不是全序。https://en.wikipedia.org/wiki/Partially_ordered_set