跳转至

集合怎样组织数学对象?

先备知识

本单元从中学阶段已经见过的数集出发,不要求额外的高等代数、解析几何或 Python 知识。需要的是一种新的习惯:把“对象的范围”和“对象满足的条件”清楚地分开写。

约定实数集记作 \(\mathbb R\),整数集记作 \(\mathbb Z\)。以后若不特别说明,讨论的元素都来自当前给定的全集。

学习目标

完成本单元后,你应能:

  1. 使用集合、元素、子集和集合运算陈述数学对象;
  2. 区分 \(x\in A\)\(A\subseteq B\)\(A=B\)\(\varnothing\)
  3. 用逐元素法证明集合恒等式,并用反例否定错误陈述。

牵引问题

怎样用有限的符号,准确表达下列三类对象?

  • 一个班级中既参加合唱团又参加篮球队的同学;
  • 满足 \(x^2<2\) 的实数;
  • 平面上到原点距离不超过 \(1\) 的点。

它们看起来分别属于日常分类、数的条件与几何图形,但都有同一种结构:先指定对象的范围,再写出筛选条件。集合语言让这种结构可以被计算、比较和证明。

探索与猜想

\(C\) 是合唱团成员的集合,\(B\) 是篮球队成员的集合。既参加两者的同学组成 \(C\cap B\);至少参加一个社团的同学组成 \(C\cup B\);参加合唱团但没有参加篮球队的同学组成 \(C\setminus B\)

同样,集合

\[ A=\{x\in\mathbb R:x^2<2\} \]

不是一个“公式”,而是所有满足条件的实数构成的对象。平面单位圆盘可写成

\[ D=\{(x,y)\in\mathbb R^2:x^2+y^2\le1\}. \]

这些写法提示我们:同一个元素能否属于两个集合、一个集合是否完全包含在另一个集合中,都是可以精确检验的问题。

概念与理论

元素、子集与相等

集合是对象的汇集。若 \(x\) 是集合 \(A\) 的元素,写作 \(x\in A\);若不是,写作 \(x\notin A\)。例如 \(2\in\mathbb Z\),但 \(1/2\notin\mathbb Z\)

若集合 \(A\) 的每个元素也都是 \(B\) 的元素,称 \(A\)\(B\)子集,写作 \(A\subseteq B\)

\[ A\subseteq B\quad\Longleftrightarrow\quad (\forall x)(x\in A\Rightarrow x\in B). \]

这不是 \(A\in B\)。前者比较两个集合的元素,后者说一个对象是另一个集合的元素。空集 \(\varnothing\) 没有任何元素;它是每个集合的子集,因为“不存在反例”使上面的全称命题成立。

两个集合相等的判别标准是双向包含:

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

基本集合运算

对集合 \(A,B\),定义

\[ \begin{aligned} A\cup B&=\{x:x\in A\text{ 或 }x\in B\},\\ A\cap B&=\{x:x\in A\text{ 且 }x\in B\},\\ A\setminus B&=\{x:x\in A\text{ 且 }x\notin B\}. \end{aligned} \]

若已固定全集 \(U\)\(A\)\(U\) 中的补集为 \(A^c=U\setminus A\)。补集一定要带着全集理解:同一个 \(A\) 放在不同的 \(U\) 中,\(A^c\) 可能不同。

两个进一步的构造是笛卡尔积与幂集:

\[ A\times B=\{(a,b):a\in A,\ b\in B\},\qquad \mathcal P(A)=\{S:S\subseteq A\}. \]

有序对的顺序不能随意交换;通常 \(A\times B\ne B\times A\)。而幂集的元素本身是集合,例如 \(\{1,\{1\}\}\in\mathcal P(\{1,\{1\}\})\):左边的两个元素 \(1\)\(\{1\}\) 都属于右边幂集的底集。

逐元素法

证明集合相等时,最可靠的策略是取一个任意元素 \(x\),把“\(x\) 属于左边”逐步改写为“\(x\) 属于右边”。也就是说,证明

\[ (\forall x)\bigl(x\in L\Longleftrightarrow x\in R\bigr). \]

这种方法把集合等式还原成逻辑等价,尤其适合包含补集的公式。

例题与迁移

例:证明 De Morgan 律

在同一全集 \(U\) 中,证明

\[ (A\cup B)^c=A^c\cap B^c. \]

证明。 任取 \(x\in U\)。按照并集与补集的定义,

\[ \begin{aligned} x\in(A\cup B)^c &\Longleftrightarrow x\notin A\cup B\\ &\Longleftrightarrow \text{并非“}x\in A\text{ 或 }x\in B\text{”}\\ &\Longleftrightarrow x\notin A\text{ 且 }x\notin B\\ &\Longleftrightarrow x\in A^c\cap B^c. \end{aligned} \]

因此任意 \(x\) 属于左边当且仅当属于右边,逐元素法给出所求集合相等。这里唯一使用的逻辑规则是“非(\(P\)\(Q\))等价于(非 \(P\))且(非 \(Q\))”;下一单元会系统讨论这种量词和否定的变形。

迁移:条件如何变成区域

\[ E=\{(x,y)\in\mathbb R^2:|x|\le1\},\qquad F=\{(x,y)\in\mathbb R^2:|y|\le1\}. \]

那么 \(E\cap F\) 是平面中的正方形 \([-1,1]\times[-1,1]\)。解析几何图像可以帮助猜测,但等式本身来自同一个点同时满足两条不等式。

即时检验与回望

  1. \(A=\{n\in\mathbb Z:(\exists k\in\mathbb Z)\ n=2k\}\)。用一句话说明 \(A\) 是什么集合。
    答案: 所有偶整数。量词说明“存在一个整数 \(k\) 使 \(n\) 是它的两倍”。

  2. 判断 \(\{1\}\in\mathcal P(\{1,2\})\) 是否成立。
    答案: 成立,因为 \(\{1\}\subseteq\{1,2\}\)。注意这不是 \(1\in\mathcal P(\{1,2\})\)

  3. 错误等式 \(A\setminus B=B\setminus A\) 是否总成立?给出反例。
    答案: 不成立。取 \(A=\{1\}\)\(B=\{1,2\}\),则 \(A\setminus B=\varnothing\),而 \(B\setminus A=\{2\}\)

回看牵引问题:花名册、实数条件与平面点集都能用集合表达;但要证明两个这样的对象相同,必须比较每一个可能的元素,而不能只看几个样本。

习题与答案

ex-u-01-01-01-01

\(A=\{x\in\mathbb R:x^2=1\}\)\(B=\{-1,1\}\)。证明 \(A=B\)

答案

完整解答。 先证 \(A\subseteq B\)。任取 \(x\in A\),则 \(x^2=1\),于是

\[ (x-1)(x+1)=0. \]

实数没有零因子,故 \(x=1\)\(x=-1\),即 \(x\in B\)。反过来,\(1^2=(-1)^2=1\),所以 \(B\subseteq A\)。双向包含给出 \(A=B\)

ex-u-01-01-01-02

在同一全集中证明 \((A\cap B)^c=A^c\cup B^c\)

答案

任取 \(x\)。有 \(x\in(A\cap B)^c\) 当且仅当 \(x\notin A\cap B\),当且仅当 \(x\notin A\)\(x\notin B\),当且仅当 \(x\in A^c\cup B^c\)。故两集合相等。

ex-u-01-01-01-03

\(A=\{0,1\}\)\(B=\{a,b\}\)。写出 \(A\times B\)\(B\times A\),并说明它们为何通常不相等。

答案

\(A\times B=\{(0,a),(0,b),(1,a),(1,b)\}\)\(B\times A=\{(a,0),(a,1),(b,0),(b,1)\}\)。有序对的第一、第二位置不同;例如 \((0,a)\) 属于前者而不属于后者。

ex-u-01-01-01-04

给出集合相等 \(A=B\) 的充要条件,并说明为什么只验证 \(A\subseteq B\) 不够。

答案

\(A=B\) 当且仅当 \(A\subseteq B\)\(B\subseteq A\)。只验证一个方向不够:\(\{1\}\subseteq\{1,2\}\),但这两个集合不相等,因为 \(2\) 只属于后者。