跳转至

集合

本页面列出高中已经学过的集合知识——元素与属于、子集与相等、集合的四种运算、数轴上的区间——作为后面讨论映射与函数的记号准备。

其中证明集合相等只能靠双向包含、补集必须相对于全集才有意义这两点,是后面反复要用的;其余超出高中范围的内容(幂集、卡氏积、De Morgan 律的证明、邻域)按全站约定加了超纲标记,第一遍可以跳过。

前置知识
  • 1.1 节导读:本节的阅读顺序
  • 高中数学的实数与不等式:实数的大小比较、一元二次不等式的解集

超纲(可跳过)

集合论本身是一门独立的学科,本课程不展开;本书对集合的讲述也刻意保持浅显,只到高中所学的程度。本页因此只列出高中已经熟悉的集合知识——元素与属于、子集与相等、集合的运算、区间——作为后面讨论映射与函数的准备。

像幂集、卡氏积、De Morgan 律的证明、邻域这些超出高中范围的内容,是为后面引用方便才补上的记号与结论,第一遍可以跳过。

集合与元素

定义(集合)

集合是一些确定的、彼此可以区分的对象的全体;这些对象称为该集合的元素。若 \(x\) 是集合 \(A\) 的元素,记作

\[ x \in A, \]

读作"\(x\) 属于 \(A\)";否则记作 \(x \notin A\),读作"\(x\) 不属于 \(A\)"。

上面是描述性定义:它没有说清"全体"究竟指什么,只说清了怎么使用这两个记号。不加限制地使用"任给一个性质 \(P\),所有满足 \(P\) 的对象构成一个集合"(概括原则)会导致矛盾(Russell 悖论:取 \(P\) 为"\(x \notin x\)")。本课程只讨论数集——实数集的子集,或由数集通过卡氏积、映射构造出来的集合——不会遇到这类困难,因此可以放心使用描述性定义。

实数系中的几个常用数集:

记号 含义
\(\mathbb{N}\) 自然数集 \(\{0, 1, 2, \dots\}\)(本笔记约定 \(0\) 是自然数)
\(\mathbb{N}^{*}\) 正整数集 \(\{1, 2, 3, \dots\}\)
\(\mathbb{Z}\) 整数集
\(\mathbb{Q}\) 有理数集
\(\mathbb{R}\) 实数集
\(\varnothing\) 空集,即不含任何元素的集合

集合的直观说法很朴素:集合就是"某一类东西的全体";而表里的 \(\mathbb{R}\) 来自英文 real number(实数),记号取的是这个词的首字母。

集合有两种常用写法:

  • 列举法:把元素一一写出,如 \(A = \{1, 2, 3\}\);
  • 描述法:写出元素满足的性质,如 \(A = \{\, x \in \mathbb{R} \mid x^2 < 2 \,\}\)。

集合的三条约定

  • 元素互异:\(\{1, 1, 2\}\) 与 \(\{1, 2\}\) 是同一个集合,重复写出不改变集合;描述法写成 \(\{\, x \mid P(x) \,\}\) 时,重复的对象自动只算一次。
  • 元素无序:\(\{1, 2\} = \{2, 1\}\)。需要"顺序"时不能用集合,而要用有序对。
  • 符号要对得上:\(\in\) 的两边分别是"元素"与"集合";\(\subseteq\) 的两边都是集合。写 \(\{1\} \in \{1, 2\}\) 是错的(应写 \(\{1\} \subseteq \{1,2\}\) 或 \(1 \in \{1,2\}\))。

子集与相等

定义(子集、真子集)

设 \(A, B\) 是集合。若 \(A\) 的每个元素都是 \(B\) 的元素,即

\[ \forall x,\quad x \in A \implies x \in B, \]

则称 \(A\) 是 \(B\) 的子集,记作 \(A \subseteq B\)(或 \(B \supseteq A\)),读作"\(A\) 包含于 \(B\)"。

若 \(A \subseteq B\) 且 \(A \ne B\),则称 \(A\) 是 \(B\) 的真子集,记作 \(A \subsetneq B\)。

定义(集合相等)

两个集合相等,当且仅当它们互相包含:

\[ A = B \iff A \subseteq B \text{ 且 } B \subseteq A. \]

证明集合相等的标准写法

由上面的定义,证明 \(A = B\) 没有别的捷径,只能双向包含:

  1. 任取 \(x \in A\),由定义与已知条件推出 \(x \in B\),从而 \(A \subseteq B\);
  2. 任取 \(x \in B\),同法推出 \(x \in A\),从而 \(B \subseteq A\)。

后面证明数集相等、映射的像与原像的等式、乃至子空间相等,用的都是这同一个套路。

关于空集有两条要记住的性质:

  • 空集是任何集合的子集:\(\varnothing \subseteq A\)。因为"对每个 \(x \in \varnothing\) 都有 \(x \in A\)"是一个关于空集的语句,它没有反例,故成立(逻辑上称"空真")。
  • 空集是唯一的:若 \(\varnothing_1, \varnothing_2\) 都是空集,则由上一条 \(\varnothing_1 \subseteq \varnothing_2\) 且 \(\varnothing_2 \subseteq \varnothing_1\),故 \(\varnothing_1 = \varnothing_2\)。

易错点:\(\varnothing\) 与 \(\{\varnothing\}\) 不是一回事

  • \(\varnothing\) 不含任何元素;
  • \(\{\varnothing\}\) 含有一个元素,即 \(\varnothing\)。

所以 \(\varnothing \in \{\varnothing\}\) 成立,而 \(\varnothing \subsetneq \{\varnothing\}\) 也成立:这是"属于"与"包含"作用在不同层次的对象上的典型例子。

幂集

定义(幂集)

设 \(X\) 是集合。\(X\) 的幂集是 \(X\) 的一切子集组成的集合,记作 \(\mathcal{P}(X)\):

\[ \mathcal{P}(X) = \{\, A \mid A \subseteq X \,\}. \]

例题 1(幂集的计算)

设 \(X = \{1, 2\}\)。写出 \(\mathcal{P}(X)\),并说明 \(\#\mathcal{P}(X) = 2^{\#X}\) 对有限集成立的理由。

解 \(X\) 的子集按元素个数分类:

  • \(0\) 个元素:\(\varnothing\);
  • \(1\) 个元素:\(\{1\},\ \{2\}\);
  • \(2\) 个元素:\(\{1, 2\}\)。

故

\[ \mathcal{P}(X) = \{\, \varnothing,\ \{1\},\ \{2\},\ \{1, 2\} \,\}, \qquad \#\mathcal{P}(X) = 4 = 2^2 . \]

理由:\(X\) 的每个子集由"每个元素是否被选入"唯一决定。\(\#X = n\) 时共有 \(n\) 个"选或不选"的独立决定,每种决定给出一个子集,故子集共 \(2^n\) 个。

集合的运算

定义(并、交、差、补)

设 \(A, B\) 是集合。

  1. 并集:

    \[ A \cup B = \{\, x \mid x \in A \text{ 或 } x \in B \,\}; \]
  2. 交集:

    \[ A \cap B = \{\, x \mid x \in A \text{ 且 } x \in B \,\}; \]
  3. 差集:

    \[ A \setminus B = \{\, x \mid x \in A \text{ 且 } x \notin B \,\}; \]
  4. 补集:若事先给定一个包含 \(A\) 与 \(B\) 的全集 \(U\),则称

    \[ \complement_U A = U \setminus A = \{\, x \in U \mid x \notin A \,\} \]

    为 \(A\) 在 \(U\) 中的补集。

第 4 条中的全集不能省:只说"\(A\) 的补集"而没有说明相对于哪个全集,这个集合就没有确定的内容。本课程中全集通常是 \(\mathbb{R}\),此时把 \(\mathbb{R} \setminus A\) 简记为 \(A^{c}\)。

集合运算满足下列恒等式(\(A, B, C\) 是任意集合):

名称 恒等式
交换律 \(A \cup B = B \cup A\),\(A \cap B = B \cap A\)
结合律 \((A \cup B) \cup C = A \cup (B \cup C)\),\((A \cap B) \cap C = A \cap (B \cap C)\)
分配律 \(A \cap (B \cup C) = (A \cap B) \cup (A \cap C)\),\(A \cup (B \cap C) = (A \cup B) \cap (A \cup C)\)
幂等律 \(A \cup A = A\),\(A \cap A = A\)
吸收律 \(A \cup (A \cap B) = A\),\(A \cap (A \cup B) = A\)
与空集 \(A \cup \varnothing = A\),\(A \cap \varnothing = \varnothing\)
De Morgan 律 \(\complement_U(A \cup B) = \complement_U A \cap \complement_U B\),\(\complement_U(A \cap B) = \complement_U A \cup \complement_U B\)

这些恒等式都可以用"双向包含"验证。下面把 De Morgan 律的证明完整写一遍,作为元素分析法的示范。

命题(De Morgan 律)

设 \(U\) 是全集,\(A, B \subseteq U\),则

\[ \complement_U (A \cup B) = \complement_U A \cap \complement_U B, \]
\[ \complement_U (A \cap B) = \complement_U A \cup \complement_U B. \]

证明

第一式。 分两个方向。

  • 设 \(x \in \complement_U(A \cup B)\)。由补集定义,\(x \in U\) 且 \(x \notin A \cup B\)。而"\(x \notin A \cup B\)"意味着 \(x\) 既不属于 \(A\) 也不属于 \(B\)(否则由并集定义它属于 \(A \cup B\)),即 \(x \in \complement_U A\) 且 \(x \in \complement_U B\),也就是 \(x \in \complement_U A \cap \complement_U B\)。故 \(\complement_U(A \cup B) \subseteq \complement_U A \cap \complement_U B\)。
  • 设 \(x \in \complement_U A \cap \complement_U B\)。则 \(x \in U\),且 \(x \notin A\)、\(x \notin B\)。若 \(x \in A \cup B\),则 \(x \in A\) 或 \(x \in B\),两者都不可能,故 \(x \notin A \cup B\),即 \(x \in \complement_U(A \cup B)\)。故 \(\complement_U A \cap \complement_U B \subseteq \complement_U(A \cup B)\)。

两者合起来即得第一式。

第二式。 把第一式中的 \(A, B\) 换成 \(\complement_U A, \complement_U B\),并利用 \(\complement_U(\complement_U A) = A\):

\[ \complement_U\bigl(\complement_U A \cup \complement_U B\bigr) = A \cap B . \]

两边再取补集,得

\[ \complement_U A \cup \complement_U B = \complement_U(A \cap B), \]

这正是第二式。

例题 2(差集的恒等式)

证明

\[ A \setminus (B \cup C) = (A \setminus B) \cap (A \setminus C). \]

解 用元素分析法,把"\(\setminus\)"与"\(\cup\)"按定义展开。

  • 设 \(x \in A \setminus (B \cup C)\)。则 \(x \in A\) 且 \(x \notin B \cup C\),后者等价于 \(x \notin B\) 且 \(x \notin C\)。于是 \(x \in A \setminus B\) 且 \(x \in A \setminus C\),即 \(x \in (A \setminus B) \cap (A \setminus C)\)。
  • 反之设 \(x \in (A \setminus B) \cap (A \setminus C)\)。则 \(x \in A\)、\(x \notin B\)、\(x \notin C\),故 \(x \notin B \cup C\),从而 \(x \in A \setminus (B \cup C)\)。

两个方向都成立,故等式成立。这正是 De Morgan 律在"相对于 \(A\) 取补"时的形式。

区间与邻域

数学分析里的集合绝大多数是一段一段的实数,为此引入区间记号。设 \(a, b \in \mathbb{R}\) 且 \(a < b\):

记号 含义(作为集合)
\((a, b)\) \(\{\, x \mid a < x < b \,\}\),开区间
\([a, b]\) \(\{\, x \mid a \le x \le b \,\}\),闭区间
\([a, b)\)、\((a, b]\) 半开半闭区间,如 \([a,b) = \{\, x \mid a \le x < b \,\}\)
\((a, +\infty)\) \(\{\, x \mid x > a \,\}\)
\([a, +\infty)\) \(\{\, x \mid x \ge a \,\}\)
\((-\infty, b)\)、\((-\infty, b]\) 左端无界的区间
\((-\infty, +\infty)\) 就是 \(\mathbb{R}\)

记号中的 \(+\infty\) 与 \(-\infty\) 不是实数,只是为了书写方便的符号;因此凡涉及 \(+\infty\) 的一端一律写圆括号,写成 \([-\infty, b]\) 没有意义。

定义(邻域、去心邻域)

设 \(a \in \mathbb{R}\),\(\delta > 0\)。称开区间

\[ U(a, \delta) = (a - \delta,\ a + \delta) = \{\, x \in \mathbb{R} \mid \lvert x - a \rvert < \delta \,\} \]

为点 \(a\) 的 \(\delta\) 邻域,\(\delta\) 称为该邻域的半径,\(a\) 称为它的中心。去掉中心后得到的集合

\[ \mathring{U}(a, \delta) = U(a, \delta) \setminus \{a\} = \{\, x \in \mathbb{R} \mid 0 < \lvert x - a \rvert < \delta \,\} \]

称为点 \(a\) 的去心 \(\delta\) 邻域。

邻域说的就是"\(a\) 附近的一小段",其大小由半径 \(\delta\) 控制。"\(\lvert x - a \rvert < \delta\)"与"\(a - \delta < x < a + \delta\)"是同一件事的两种写法,后者更直观,前者便于计算。后面的 \(\varepsilon\)-\(\delta\) 语言、极限的局部性质都建立在这个记号上。

易错点:邻域是以点为中心的开区间

\(U(a, \delta)\) 不含端点 \(a \pm \delta\);若式子中出现 \(\lvert x - a \rvert \le \delta\),那是闭邻域 \([a - \delta, a + \delta]\),与邻域不是同一个集合。另外 \(\delta\) 必须严格大于 \(0\):\(\delta = 0\) 时邻域退化为空集。

卡氏积

定义(卡氏积)

设 \(X, Y\) 是集合。它们的卡氏积(Cartesian product,也译作笛卡尔积)定义为一切有序对组成的集合

\[ X \times Y = \{\, (x, y) \mid x \in X,\ y \in Y \,\}. \]

一般地,\(n\) 个集合的卡氏积是 \(n\) 元有序组的集合

\[ X_1 \times X_2 \times \cdots \times X_n = \{\, (x_1, x_2, \dots, x_n) \mid x_i \in X_i,\ i = 1, 2, \dots, n \,\}. \]

若 \(X_1 = X_2 = \cdots = X_n = X\),则简记为

\[ X^n = \{\, (x_1, x_2, \dots, x_n) \mid x_i \in X \,\}. \]

有序对的"有序"体现在 \((x, y) = (x', y')\) 当且仅当 \(x = x'\) 且 \(y = y'\):交换位置一般得到不同的元素。这正是它与无序对 \(\{x, y\}\) 的本质区别。

两个最常用的例子:

  • \(\mathbb{R}^2 = \mathbb{R} \times \mathbb{R}\) 是平面上的点集,\(\mathbb{R}^n\) 是 \(n\) 元有序实数组的全体;
  • 函数(映射)的图像就是卡氏积的子集:\(\Gamma_f = \{\, (x, f(x)) \mid x \in X \,\} \subseteq X \times \mathbb{R}\),这一用法见 1.3 函数与反三角函数。

卡氏积的完整讨论(包括它与二元关系、等价类的关系)见高等代数 · 集合与卡氏积。

常见误区

易错点

  • \(\in\) 与 \(\subseteq\) 混用。 \(1 \in \{1\}\)、\(\{1\} \subseteq \{1\}\) 都对,但 \(1 \subseteq \{1\}\)、\(\{1\} \in \{1\}\) 都不对。判断的依据是看符号两边是"元素与集合"还是"集合与集合"。
  • \(\varnothing\) 与 \(\{\varnothing\}\) 混为一谈。 前者没有元素,后者有一个元素;因此 \(\#\varnothing = 0\) 而 \(\#\{\varnothing\} = 1\)。
  • 用"看起来像"代替证明。 集合恒等式不能靠画图或举例说明,必须用双向包含(或元素分析法)证明。
  • 忘记补集所相对的全集。 \(\complement A\) 只有在全集 \(U\) 明确后才是一个确定的集合;在 \(\mathbb{R}\) 中通常约定 \(A^{c} = \mathbb{R} \setminus A\)。
  • 把 \(+\infty\) 当数用。 \((-\infty, b)\) 只是一种记号;不能对 \(+\infty\) 作加减乘除,也不能写 \([-\infty, b]\)。
  • 认为"包含"必须严格。 \(\subseteq\) 允许相等;若要排除相等,必须写成 \(\subsetneq\)。

参见