1内容
1 章 预备知识
1.1 集合与函数
1.1.1 集合
📜 [原文1]
集合和函数的语言渗透于数学之中。粗略地说,每一个数学对象都是一个集合,而数学中大多数重要的运算最终都是函数,或者可以用函数来表达。我们不会定义什么是集合,而是将集合 $X$ 的概念和成员关系 $x \in X$($x$ 是 $X$ 的一个元素)作为基本(未定义)术语。$x \in X$ 的否定是 $x \notin X$:$x$ 不是 $X$ 的一个元素。通常,一个集合的元素本身就是集合,这强调了在数学中,一切皆是集合。集合通常有两种描述方式:(i) 作为列表 $\left\{x_{1}, \ldots, x_{n}\right\}$,例如 $\{1,2,4,5\}$,或者 (ii) 通过描述其元素来定义,例如上述集合也可以通过以下方式指定:
$$
\{1,2,4,5\}=\{n \in \mathbb{Z}: 1 \leq n \leq 5, n \neq 3\}
$$
其中 $\mathbb{Z}$ 表示所有整数的集合。有时(特别是在几何语境中),我们将“$x$ 是 $X$ 的一个点”作为 $x \in X$ 的同义词。
📖 [逐步解释]
这段话介绍了现代数学的两个基石:集合和函数。
首先,它强调了这两个概念的普遍性。在数学的宏伟殿堂里,几乎所有的东西,无论是数字、图形还是更抽象的结构,都可以被看作或定义为集合。而我们对这些数学对象进行的操作,比如加法、求导,其本质都可以用函数来精确描述。
接着,文章采取了一种公理化的处理方式。它没有尝试去用更基本的词汇定义“什么是集合”,因为在数学的逻辑体系中,总需要一些不加定义的基本概念作为起点,否则就会陷入无限循环的定义。这就好比在几何学中,“点”、“线”、“面”是基本概念一样。在这里,集合、元素以及元素与集合之间的“属于”关系(成员关系),被当作我们直接接受的、不言自明的出发点。
我们用符号 $x \in X$ 来表示“$x$ 是集合 $X$ 的一个元素”。这个符号 $\in$ 是“属于”的数学语言。反之,如果 $x$ 不在集合 $X$ 里,我们就用 $x \notin X$ 表示,它是在 $\in$ 上画一条斜杠。
一个非常深刻的观点是“一个集合的元素本身就是集合”。这在朴素的层面可能难以理解,但在公理化集合论(如ZFC集合论)中,这是构建整个数学大厦的基础。例如,数字 "0" 可以被定义为空集 $\emptyset$,数字 "1" 可以被定义为包含空集的集合 $\{\emptyset\}$,数字 "2" 可以被定义为 $\{\emptyset, \{\emptyset\}\}$,以此类推。这种构造方式保证了所有数学对象都统一在“集合”这个框架下。
最后,文章指出了描述一个集合的两种常用方法:
- 列举法 (Roster Method or Listing Method): 直接把集合里的所有元素一一列出来,用花括号 $\{\}$ 括起来,元素之间用逗号隔开。例如,集合 $\{1, 2, 4, 5\}$ 就包含了这四个数字。这种方法简单直观,但只适用于元素数量有限且不多的情况。
- 描述法 (Set-Builder Notation): 不直接列出元素,而是描述这些元素所共同满足的性质。它的通用格式是 $\{变量 \in 源集合 : 变量满足的条件\}$。例如,原文中的 $\{n \in \mathbb{Z}: 1 \leq n \leq 5, n \neq 3\}$ 就是描述法。这里的变量是 $n$,源集合是 $\mathbb{Z}$(整数集),冒号后面是 $n$ 需要满足的三个条件:$1 \leq n \leq 5$ (n在1到5之间,包含1和5),并且 $n \neq 3$ (n不等于3)。我们来找一下满足这些条件的整数:在1到5之间的整数有1, 2, 3, 4, 5。去掉3之后,就剩下1, 2, 4, 5。所以这个集合和用列举法写出的 $\{1, 2, 4, 5\}$ 是同一个集合。
最后提到的“$x$ 是 $X$ 的一个点”作为 $x \in X$ 的同义词,这是一种几何化的语言习惯。当我们研究欧几里得空间 $\mathbb{R}^2$(可以看作一个点的集合)时,说“点 $P$ 在平面 $\mathbb{R}^2$ 中”和说“元素 $P$ 属于集合 $\mathbb{R}^2$”是完全等价的。
💡 [数值示例]
- 示例1:描述一个星期中工作日的集合
- 列举法: $\{星期一, 星期二, 星期三, 星期四, 星期五\}$
- 描述法: $\{d \in 某周的七天 : d 不是周末\}$
- 示例2:描述小于10的正偶数的集合
- 列举法: $\{2, 4, 6, 8\}$
- 描述法: $\{x \in \mathbb{Z} : x > 0 \text{ and } x < 10 \text{ and } x \text{ 是偶数}\}$
- 更简洁的描述法: $\{2k : k \in \mathbb{Z} \text{ and } 1 \leq k \leq 4\}$。这里我们用一个表达式 $2k$ 来直接生成元素。当 $k$ 取1, 2, 3, 4时, $2k$ 分别为2, 4, 6, 8。
- 示例3:描述方程 $x^2 - 4 = 0$ 的解集
- 列举法: $\{-2, 2\}$
- 描述法: $\{x \in \mathbb{R} : x^2 - 4 = 0\}$
⚠️ [易错点]
- 花括号的重要性: 集合必须用花括号 $\{\}$ 括起来。例如,$1, 2, 3$ 是一串数字,而 ${1, 2, 3}$ 是一个包含这三个数字的集合。
- 集合的无序性: 在用列举法表示集合时,元素的顺序是无关紧要的。$\{1, 2, 3\}$ 和 $\{3, 1, 2\}$ 是完全相同的集合。
- 集合的互异性: 集合中的元素是互不相同的。在一个集合中重复列出同一个元素是无意义的,计算元素个数时也不会重复计算。例如,$\{1, 2, 2, 3\}$ 实际上就是集合 $\{1, 2, 3\}$,它只有3个元素。
- 元素与集合的关系: $x$ 和 ${x}$ 是不同的。$x$ 是一个元素,而 ${x}$ 是一个只包含 $x$ 这一个元素的集合。例如,$1$ 是数字1,而 ${1}$ 是包含数字1的集合。
📝 [总结]
本节将集合和成员关系 $\in$ 作为数学的基本、不加定义的术语。它阐明了集合的两种主要描述方式——列举法和描述法,并通过一个具体的例子展示了两种方法如何描述同一个集合。
🎯 [存在目的]
本节的目的是为后续所有数学内容的学习建立一个统一、清晰、无歧义的语言基础。通过将集合和成员关系作为公理化的起点,避免了在定义上无穷回溯的逻辑困境,为构建严谨的数学理论体系铺平了道路。
🧠 [直觉心智模型]
可以将一个集合想象成一个“容器”或一个“袋子”。这个容器里面装着一些东西,这些东西就是集合的元素。
- $x \in X$ 就好比说“苹果在水果篮里”。
- $x \notin X$ 就好比说“石头不在水果篮里”。
- 列举法就像打开袋子,把里面的东西一件件拿出来给大家看。
- 描述法就像在袋子上贴一个标签,标签上写着“这个袋子里装的都是红色的、圆形的、重量小于1斤的水果”。你不需要打开袋子,通过标签就能知道里面装的是什么样的东西。
💭 [直观想象]
在脑海中,你可以把集合想象成一个由封闭曲线(比如圆形或椭圆形)围成的区域,这个区域就是著名的“韦恩图”(Venn Diagram)。区域内部的点就代表集合的元素。
- ${1, 2, 4, 5}$ 可以想象一个圈,里面有四个点,分别标着1, 2, 4, 5。
- ${n ∈ ℤ: 1 ≤ n ≤ 5, n ≠ 3}$ 可以想象一个更大的代表所有整数 $\mathbb{Z}$ 的区域,然后在这个区域里画一个框,框住1到5,再把点3从这个框里挖掉。最后剩下的点组成的区域,就是我们想要的集合。
1.1.2 集合相等
📜 [原文2]
定义 1.1.1. 两个集合 $X$ 和 $Y$ 相等当且仅当它们拥有相同的元素:$X=Y$ 当且仅当,对于所有 $x, x \in X \Longleftrightarrow x \in Y$。我们可以不正式地这样说:一个集合由其元素唯一指定。
📖 [逐步解释]
这个定义给出了判断两个集合何时“相等”的唯一标准,这个标准被称为“外延公理”(Axiom of Extensionality)。
它的核心思想非常简单直接:只要两个集合所包含的元素一模一样,那么这两个集合就是同一个集合。
这里的“一模一样”有两层含义:
- 集合 $X$ 里的任何一个元素,都必须是集合 $Y$ 里的元素。
- 反过来,集合 $Y$ 里的任何一个元素,也必须是集合 $X$ 里的元素。
这两个条件必须同时满足。只要你能找到一个元素,它在一个集合里,却不在另一个集合里,那么这两个集合就是不相等的。
原文中的逻辑符号 $\Longleftrightarrow$ (读作“当且仅当”) 精确地表达了这种双向关系。
$x \in X \Longleftrightarrow x \in Y$ 的意思是:
- 如果 $x \in X$,那么必然 $x \in Y$。($\Longrightarrow$ 方向)
- 如果 $x \in Y$,那么必然 $x \in X$。($\Longleftarrow$ 方向)
这个条件必须对“所有 $x$”都成立。这里的“所有 $x$”指的是宇宙中可能存在的所有对象。
“一个集合由其元素唯一指定”这句话是对这个定义的通俗总结。它意味着一个集合的全部信息都蕴含在它的元素之中,除此之外再无其他。集合的名字(比如 $X$ 或 $Y$)、元素的排列顺序、元素被列出的次数、描述集合的方式等等,都无关紧要。唯一重要的是:“里面究竟有哪些元素?”
💡 [数值示例]
- 令 $X = \{1, 2, 3\}$。
- 令 $Y = \{3, 1, 2\}$。
- 我们来检查:
- $X$ 的元素 1 是否在 $Y$ 中?是。
- $X$ 的元素 2 是否在 $Y$ 中?是。
- $X$ 的元素 3 是否在 $Y$ 中?是。
- 反过来,$Y$ 的元素 3, 1, 2 是否都在 $X$ 中?是。
- 因为它们拥有完全相同的元素,所以 $X=Y$。这个例子说明集合的元素顺序不影响相等性。
- 示例2:相等(不同描述方式)
- 令 $A = \{2, 4, 6, 8\}$。
- 令 $B = \{n \in \mathbb{Z} : 1 \le n \le 9, n \text{ 是偶数}\}$。
- 集合 $B$ 描述的是1到9之间的所有偶整数。这些数是 2, 4, 6, 8。
- 所以集合 $B$ 的元素就是 $\{2, 4, 6, 8\}$。
- 因为集合 $A$ 和 $B$ 的元素完全相同,所以 $A=B$。这个例子说明描述方式不影响相等性。
- 示例3:不相等
- 令 $C = \{1, 2\}$。
- 令 $D = \{1, 2, 3\}$。
- 我们来检查:
- 存在一个元素 $3$,它在 $D$ 中 ($3 \in D$),但不在 $C$ 中 ($3 \notin C$)。
- 因此,不满足“对于所有 $x, x \in C \Longleftrightarrow x \in D$”这个条件。所以 $C \neq D$。
⚠️ [易错点]
- 混淆“属于”与“相等”: $x \in X$ 和 $\{x\} = X$ 是完全不同的概念。前者表示 $x$ 是 $X$ 的一个成员,后者表示一个只包含 $x$ 的集合与 $X$ 相等。例如,如果 $X=\{1, 2\}$,那么 $1 \in X$ 是正确的,但 $\{1\}=X$ 是错误的。
- 忽略元素的类型: $1$ 和 $\{1\}$ 是不同的对象。令 $A=\{1\}$, $B=\{\{1\}\}$。$A$ 的元素是数字1, $B$ 的元素是集合 ${1}$。这两个集合的元素不同,因此 $A \neq B$。
- 重复元素: 如前所述,集合中的元素具有互异性。$\{1, 1, 2\}$ 和 $\{1, 2\}$ 是相等的,因为它们都只包含元素1和2。
📝 [总结]
集合相等的定义(外延公理)是判断两个集合是否为同一个集合的根本准则。它规定,当且仅当两个集合的元素完全一致时,它们才相等。这确立了“元素决定集合”的核心原则。
🎯 [存在目的]
这个定义的目的是为数学世界中的“相等”提供一个最基础、最明确的标准。没有这个标准,我们就无法判断由不同方式(例如不同的描述或不同的顺序)给出的集合是否是同一个数学对象,整个数学体系的严谨性将无从谈起。
🧠 [直觉心智模型]
继续使用“容器”模型。判断两个容器(集合)是否“相等”,不是看容器的颜色、材质、名字或者里面东西的摆放顺序,而只看一件事:把两个容器里的所有东西都倒出来,摊在地上,看两堆东西是不是一模一样。如果 A 堆里的每一样东西在 B 堆里都能找到,并且 B 堆里的每一样东西在 A 堆里也能找到,那这两个容器就是“相等”的。
💭 [直观想象]
使用韦恩图。如果集合 $X$ 的韦恩图和集合 $Y$ 的韦恩图所圈住的区域和区域内的点是完全重合的,那么 $X=Y$。如果一个图比另一个图多出一个点,或者少一个点,或者某个点的位置不同(代表是不同的元素),那么这两个集合就不相等。
1.1.3 空集
📜 [原文3]
一个基本的集合例子是空集 $\emptyset$:
定义 1.1.2. 一个集合 $X$ 是空的当且仅当,对于所有 $x, x \notin X$。因此 $X$ 没有元素。这在逻辑上意味着 $X$ 由条件“对于所有 $x, x \notin X$”唯一指定:空集只有一个,记作 $\emptyset$。
📖 [逐步解释]
这里定义了一个非常特殊但极其重要的集合——空集。
空集的定义是:一个不包含任何元素的集合。
“对于所有 $x, x \notin X$”这句话用逻辑语言精确描述了“没有元素”这个概念。它检查了宇宙中可能存在的任何一个对象 $x$,并断言,这个 $x$ 绝对不在集合 $X$ 里面。
既然集合是由其元素唯一指定的(根据上一节的外延公理),而空集的特征是“没有任何元素”,那么所有“没有任何元素”的集合,由于其元素构成完全相同(都是“无”),因此它们必然是同一个集合。这就是“空集只有一个”的逻辑依据。
为了方便,我们给这个唯一的、不包含任何元素的集合一个专门的符号:$\emptyset$。这个符号是一个带有斜杠的圆圈,不是希腊字母 $\phi$ (phi)。
我们可以思考一下为什么空集是唯一的。假设有两个空集,$A$ 和 $B$。
根据空集的定义,$A$ 中没有元素,$B$ 中也没有元素。
现在我们用集合相等的定义来判断 $A$ 和 $B$ 是否相等:
$A=B \Longleftrightarrow$ 对于所有 $x, x \in A \Longleftrightarrow x \in B$。
这个条件需要我们检查:
- 如果 $x \in A$,那么 $x \in B$。
- 如果 $x \in B$,那么 $x \in A$。
由于 $A$ 是空集,前提“$x \in A$”永远是假的。在逻辑学中,一个以假为前提的蕴含式(“如果 P 那么 Q”,当 P 为假时)总是为真的。这称为“善意推定原则”(principle of vacuous truth)。所以,第一个条件“如果 $x \in A$,那么 $x \in B$”自动成立。
同理,由于 $B$ 是空集,前提“$x \in B$”也永远是假的。因此第二个条件“如果 $x \in B$,那么 $x \in A$”也自动成立。
既然两个条件都成立,那么 $A$ 和 $B$ 的元素就是“一模一样”的(都是“没有”),所以 $A=B$。这就证明了空集是唯一的。
💡 [数值示例]
空集本身就是一个最极致的例子。我们可以通过描述法构造一些空集的例子,它们虽然描述不同,但最终都是同一个空集 $\emptyset$。
- 示例1: $\{x \in \mathbb{Z} : x \neq x\}$。
- 描述:寻找一个整数 $x$,使得它不等于它自己。
- 结果:根据等于的定义,任何数都等于它自己,所以不存在这样的 $x$。因此这个集合是空集 $\emptyset$。
- 示例2: $\{x \in \mathbb{R} : x^2 = -1\}$。
- 描述:寻找一个实数 $x$,使得它的平方等于-1。
- 结果:我们知道任何实数的平方都是非负的(大于等于0)。所以不存在这样的实数 $x$。因此这个集合是空集 $\emptyset$。(注意:如果在复数范围内寻找,这个集合就不是空的了,是 $\{i, -i\}$)。
- 示例3: $\{n \in \mathbb{N} : 1 < n < 2\}$。
- 描述:寻找一个自然数(正整数)$n$,它在1和2之间。
- 结果:不存在位于1和2之间的自然数。因此这个集合是空集 $\emptyset$。
- 示例4: 一个班级里所有身高超过5米的学生组成的集合。这也是空集 $\emptyset$。
⚠️ [易错点]
- $\emptyset$ vs. $\{\emptyset\}$: 这是初学者最容易混淆的地方。
- $\emptyset$ 是空集,它里面 没有 元素。它的元素个数是0。
- $\{\emptyset\}$ 是一个 非空 集合。它里面有 一个 元素,这个元素恰好就是空集 $\emptyset$。它的元素个数是1。
- 把 $\emptyset$ 想象成一个空的购物袋。
- 把 $\{\emptyset\}$ 想象成一个大购物袋,里面只装了一个东西,而这个东西恰好是另一个空的购物袋。
- 符号的混用: 不要将空集符号 $\emptyset$ 与数字0混淆。$\emptyset$ 是一个集合,0是一个数。它们是不同类型的数学对象。$\{0\}$ 是一个包含数字0的集合,它不是空集。
📝 [总结]
本节定义了空集 $\emptyset$,即不包含任何元素的集合。关键在于理解其定义“对于所有 $x, x \notin \emptyset$”以及由此推导出的唯一性——宇宙中只有一个空集。
🎯 [存在目的]
空集在集合论中扮演着类似数字“0”在算术中扮演的角色。它是一个基础构建块,也是许多运算(如交集)的结果,同时在定义、证明和构造中是不可或缺的。没有空集的概念,集合论的体系是不完整的。
🧠 [直觉心智模型]
空集 $\emptyset$ 就是一个完全空的容器。里面什么都没有。任何你拿出来的东西,都不会是这个容器里的。
- 集合 $\{\emptyset\}$ 就是一个容器,里面装着一个空的容器。
- 集合 $\{0\}$ 就是一个容器,里面装着数字0。
- 集合 $\{\emptyset, 0\}$ 就是一个容器,里面装着两样东西:一个空的容器和数字0。
💭 [直观想象]
在韦恩图中,空集 $\emptyset$ 就是一个圈,但圈里面什么都不画,连一个点都没有。这个圈所代表的区域是完全空白的。
1.1.4 子集
📜 [原文4]
接下来我们定义子集:
定义 1.1.3. 设 $X, Y$ 是两个集合。如果对于每一个 $x \in X, x \in Y$,则 $X$ 是 $Y$ 的子集或 $X$ 包含于 $Y$,记作 $X \subseteq Y$。我们也将其记作 $Y \supseteq X$(或 $Y$ 包含 $X$)。符号 $X \varsubsetneqq Y$ 或 $X \subset Y$ 有时用来表示 $X \subseteq Y$ 但 $X \neq Y$。(有些人用 $X \subset Y$ 来表示 $X \subseteq Y$,但我们将这些符号区分开来。)
📖 [逐步解释]
这个定义引入了集合之间的另一种基本关系:子集关系。
一个集合 $X$ 是另一个集合 $Y$ 的子集,直观上讲,就是 $X$ 里的所有元素也都在 $Y$ 里。$X$ 可以看作是 $Y$ 的一部分(或者全部)。
定义中的“对于每一个 $x \in X, x \in Y$”是其严格的数学表述。要验证 $X$是不是 $Y$ 的子集,你需要检查 $X$ 中的每一个元素,确保它也同时是 $Y$ 的元素。只要你能找到哪怕一个元素在 $X$ 里却不在 $Y$ 里,那么 $X$ 就不是 $Y$ 的子集。
符号解读:
- $X \subseteq Y$: 读作“$X$ 是 $Y$ 的子集”或“$X$ 包含于 $Y$”。这个符号 $\subseteq$ 很形象,像一个等号上面加了一个开口的U,暗示了“可以是部分,也可以是相等”。
- $Y \supseteq X$: 读作“$Y$ 包含 $X$”或“$Y$ 是 $X$ 的超集”。这和 $X \subseteq Y$ 是完全一样的意思,只是主语和宾语换了位置。
- $X \varsubsetneqq Y$ 或 $X \subset Y$: 读作“$X$ 是 $Y$ 的真子集”(proper subset)。这个关系比子集更严格,它要求 $X$ 是 $Y$ 的子集,并且 $X$ 和 $Y$ 不相等。也就是说,$X$ 里的所有元素都在 $Y$ 里,并且 $Y$ 至少有一个元素是 $X$ 里没有的。
- $X \varsubsetneqq Y \iff (X \subseteq Y \text{ 并且 } X \neq Y)$
- 符号 $\varsubsetneqq$ 是在 $\subseteq$ 上画一斜杠再去掉等号部分,强调“不相等”。
- 符号 $\subset$ 像小于号 $<$,也暗示了“更小”的含义。
符号使用的注意:作者特别指出,在本书中,$\subset$ 表示真子集,而 $\subseteq$ 表示子集。这是一个重要的约定,因为在其他一些数学文献中,作者可能会用 $\subset$ 来表示我们这里的 $\subseteq$(即允许相等)。因此,在阅读不同的数学书籍时,需要留意作者对这两个符号的具体定义。本书的约定是目前比较主流的用法,它能更好地区分两种关系。
💡 [数值示例]
- 令 $A = \{1, 2\}$,$B = \{1, 2, 3\}$,$C = \{1, 3, 4\}$。
- $A \subseteq B$ 吗? 我们检查 $A$ 的元素:1在 $B$ 中,2也在 $B$ 中。所有 $A$ 的元素都在 $B$ 中。所以 $A \subseteq B$ 是正确的。
- $A \subseteq C$ 吗? 我们检查 $A$ 的元素:1在 $C$ 中,但是2不在 $C$ 中。因为我们找到了一个在 $A$ 里但不在 $C$ 里的元素(2),所以 $A \not\subseteq C$ (A不是C的子集)。
- 示例2:真子集关系
- 继续使用 $A = \{1, 2\}$,$B = \{1, 2, 3\}$。
- 我们已经知道 $A \subseteq B$。
- $A = B$ 吗?不,因为 $3 \in B$ 但 $3 \notin A$。所以 $A \neq B$。
- 因为 $A \subseteq B$ 且 $A \neq B$,所以 $A$ 是 $B$ 的真子集,可以写作 $A \subset B$ 或 $A \varsubsetneqq B$。
- 示例3:子集但非真子集
- 令 $X = \{a, b, c\}$,$Y = \{c, a, b\}$。
- $X \subseteq Y$ 吗?是的,因为 $X$ 和 $Y$ 的元素完全相同。
- $X \subset Y$ 吗?不是,因为 $X=Y$,不满足真子集定义中“不相等”的要求。
⚠️ [易错点]
- 混淆“属于” $\in$ 和“包含于” $\subseteq$: 这是最常见的错误之一。
- $\in$ 连接的是 元素 和 集合。例如 $1 \in \{1, 2, 3\}$。
- $\subseteq$ 连接的是 两个集合。例如 $\{1\} \subseteq \{1, 2, 3\}$。
- 思考:对于 $A=\{1, 2\}$,下面哪个是正确的?
- $1 \subseteq A$ (错误, 1是元素不是集合)
- $\{1\} \in A$ (错误, A的元素是1和2, 不是集合{1})
- $\{1\} \subseteq A$ (正确, {1}这个集合里的所有元素(即1)都在A里)
- 空集是任何集合的子集: 对于任何集合 $A$,都有 $\emptyset \subseteq A$。
- 为什么?根据定义,要推翻这个结论,你需要找到一个元素 $x$,使得 $x \in \emptyset$ 并且 $x \notin A$。但是空集 $\emptyset$ 中没有任何元素,所以你永远找不到这样的 $x$。因此,该结论无法被推翻,它恒为真(又是善意推定原则的应用)。
- 任何集合都是其自身的子集: 对于任何集合 $A$,都有 $A \subseteq A$。这是显而易见的,因为 $A$ 里的所有元素当然都在 $A$ 里。但它不是其自身的真子集。
📝 [总结]
本节定义了集合间的子集关系 ($X \subseteq Y$),即一个集合的所有元素都属于另一个集合。同时,它还区分了更严格的真子集关系 ($X \subset Y$),即子集关系成立但两个集合不相等。
🎯 [存在目的]
子集关系是描述集合之间层级和包含关系的基本工具。它是构建更复杂集合运算(如交集、并集)、定义数学结构(如拓扑空间)以及进行逻辑证明的基础。没有子集的概念,我们无法有效地比较和关联不同的集合。
[直觉心- 1.1.5 备注
📜 [原文5]
备注 1.1.4. (i) $X \subseteq X$ 且 $\emptyset \subseteq X$。$X$ 的子集 $A$ 称为真子集如果 $A \neq X$。
(ii) 根据集合相等的定义,$X=Y \Longleftrightarrow X \subseteq Y$ 且 $Y \subseteq X$。如果 $X \subseteq Y$ 且 $Y \subseteq Z$,则 $X \subseteq Z$;这称为传递性。
(iii) 如果 $x \in X$(因此特别是 $X \neq \emptyset$),则 $\{x\} \subseteq X$。形式为 $\{x\}$ 的 $X$ 的子集称为单元素子集或单例子集。
📖 [逐步解释]
这部分是对子集定义的进一步说明和引申,总结了几个重要属性。
(i) 两个基本子集
- $X \subseteq X$: 任何集合都是其自身的子集。这被称为自反性。这很容易理解,因为要满足子集定义,需要“$X$里的每个元素都在$X$里”,这显然是成立的。
- $\emptyset \subseteq X$: 空集是任何集合的子集。如前一节的“易错点”中所解释的,这是由于“善意推定原则”。因为你无法从空集中找到一个不在 $X$ 里的元素(因为空集里根本没有任何元素),所以“$\emptyset$ 是 $X$ 的子集”这个命题无法被证伪,因此为真。
- 真子集的重申:如果 $A$ 是 $X$ 的子集,但 $A$ 不等于 $X$,那么 $A$ 就是 $X$ 的真子集。这意味着 $X$ 中至少有一个元素不在 $A$ 中。
(ii) 子集与相等的关系,以及传递性
- $X=Y \Longleftrightarrow X \subseteq Y$ 且 $Y \subseteq X$: 这是证明两个集合相等的最常用和最重要的方法。它把相等的定义(元素完全相同)分解成了两个方向的子集关系,这在写证明时非常有用。要证明 $X=Y$,你通常需要分两步:
- 证明 $X \subseteq Y$:任取一个 $x \in X$,通过一系列推理,证明 $x$ 也一定在 $Y$ 中。
- 证明 $Y \subseteq X$:任取一个 $y \in Y$,通过一系列推理,证明 $y$ 也一定在 $X$ 中。
这两个证明都完成后,你就可以根据这个属性断定 $X=Y$。这种关系被称为反对称性。
- 传递性: $如果 $X \subseteq Y$ 且 $Y \subseteq Z$,则 $X \subseteq Z$。这个性质也非常直观。如果**集合** $X$ 是**集合** $Y$ 的一部分,而**集合** $Y$ 又是**集合** $Z$ 的一部分,那么 $X$ 自然也是 $Z$ 的一部分。
- 证明: 我们要证明 $X \subseteq Z$。根据定义,我们需要证明“对于每一个 $x \in X$, 都有 $x \in Z$”。
- 我们任意取一个 $x \in X$。
- 因为 $X \subseteq Y$,所以这个 $x$ 也一定在 $Y$ 中,即 $x \in Y$。
- 因为 $Y \subseteq Z$,所以这个在 $Y$ 中的 $x$ 也一定在 $Z$ 中,即 $x \in Z$。
- 我们从“任取一个 $x \in X$”出发,成功推导出“$x \in Z$”。所以 $X \subseteq Z$ 成立。
(iii) 单元素子集
- 如果一个元素 $x$ 在集合 $X$ 中,那么由这个元素单独构成的集合 $\{x\}$ 就是 $X$ 的子集。
- 这是对“元素”($\in$) 和“子集”($\subseteq$) 关系的一个清晰展示。$x$ 是 $X$ 的一个元素 ($x \in X$),而 $\{x\}$ 是 $X$ 的一个子集 ($\{x\} \subseteq X$)。
- 这种只包含一个元素的子集被称为“单元素子集”或“单例子集”(singleton)。
- 括号里的“因此特别是 $X \neq \emptyset$”是在强调,只有非空集合才有元素,从而才能形成单元素子集。如果 $X=\emptyset$,那么它没有任何元素 $x$,也就谈不上 $\{x\} \subseteq \emptyset$ 了(事实上,$\emptyset$ 唯一的子集是它自身 $\emptyset$)。
💡 [数值示例]
- 令 $X = \{a, b\}$。
- $X \subseteq X$: $\{a, b\} \subseteq \{a, b\}$,正确。
- $\emptyset \subseteq X$: $\emptyset \subseteq \{a, b\}$,正确。
- $X$ 的真子集有: $\emptyset, \{a\}, \{b\}$。
- $a \in X$,所以 $\{a\} \subseteq X$。$\{a\}$ 是一个单元素子集。
- $b \in X$,所以 $\{b\} \subseteq X$。$\{b\}$ 是一个单元素子集。
- 示例2:(ii) 证明集合相等
- 令 $A = \{n \in \mathbb{Z} : n \text{ 是 6 的正约数}\}$。 $A=\{1, 2, 3, 6\}$。
- 令 $B = \{n \in \mathbb{Z} : n \text{ 是 12 的正约数,且 } n < 7\}$。$B=\{1, 2, 3, 4, 6\}$ 中小于7的,所以 $B=\{1, 2, 3, 6\}$。
- 等等,例子不对,重新设计。
- 令 $E = \{x \in \mathbb{Z} : x \text{ 是偶数}\}$
- 令 $F = \{x \in \mathbb{Z} : x-1 \text{ 是奇数}\}$
- 我们要证明 $E = F$。
- 证明 $E \subseteq F$: 任取一个元素 $e \in E$。根据定义,$e$ 是一个偶数,所以可以写成 $e=2k$ 的形式,其中 $k$ 是一个整数。现在看 $e-1 = 2k-1$。这是一个偶数减1,结果必然是奇数。因此,$e-1$ 是奇数,这意味着 $e$ 满足进入 $F$ 的条件,所以 $e \in F$。既然任意的 $e \in E$ 都在 $F$ 中,我们得出 $E \subseteq F$。
- 证明 $F \subseteq E$: 任取一个元素 $f \in F$。根据定义,$f-1$ 是一个奇数,所以可以写成 $f-1 = 2k+1$ 的形式,其中 $k$ 是一个整数。那么 $f = (f-1)+1 = (2k+1)+1 = 2k+2 = 2(k+1)$。因为 $k$ 是整数,$k+1$ 也是整数。所以 $f$ 是2的倍数,即 $f$ 是一个偶数。这意味着 $f$ 满足进入 $E$ 的条件,所以 $f \in E$。既然任意的 $f \in F$ 都在 $E$ 中,我们得出 $F \subseteq E$。
- 结论: 因为 $E \subseteq F$ 且 $F \subseteq E$,所以 $E=F$。
- 令 $A = \{1\}$。
- 令 $B = \{1, 2\}$。
- 令 $C = \{1, 2, 3\}$。
- 我们有 $A \subseteq B$ (因为1在B里) 且 $B \subseteq C$ (因为1和2都在C里)。
- 根据传递性,我们应该有 $A \subseteq C$。
- 检查一下:$A$ 的元素是1,1也在 $C$ 里。所以 $A \subseteq C$ 确实成立。
⚠️ [易错点]
- 忘记证明双向包含: 在要求证明两集合相等时,很多初学者常常只证明了单向的子集关系 $A \subseteq B$,而忘记了证明另一方向 $B \subseteq A$,导致证明不完整。
- 对空集的传递性应用: 如果 $X = \emptyset$,那么 $\emptyset \subseteq Y$ 对任何 $Y$ 都成立。如果 $Y = \emptyset$,那么 $X \subseteq \emptyset$ 只有在 $X=\emptyset$ 时才成立。
- 单元素子集与元素: 再次强调,$x \in X$ 和 $\{x\} \subseteq X$。$x$ 和 ${x}$ 的层级不同,前者是 "成员",后者是 "子容器"。
📝 [总结]
本备注总结了子集关系的三个核心性质:
(i) 自反性 ($X \subseteq X$) 和空集的基础地位 ($\emptyset \subseteq X$)。
(ii) 反对称性 ($X=Y \iff X \subseteq Y \land Y \subseteq X$),它是证明集合相等的桥梁,以及传递性 ($X \subseteq Y \land Y \subseteq Z \implies X \subseteq Z$)。
(iii) 定义了单元素子集 $\{x\}$,并厘清了它与元素 $x$ 的区别。
🎯 [存在目的]
这部分内容的存在目的,是为了从子集的基本定义中提炼出最常用、最重要的推论和性质。这些性质是进行集合相关证明和推理时频繁使用的工具,将它们明确列出,可以大大提高后续工作的效率和清晰度。特别是证明集合相等的“双向包含法”,是整个数学领域证明技巧的基石之一。
🧠 [直觉心智模型]
- (ii) 相等与传递性:
- 相等: 想象两个装了珠子的首饰盒 A 和 B。证明 $A \subseteq B$ 就是检查 A 里的每一种颜色的珠子,B 里也都有。证明 $B \subseteq A$ 就是检查 B 里的每一种颜色的珠子,A 里也都有。如果两边都检查通过,那这两个首饰盒里的珠子种类和数量就是完全一样的,它们就是“相等”的。
- 传递性: 想象三个套娃,小娃(X) 在中娃(Y) 里面,中娃(Y) 在大娃(Z) 里面。那么显然,小娃(X) 也在大娃(Z) 里面。
- (iii) 单元素子集:
- 一个大水果篮 X 里装了很多水果。其中有一个苹果 $a$。那么 $a$ 是这个水果篮里的一个元素 ($a ∈ X$)。
- 现在你拿一个小盘子,里面只放上那个苹果 $a$。这个小盘子连同它里面的苹果 ${a}$,就是水果篮 X 的一个“子集” (${a} subseteq X$)。
💭 [直观想象]
使用韦恩图:
- (ii) 相等: X 的圈和 Y 的圈完全重合。证明 $X \subseteq Y$ 就是确认 X 的圈完全在 Y 的圈内或与 Y 重合。证明 $Y \subseteq X$ 就是确认 Y 的圈完全在 X 的圈内或与 X 重合。两者同时成立的唯一可能就是两圈重合。
- (ii) 传递性: X 的圈在 Y 的圈里面,Y 的圈又在 Z 的圈里面。从图上一看就知道,X 的圈肯定在 Z 的圈里面。
- (iii) 单元素子集: 在代表 X 的大圈内部,有一个点 $x$。现在你围绕这个点 $x$ 画一个小圈,这个小圈代表的集合 ${x}$ 就是 X 的一个子集。
1.1.6 有限集
📜 [原文6]
我们将处理的许多集合都是有限集:
定义 1.1.5. 形式为 $X=\left\{x_{1}, \ldots, x_{n}\right\}$ 的集合是有限集。如果对于所有 $i, j$ 且 $1 \leq i, j \leq n$,我们有 $x_{i} \neq x_{j}$,则我们记作 $\#(X)=n$。根据逻辑或约定,$\emptyset$ 是有限的,且 $\#(\emptyset)=0$。反之,如果 $X$ 是一个(有限)集合且 $\#(X)=0$,则 $X=\emptyset$。形式为 $\{x\}$ 的集合恰好有一个元素。特别是,$\{\emptyset\}$ 有一个单元素,即 $\emptyset$,因此 $\{\emptyset\} \neq \emptyset$。同样地,$\#(\{\emptyset,\{\emptyset\}\})=2$。
📖 [逐步解释]
这部分内容定义了什么是有限集以及如何计算其元素个数。
一个集合是有限的,如果它的元素可以被一一列举出来,并且这个列举的过程会在某一步结束。形式 $X=\{x_1, x_2, \ldots, x_n\}$ 就代表了这个过程,其中 $n$ 是一个自然数(或0)。
接下来是关于集合大小或基数(cardinality)的定义:
- 符号 $\#(X)$ (有些书也用 $|X|$ 或 $card(X)$) 表示集合 $X$ 中元素的个数。
- 计算个数有一个前提:集合的元素是互异的。如果在列举时 $\{x_1, \ldots, x_n\}$ 里的所有元素都互不相同,那么这个集合的元素个数就是 $n$,记作 $\#(X)=n$。
- 如果列举时有重复,比如 $\{1, 2, 2, 3\}$,你需要先去掉重复项得到 $\{1, 2, 3\}$,然后再计数,所以 $\#(\{1, 2, 2, 3\}) = 3$。
然后讨论了几个特殊情况:
- 空集: 空集 $\emptyset$ 被约定为有限集,它的元素个数是0。$\#(\emptyset)=0$。这是非常自然的,因为它里面没有任何元素。
- 反之: 如果一个有限集的元素个数是0,那它必然是空集。
- 单元素子集: 形式为 $\{x\}$ 的集合,它的元素个数是1。$\#(\{x\})=1$。
- 一个重要的例子: $\{\emptyset\}$。这是一个非空集合,它里面包含了一个元素,这个元素就是空集 $\emptyset$。所以,$\#(\{\emptyset\})=1$。这再次强调了 $\emptyset$(空集,0个元素)和 $\{\emptyset\}$(非空集,1个元素)是完全不同的。
- 更复杂的例子: $\{\emptyset, \{\emptyset\}\}$。这是一个集合,我们来看它的元素:
- 第一个元素是 $\emptyset$。
- 第二个元素是 $\{\emptyset\}$。
这两个元素是不同的(一个是空集,另一个是包含空集的集合)。因此,这个集合里有两个不相同的元素。所以,$\#(\{\emptyset, \{\emptyset\}\})=2$。
这些例子展示了集合论中元素可以是任何东西,包括其他集合,并且计数时需要严格区分这些不同层级的对象。
💡 [数值示例]
- 示例1
- $A = \{a, b, c, d\}$。所有元素不同,所以 $\#(A)=4$。
- 示例2
- $B = \{1, 5, 1, 8, 5\}$。其中有重复元素。去重后,实际的集合是 $\{1, 5, 8\}$。所以 $\#(B)=3$。
- 示例3
- $C = \{ \text{apple}, \{ \text{apple} \}, \emptyset \}$。这个集合有三个元素:
- 字符串 "apple"
- 一个包含字符串 "apple" 的集合 ${ "apple" }$
- 空集 $\emptyset$
- 这三个元素互不相同。所以 $\#(C)=3$。
- 示例4
- $D = \{\{1, 2\}, \{2, 1\}, \{1, 2, 3\}\}$。
- 我们来分析元素:
- 第一个元素是集合 $\{1, 2\}$。
- 第二个元素是集合 $\{2, 1\}$。由于集合是无序的,所以 $\{1, 2\} = \{2, 1\}$。这两个元素其实是同一个。
- 第三个元素是集合 $\{1, 2, 3\}$。
- 由于重复,这个集合实际上是 $\{\{1, 2\}, \{1, 2, 3\}\}$。
- 它包含两个不同的元素:集合 ${1,2}$ 和 集合 ${1,2,3}$。
- 所以 $\#(D)=2$。
⚠️ [易错点]
- 重复计数: 计算集合大小时,一定要先忽略所有重复的元素。
- 混淆元素与集合的层次: 最大的难点在于当集合的元素本身也是集合时。必须把每个元素作为一个独立的、完整的对象来看待,不要看“里面”去。在计算 $\#(\{\emptyset, \{\emptyset\}\})$ 时,你只需认出两个不同的东西:一个是 $\emptyset$,另一个是 $\{\emptyset\}$,然后停止分析。
- 空集的基数: $\#(\emptyset)=0$ 是一个定义,也是一个逻辑推论,但初学者容易忘记,或与 $\{\emptyset\}$ 混淆。
📝 [总结]
本节定义了有限集,并引入了计算集合中元素个数的符号 $\#(X)$。重点强调了集合元素的互异性原则,并用空集和以集合为元素的集合等例子,厘清了计数的具体方法和易混淆之处。
🎯 [存在目的]
量化集合的大小是数学研究的基本需求。有限集及其基数的概念,是组合数学、概率论、数论等许多分支的基础。精确定义“多少个”是进行定量分析的第一步。
🧠 [直觉心智模型]
计算 $\#(X)$ 就像点人头。你让容器 X 里的所有元素站成一排。
- 互异性: 如果发现有两个长得一模一样的人(重复元素),你得让他们中的一个离开队伍,因为他们是同一个人。
- 点数: 队伍里剩下多少个独一无二的人,$\#(X)$ 就是多少。
- $\#(\emptyset)=0$: 一个空的房间,里面一个人都没有,人数是0。
- $\#(\{\emptyset\})=1$: 一个大房间里,站着一个手里拿着空袋子的人。这个房间里的人数是1。
- $\#(\{\emptyset, \{\emptyset\}\})=2$: 一个大房间里,站着两个人。一个人手里拿着一个空袋子 (这是元素 $\emptyset$);另一个人手里也拿着一个袋子,但他的袋子里还装着一个更小的空袋子 (这是元素 $\{\emptyset\}$)。这两个人是不一样的。所以房间里总人数是2。
💭 [直观想象]
用韦恩图。$\#(X)$ 就是代表集合 X 的那个圈里面,点的数量。
- $\emptyset$ 的圈里没有点。
- $\{a, b, c\}$ 的圈里有3个点。
- $\{\emptyset\}$ 的圈里有1个点,这个点我们可以标记为 "$\emptyset$"。
- $\{\emptyset, \{\emptyset\}\}$ 的圈里有2个点,一个点标记为 "$\emptyset$",另一个点标记为 "$\{\emptyset\}$"。
1.1.7 无限集
📜 [原文7]
如果一个集合不是有限的,则它是无限的。(有些人使用 $\#(X)=\infty$ 来表示 $X$ 是无限的,但我宁愿避免使用这个符号,因为符号 $\infty$ 并不是衡量无限集大小的明确方法。)
📖 [逐步解释]
这部分简单地定义了什么是无限集。
定义非常直接:一个不是有限集的集合,就是无限集。
这是一个否定性的定义。我们先知道了什么是有限集(可以被数完的集合),那么所有不满足这个条件的集合(永远也数不完的集合)就都被归为无限集。
作者接着对一个常见的符号使用习惯提出了 cautionary note (警示说明)。
- 很多人,尤其是在初等数学中,喜欢用 $\#(X)=\infty$ 来表示“集合 $X$ 是无限的”。这个写法很直观,但作者指出他倾向于避免这种写法。
- 为什么? 因为“无限”本身也分大小。例如,整数的个数是无限的,实数的个数也是无限的,但格奥尔格·康托(Georg Cantor)在19世纪末证明了,实数的“无限”比整数的“无限”要“大”得多,两者之间无法建立一一对应关系。
- 符号 $\infty$ (无穷大) 太模糊了,它没有区分这些不同等级的无限。直接写 $\#(X)=\infty$ 会让人误以为所有的无限集都是一样“大”的。
- 在更高等的数学(集合论)中,有专门的超穷基数 (transfinite cardinal numbers) 符号,如 $\aleph_0$ (阿列夫零,代表可数无限,如整数集的基数) 和 $\mathfrak{c}$ (代表连续统的基数,如实数集的基数) 来精确衡量不同无限集的大小。
- 因此,作者的建议是,在不引入这些专门工具的情况下,简单地称一个集合是“无限的”比用一个可能引起误解的符号 $\#(X)=\infty$ 要更严谨、更安全。
💡 [数值示例]
无限集的例子都是我们非常熟悉的数集:
- 示例1:自然数集 $\mathbb{N}=\{1, 2, 3, \ldots\}$ 是一个无限集。你永远无法列出最后一个自然数。
- 示例2:整数集 $\mathbb{Z}=\{\ldots, -2, -1, 0, 1, 2, \ldots\}$ 是一个无限集。它向正负两个方向无限延伸。
- 示例3:实数集 $\mathbb{R}$ 是一个无限集。不仅如此,即使在任意两个不相等的实数之间,比如 0 和 0.1 之间,也包含了无限多个实数。
- 示例4:平面上所有点的集合 $\mathbb{R}^2$ 是一个无限集。
⚠️ [易错点]
- 直觉的误导: 有限集的真子集一定比原集合小(元素更少)。但这个直觉不适用于无限集。无限集可以和它的真子集一样“大”。例如,偶数集合 $E=\{2, 4, 6, \ldots\}$ 是自然数集 $\mathbb{N}=\{1, 2, 3, \ldots\}$ 的一个真子集,但它们元素的个数(基数)是相同的(都是可数无限 $\aleph_0$),因为我们可以建立一个一一对应关系 $f(n)=2n$。
- 错误地使用 $\infty$: 按照作者的建议,在严谨的讨论中,避免写 $\#(\mathbb{N})=\infty$,而是直接说“$\mathbb{N}$ 是一个无限集”。除非上下文允许,或者是在非形式化的讨论中。
📝 [总结]
本节给出了无限集的定义——即不是有限集的集合。同时,作者提醒读者,使用 $\#(X)=\infty$ 符号来表示无限集可能不够精确,因为它掩盖了不同无限之间大小的差异。
🎯 [存在目的]
这一定义是对集合进行了第一次基本分类(有限与无限),这是数学中一个至关重要的区分。许多在有限集上成立的定理和性质,在无限集上可能不成立(反之亦然)。明确这个区别是避免在推理中犯下根本性错误的前提。作者对符号的讨论,则是在培养读者对数学严谨性的敏感度。
🧠 [直觉心智模型]
- 有限集:一个你可以把所有元素都倒出来,放在桌子上一一数完的袋子。
- 无限集:一个魔法袋子,你每次从里面拿出一个元素,它里面都永远不会空,你永远也拿不完。
- 不同大小的无限: 想象两个魔法袋子。第一个袋子 A(代表整数)里装的是无限多个编号的球。第二个袋子 B(代表实数)里装的是无限多粒沙子。你可以给球编号(第1个,第2个...),但你无法给所有沙子都编上号,因为它们太“密集”了。这说明 B 袋子里的“无限”比 A 袋子里的“无限”要“大”。
💭 [直观想象]
- 有限集: 一条有限长度的线段上,有有限个标记出来的点。
- 无限集:
- 可数无限 (如整数): 一条无限长的直线上,所有整数位置上的点。这些点虽然无限多,但是是“离散”的,你可以从一个跳到下一个。
- 不可数无限 (如实数): 一条无限长的直线本身。它是由无限多个“连续”的点组成的,点与点之间没有任何空隙。
1.1.8 标准数集
📜 [原文8]
最后,我们收集一些将在本书中使用的标准数集符号:
(i) $\mathbb{N}$ 是自然数集:
$$
\mathbb{N}=\{1,2,3, \ldots\}
$$
(有些人允许 0 是自然数,但这不是本文的约定。)
(ii) $\mathbb{Z}$ 是整数集:
$$
\mathbb{Z}=\{\ldots,-3,-2,-1,0,1,2,3, \ldots\}
$$
(iii) $\mathbb{Q}$ 是有理数集。一个有理数 $a / b$ 写成整数 $a, b$ 的商,其中 $b \neq 0$,且两个商 $a / b$ 和 $c / d$ 定义相同的有理数 $\Longleftrightarrow a d=b c$。一个有理数有一个“最佳描述”形式 $a / b$,其中 $b>0$ 且 $a, b$ 没有公因子(我们说 $a / b$ 是最简形式)。我们稍后会回到这一点。
(iv) $\mathbb{R}$ 是实数集。集合 $\mathbb{R}$ 不是代数定义的,所以我们在此不讨论它的构造。
(v) $\mathbb{C}$ 是复数集。我们稍后会回到 $\mathbb{C}$ 的性质。
📖 [逐步解释]
这部分内容是符号约定,介绍了五种在数学中极为常用的数集,并为它们指定了标准符号。这些符号是数学世界的通用语言,必须熟记。
(i) 自然数集 $\mathbb{N}$
- 符号:$\mathbb{N}$,来自英文 "Natural" 或德文 "Natürlich"。这个双线N是标准写法。
- 元素:$\{1, 2, 3, \ldots\}$,即所有正整数。
- 重要约定: 作者明确指出,本书的约定中,自然数从 1 开始,不包括 0。这是一个非常重要的细节,因为在不同的数学领域或不同的作者笔下,这个定义可能会有分歧。
- 数论中,自然数通常指正整数 $\{1, 2, 3, \ldots\}$。
- 集合论、逻辑和计算机科学中,自然数通常指非负整数 $\{0, 1, 2, \ldots\}$,因为 0 (代表空集的基数) 是一个非常自然的起点。
- 既然作者已经明确了本书的约定,我们在阅读后续内容时就必须遵守这个约定。
(ii) 整数集 $\mathbb{Z}$
- 符号:$\mathbb{Z}$,来自德文 "Zahlen",意为“数字”。
- 元素:$\{\ldots, -3, -2, -1, 0, 1, 2, 3, \ldots\}$,包括了所有正整数、负整数和零。
- 关系:显然,自然数集是整数集的真子集,即 $\mathbb{N} \subset \mathbb{Z}$。
(iii) 有理数集 $\mathbb{Q}$
- 符号:$\mathbb{Q}$,来自英文 "Quotient" (商)。
- 定义:所有可以表示为两个整数之商 $a/b$ 的数,其中分母 $b$ 不能为零。
- 相等性:这里遇到了一个重要问题,不同的分数可以表示同一个有理数。例如,$1/2$, $2/4$, $5/10$ 都是同一个有理数。定义中给出了判断两个分数 $a/b$ 和 $c/d$ 是否相等的准则:$a/b = c/d \Longleftrightarrow ad = bc$。这个“交叉相乘”的方法避免了做除法,只在整数域内进行判断。
- 最简形式: 任何一个有理数都有一个“最佳”或“标准”的表示,即最简形式。这要求分母为正整数,且分子分母没有大于1的公因子(即它们是互质的)。例如,$2/4$ 的最简形式是 $1/2$;$-6/10$ 的最简形式是 $-3/5$。作者提到“稍后会回到这一点”,暗示了这涉及到整数的唯一因子分解等更深的内容。
- 关系:所有整数都可以被看作有理数(例如 $3 = 3/1$),所以 $\mathbb{Z} \subset \mathbb{Q}$。
(iv) 实数集 $\mathbb{R}$
- 符号:$\mathbb{R}$,来自英文 "Real"。
- 概念:包含了所有有理数和无理数(如 $\sqrt{2}, \pi, e$ 等不能表示为整数之商的数)的集合。直观上,实数集与数轴上的所有点一一对应。
- 构造的复杂性: 作者指出 $\mathbb{R}$ 的定义不是代数的,它的严格构造(例如通过戴德金分割或柯西序列)超出了本书的范畴,因此这里只做直观介绍。这暗示了从有理数到实数的跨越是一个重大的概念飞跃。
- 关系:$\mathbb{Q} \subset \mathbb{R}$。
(v) 复数集 $\mathbb{C}$
- 符号:$\mathbb{C}$,来自英文 "Complex"。
- 概念:形如 $a+bi$ 的数,其中 $a,b$ 是实数,$i$ 是虚数单位,满足 $i^2 = -1$。复数的引入使得所有多项式方程(如 $x^2+1=0$)都有解。
- 作者同样表示“稍后会回到 $\mathbb{C}$ 的性质”,说明这也会是后续讨论的一个对象。
- 关系:所有实数都可以被看作虚部为0的复数(例如 $5 = 5+0i$),所以 $\mathbb{R} \subset \mathbb{C}$。
总结这些集合的关系,我们有一个清晰的包含链:
$\mathbb{N} \subset \mathbb{Z} \subset \mathbb{Q} \subset \mathbb{R} \subset \mathbb{C}$
💡 [数值示例]
- 自然数 $\mathbb{N}$: $5 \in \mathbb{N}$, $100 \in \mathbb{N}$, $0 \notin \mathbb{N}$ (根据本书约定), $-3 \notin \mathbb{N}$。
- 整数 $\mathbb{Z}$: $-5 \in \mathbb{Z}$, $0 \in \mathbb{Z}$, $4 \in \mathbb{Z}$, $0.5 \notin \mathbb{Z}$。
- 有理数 $\mathbb{Q}$: $1/2 \in \mathbb{Q}$, $-7/3 \in \mathbb{Q}$, $5 \in \mathbb{Q}$ (因为 $5=5/1$), $0.3 \in \mathbb{Q}$ (因为 $0.3=3/10$)。$\sqrt{2} \notin \mathbb{Q}$。
- 相等示例: $2/3$ 和 $8/12$ 是否相等?
- 应用法则:$a=2, b=3, c=8, d=12$。
- 计算 $ad = 2 \times 12 = 24$。
- 计算 $bc = 3 \times 8 = 24$。
- 因为 $ad=bc$,所以 $2/3 = 8/12$。
- 实数 $\mathbb{R}$: $\pi \in \mathbb{R}$, $e \in \mathbb{R}$, $\sqrt{2} \in \mathbb{R}$, $-1.2345 \in \mathbb{R}$。
- 复数 $\mathbb{C}$: $2+3i \in \mathbb{C}$, $-i \in \mathbb{C}$ (即 $0-1i$), $4 \in \mathbb{C}$ (即 $4+0i$)。
⚠️ [易错点]
- 自然数的定义: 一定要牢记本书中 $\mathbb{N}$ 不含0的约定。在做题或者引用时,不能凭其他地方的经验想当然地把0放进去。
- 有理数的分母: 定义有理数 $a/b$ 时,必须时刻记住 $b \neq 0$ 的前提条件。除以零在标准算术中是未定义的。
- 实数的完备性: 有理数集在数轴上是“稠密”的(任意两个有理数之间都有另一个有理数),但它是有“孔洞”的,这些孔洞就是无理数。实数集则填补了所有这些孔洞,这被称为实数的“完备性”,是微积分能够成立的基础。
📝 [总结]
本节集中介绍了五个基本的标准数集:自然数集($\mathbb{N}$)、整数集($\mathbb{Z}$)、有理数集($\mathbb{Q}$)、实数集($\mathbb{R}$)和复数集($\mathbb{C}$)。它不仅给出了它们的符号和基本定义,还特别强调了关于自然数定义和有理数相等的重要约定。这些集合构成了我们后续代数研究中元素的主要来源。
🎯 [存在目的]
本节的目的是建立一套通用的数学速记符号。通过为这些极其常用的数集赋予标准名称,可以极大地简化数学表达,使得作者和读者之间有共同的语言背景,避免了每次都要重复描述“所有整数的集合”之类的冗长短语。
🧠 [直觉心智模型]
想象一个不断扩大的厨房储物系统:
- $\mathbb{N}$ (自然数): 最开始你只有一些用来计数的石子:1, 2, 3... 这是最基本的储物盒。
- $\mathbb{Z}$ (整数): 你发现不仅需要数东西,还需要记录欠账,于是你引入了欠条(负数)和一张白纸(零)。你把石子、欠条、白纸都放进了一个更大的盒子,这就是整数盒。
- $\mathbb{Q}$ (有理数): 你开始做饭,发现需要分东西,比如把一个饼切成3份,取其中2份。于是你发明了分数。所有这些能用分数表示的量,都放进一个更大的食品柜,这就是有理数柜。
- $\mathbb{R}$ (实数): 你想测量一个正方形的对角线长度,发现它无法用任何分数精确表示。你意识到有很多这样的“无理”的长度。你把所有可能存在的长度(包括有理的和无理的)都收集起来,建成了一个巨大的冷库,这就是实数库。
- $\mathbb{C}$ (复数): 你在解一个方程时,需要对负数开平方。为了解决这个问题,你想象出了一个“虚”的维度。你把冷库里的东西和这个新维度的东西组合起来,建成了一个功能更强大的未来厨房,这就是复数厨房。
💭 [直观想象]
在数轴上:
- $\mathbb{N}$ 是数轴上 1, 2, 3, ... 这些孤立的点。
- $\mathbb{Z}$ 是数轴上 ..., -2, -1, 0, 1, 2, ... 这些向两边无限延伸的孤立的点。
- $\mathbb{Q}$ 是数轴上所有可以用分数表示的点。它们看起来非常密集,几乎要填满数轴了,但如果你用超级显微镜看,会发现还有无数的微小孔洞。
- $\mathbb{R}$ 是整条数轴本身,没有任何空隙。
- $\mathbb{C}$ 已经无法用一条数轴表示,它对应一个复平面。实数轴只是这个平面的一条横轴。
1.2 从旧集合构造新集合
1.2.1 集合运算:并集、交集与补集
📜 [原文9]
回忆集合的标准运算:
定义 1.2.1. 如果 $X_{1}$ 和 $X_{2}$ 是两个集合,则:
(i) $X_{1}$ 和 $X_{2}$ 的并集是集合
$$
X_{1} \cup X_{2}=\left\{x: x \in X_{1} \text { 或 } x \in X_{2}\right\} .
$$
因此 $X_{1} \subseteq\left(X_{1} \cup X_{2}\right)$ 且 $X_{2} \subseteq\left(X_{1} \cup X_{2}\right)$。有限多个集合的并集也类似定义:如果 $X_{1}, \ldots, X_{n}$ 是集合,则
$$
\bigcup_{i=1}^{n} X_{i}=\left\{x: \text { 对于某个 } i, x \in X_{i}\right\}
$$
根据这些定义,我们有:对于所有集合 $X_{1}, X_{2}, X_{3}$,
$$
\begin{gathered}
X_{1} \cup X_{2}=X_{2} \cup X_{1} \\
\left(X_{1} \cup X_{2}\right) \cup X_{3}=X_{1} \cup X_{2} \cup X_{3}=X_{1} \cup\left(X_{2} \cup X_{3}\right) .
\end{gathered}
$$
(ii) $X_{1}$ 和 $X_{2}$ 的交集是:
$$
X_{1} \cap X_{2}=\left\{x: x \in X_{1} \text { 且 } x \in X_{2}\right\}
$$
因此 $\left(X_{1} \cap X_{2}\right) \subseteq X_{1}$ 且 $\left(X_{1} \cap X_{2}\right) \subseteq X_{2}$。同样地
$$
\bigcap_{i=1}^{n} X_{i}=\left\{x: \text { 对于所有 } i, x \in X_{i}\right\}
$$
如 (i) 所示,对于所有集合 $X_{1}, X_{2}, X_{3}$,
$$
\begin{gathered}
X_{1} \cap X_{2}=X_{2} \cap X_{1} \\
\left(X_{1} \cap X_{2}\right) \cap X_{3}=X_{1} \cap X_{2} \cap X_{3}=X_{1} \cap\left(X_{2} \cap X_{3}\right) .
\end{gathered}
$$
(iii) 给定两个集合 $X_{1}$ 和 $X_{2}$,$X_{2}$ 在 $X_{1}$ 中的补集,记作 $X_{1}-X_{2}$,是集合
$$
\left\{x \in X_{1}: x \notin X_{2}\right\} .
$$
因此 $X_{2} \cap\left(X_{1}-X_{2}\right)=\emptyset$。如果 $X_{2} \subseteq X_{1}$,则 $X_{2} \cup\left(X_{1}-X_{2}\right)=X_{1}$。例如,$X-X=\emptyset$ 且 $X-\emptyset=X$。
📖 [逐步解释]
这部分内容定义了三种最基本的集合运算,它们允许我们从已有的集合出发,像做算术一样,构造出新的集合。
(i) 并集 (Union)
- 定义: 两个集合 $X_1$ 和 $X_2$ 的并集,记作 $X_1 \cup X_2$,是一个新的集合,它的元素包括了所有在 $X_1$ 中 或 在 $X_2$ 中的元素。这里的“或”是逻辑上的“或”(inclusive or),意思是“只要在其中一个集合里出现,就要被包含进来”。如果一个元素同时在两个集合里,它也只在并集里出现一次(根据集合的互异性)。
- 性质:
- $X_1$ 和 $X_2$ 都是它们并集的子集 ($X_1 \subseteq (X_1 \cup X_2)$),这是显然的,因为并集包含了它们所有的元素。
- 并集运算满足交换律: $X_1 \cup X_2 = X_2 \cup X_1$。把两个集合的元素合并,先合并谁后合并谁,结果是一样的。
- 并集运算满足结合律: $(X_1 \cup X_2) \cup X_3 = X_1 \cup (X_2 \cup X_3)$。当合并三个集合时,先合并前两个再合并第三个,和先合并后两个再合并第一个,结果也一样。因此,我们可以直接写 $X_1 \cup X_2 \cup X_3$ 而不产生歧义。
- 推广: 并集可以推广到任意多个集合。$\bigcup_{i=1}^{n} X_i$ 表示将 $n$ 个集合 $X_1, \ldots, X_n$ 的所有元素汇集在一起。一个元素 $x$ 在这个大并集里的条件是:存在至少一个 $i$ (从1到n),使得 $x \in X_i$。
(ii) 交集 (Intersection)
- 定义: 两个集合 $X_1$ 和 $X_2$ 的交集,记作 $X_1 \cap X_2$,是一个新的集合,它的元素是那些 同时 在 $X_1$ 中 且 在 $X_2$ 中的元素。换句话说,交集只包含两个集合公共的元素。
- 性质:
- 交集是原来两个集合的子集 ($(X_1 \cap X_2) \subseteq X_1$),因为它的元素是从原来集合中挑选出来的,范围只会变小或不变。
- 交集运算满足交换律: $X_1 \cap X_2 = X_2 \cap X_1$。找两个集合的公共部分,谁先谁后无所谓。
- 交集运算满足结合律: $(X_1 \cap X_2) \cap X_3 = X_1 \cap (X_2 \cap X_3)$。找三个集合的公共部分,运算次序也无所谓。
- 推广: $\bigcap_{i=1}^{n} X_i$ 表示 $n$ 个集合 $X_1, \ldots, X_n$ 的交集。一个元素 $x$ 在这个大交集里的条件是:对于所有的 $i$ (从1到n),都必须有 $x \in X_i$。
(iii) 差集 / 补集 (Difference / Complement)
- 定义: $X_2$ 在 $X_1$ 中的补集(或称为 $X_1$ 与 $X_2$ 的差集),记作 $X_1 - X_2$,是一个新的集合,它的元素由所有在 $X_1$ 中但 不 在 $X_2$ 中的元素组成。可以理解为从集合 $X_1$ 中“挖掉”所有也属于 $X_2$ 的部分。
- 性质:
- $X_2$ 和 $X_1 - X_2$ 的交集是空集。这是因为 $X_1-X_2$ 的定义就是排除所有在 $X_2$ 中的元素,所以它们不可能有公共元素。
- 如果 $X_2$ 是 $X_1$ 的子集 ($X_2 \subseteq X_1$),那么把被挖掉的部分 $X_2$ 和剩下的部分 $X_1 - X_2$ 合并起来,就恰好还原成原来的 $X_1$。
- 特殊情况:
- $X - X = \emptyset$: 一个集合减去它自己,所有元素都被挖掉了,当然只剩下空集。
- $X - \emptyset = X$: 一个集合减去空集,等于什么都没挖掉,还是它自己。
- 注意: 这里的补集是相对补集的概念。有时在上下文中有一个明确的全集 $U$ 时,集合 $A$ 的补集(绝对补集)$A^c$ 或 $\bar{A}$ 指的是 $U-A$。但这里的 $X_1 - X_2$ 定义更为通用,不依赖于全集的存在。
💡 [数值示例]
令 $A = \{1, 2, 3, 4\}$, $B = \{3, 4, 5, 6\}$。
- $A \cup B$: 把 A 和 B 的元素合并同类项。A的元素是 1, 2, 3, 4。B的元素是 3, 4, 5, 6。合并后得到 {1, 2, 3, 4, 5, 6}。
- $A \cup B = \{1, 2, 3, 4, 5, 6\}$。
- 令 $C = \{10\}$,则 $A \cup B \cup C = \{1, 2, 3, 4, 5, 6, 10\}$。
- 交集示例:
- $A \cap B$: 寻找 A 和 B 共有的元素。A 和 B 都包含 3 和 4。
- $A \cap B = \{3, 4\}$。
- 如果令 $D=\{1, 2\}$,则 $A \cap D = \{1, 2\}$。
- 如果令 $E=\{10, 20\}$,则 $A \cap E = \emptyset$,因为它们没有公共元素。当两个集合的交集为空集时,称它们不相交(disjoint)。
- 差集示例:
- $A - B$: 从 A 中挖掉属于 B 的元素。A 是 {1, 2, 3, 4},B 中在 A 里的元素是 3 和 4。从 A 中挖掉 3 和 4,剩下 {1, 2}。
- $A - B = \{1, 2\}$。
- $B - A$: 从 B 中挖掉属于 A 的元素。B 是 {3, 4, 5, 6},A 中在 B 里的元素是 3 和 4。从 B 中挖掉 3 和 4,剩下 {5, 6}。
- $B - A = \{5, 6\}$。
- 这个例子也说明了差集运算不满足交换律,$A-B \neq B-A$。
⚠️ [易错点]
- 并集的“或”: 容易误解为生活中的“二选一”。在数学中,“A或B”包含三种情况:只A,只B,A且B。
- 交集与空集: 任何集合 $A$ 与空集 $\emptyset$ 的交集都是空集 ($A \cap \emptyset = \emptyset$)。
- 并集与空集: 任何集合 $A$ 与空集 $\emptyset$ 的并集都是其自身 ($A \cup \emptyset = A$)。
- 差集的顺序: $A-B$ 和 $B-A$ 通常是不同的,除非 $A=B$ (此时两者都是空集)。
- 自反性运算: $A \cup A = A$,$A \cap A = A$,$A - A = \emptyset$。
📝 [总结]
本节定义了三种基本的集合运算:
- 并集 ($\cup$): 合并所有元素,取其全体。
- 交集 ($\cap$): 只保留公共元素,取其交叠。
- 差集 ($-$): 从一个集合中移除另一个集合的元素,取其剩余。
并指出了并集和交集满足交换律和结合律。
🎯 [存在目的]
这些运算是集合代数的基础,它们使得集合不仅仅是静态的容器,而变成了可以进行动态操作和构造的数学对象。这为我们使用集合语言来描述和解决更复杂的问题提供了强大的工具。几乎所有的数学分支都会以某种形式用到这些基本运算。
[直觉心- 1.2.2 集合运算性质
📜 [原文10]
备注 1.2.2. (i) 注意,对于每个 $j$ 且 $1 \leq j \leq n, X_{j} \subseteq \bigcup_{i=1}^{n} X_{i}$。此外,如果 $Y$ 是一个集合,使得对于每个 $j$ 且 $1 \leq j \leq n, X_{j} \subseteq Y$,则 $\bigcup_{i=1}^{n} X_{i} \subseteq Y$。这大致说明 $\bigcup_{i=1}^{n} X_{i}$ 是包含所有 $X_{j}$ 的最小集合。
(ii) 同样地,对于每个 $j$ 且 $1 \leq j \leq n, \bigcap_{i=1}^{n} X_{i} \subseteq X_{j}$。此外,如果 $Y$ 是一个集合,使得对于每个 $j$ 且 $1 \leq j \leq n, Y \subseteq X_{j}$,则 $Y \subseteq \bigcap_{i=1}^{n} X_{i}$。这大致说明 $\bigcap_{i=1}^{n} X_{i}$ 是包含于所有 $X_{j}$ 的最大集合。
(iii) 检查以下公式是定义的练习:
$$
\begin{aligned}
& \left(X_{1} \cup X_{2}\right) \cap Y=\left(X_{1} \cap Y\right) \cup\left(X_{2} \cap Y\right) \\
& \left(X_{1} \cap X_{2}\right) \cup Y=\left(X_{1} \cup Y\right) \cap\left(X_{2} \cup Y\right)
\end{aligned}
$$
(iv) 根据逻辑(德摩根定律),$Y-\left(X_{1} \cap X_{2}\right)=\left(Y-X_{1}\right) \cup\left(Y-X_{2}\right)$ 且 $Y-\left(X_{1} \cup X_{2}\right)= \left(Y-X_{1}\right) \cap\left(Y-X_{2}\right)$。(例如,如果 $x \in Y, x \notin X_{1} \cap X_{2}$,那么 $x \notin X_{1}$ 或 $x \notin X_{2}$,反之亦然。)
📖 [逐步解释]
这部分备注深入探讨了并集、交集和差集的一些关键性质,特别是它们作为“最大”或“最小”集合的角色,以及它们之间的相互作用规律。
(i) 并集的“最小性”
- 第一句话 $X_j \subseteq \bigcup_{i=1}^n X_i$ 是并集定义的结果,即所有参与并集运算的集合都是结果并集的子集。
- 第二句话是关键:如果存在另一个“候选”集合 $Y$,它也把所有的 $X_j$ 都“装”下了(即对所有 $j$ 都有 $X_j \subseteq Y$),那么这个“候选”集合 $Y$ 一定比我们构造的并集更大或者跟它一样大(即 $\bigcup_{i=1}^n X_i \subseteq Y$)。
- 综合起来: 并集 $\bigcup X_i$ 是一个包含所有 $X_i$ 的集合,而且它是满足这个条件的所有集合中“最经济”、“最小”的那一个。任何其他能包含所有 $X_i$ 的集合,都至少要包含并集的所有元素。
(ii) 交集的“最大性”
- 这部分与(i)形成完美的对偶关系。
- 第一句话 $\bigcap_{i=1}^n X_i \subseteq X_j$ 是交集定义的结果,即交集是所有参与运算的集合的子集。
- 第二句话是关键:如果存在另一个“候选”集合 $Y$,它也被所有 $X_j$“装”在里面(即对所有 $j$ 都有 $Y \subseteq X_j$),那么这个“候选”集合 $Y$ 一定比我们构造的交集更小或者跟它一样大(即 $Y \subseteq \bigcap_{i=1}^n X_i$)。
- 综合起来: 交集 $\bigcap X_i$ 是一个被所有 $X_i$ 包含的集合,而且它是满足这个条件的所有集合中“最富有”、“最大”的那一个。任何其他能被所有 $X_i$ 包含的集合,都必然是这个交集的子集。
(iii) 分配律 (Distributive Laws)
- 这里给出了交集和并集相互作用的两个重要定律,它们和普通算术中的乘法对加法的分配律 $y \times (x_1+x_2) = (y \times x_1) + (y \times x_2)$ 非常相似。
- 交集对并集的分配律: $(X_1 \cup X_2) \cap Y = (X_1 \cap Y) \cup (X_2 \cap Y)$。
- 直观理解:先将 $X_1$ 和 $X_2$ 合并,然后取合并后的大集合与 $Y$ 的公共部分;这等价于,分别取 $X_1$ 与 $Y$ 的公共部分、 $X_2$ 与 $Y$ 的公共部分,然后再将这两个小公共部分合并起来。
- 并集对交集的分配律: $(X_1 \cap X_2) \cup Y = (X_1 \cup Y) \cap (X_2 \cup Y)$。
- 这个定律在普通算术中没有直接对应(加法对乘法不满足分配律),但在集合代数和逻辑中是成立的。
- 直观理解:先取 $X_1$ 和 $X_2$ 的公共部分,然后将这个公共部分与 $Y$ 合并;这等价于,分别将 $X_1$ 与 $Y$ 合并、$X_2$ 与 $Y$ 合并,然后再取这两个大集合的公共部分。
(iv) 德摩根定律 (De Morgan's Laws)
- 这部分给出了差集(相对补集)与并集、交集之间的转换关系。它源于逻辑学中的德摩根定律。
- $Y - (X_1 \cap X_2) = (Y - X_1) \cup (Y - X_2)$
- 从 $Y$ 中挖掉“同时属于 $X_1$ 和 $X_2$ 的部分”,等价于,(从 $Y$ 中挖掉 $X_1$ 的部分) 与 (从 $Y$ 中挖掉 $X_2$ 的部分) 的并集。
- 作者给出了一个简短的逻辑提示:$x \in Y$ 且 $x \notin (X_1 \cap X_2)$ 意味着 $x \in Y$ 且 ($x \notin X_1$ 或 $x \notin X_2$)。
- $Y - (X_1 \cup X_2) = (Y - X_1) \cap (Y - X_2)$
- 从 $Y$ 中挖掉“属于 $X_1$ 或 $X_2$ 的部分”,等价于,(从 $Y$ 中挖掉 $X_1$ 的部分) 与 (从 $Y$ 中挖掉 $X_2$ 的部分) 的交集。
- 逻辑上:$x \in Y$ 且 $x \notin (X_1 \cup X_2)$ 意味着 $x \in Y$ 且 ($x \notin X_1$ 且 $x \notin X_2$)。
- 记忆技巧: 差集运算作用于一个带括号的并集/交集时,可以“分配”进去,但括号里的并集($\cup$)要变成交集($\cap$),交集($\cap$)要变成并集($\cup$)。
💡 [数值示例]
令 $X_1 = \{1, 2, 3\}$, $X_2 = \{3, 4, 5\}$, $Y = \{2, 3, 4, 6\}$。
- 分配律示例: $(X_1 \cup X_2) \cap Y$
- 左边:$X_1 \cup X_2 = \{1, 2, 3, 4, 5\}$。
- $(X_1 \cup X_2) \cap Y = \{1, 2, 3, 4, 5\} \cap \{2, 3, 4, 6\} = \{2, 3, 4\}$。
- 右边:$X_1 \cap Y = \{1, 2, 3\} \cap \{2, 3, 4, 6\} = \{2, 3\}$。
- $X_2 \cap Y = \{3, 4, 5\} \cap \{2, 3, 4, 6\} = \{3, 4\}$。
- $(X_1 \cap Y) \cup (X_2 \cap Y) = \{2, 3\} \cup \{3, 4\} = \{2, 3, 4\}$。
- 左边 = 右边,验证了分配律。
- 德摩根定律示例: $Y - (X_1 \cap X_2)$
- 左边:$X_1 \cap X_2 = \{3\}$。
- $Y - (X_1 \cap X_2) = \{2, 3, 4, 6\} - \{3\} = \{2, 4, 6\}$。
- 右边:$Y - X_1 = \{2, 3, 4, 6\} - \{1, 2, 3\} = \{4, 6\}$。
- $Y - X_2 = \{2, 3, 4, 6\} - \{3, 4, 5\} = \{2, 6\}$。
- $(Y - X_1) \cup (Y - X_2) = \{4, 6\} \cup \{2, 6\} = \{2, 4, 6\}$。
- 左边 = 右边,验证了德摩根定律。
⚠️ [易错点]
- 并集对交集的分配律: 这个定律不符合日常算术直觉,容易记错或忽略。需要特别记忆。
- 德摩根定律的转换: 一定要记住 $\cup$ 和 $\cap$ 在“分配”差集时会互换,这是最容易出错的地方。
- 最小/最大概念的理解: 并集是“最小的超集”,交集是“最大的子集”。这个概念比较抽象,需要通过例子和韦恩图来理解。它描述的是这些运算结果在所有满足特定包含关系的集合中所处的极端位置。
📝 [总结]
本节备注揭示了集合运算更深层次的结构性质:
(i-ii) 并集和交集分别是满足特定包含关系的“最小超集”和“最大子集”。
(iii) 交集和并集之间满足两条分配律。
(iv) 差集运算满足两条德摩根定律,可以将差集与并集/交集的运算进行转换。
🎯 [存在目的]
这部分内容旨在将集合运算从简单的计算提升到代数结构的高度。这些定律(分配律、德摩根定律)是集合代数(也称布尔代数)的核心法则。掌握它们使得我们可以像解代数方程一样,对复杂的集合表达式进行化简、变形和推理,这在逻辑证明和电路设计等领域至关重要。
🧠 [直觉心智模型]
- (i) 并集的最小性: 想象你要找一个箱子,能装下你的足球(集合A)和篮球(集合B)。你可以找一个能装下全家所有运动器材的大箱子(Y),但最“经济”的选择是找一个刚刚好能装下这一球一筐的箱子($A \cup B$)。任何能完成任务的箱子(Y),其容量至少要和这个最经济的箱子($A \cup B$)一样大。
- (ii) 交集的最大性: 想象你有一堆红色的积木(R)和一堆方形的积木(S)。它们的交集是“红色的方形积木”($R \cap S$)。现在你想找一堆积木(Y),要求这堆积木里的每一个,既要是红色的,也要是方形的。那么你这堆积木(Y)最多能放多少?最多就是把所有“红色的方形积木”都放进来,也就是 $Y \subseteq R \cap S$。
💭 [直观想象]
使用韦恩图:
- (iii) 分配律: $(X1 ∪ X2) ∩ Y$
- 想象 X1 和 X2 两个圈先合并成一个大圈,然后看这个大圈和 Y 圈的重叠部分。
- 这和你先看 X1 与 Y 的重叠,再看 X2 与 Y 的重叠,然后把这两小块重叠区域合并起来,得到的结果是一样的。
- (iv) 德摩根定律: $Y - (X1 ∩ X2)$
- 想象从 Y 圈里挖掉“X1 和 X2 的重叠区域”。
- 这和你把“Y 圈里不属于 X1 的部分”和“Y 圈里不属于 X2 的部分”这两片区域合起来,得到的结果是一样的。你可以画图验证一下。
1.2.3 笛卡尔积
📜 [原文11]
定义 1.2.3. 给定 $X$ 和 $Y$,我们定义 $X \times Y$,即 $X$ 和 $Y$ 的笛卡尔积,为有序对 $(x, y)$ 的集合,其中 $x \in X$ 且 $y \in Y$。此处 $x$ 是有序对 $(x, y)$ 的第一分量或第一坐标,而 $y$ 是第二分量(或坐标)。
如果 $X=Y$,我们用 $X^{2}$ 缩写 $X \times X$。同样地,如果我们有 $n$ 个集合 $X_{1}, \ldots, X_{n}$,那么 $X_{1} \times \cdots \times X_{n}$ 是有序 $n$ 元组 $\left(x_{1}, \ldots, x_{n}\right)$ 的集合,其中每个 $i$ 都有 $x_{i} \in X_{i}$,$\left(x_{1}, \ldots, x_{n}\right)$ 的第 $i$ 个分量(或坐标)是 $x_{i}$,我们再次用 $X^{n}$ 缩写 $X \times \cdots \times X$($n$ 次)。
📖 [逐步解释]
这部分引入了一种全新的集合构造方式——笛卡尔积,它能从已有的集合创造出更高维度的、结构更丰富的集合。
核心概念:有序对 (Ordered Pair)
- 在学习笛卡尔积之前,必须先理解“有序对”$(x, y)$。
- 它和集合 $\{x, y\}$ 有本质区别:
- 顺序: 在有序对中,顺序是至关重要的。$(x, y)$ 和 $(y, x)$ 是不同的(除非 $x=y$)。而在集合中,顺序是无关紧要的,$\{x, y\}$ 和 $\{y, x\}$ 是同一个集合。
- 重复: 有序对的分量可以相同,例如 $(x, x)$。而在集合 $\{x, x\}$ 中,重复是无意义的,它就是 $\{x\}$。
- $(x, y)$ 中的 $x$ 被称为第一分量 (或 x-坐标),$y$ 被称为第二分量 (或 y-坐标)。
笛卡尔积的定义
- 两个集合 $X$ 和 $Y$ 的笛卡尔积,记作 $X \times Y$,是一个由所有可能的有序对 $(x, y)$ 组成的新集合。
- 这些有序对的构造规则是:第一分量 $x$ 必须来自集合 $X$,第二分量 $y$ 必须来自集合 $Y$。
- 你可以想象一个“配对”的过程:从 $X$ 中任选一个元素,再从 $Y$ 中任选一个元素,将它们配成一个有序对。把所有可能的配对组合都收集起来,就得到了笛卡尔积 $X \times Y$。
推广到多个集合
- 这个概念可以自然地推广。$n$ 个集合 $X_1, X_2, \ldots, X_n$ 的笛卡尔积 $X_1 \times X_2 \times \cdots \times X_n$ 是所有可能的有序 n-元组 $(x_1, x_2, \ldots, x_n)$ 的集合。
- 构造规则同样是:第 $i$ 个分量 $x_i$ 必须来自第 $i$ 个集合 $X_i$。
简写符号
- 当所有参与笛卡尔积的集合都是同一个集合 $X$ 时,我们使用幂次方的简写:
- $X \times X$ 记作 $X^2$。
- $X \times X \times \cdots \times X$ ($n$ 次) 记作 $X^n$。
- 这个符号非常直观。例如,$\mathbb{R}^2 = \mathbb{R} \times \mathbb{R}$ 就是我们熟悉的二维笛卡尔坐标平面,它由所有有序对 $(x, y)$ 组成,其中 $x$ 和 $y$ 都是实数。$\mathbb{R}^3$ 就是三维空间。
💡 [数值示例]
- 令 $X = \{1, 2\}$, $Y = \{a, b, c\}$。
- 要计算 $X \times Y$,我们从 $X$ 中取第一个分量,从 $Y$ 中取第二个分量,进行所有可能的配对:
- 当第一个分量是 1 时,可以配对成: $(1, a), (1, b), (1, c)$。
- 当第一个分量是 2 时,可以配对成: $(2, a), (2, b), (2, c)$。
- 把所有这些有序对收集起来,就得到笛卡尔积:
$X \times Y = \{(1, a), (1, b), (1, c), (2, a), (2, b), (2, c)\}$。
$Y \times X = \{(a, 1), (a, 2), (b, 1), (b, 2), (c, 1), (c, 2)\}$。
- 比较可知,$(1, a) \in X \times Y$ 但 $(1, a) \notin Y \times X$。因此 $X \times Y \neq Y \times X$。这表明笛卡尔积不满足交换律。
- 示例2
- 令 $A = \{H, T\}$ (H代表硬币正面,T代表反面)。
- $A^2 = A \times A$ 代表掷两次硬币可能出现的所有有序结果:
$A^2 = \{(H, H), (H, T), (T, H), (T, T)\}$。
- $(H, T)$ 和 $(T, H)$ 是不同的结果,体现了“有序”的重要性。
- 示例3
- 令 $S = \{\text{黑桃, 红桃, 梅花, 方块}\}$ (花色), $R = \{A, 2, 3, \ldots, 10, J, Q, K\}$ (点数)。
- 一副标准的扑克牌(不含大小王)就可以看作是笛卡尔积 $S \times R$ 的一个具体实现。
- 例如,(黑桃, A) 就是一张牌,“黑桃A”。
- 这个集合总共有 $4 \times 13 = 52$ 个元素(52张牌)。
⚠️ [易错点]
- 与普通乘法的区别: $X \times Y$ 不是一个数,而是一个由有序对组成的集合。不要将其与数字的乘法混淆。
- 不满足交换律: 通常情况下 $X \times Y \neq Y \times X$。它们相等的充要条件是 $X=Y$,或者 $X, Y$ 中至少有一个是空集。
- 与空集的乘积: 如果 $X$ 或 $Y$ 中有一个是空集,那么它们的笛卡尔积也是空集。例如 $X \times \emptyset = \emptyset$。因为在构造有序对 $(x,y)$ 时,我们无法从 $\emptyset$ 中取出元素 $y$,所以一个有序对也构造不出来。
📝 [总结]
本节定义了笛卡尔积 ($X \times Y$),这是一个由有序对(或有序 n-元组)构成的新集合。它的核心是“配对”和“顺序”,即从每个参与的集合中按顺序各取一个元素来组成一个新的、有结构的新元素。
🎯 [存在目的]
笛卡尔积是数学中从低维构造高维、从简单对象构造复合对象的根本方法。
- 它是坐标系的理论基础(如二维平面 $\mathbb{R}^2$)。
- 它是定义关系和函数的基础(关系是笛卡尔积的子集,函数是一种特殊的关系)。
- 在计算机科学中,它对应于数据结构中的“记录”或“元组”。
- 在概率论中,它用于描述复合事件的样本空间。
没有笛卡尔积,我们就无法系统地研究多变量函数、几何空间以及任何涉及多个独立变化的组件的系统。
🧠 [直觉心智模型]
想象一个点餐过程:
- 集合 $X$ 是主食菜单: {米饭, 面条}。
- 集合 $Y$ 是菜品菜单: {宫保鸡丁, 鱼香肉丝, 麻婆豆腐}。
- 笛卡尔积 $X \times Y$ 就是所有可能的“一份主食 + 一份菜”的套餐组合:
- {(米饭, 宫保鸡丁), (米饭, 鱼香肉丝), (米饭, 麻婆豆腐),
- (面条, 宫保鸡丁), (面条, 鱼香肉丝), (面条, 麻婆豆腐)}
- 这个笛卡尔积就是一个包含了6种不同套餐的集合。每个套餐就是一个有序对。
💭 [直观想象]
笛卡尔积最经典的直观想象就是一个表格或一个棋盘。
- 令 $X = \{1, 2\}$, $Y = \{a, b, c\}$。
- 我们可以画一个表格,行用 $X$ 的元素标记,列用 $Y$ 的元素标记。| $\times$ | a | b | c |
| :---------- |
:---- |
:---- |
:---- |
| 2 |
(2,a) |
(2,b) |
(2,c) |
- 表格中的每一个单元格,就唯一对应笛卡尔积 $X \times Y$ 中的一个有序对。整个表格的内容就是笛卡尔积这个集合。
- 如果 $X$ 和 $Y$ 都是实数集 $\mathbb{R}$,那么横轴代表 $X$,纵轴代表 $Y$,整个平面就是笛卡尔积 $\mathbb{R} \times \mathbb{R}$。平面上的每一个点,都有一个唯一的坐标 $(x, y)$ 与之对应。
1.2.4 有序对
📜 [原文12]
备注 1.2.4. 有序对 $(x, y)$ 的操作性质是:1) 对于所有 $x \in X$ 和 $y \in Y$,存在一个有序对 $(x, y) \in X \times Y$,以及 2) 两个有序对 $(x_{1}, y_{1})$ 和 $(x_{2}, y_{2})$ 相等 $\Longleftrightarrow$ 它们具有相同的第一分量和相同的第二分量,即 $\Longleftrightarrow x_{1}=x_{2}$ 且 $y_{1}=y_{2}$;仅仅要求集合 $\left\{x_{1}, y_{1}\right\}$ 和 $\left\{x_{2}, y_{2}\right\}$ 相等是不够的。可以仅使用集合论给出有序对的正式定义。事实上,可以定义 $(x, y)=\{\{x\},\{x, y\}\}$。(换句话说,有序对不必是未定义的术语。)然而,我们并不会真正关心精确的定义是什么,而只关心有序对具有上述性质 1) 和 2)。不过,使用函数,我们可以给出有序 $n$ 元组的仔细定义;我们稍后会描述这一点。
📖 [逐步解释]
这部分备注是对“有序对”这个概念的进一步哲学和技术性探讨。在上一节,我们直观地使用了有序对,这里作者解释了我们真正需要的是什么,以及它在集合论中是如何被严格定义的。
操作性质 (Operational Properties)
作者指出,对于有序对,我们不关心它“是什么”,只关心它“能做什么”。它需要满足两个核心的“操作性质”:
- 存在性: 只要给定一个来自 $X$ 的 $x$ 和一个来自 $Y$ 的 $y$,就一定能构造出一个相应的有序对 $(x, y)$。这保证了笛卡尔积的构造是完备的。
- 相等准则: 这是最重要的性质。两个有序对 $(x_1, y_1)$ 和 $(x_2, y_2)$ 相等的充分必要条件是它们对应的分量分别相等,即 $x_1=x_2$ 并且 $y_1=y_2$。
- 这个准则精确地抓住了“有序”的本质。
- 作者特意强调,这比集合的相等 ${x_1, y_1} = {x_2, y_2}$ 要严格得多。例如,如果 $(x_1, y_1)=(1, 2)$,$(x_2, y_2)=(2, 1)$,那么 $x_1 \neq x_2$,所以这两个有序对不相等。但对应的集合 $\{1, 2\}$ 和 $\{2, 1\}$ 却是相等的。
有序对的集合论定义
- 在现代数学中,所有概念都希望建立在集合论的基础上。那么“有序对”这个带有“顺序”概念的东西,如何用只有“包含”关系的集合来表达呢?
- 作者提到了一个由库拉托夫斯基(Kuratowski)在1921年提出的巧妙定义:
$(x, y) = \{\{x\}, \{x, y\}\}$
- 这个定义看起来很奇怪,但它完美地实现了有序对所需要的操作性质。
- 如何体现顺序?
- 这个大集合里有两个元素(两个子集):一个是单元素子集 $\{x\}$,另一个是双元素子集 $\{x, y\}$ (如果x不等于y)。
- 我们可以通过观察这两个子集的大小来识别出第一分量。第一分量 $x$ 是那个在两个子集中都出现的元素。
- 更准确地说,取这两个子集的交集 $\bigcap (x,y) = \{x\} \cap \{x,y\} = \{x\}$,得到的就是只包含第一分量的集合。
- 再取它们的并集 $\bigcup (x,y) = \{x\} \cup \{x,y\} = \{x,y\}$,就得到了包含两个分量的集合。从这个并集中去掉第一分量,就得到了第二分量。
- 通过这种方式,我们仅使用集合和集合运算,就成功地从 $\{\{x\}, \{x, y\}\}$ 中唯一地解码出了 $x$ 是“第一”和 $y$ 是“第二”的信息。
- 作者的态度: 尽管这个定义非常漂亮,但作者也表明,在本书的后续内容中,我们不需要记住或使用这个具体的集合构造。我们只需要知道有序对满足那两条操作性质就足够了。这是一种常见的数学抽象手法:一旦一个对象的存在性和关键性质被保证,我们就可以把它当作一个“黑盒子”来使用,而不必关心其内部实现。
有序 n-元组的定义
作者还预告了,对于更一般的有序 n-元组,可以用函数的概念来给出一个更清晰的定义(我们将在1.3节看到),例如将 $(x_1, x_2, \ldots, x_n)$ 定义为一个从集合 $\{1, 2, \ldots, n\}$ 到集合 $\{x_1, \ldots, x_n\}$ 的函数,其中 $f(i)=x_i$。
💡 [数值示例]
- 令 $P_1 = (a+b, 1)$ 和 $P_2 = (3, a-b)$ 是 $\mathbb{Z} \times \mathbb{Z}$ 中的两个有序对。
- 如果我们知道 $P_1 = P_2$,那么根据有序对的相等准则,我们必然有:
- 第一分量相等: $a+b = 3$
- 第二分量相等: $1 = a-b$
- 这是一个二元一次方程组。解得 $a=2, b=1$。
- 示例2:库拉托夫斯基的定义
- 我们来构造有序对 $(1, 2)$ 和 $(2, 1)$。
- 根据定义,$(1, 2) = \{\{1\}, \{1, 2\}\}$。
- 根据定义,$(2, 1) = \{\{2\}, \{2, 1\}\}$。
- 现在我们来比较这两个集合。
- $(1, 2)$ 的元素是集合 ${1}$和集合 ${1,2}$。
- $(2, 1)$ 的元素是集合 ${2}$和集合 ${2,1}$(即 ${1,2}$)。
- 集合 ${1}$ 在 $(1, 2)$ 中,但不在 $(2, 1)$ 中。
- 根据集合相等的定义,这两个大集合是不相等的。
- 这成功地论证了 $(1, 2) \neq (2, 1)$。
- 再看一个例子 $(1, 1)$:
- 根据定义,$(1, 1) = \{\{1\}, \{1, 1\}\}$。
- 由于集合元素的互异性,$\{1, 1\} = \{1\}$。
- 所以 $(1, 1) = \{\{1\}, \{1\}\} = \{\{1\}\}$。这是一个只包含一个元素 ${1}$的集合。
⚠️ [易错点]
- 忘记有序性: 在处理笛卡尔积相关问题时,最根本的错误就是忘记了其元素是有序对,而把它当作普通集合来处理,从而忽略了顺序。
- 实现与接口的分离: 初学者可能会纠结于 $(x, y)=\{\{x\},\{x, y\}\}$ 这个复杂的定义。这里的要点是理解数学家是如何从无到有构建出“顺序”这个概念的,但更重要的是,在日常使用中,我们应该关注有序对的“接口”(即操作性质),而不是它的“底层实现”。
📝 [总结]
本节备注的核心思想是区分有序对的“行为”和“构造”。
- 行为 (操作性质): 我们真正需要的是一个满足“分量相等则有序对相等”这一关键性质的数学对象。
- 构造 (集合论定义): 数学家已经通过一个巧妙的集合 $\{\{x\},\{x, y\}\}$ 证明了这样的对象是可以在集合论框架内被构造出来的,因此使用有序对是合法的、有坚实基础的。
在实践中,我们只需要牢记并使用其行为即可。
🎯 [存在目的]
本节的存在有双重目的:
- 夯实基础: 它向读者保证,我们在前面直观使用的“有序对”概念不是空中楼阁,它有严格的数学基础,这体现了现代数学的严谨性。
- 引导抽象思维: 它引导读者学会一种重要的数学思维方式——将一个数学对象的本质与其具体的表现形式分离开来。我们关心的是对象满足的抽象性质(接口),而不是它内部是如何实现的。这种思想在学习更高级的代数结构(如群、环、域)时至关重要。
🧠 [直觉心智模型]
把有序对想象成一个有特定插槽的“设备模板”。
- 一个有序对模板 $( , )$ 有两个插槽:第一个插槽和第二个插槽。
- 操作性质1 (存在性): 只要你有两个零件 $x$ 和 $y$,你总能把它们分别装进第一个和第二个插槽,制造出一个设备实例 $(x, y)$。
- 操作性质2 (相等准则): 你有两个这样造出来的设备 $(x1, y1)$ 和 $(x2, y2)$。说它们俩是“同一个设备”,当且仅当它们第一个插槽里的零件完全一样 ($x1=x2$),并且第二个插槽里的零件也完全一样 ($y1=y2$)。
- 库拉托夫斯基的定义就像是这个设备模板的“电路图”。它用一堆集合(电阻、电容)搭出了一个能实现上述功能的电路。作为用户,你不需要懂电路图,只要知道设备面板上的插槽和“相等”指示灯是如何工作的就行了。
💭 [直观想象]
想象一个保险箱,它需要两把钥匙才能打开,而且必须按特定顺序插入。
- 有序对 $(k_1, k_2)$ 就代表一个需要先插钥匙 $k_1$ 再插钥匙 $k_2$ 的开锁序列。
- 相等准则意味着,两个开锁序列是同一个序列,当且仅当它们的第一把钥匙相同,且第二把钥匙也相同。
- 序列 $(k_1, k_2)$ 和 $(k_2, k_1)$ 是不同的开锁方法,很可能一个能打开保险箱,另一个会触发警报。这直观地体现了“有序”的重要性。
1.2.5 笛卡尔积的性质
📜 [原文13]
备注 1.2.5. (i) 如果 $A \subseteq X$ 且 $B \subseteq Y$,则 $A \times B \subseteq X \times Y$。但是,通常情况下,并不是 $X \times Y$ 的每个子集都具有这种形式(练习 1.1)。
(ii) 根据逻辑,对于每个集合 $X$,$\emptyset \times X=X \times \emptyset=\emptyset$。
(iii) 如果 $X$ 和 $Y$ 是有限集,则 $X \times Y$ 也是有限的,并且
$$
\#(X \times Y)=\#(X) \#(Y)
$$
对于 $n$ 个有限集 $X_{1} \times \cdots \times X_{n}$ 的乘积也类似:
$$
\#\left(X_{1} \times \cdots \times X_{n}\right)=\#\left(X_{1}\right) \times \cdots \times \#\left(X_{n}\right)
$$
特别是,这个公式说明 $\#(\emptyset \times X)=\#(X \times \emptyset)=0$,与 (ii) 一致。
📖 [逐步解释]
这部分备注总结了笛卡尔积的三个基本性质。
(i) 子集的笛卡尔积
- $如果 $A \subseteq X$ 且 $B \subseteq Y$,则 $A \times B \subseteq X \times Y$。
- 这个性质非常直观。$A \times B$ 是由有序对 $(a, b)$ 组成的,其中 $a \in A, b \in B$。
- 因为 $A$ 是 $X$ 的子集,所以任何 $a \in A$ 也必然有 $a \in X$。
- 因为 $B$ 是 $Y$ 的子集,所以任何 $b \in B$ 也必然有 $b \in Y$。
- 因此,任何一个来自 $A \times B$ 的有序对 $(a, b)$ 都满足 $a \in X$ 且 $b \in Y$,所以 $(a, b)$ 也必然是 $X \times Y$ 的一个元素。
- 根据子集的定义,这就证明了 $A \times B \subseteq X \times Y$。
- $但是,通常情况下,并不是 $X \times Y$ 的每个子集都具有这种形式$。
- 这是一个非常重要的提醒。$X \times Y$ 的子集有很多种,形如 $A \times B$ 的这种子集(可以称为“矩形子集”)只是其中一类特殊情况。
- 例如,考虑 $\mathbb{R}^2 = \mathbb{R} \times \mathbb{R}$。它的一个子集是单位圆盘 $D = \{(x, y) : x^2 + y^2 \le 1\}$。这个圆盘形状的子集,就无法表示为某个实数子集 $A$ 和另一个实数子集 $B$ 的笛卡尔积 $A \times B$。因为任何 $A \times B$ 在坐标平面上都表现为一个矩形(可能是无限延伸的),而圆盘不是矩形。
(ii) 与空集的笛卡尔积
- $\emptyset \times X=X \times \emptyset=\emptyset$。
- 任何集合与空集的笛卡尔积都是空集。
- 原因: 构造 $X \times \emptyset$ 的一个元素,需要一个有序对 $(x, y)$,其中 $x \in X$ 且 $y \in \emptyset$。但是空集 $\emptyset$ 中没有任何元素,所以我们永远也找不到一个 $y \in \emptyset$。因此,无法构造出任何一个有序对,所以结果的集合是空集。同理可证 $\emptyset \times X = \emptyset$。
(iii) 有限集的笛卡尔积的基数
- $\#(X \times Y) = \#(X) \times \#(Y)$。
- 如果 $X$ 和 $Y$ 都是有限集,那么它们的笛卡尔积 $X \times Y$ 也是有限集。
- 其元素个数等于原来两个集合的元素个数的乘积。
- 原因 (乘法原理): 构造一个有序对 $(x, y)$ 需要分两步:
- 第一步,为第一分量 $x$ 选择一个值。我们有 $\#(X)$ 种选择。
- 第二步,为第二分量 $y$ 选择一个值。我们有 $\#(Y)$ 种选择。
- 根据组合数学中的乘法原理,总的配对方案数就是每一步选择数的乘积,即 $\#(X) \times \#(Y)$。
- 推广: 这个公式可以推广到 $n$ 个集合的笛卡尔积:
- $\#\left(X_{1} \times \cdots \times X_{n}\right)=\#\left(X_{1}\right) \times \cdots \times \#\left(X_{n}\right)$
- 与(ii)的一致性:
- 如果我们将这个基数公式应用于空集,例如 $\#(\emptyset \times X)$。
- 因为 $\#(\emptyset) = 0$,所以公式给出 $\#(\emptyset \times X) = \#(\emptyset) \times \#(X) = 0 \times \#(X) = 0$。
- 一个基数为0的集合就是空集。这与(ii)中从逻辑上推导出的 $\emptyset \times X = \emptyset$ 的结论是完全一致的。
💡 [数值示例]
- 令 $X = \{1, 2, 3, 4\}$, $Y = \{a, b, c\}$。
- 令 $A = \{1, 2\} \subseteq X$, $B = \{a\} \subseteq Y$。
- $A \times B = \{(1, a), (2, a)\}$。
- $X \times Y$ 是一个包含 $4 \times 3 = 12$ 个有序对的集合。
- 我们可以看到 $A \times B$ 的两个元素 $(1, a)$ 和 $(2, a)$ 确实都在 $X \times Y$ 中。所以 $A \times B \subseteq X \times Y$。
- 现在考虑 $X \times Y$ 的另一个子集 $S = \{(1, a), (2, b)\}$。这个子集 S 能否写成 $A' \times B'$ 的形式呢?
- 如果能,那么 $A'$ 必须包含 S 中所有有序对的第一分量,即 $A' \supseteq \{1, 2\}$。
- $B'$ 必须包含 S 中所有有序对的第二分量,即 $B' \supseteq \{a, b\}$。
- 那么 $A' \times B'$ 至少要包含 $\{1, 2\} \times \{a, b\} = \{(1, a), (1, b), (2, a), (2, b)\}$。
- 这个最小的矩形子集比 S 要大,它包含了 S 中没有的 $(1, b)$ 和 $(2, a)$。所以 S 无法表示成任何 $A' \times B'$ 的形式。
- 示例2:(iii) 基数
- 一个餐厅提供3种主食(米饭,面条,馒头),$\#(\text{主食})=3$。
- 提供4种饮料(可乐,雪碧,橙汁,茶),$\#(\text{饮料})=4$。
- 那么“主食 $\times$ 饮料”的套餐组合总共有多少种?
- $\#(\text{套餐}) = \#(\text{主食}) \times \#(\text{饮料}) = 3 \times 4 = 12$ 种。
- 示例3:(iii) 掷骰子
- 一个骰子的可能结果集合是 $D = \{1, 2, 3, 4, 5, 6\}$,$\#(D)=6$。
- 掷三次骰子的所有可能有序结果集合是 $D^3 = D \times D \times D$。
- 总共有多少种结果?
- $\#(D^3) = \#(D) \times \#(D) \times \#(D) = 6 \times 6 \times 6 = 216$ 种。
⚠️ [易错点]
- 笛卡尔积的子集: 必须牢记,一个笛卡尔积的子集不一定是一个“小”的笛卡尔积。这在定义关系和函数时非常重要,因为关系和函数的图像都是笛卡尔积的子集,而且绝大多数都不是“矩形”。
- 基数公式的适用范围: $\#(A \cup B) = \#(A) + \#(B) - \#(A \cap B)$ (容斥原理),而 $\#(A \times B) = \#(A) \times \#(B)$。不要混淆并集和笛卡尔积的基数计算公式。
📝 [总结]
本节备注明确了笛卡尔积的三个核心性质:
(i) 子集的笛卡尔积仍是子集,但反之不成立。
(ii) 与空集的笛卡尔积结果为空集。
(iii) 有限集笛卡尔积的基数等于各集合基数的乘积。
🎯 [存在目的]
这部分内容旨在建立对笛卡尔积这一构造的更深理解和操作能力。性质(i)帮助我们理解笛卡尔积内部的结构,特别是为以后学习“关系”打下基础。性质(ii)和(iii)则给出了在两种极端情况(空集和有限集)下,笛卡尔积的可预测行为,特别是基数公式,它是组合数学和概率论中乘法原理的集合论表述。
🧠 [直觉心智模型]
- (i) 子集: 你有一个大棋盘 $X \times Y$。你在这个棋盘上选择一个较小的矩形区域(比如从第1行到第A行,从第1列到第B列),这个矩形区域就是一个形如 $A \times B$ 的子集。但是你也可以在这个棋盘上画一个圆圈,或者一条斜线,这些也是棋盘的子集,但它们不是矩形。
- (iii) 基数: 还是点餐的例子。你有3种主食,4种菜品。构造一个套餐,你需要做两个独立的选择。第一个选择有3个选项,第二个选择有4个选项。总的选择方案数就是 $3 \times 4 = 12$ 种。
💭 [直观想象]
继续使用表格或坐标平面的想象。
- (i) 子集: 整个表格是 $X \times Y$。你选定几行(构成 $X$ 的子集 $A$)和几列(构成 $Y$ 的子集 $B$),这些选定的行和列交叉形成的矩形区域,就是 $A \times B$。但你也可以在表格里随机地、不规则地圈出一些单元格,形成一个非矩形的子集。
- (iii) 基数: 表格的总单元格数,就等于“行数 $\times$ 列数”。
1.2.6 幂集
📜 [原文14]
最后,一个非常重要的构造是集合的幂集:
定义 1.2.6. $X$ 的所有子集的集合也是一个集合,称为 $X$ 的幂集,通常记作 $\mathcal{P}(X)$:
$$
\mathcal{P}(X)=\{A: A \subseteq X\}
$$
📖 [逐步解释]
这部分定义了另一个非常重要的集合构造方法——幂集。
幂集的核心思想是:将一个给定集合 $X$ 的 所有可能的子集 收集起来,形成一个新的、更大的集合。
这个新集合的名字叫幂集,记作 $\mathcal{P}(X)$。
我们来分解这个概念:
- 输入: 一个集合 $X$。
- 操作:
- 找出 $X$ 的所有子集。
- 不要忘记两个特殊的子集:空集 $\emptyset$ 和 $X$ 自身。
- 输出: 一个新的集合 $\mathcal{P}(X)$。这个新集合的元素,就是我们在上一步找到的那些子集。
所以,$\mathcal{P}(X)$ 是一个“集合的集合”。它的成员不是 $X$ 原来的元素,而是 $X$ 的各种子集。
举个例子,如果 $X = \{1, 2\}$。
- 我们来找出 $X$ 的所有子集:
- 不含任何元素的子集:$\emptyset$。
- 含一个元素的子集:$\{1\}$, $\{2\}$。
- 含两个元素的子集:$\{1, 2\}$ (即 $X$ 自身)。
- 总共有这4个子集。
- 现在,把这4个子集作为元素,放进一个新的集合里,就得到了 $X$ 的幂集:
$\mathcal{P}(X) = \{\emptyset, \{1\}, \{2\}, \{1, 2\}\}$。
💡 [数值示例]
- 令 $X = \{a\}$。
- $X$ 的子集有哪些?
- 空集: $\emptyset$。
- $X$ 自身: $\{a\}$。
- 就这两个。所以幂集是:
$\mathcal{P}(X) = \{\emptyset, \{a\}\}$。
- 注意 $\#(X)=1$,而 $\#(\mathcal{P}(X))=2$。
- 示例2
- 令 $Y = \{1, 2, 3\}$。
- $Y$ 的子集有哪些?
- 0个元素的子集 (1个): $\emptyset$。
- 1个元素的子集 (3个): $\{1\}, \{2\}, \{3\}$。
- 2个元素的子集 (3个): $\{1, 2\}, \{1, 3\}, \{2, 3\}$。
- 3个元素的子集 (1个): $\{1, 2, 3\}$。
- 总共有 $1+3+3+1 = 8$ 个子集。
- 所以幂集是:
$\mathcal{P}(Y) = \{\emptyset, \{1\}, \{2\}, \{3\}, \{1, 2\}, \{1, 3\}, \{2, 3\}, \{1, 2, 3\}\}$。
- 注意 $\#(Y)=3$,而 $\#(\mathcal{P}(Y))=8$。
- 示例3:空集的幂集
- 令 $Z = \emptyset$。
- $Z$ 的子集有哪些?
- 根据我们之前知道的,任何集合都有空集作为其子集,且任何集合都是其自身的子集。对于空集来说,这两个子集是同一个,就是 $\emptyset$。
- 所以 $\emptyset$ 唯一的子集就是 $\emptyset$。
- 因此,$\emptyset$ 的幂集是包含 $\emptyset$ 这一个元素的集合:
$\mathcal{P}(\emptyset) = \{\emptyset\}$。
- 注意 $\#(\emptyset)=0$,而 $\#(\mathcal{P}(\emptyset))=1$。
观察基数:$\#(X)=0, \#(\mathcal{P}(X))=1=2^0$。$\#(X)=1, \#(\mathcal{P}(X))=2=2^1$。$\#(X)=3, \#(\mathcal{P}(X))=8=2^3$。我们后面会看到,这并非巧合,如果 $\#(X)=n$,那么 $\#(\mathcal{P}(X))=2^n$。这也是“幂集”这个名字的由来之一。
⚠️ [易错点]
- 元素与子集再次混淆: 幂集的元素是子集。对于 $X = \{1, 2\}$,有 $\{1\} \in \mathcal{P}(X)$ 和 $\{1\} \subseteq X$。但是 $1 \notin \mathcal{P}(X)$,而是 $1 \in X$。一定要分清元素 $x$、单元素子集 $\{x\}$ 和幂集 $\mathcal{P}(X)$ 之间的层级关系。
- 空集与幂集: $\mathcal{P}(\emptyset) = \{\emptyset\}$,它不是空集!它是一个包含一个元素的集合。
- 遗漏子集: 在手写一个集合的幂集时,初学者非常容易遗漏子集,特别是空集 $\emptyset$ 和集合自身 $X$。一个系统性的方法是按子集的元素个数(0个,1个,2个...)来依次列举,以避免遗漏。
📝 [总结]
本节定义了幂集 $\mathcal{P}(X)$,即由一个给定集合 $X$ 的所有子集所组成的集合。它的元素是集合,并且其大小与原集合大小呈指数关系。
🎯 [存在目的]
幂集是一个极其强大的构造工具。
- 在集合论本身,幂集公理(即承认任何集合的幂集也是一个集合)是ZFC公理系统的一部分,它允许我们构造出越来越“大”的无限集,是研究无限层次的基石。康托的著名定理就表明,任何集合的幂集的基数都严格大于原集合的基数 ($\#(\mathcal{P}(X)) > \#(X)$)。
- 在拓扑学中,一个集合上的一个拓扑结构被定义为其幂集的一个子集。
- 在计算机科学中,它与字符串的所有子序列、一个系统的所有可能状态等概念相关。
- 它是定义“关系”和“函数”等更复杂概念的语言环境的一部分。
🧠 [直觉心智模型]
想象你有一个“原料”集合 $X$,比如 {苹果, 香蕉, 橙子}。
幂集 $\mathcal{P}(X)$ 就是用这些原料可以制作的所有可能的“水果沙拉”的集合。
- 你可以什么都不放,得到一份“空的”沙拉 ($\emptyset$)。
- 你可以只放一种水果,得到“纯苹果沙拉”($\{苹果\}$),”纯香蕉沙拉“($\{香蕉\}$)等。
- 你可以放两种水果,得到“苹果香蕉沙拉”($\{苹果, 香蕉\}$)等。
- 你可以把所有水果都放进去,得到一份“豪华水果沙拉”($\{苹果, 香蕉, 橙子\}$)。
- $\mathcal{P}(X)$ 就是一个菜单,上面列出了所有这些可能的沙拉。这份菜单上的每一项(元素)都是一份沙拉(一个子集)。
💭 [直观想象]
想象你有 $n$ 个开关,每个开关对应集合 $X$ 的一个元素。
一个子集的形成,就对应于对这 $n$ 个开关的一种开-关设置。
- 如果第 $i$ 个开关闭合,就代表元素 $x_i$ 被选入子集。
- 如果第 $i$ 个开关断开,就代表元素 $x_i$ 未被选入子集。
- 每个开关都有2种状态(开或关)。
- $n$ 个开关总共有 $2 \times 2 \times \cdots \times 2 = 2^n$ 种不同的状态组合。
- 每一种状态组合都唯一对应 $X$ 的一个子集。
- 因此,$X$ 的子集总数是 $2^n$,也就是其幂集的元素个数。
1.2.7 幂集的例子
📜 [原文15]
例 1.2.7. (i) 根据备注 1.1.4 中的传递性,如果 $Y$ 是 $X$ 的子集,则 $\mathcal{P}(Y)$ 是 $\mathcal{P}(X)$ 的子集。
(ii) 注意 $X \in \mathcal{P}(X)$ 且 $\emptyset \in \mathcal{P}(X)$。
(iii) 如果 $X \neq \emptyset$ 且 $x \in X$,则 $\{x\} \in \mathcal{P}(X)$。
(iv) $\mathcal{P}(\emptyset)=\{\emptyset\}$。特别是,$\mathcal{P}(\emptyset) \neq \emptyset$;事实上,$\mathcal{P}(\emptyset)$ 包含唯一的元素 $\emptyset$,因此 $\#(\mathcal{P}(\emptyset))=1$。同样地,$\mathcal{P}(\mathcal{P}(\emptyset))=\mathcal{P}(\{\emptyset\})=\{\emptyset,\{\emptyset\}\}$。特别是,$\#(\mathcal{P}(\mathcal{P}(\emptyset)))=2$。同样地,
$$
\mathcal{P}(\{\emptyset,\{\emptyset\}\})=\{\emptyset,\{\emptyset\},\{\{\emptyset\}\},\{\emptyset,\{\emptyset\}\}\}
$$
因此 $\#(\mathcal{P}(\{\emptyset,\{\emptyset\}\}))=4$。更一般地,我们将看到,如果 $X$ 是一个有限集且 $\#(X)=n$,则 $\#(\mathcal{P}(X))=2^{n}$。
📖 [逐步解释]
这部分通过一系列例子来巩固和深化对幂集的理解,特别是处理集合的元素也是集合的复杂情况。
(i) 子集的幂集
- $如果 $Y \subseteq X$,则 $\mathcal{P}(Y) \subseteq \mathcal{P}(X)$。
- 解释:
- 我们要证明 $\mathcal{P}(Y)$ 是 $\mathcal{P}(X)$ 的子集。根据子集定义,我们需要证明 $\mathcal{P}(Y)$ 中的任何一个元素也都在 $\mathcal{P}(X)$ 中。
- 让我们任取一个元素 $A \in \mathcal{P}(Y)$。
- 根据幂集的定义,$A \in \mathcal{P}(Y)$ 意味着 $A$ 是 $Y$ 的一个子集,即 $A \subseteq Y$。
- 我们已知条件是 $Y \subseteq X$。
- 现在我们有 $A \subseteq Y$ 并且 $Y \subseteq X$。根据子集的传递性(备注 1.1.4),我们可以得出 $A \subseteq X$。
- $A \subseteq X$ 意味着什么?根据幂集定义,这意味着 $A$ 是 $\mathcal{P}(X)$ 的一个元素,即 $A \in \mathcal{P}(X)$。
- 我们从“任取一个 $A \in \mathcal{P}(Y)$”出发,成功推导出“$A \in \mathcal{P}(X)$”。因此,$\mathcal{P}(Y) \subseteq \mathcal{P}(X)$ 成立。
(ii) 两个特殊的幂集元素
- $X \in \mathcal{P}(X)$ 且 $\emptyset \in \mathcal{P}(X)$。
- 这只是重申了幂集定义的一个直接结果。因为 $X$ 是自身的子集 ($X \subseteq X$),所以 $X$ 必须是幂集 $\mathcal{P}(X)$ 的一个元素。同样,因为空集是 $X$ 的子集 ($\emptyset \subseteq X$),所以 $\emptyset$ 也必须是 $\mathcal{P}(X)$ 的一个元素。
(iii) 单元素子集在幂集中
- $如果 $X \neq \emptyset$ 且 $x \in X$,则 $\{x\} \in \mathcal{P}(X)$。
- 如果 $X$ 不是空的,我们就可以从中取出一个元素 $x$。
- 由这个 $x$ 构成的单元素子集 $\{x\}$ 显然是 $X$ 的一个子集 ($\{x\} \subseteq X$)。
- 因此,根据幂集定义,$\{x\}$ 必须是 $\mathcal{P}(X)$ 的一个元素。
(iv) 迭代构造幂集
- 这部分是最有趣也最考验思维清晰度的地方,它展示了反复取幂集的效果。
- 第一步: $\mathcal{P}(\emptyset) = \{\emptyset\}$。
- 我们在上一节已经分析过。空集 $\emptyset$ 的唯一子集是它自身 $\emptyset$。所以它的幂集就是包含 $\emptyset$ 这一个元素的集合。
- $\#(\mathcal{P}(\emptyset)) = 1$。
- 第二步: $\mathcal{P}(\mathcal{P}(\emptyset))$。
- 这等于 $\mathcal{P}(\{\emptyset\})$,因为 $\mathcal{P}(\emptyset) = \{\emptyset\}$。
- 我们现在要求集合 $\{\emptyset\}$ 的幂集。这个集合只有一个元素,就是 $\emptyset$。
- 设 $Y = \{\emptyset\}$。$Y$ 的子集有哪些?
- 空集: $\emptyset$。
- $Y$ 自身: $\{\emptyset\}$。
- 就这两个子集。所以,$\mathcal{P}(\{\emptyset\}) = \{\emptyset, \{\emptyset\}\}$。
- $\#(\mathcal{P}(\mathcal{P}(\emptyset))) = 2$。
- 第三步: $\mathcal{P}(\{\emptyset, \{\emptyset\}\})$。
- 我们现在要求集合 $Z = \{\emptyset, \{\emptyset\}\}$ 的幂集。这个集合有两个元素:$\emptyset$ 和 $\{\emptyset\}$。
- $Z$ 的子集有哪些?(共 $2^2=4$ 个)
- 0个元素的子集: $\emptyset$。
- 1个元素的子集: $\{\emptyset\}$ (取第一个元素构成的子集), $\{\{\emptyset\}\}$ (取第二个元素构成的子集)。
- 2个元素的子集: $\{\emptyset, \{\emptyset\}\}$ (Z 自身)。
- 把这4个子集收集起来,就是 $Z$ 的幂集:
$\mathcal{P}(\{\emptyset, \{\emptyset\}\}) = \{\emptyset, \{\emptyset\}, \{\{\emptyset\}\}, \{\emptyset, \{\emptyset\}\}\}$。
- $\#(\mathcal{P}(\{\emptyset, \{\emptyset\}\})) = 4$。
- 结论: 这些例子都符合 $\#(\mathcal{P}(X))=2^{\#(X)}$ 的规律。作者在这里通过具体例子展示了这个规律,并预告了它的一般性。
💡 [数值示例]
- 令 $X = \{1, 2, 3\}$, $Y = \{1, 2\}$。
- 显然 $Y \subseteq X$。
- $\mathcal{P}(Y) = \{\emptyset, \{1\}, \{2\}, \{1, 2\}\}$。
- $\mathcal{P}(X) = \{\emptyset, \{1\}, \{2\}, \{3\}, \{1, 2\}, \{1, 3\}, \{2, 3\}, \{1, 2, 3\}\}$。
- 我们可以逐一检查,$\mathcal{P}(Y)$ 的4个元素 ($\emptyset, \{1\}, \{2\}, \{1, 2\}$) 确实都在 $\mathcal{P}(X)$ 中。因此 $\mathcal{P}(Y) \subseteq \mathcal{P}(X)$。
- 示例2:(iv) 迭代幂集
- 我们已经从 $\emptyset$ 开始迭代了。现在换一个起点,从 $A=\{a\}$ 开始。
- $\# (A)=1$。
- $\mathcal{P}(A) = \{\emptyset, \{a\}\}$。 $\#(\mathcal{P}(A)) = 2$。
- $\mathcal{P}(\mathcal{P}(A)) = \mathcal{P}(\{\emptyset, \{a\}\})$。这是一个有两个元素的集合的幂集。
- 令 $E_1 = \emptyset$, $E_2 = \{a\}$。
- $\mathcal{P}(\{E_1, E_2\})$ 的子集有:
- $\emptyset$
- $\{E_1\} = \{\emptyset\}$
- $\{E_2\} = \{\{a\}\}$
- $\{E_1, E_2\} = \{\emptyset, \{a\}\}$
- 所以 $\mathcal{P}(\mathcal{P}(A)) = \{\emptyset, \{\emptyset\}, \{\{a\}\}, \{\emptyset, \{a\}\}\}$。
- $\#(\mathcal{P}(\mathcal{P}(A))) = 4$。
- 这再次验证了 $2^{\#(X)}$ 的规律:$\#(\mathcal{P}(\mathcal{P}(A))) = 2^{\#(\mathcal{P}(A))} = 2^2 = 4$。
⚠️ [易错点]
- 花括号的层数: 在处理迭代幂集时,最关键也最容易出错的就是花括号。每取一次幂集,结果集合中的元素的括号层数通常会增加。例如,从 $\emptyset$ 到 $\{\emptyset\}$ 到 $\{\{\emptyset\}\}$。必须非常小心地把每个子集作为一个整体来对待。
- 元素与子集的区分: 在 $\mathcal{P}(\{\emptyset, \{\emptyset\}\})$ 的例子中,$\emptyset$ 和 $\{\emptyset\}$ 是原集合的元素,而 $\{\emptyset\}$ 和 $\{\{\emptyset\}\}$ 则是幂集的元素(它们是原集合的单元素子集)。能清晰地区分这些不同层级的对象是理解的关键。
📝 [总结]
本节通过一系列例子,展示了幂集的几个重要性质,特别是:
- 幂集运算对子集关系有保持性。
- 任何幂集都必然包含空集和原集合自身作为其元素。
- 通过对空集进行迭代幂集运算,清晰地揭示了集合、元素的集合、元素的集合的集合之间复杂的层次结构,并直观地验证了幂集基数为 $2^n$ 的规律。
🎯 [存在目的]
这些例子的目的在于训练读者处理抽象集合,特别是以集合为元素的集合的能力。在现代数学中,这种层次化的结构无处不在。通过空集这个最简单的非平凡对象进行迭代构造,可以以最纯粹的形式揭示出集合论的深刻和精妙之处,为理解更复杂的数学构造(如序数、冯·诺依曼全集等)打下基础。
🧠 [直觉心智模型]
回到“水果沙拉”模型, $X$= {苹果, 香蕉}。
$\mathcal{P}(X)$ 是所有沙拉的菜单: {空盘, {苹果}, {香蕉}, {苹果,香蕉}}。
- (i) 子集的幂集: 如果你的原料少了,比如 $Y$={苹果} $\subseteq X$,那么你能做出的沙拉种类 $\mathcal{P}(Y)$={空盘, {苹果}},也只是原来菜单 $\mathcal{P}(X)$ 的一部分。
- (iv) 迭代幂集:
- $X = \emptyset$ (没有原料)。你能做的沙拉菜单 $\mathcal{P}(\emptyset)$ 上只有一项:{空盘}。
- 现在你的“新原料”集合是 $\mathcal{P}(\emptyset)$ = {空盘}。你能用“空盘”做成什么“沙拉”呢?
- 你可以什么都不用,得到一个“超级空盘”($\emptyset$)。
- 你可以把“空盘”这个原料用上,得到一个“盘中盘”($\{\text{空盘}\}$,即 $\{\emptyset\}$)。
- 所以新的菜单 $\mathcal{P}(\mathcal{P}(\emptyset))$ 就是 {超级空盘, 盘中盘},即 $\{\emptyset, \{\emptyset\}\}$。
这个模型虽然有点绕,但它试图模拟了从一个对象出发,将其所有“组合方式”作为新的对象,再对新的对象进行组合的迭代过程。
💭 [直观想象]
使用“开关”模型。
- $X = \{\emptyset, \{\emptyset\}\}$。想象有两个开关。
- 开关1 对应元素 $\emptyset$。
- 开关2 对应元素 $\{\emptyset\}$。
- 现在有 $2^2=4$ 种开关组合,对应4个子集:
- 开关1关,开关2关 $\implies$ 选了0个元素 $\implies$ 子集 $\emptyset$。
- 开关1开,开关2关 $\implies$ 选了元素 $\emptyset$ $\implies$ 子集 $\{\emptyset\}$。
- 开关1关,开关2开 $\implies$ 选了元素 $\{\emptyset\}$ $\implies$ 子集 $\{\{\emptyset\}\}$。
- 开关1开,开关2开 $\implies$ 选了两个元素 $\implies$ 子集 $\{\emptyset, \{\emptyset\}\}$。
- 这4个子集就构成了幂集的4个元素。这个模型对于理解基数 $2^n$ 非常直观。
... 我将继续生成剩余部分的解释,请注意这会使得回复非常长 ...
1.3 函数
1.3.1 函数与图像
📜 [原文16]
接下来我们定义函数 $f: X \rightarrow Y$。虽然我们可以把函数看作一个“规则”,它将 $X$ 中的每个 $x$ 映射到 $Y$ 中的唯一 $y$,但通过将函数 $f$ 与其在 $X \times Y$ 中的图像(如我们在微积分中被教导不要做的那样)联系起来,可以更容易地精确化这个概念。给定函数 $f: X \rightarrow Y$,我们有其图像 $G_{f} \subseteq X \times Y$,定义为
$$
G_{f}=\{(x, y) \in X \times Y: y=f(x)\}
$$
它具有以下性质:对于所有 $x \in X$,存在唯一一个 $y \in Y$ 使得 $(x, y) \in G_{f}$,即 $y=f(x)$。说存在唯一的 $y \in Y$ 意味着 $f(x)$ 由 $x$ 唯一确定,而说对于每个 $x \in X$ 都存在一个 $(x, y) \in G_{f}$ 则意味着 $f(x)$ 实际上对所有 $x \in X$ 都有定义。这就是所谓的垂直线测试:对于每个 $x \in X$,我们有 $X \times Y$ 的子集 $\{x\} \times Y$。(如果 $X=Y=\mathbb{R}$,这样的子集正是垂直线。)然后我们可以将其反过来作为函数的定义:
📖 [逐步解释]
这部分开始定义数学中另一个核心概念——函数。作者首先对比了两种理解函数的方式,并选择了一种更严谨、更适合集合论框架的方式。
两种视角:
- 直观视角(“规则”): 这是我们初中、高中学习函数时最常见的理解。函数是一个“过程”或一个“机器”,你“输入”一个来自集合 $X$ 的值 $x$,这个机器就根据一个固定的“规则” $f$ 进行运算,然后“输出”一个唯一确定的来自集合 $Y$ 的值 $y=f(x)$。这个视角非常直观,易于理解,但“规则”这个词本身不够数学化,不够精确。
- 严谨视角(“图像”): 这是现代数学,特别是集合论,所采用的定义方式。它不谈论抽象的“规则”,而是将函数实体化、静态化。一个函数 $f$ 被直接 定义为其图像 $G_f$。
- 什么是图像?函数 $f$ 的图像是笛卡尔积 $X \times Y$ 的一个子集。这个子集由所有满足 $y=f(x)$ 的有序对 $(x, y)$ 组成。
- 例如,函数 $f(x) = x^2$ 的图像就是所有形如 $(x, x^2)$ 的点的集合,如 $(1, 1), (2, 4), (-3, 9)$ 等等。这些点构成了笛卡尔坐标平面上的一条抛物线。
从“规则”到“图像”的性质分析:
作者指出,如果我们从直观的“规则”视角出发,那么函数的图像 $G_f$ 必然满足一个非常重要的性质:
对于 $X$ 中的每一个元素 $x$,都存在唯一一个 $Y$ 中的元素 $y$,使得有序对 $(x, y)$ 在图像 $G_f$ 中。
这句话包含两层意思,对应了函数定义的两个基本要求:
- 存在性 (“对于每个 $x$ 都存在...”): 函数必须对定义域 $X$ 中的 每一个 元素都有定义。不能有的 $x$ 有对应的 $y$,有的 $x$ 没有。输入一个 $x$,机器不能“卡壳”或说“无法处理”。
- 唯一性 (“...存在唯一的 $y$”): 对于一个给定的输入 $x$,输出的 $y$ 必须是 唯一确定 的。不能今天输入2,输出4;明天输入2,输出5。输入一个 $x$,机器不能“选择困难”。
垂直线测试 (Vertical Line Test)
这个性质就是我们在中学数学里非常熟悉的“垂直线测试”的抽象版本。
- 在 $\mathbb{R} \times \mathbb{R}$ 的坐标平面上,一个图形是不是一个函数的图像,就看任何一条垂直于x轴的直线,与该图形的交点是否 最多只有一个。
- 作者将其推广到任意集合 $X, Y$。对于 $X$ 中的某个特定元素 $x_0$,所有第一分量是 $x_0$ 的有序对组成的集合是 $\{x_0\} \times Y$。这可以想象成穿过 $x_0$ 的一条“垂直线”。
- 函数图像 $G_f$ 必须与任何一条这样的“垂直线” $\{x\} \times Y$ 恰好只有一个交点。
- “有交点”保证了存在性(对于这个 $x$ 有定义)。
- “只有一个交点”保证了唯一性(定义是明确的,无歧义的)。
反向定义
分析清楚了函数图像所满足的这个核心性质后,作者采取了“反向操作”:直接用这个性质来 定义 什么是函数。这就是下一节 $定义 1.3.1$ 的内容。这种“从性质到定义”的转化是数学公理化和形式化的常用手段。
💡 [数值示例]
- 令 $X = \{1, 2, 3\}$, $Y = \{a, b, c, d\}$。
- 定义一个“规则” $f$: $f(1)=a, f(2)=a, f(3)=c$。
- 这是一个合法的函数,因为 $X$ 中每个元素都有唯一对应的输出。
- 其图像是 $G_f = \{(1, a), (2, a), (3, c)\}$。
- 我们来验证垂直线测试:
- “垂直线” at 1: $\{1\} \times Y = \{(1,a), (1,b), (1,c), (1,d)\}$。它与 $G_f$ 的交集是 $\{(1, a)\}$,只有一个元素。通过。
- “垂直线” at 2: $\{2\} \times Y = \{(2,a), (2,b), (2,c), (2,d)\}$。它与 $G_f$ 的交集是 $\{(2, a)\}$,只有一个元素。通过。
- “垂直线” at 3: $\{3\} \times Y = \{(3,a), (3,b), (3,c), (3,d)\}$。它与 $G_f$ 的交集是 $\{(3, c)\}$,只有一个元素。通过。
- 因为对所有 $x \in X$ 都通过了测试,所以 $G_f$ 确实具有函数图像的性质。
- 示例2:不是函数的例子
- 令 $X=\{1,2\}, Y=\{a,b\}$。
- 考虑一个关系 $R = \{(1, a), (1, b), (2, a)\} \subseteq X \times Y$。
- 这个 $R$ 是不是一个函数的图像?我们来做垂直线测试。
- “垂直线” at 1: $\{1\} \times Y = \{(1,a), (1,b)\}$。
- 它与 $R$ 的交集是 $\{(1, a), (1, b)\}$,有两个元素!
- 这违反了唯一性。所以 $R$ 不是一个从 $X$ 到 $Y$ 的函数的图像。这相当于一个输入1,对应了两个输出a和b。
- 示例3:不是函数的例子
- 令 $X=\{1,2\}, Y=\{a,b\}$。
- 考虑一个关系 $S = \{(1, a)\} \subseteq X \times Y$。
- “垂直线” at 2: $\{2\} \times Y = \{(2,a), (2,b)\}$。
- 它与 $S$ 的交集是 $\emptyset$,没有元素!
- 这违反了存在性。定义域中的元素 2 没有被定义。所以 $S$ 也不是一个从 $X$ 到 $Y$ 的函数的图像。
⚠️ [易错点]
- 图像是集合,函数是规则: 虽然严谨定义将两者等同,但在思考时,我们常常在这两种视角间切换。关键是理解它们之间的等价关系:一个合法的“规则”唯一确定一个满足垂直线测试的“图像”;反之,一个满足垂直线测试的图像也唯一确定了一个合法的“规则”。
- 微积分中的教导: 作者提到“如我们在微积分中被教导不要做的那样”,指的是在初等教学中,为了避免混淆,常常强调函数 $f$ 和它的图像 $y=f(x)$ 是不同的东西:前者是抽象的对应关系,后者是具体的几何图形。而在集合论的更高层面,我们恰恰要利用这种等同性来获得一个更严谨的定义。这体现了数学学习不同阶段认知深度的变化。
📝 [总结]
本节通过分析函数的直观概念,提炼出了其图像所必须满足的核心性质——即对于定义域中的每个点,都存在唯一一个与之对应的图像上的点(垂直线测试)。这为下一节直接利用该性质来给出函数的集合论定义铺平了道路。
🎯 [存在目的]
本节的目的是将一个直观但模糊的“规则”概念,转化为一个精确、静态、基于集合论的“子集”概念。这种转化是数学严谨化的关键一步,它使得函数不再是一个难以捉摸的“过程”,而是一个可以被集合公理系统完全捕捉和研究的数学对象。
🧠 [直觉心智模型]
- 函数规则: 一本食谱 $f$。
- 输入 $x$: 一种食材,比如“鸡蛋”。
- 输出 $y=f(x)$: 一道菜,比如“炒鸡蛋”。
- 定义域 $X$: 食谱里用到的所有食材的清单。
- 值域 $Y$: 食谱能做出的所有菜品的清单。
- 函数的要求:
- 存在性: 食材清单 $X$ 上的每一种食材,都必须在食谱里有一道对应的菜(也许几样食材做同一道菜,但每样食材都得有去处)。
- 唯一性: “鸡蛋”这一样食材,不能在食谱里既可以做成“炒鸡蛋”,又可以做成“茶叶蛋”。它只能唯一地对应一道菜。
- 图像 $G_f$: 一个记录了所有“食材-菜品”配对的账本。账本上每一行都是 $(食材, 对应的菜品)$。
- 垂直线测试: 检查这本账本。对于“鸡蛋”这一栏,账本上只能有一行记录。如果出现两行(比如 $(鸡蛋, 炒鸡蛋)$ 和 $(鸡蛋, 茶葉蛋)$),那这本食谱就有问题,不是一个合格的函数。如果“面粉”在食材清单上,但账本里一行关于面粉的记录都没有,那也有问题。
💭 [直观想象]
在电影院里,每个观众(集合 $X$)都必须有一个指定的座位(集合 $Y$)。
- 一个函数就是一个座位分配方案。
- $f(x)=y$ 就是观众 $x$ 的座位是 $y$。
- 存在性: 每个持票的观众 $x$ 都必须被分配到一个座位。不能有人没座位。
- 唯一性: 每个观众 $x$ 只能被分配到一个座位。不能一个人同时占两个座位。
- (注意:可以多个观众坐同一排,也可以有的座位是空的。这涉及到后续的单射和满射概念。)
- 图像 $G_f$ 就是电影院的票根存根集合,每个存根上都写着 $(观众姓名, 座位号)$。
- 垂直线测试: 查票根。对于任何一个观众 $张三$,你只能找到一张属于他的票根。找到多张或一张都找不到,都说明座位分配方案(函数)出了问题。
1.3.2 函数的集合论定义
📜 [原文17]
定义 1.3.1. 函数 $f: X \rightarrow Y$ 是 $X \times Y$ 的一个子集 $G$,使得对于每个 $x \in X$,$(\{x\} \times Y) \cap G$ 恰好包含一个点,必然是 $(x, y)$ 形式的,其中 $y \in Y$。这个唯一的 $y$ 然后记作 $f(x)$。
在上述符号中,我们称 $X$ 为 $f$ 的定义域,称 $Y$ 为 $f$ 的值域。因此,定义域和值域是函数信息的一部分。
我们也将“映射”或“映照”作为函数的同义词;通常映射是某种几何环境中的函数。
📖 [逐步解释]
这部分正式给出了函数的集合论定义,它是上一节讨论的逻辑终点。
定义的核心
一个函数 $f$ 从集合 $X$ 到集合 $Y$,其本质 就是 笛卡尔积 $X \times Y$ 的一个特殊子集。我们通常把这个子集称为函数的图像 $G$。
这个子集 $G$ 必须满足什么特殊条件呢?
这个条件就是抽象化的“垂直线测试”:
$对于每个 $x \in X$,$(\{x\} \times Y) \cap G$ 恰好包含一个点$
我们来逐步分解这个条件:
- $对于每个 $x \in X$: 这个条件必须对**定义域** $X$ 中的所有元素进行检查,一个都不能少。
- $\{x\} \times Y$: 这是我们在上一节讨论过的“垂直线”。它代表了 $X \times Y$ 中所有第一分量等于 $x$ 的有序对。
- $(\{x\} \times Y) \cap G$: 这是“垂直线”与“图像”$G$ 的交集。也就是在图像 $G$ 中,所有第一分量为 $x$ 的那些点。
- $恰好包含一个点$: 这是最关键的要求,它同时蕴含了存在性和唯一性。
- “至少包含一个点” $\implies$ 存在性 (对于这个 $x$,函数有定义)。
- “至多包含一个点” $\implies$ 唯一性 (对于这个 $x$,函数的定义是唯一的)。
从图像到函数值的记号
一旦我们确定了一个子集 $G$ 满足上述条件,从而确认它是一个函数的图像,我们就可以引入方便的函数记号 $f(x)$。
- 对于任意一个 $x \in X$,我们知道 $G$ 中有且仅有一个第一分量是 $x$ 的有序对。这个有序对必然是 $(x, y)$ 的形式,其中 $y$ 是某个来自 $Y$ 的元素。
- 我们就把这个唯一被确定的 $y$,记作 $f(x)$。
- 所以,$y=f(x)$ 只是一种简写,它的严格含义是 $(x, y) \in G$,其中 $G$ 就是函数本身。
定义域和值域的重要性
作者强调,$X$ (定义域, domain) 和 $Y$ (值域或共域, codomain) 是函数自身信息的一部分。
- 这意味着,一个函数不仅由它的对应规则(或图像子集)决定,还由它作用的范围和可能取值的范围共同决定。
- 例如,规则 $f(x)=x^2$,当它是从 $\mathbb{R} \rightarrow \mathbb{R}$ 的函数时,和当它是从 $\mathbb{N} \rightarrow \mathbb{N}$ 的函数时,是两个完全不同的函数。它们的定义域不同,图像也不同(一个是连续的抛物线,一个是一系列离散的点)。
- 同样,规则 $g(x)=x^2$ 作为从 $\mathbb{R} \rightarrow \mathbb{R}$ 的函数,和作为从 $\mathbb{R} \rightarrow [0, \infty)$ 的函数,在某些严格的上下文(如范畴论)中也被视为不同的函数,因为它们的值域不同。这会影响到函数是否“满射”等性质。
同义词
“映射” (map) 或 “映照” (mapping) 通常可以和“函数” (function) 互换使用。在特定语境中,“映射”可能带有一点几何色彩,比如描述空间中的点如何变换。但在代数中,它们基本是同义的。
💡 [数值示例]
- 令 $X=\{a,b\}$, $Y=\{1,2,3\}$。
- $X \times Y = \{(a,1), (a,2), (a,3), (b,1), (b,2), (b,3)\}$。
- 我们来判断 $G_1 = \{(a, 2), (b, 3)\}$ 是否为一个函数 $f: X \to Y$。
- 检查 $x=a$: “垂直线” $\{a\} \times Y = \{(a,1), (a,2), (a,3)\}$。
- 交集: $(\{a\} \times Y) \cap G_1 = \{(a, 2)\}$。包含一个点。OK。
- 检查 $x=b$: “垂直线” $\{b\} \times Y = \{(b,1), (b,2), (b,3)\}$。
- 交集: $(\{b\} \times Y) \cap G_1 = \{(b, 3)\}$。包含一个点。OK。
- 结论: $G_1$ 满足定义,它是一个函数。这个函数是 $f(a)=2, f(b)=3$。
- 示例2:判断一个子集是否为函数
- 使用相同的 $X, Y$。
- 判断 $G_2 = \{(a, 1)\}$ 是否为一个函数 $f: X \to Y$。
- 检查 $x=a$: 交集是 $\{(a,1)\}$,一个点。OK。
- 检查 $x=b$: “垂直线” $\{b\} \times Y$ 与 $G_2$ 的交集是 $\emptyset$。
- 结论: 条件 “恰好包含一个点” 在 $x=b$ 处不满足(包含了0个点)。所以 $G_2$ 不是一个从 $X$ 到 $Y$ 的函数。
- 示例3:判断一个子集是否为函数
- 使用相同的 $X, Y$。
- 判断 $G_3 = \{(a, 1), (a, 2), (b, 3)\}$ 是否为一个函数 $f: X \to Y$。
- 检查 $x=a$: 交集是 $\{(a, 1), (a, 2)\}$,有两个点。
- 结论: 条件 “恰好包含一个点” 在 $x=a$ 处不满足。所以 $G_3$ 不是一个函数。
⚠️ [易错点]
- 定义域必须全覆盖: 定义函数时,必须确保定义域中的每一个元素都有对应的图像中的点。
- 值域 vs. 像: 值域 $Y$ (Codomain) 是一个“靶子”,是所有可能的输出值所在的集合。而函数实际命中的那些值,称为像 (Image/Range)。像是值域的一个子集。例如,$f(x)=x^2$ 作为 $\mathbb{R} \to \mathbb{R}$ 的函数,其值域是 $\mathbb{R}$,但它的像是 $[0, \infty)$。这个区别对于理解满射至关重要。
- 空函数: 如果定义域 $X$ 是空集 $\emptyset$,那么从 $\emptyset$到任何集合 $Y$ 的函数是否存在?
- 根据定义,一个函数是 $\emptyset \times Y = \emptyset$ 的一个子集 $G$,且满足“对于每个 $x \in \emptyset$,...”。
- $\emptyset \times Y = \emptyset$ 唯一的子集是 $\emptyset$。所以 $G$ 只能是 $\emptyset$。
- 现在看条件:“对于每个 $x \in \emptyset$,...”,因为定义域是空的,找不到任何一个 $x$ 来检验,所以这个条件“被真空地满足了”(vacuously true)。
- 因此,从 $\emptyset$ 到 $Y$ 的函数是存在的,且是唯一的,这个函数就是空集 $\emptyset$ 本身(它的图像是空的)。这被称为空函数。
📝 [总结]
本节给出了函数的正式集合论定义:一个函数 $f: X \to Y$ 就是笛卡尔积 $X \times Y$ 的一个特殊子集(即图像 $G$),该子集满足“垂直线测试”(即对于定义域 $X$ 中的每个 $x$,都恰好存在一个以 $x$ 为第一分量的有序对在 $G$ 中)。同时强调了定义域和值域是函数的固有组成部分。
🎯 [存在目的]
这个定义的目的是将函数这个动态的“过程”概念,彻底转化为一个静态的、良定义的集合对象,使其能完全被集合论的公理体系所容纳和分析。这为在各种抽象的数学结构上定义和研究函数(或称态射)提供了统一和坚实的基础,是整个现代数学的基石之一。
[直觉心- 1.3.3 函数性质
📜 [原文18]
备注 1.3.2. (i) 注意函数必须在其定义域的所有元素上都有定义;因此,例如,函数 $f(x)=1 / x$ 不能在定义域 $\mathbb{R}$ 上而不对 $f(0)$ 赋值。(这与某些微积分课程中的做法相反,在这些课程中 $f$ 可以不必处处有定义。)
(ii) 两个函数 $f_{1}$ 和 $f_{2}$ 相等当且仅当它们的图像相等,当且仅当,对于所有 $x \in X, f_{1}(x)=f_{2}(x)$。因此,就像集合由其元素指定一样,函数由其值唯一指定。但是我们强调,要使两个函数 $f_{1}$ 和 $f_{2}$ 相等,它们必须具有相同的定义域和值域。
(iii) 如果 $X=\left\{x_{1}, \ldots, x_{n}\right\}$ 是一个有限集,则函数 $f: X \rightarrow Y$ 可以通过一个表格来描述:
| $x_{1}$ |
$x_{2}$ |
$x_{3}$ |
$\ldots$ |
$x_{n}$ |
| $f\left(x_{1}\right)$ |
$f\left(x_{2}\right)$ |
$f\left(x_{3}\right)$ |
$\ldots$ |
$f\left(x_{n}\right)$ |
📖 [逐步解释]
这部分备注进一步阐明了上一节函数定义所带来的一些重要推论和约定。
(i) 全域定义 (Total function)
- 这里强调了函数定义的“存在性”要求,即函数必须对定义域中的每一个元素都有定义。在更专门的术语中,我们这里定义的函数都是“全函数”(total functions)。
- 作者举了 $f(x)=1/x$ 的例子。在高中或初等微积分中,我们可能会说“函数 $f(x)=1/x$ 的定义域是所有非零实数”,这是一种“从规则反推定义域”的思路。
- 但在更严谨的现代代数和分析中,思路是反过来的:我们 先指定定义域。如果我们声明要定义一个函数 $f: \mathbb{R} \to \mathbb{R}$,那么我们就必须为定义域 $\mathbb{R}$ 中的每一个元素(包括0)都指定一个在值域 $\mathbb{R}$ 中的值。对于规则 $f(x)=1/x$,我们无法为 $x=0$ 指定一个值,所以这个规则 无法 定义一个从 $\mathbb{R}$ 到 $\mathbb{R}$ 的函数。
- 要想使用这个规则,我们必须明确地将定义域限制为非零实数,例如定义一个函数 $g: (\mathbb{R}-\{0\}) \to \mathbb{R}$,规则是 $g(x)=1/x$。那么 $f$ 和 $g$ 就是两个不同的函数。
- 作者提到这与某些微积分课程的做法相反,是因为在那些课程中,为了方便,常常模糊处理,默认一个函数表达式的定义域是使其有意义的最大实数子集。而这里的上下文要求更严格的区分。
(ii) 函数的相等 (Function Equality)
- 这里给出了判断两个函数 $f_1$ 和 $f_2$ 何时相等的准则。
- 核心准则: 两个函数相等,当且仅当“对于定义域中所有的 $x$,它们对应的函数值都相等”,即 $f_1(x) = f_2(x)$ 对所有 $x \in X$ 成立。
- 这源于函数的集合论定义:如果两个函数在所有点上的取值都一样,那么它们生成的有序对 $(x, f(x))$ 的集合(即图像)必然是完全相同的。而我们已经把函数定义为其图像,所以图像相等就意味着函数相等。
- 前提条件: 作者特别强调,要比较两个函数是否相等,它们必须首先拥有 相同的定义域 和 相同的值域。
- 例如,令 $f: \mathbb{N} \to \mathbb{N}$ 定义为 $f(n)=n$。令 $g: \mathbb{Z} \to \mathbb{Z}$ 定义为 $g(n)=n$。虽然它们的“规则”都是“返回输入值本身”,但它们是不同的函数,因为它们的定义域和值域都不同。$f$ 的图像是 $\{(1,1), (2,2), \ldots\}$,是 $\mathbb{N} \times \mathbb{N}$ 的子集。$g$ 的图像是 $\{\ldots, (-1,-1), (0,0), (1,1), \ldots\}$,是 $\mathbb{Z} \times \mathbb{Z}$ 的子集。这两个图像集合显然不同。
- 这个要求呼应了 $定义 1.3.1$中“定义域和值域是函数信息的一部分”的论断。
(iii) 有限集上的函数与表格
- 如果定义域 $X$ 是一个有限集,比如 $\{x_1, x_2, \ldots, x_n\}$,那么一个函数 $f: X \to Y$ 就可以被完全、无歧义地通过一个两行的表格来描述。
- 表格的第一行是定义域中的所有元素。
- 表格的第二行是与上一行元素一一对应的函数值。
- 这个表格实际上就是函数图像的另一种表现形式。表格的每一列 $(x_i, f(x_i))$ 都对应了图像集合中的一个有序对。
- 这种表格表示法非常直观,特别是在讨论组合计数、对称群等问题时非常有用。
💡 [数值示例]
- 令 $X = \{-1, 1\}$, $Y = \mathbb{R}$。
- 定义函数 $f_1: X \to Y$ 为 $f_1(x) = x$。
- 定义函数 $f_2: X \to Y$ 为 $f_2(x) = x^3$。
- 这两个函数的规则看起来不同。我们来检查它们是否相等。
- 它们有相同的定义域 $X$ 和值域 $Y$。可以比较。
- 检查定义域中所有点的值:
- 对于 $x=1$: $f_1(1) = 1$, $f_2(1) = 1^3 = 1$。值相同。
- 对于 $x=-1$: $f_1(-1) = -1$, $f_2(-1) = (-1)^3 = -1$。值相同。
- 因为对于所有 $x \in X$,都有 $f_1(x)=f_2(x)$,所以函数 $f_1$ 和 $f_2$ 是相等的。$f_1 = f_2$。
- 它们的图像都是 $\{ (1, 1), (-1, -1) \}$。
- 示例2:(iii) 表格表示
- 令 $X = \{a, b, c\}$, $Y = \{0, 1\}$。
- 一个函数 $f: X \to Y$ 可以由以下表格定义:| x | a | b | c |
- 这个表格完全确定了这个函数。它告诉我们 $f(a)=1, f(b)=0, f(c)=1$。
- 这个函数的图像是 $\{(a, 1), (b, 0), (c, 1)\}$。
⚠️ [易错点]
- 函数的相等条件: 仅仅“规则”看起来一样是不够的,必须检查定义域和值域是否也相同。这是一个在进行严格数学论证时容易忽略的细节。
- 部分函数: 在计算机科学和某些数学领域,也研究“部分函数”(partial functions),即允许定义域中某些元素没有对应值的“函数”。但本书中(以及大多数标准代数和分析中),“函数”一词默认指“全函数”。
📝 [总结]
本备注阐明了函数的三个重要方面:
(i) 函数必须是全域定义的。
(ii) 两个函数相等的充要条件是它们具有相同的定义域、值域,并且在定义域中每一点的取值都相同。
(iii) 有限定义域上的函数可以用表格完美表示。
🎯 [存在目的]
这部分内容旨在消除可能存在的模糊之处,为函数的操作(特别是比较两个函数是否相等)建立清晰、统一的规则。这些规则是后续讨论函数的复合、逆函数以及函数构成的空间(如函数空间、置换群)等概念的基础。没有明确的相等定义,我们就无法判断两个数学对象是否是同一个,也无法进行有效的代数运算。
🧠 [直觉心智模型]
- (ii) 函数相等: 想象两份不同的食谱书 $f_1$ 和 $f_2$。我们要判断这两本书是不是“等价的”。
- 前提: 它们必须使用完全相同的食材清单(定义域),并且宣称能做的菜品范围也一样(值域)。
- 检查: 你拿出食材清单,一个一个地试。对于食材“鸡蛋”,看 $f_1$ 做出来的是什么,$f_2$ 做出来的是什么。如果都是“炒鸡蛋”,就继续检查下一种食材“土豆”。
- 如果对于清单上所有的食材,两本书做出来的菜都一模一样,那么这两本书就是“相等”的,即使它们描述步骤的文字(“规则”)可能不同。
- (iii) 表格: 一份菜单。左边是菜名,右边是价格。这就是一个从“菜品集合”到“价格集合”的函数。这份菜单完美地定义了这个“定价函数”。
💭 [直观想象]
- (ii) 函数相等: 在坐标平面上,两个函数的图像如果完全重合,那么这两个函数就相等。当然,前提是它们是在同一个坐标系(相同的定义域和值域)下绘制的。
- (iii) 表格: 想象一个电路的真值表。输入端是所有可能的输入信号组合(定义域),输出端是对应的输出信号(函数值)。这个真值表就唯一地定义了这个电路的逻辑函数。
1.3.4 函数示例
📜 [原文19]
例 1.3.3. 以下是一些基本的函数示例:
(i) 对于任何集合 $X$,恒等函数 $\operatorname{Id}_{X}: X \rightarrow X$ 满足:对于每个 $x \in X$,$\operatorname{Id}_{X}(x)=x$。因此它在 $X^{2}$ 中的图像是集合
$$
\Delta_{X}=\{(x, x): x \in X\}
$$
我们可以将其视为 $X^{2}$ 的子集中的“对角线”。(对角线是否满足作为函数图像的测试?) 当 $X$ 在上下文中明确时,我们通常将 $\mathrm{Id}_{X}$ 缩写为 $\mathrm{Id}$。
(ii) 一个相关例子是包含:如果 $X \subseteq Y$,则 $\Delta_{X}=\{(x, x): x \in X\}$ 是 $X \times Y$ 的子集,它是从 $X$ 到 $Y$ 的函数图像,我们通常将其表示为包含函数 $i_{X}$。
(iii) 另一个例子,如果 $X, Y \neq \emptyset$,是常数函数:选择 $c \in Y$ 并定义 $f(x)=c$ 对于所有 $x \in X$。(这个函数的图像是什么,为什么它是一个函数?)
(iv) 当然,所有标准的微积分函数都提供了从 $\mathbb{R}$ 到 $\mathbb{R}$ 的函数示例(或者从开区间的并集到 $\mathbb{R}$,如果不是处处有定义的话)。
(v) 另一个例子是笛卡尔积 $X \times X$:给定有序对 $(x_{1}, x_{2})$,我们可以将 $x_{i}$ 视为一个函数,它将值 $x_{1}$ 赋给 1,将 $x_{2}$ 赋给 2。通过这种方式,我们可以将 $X^{2}=X \times X$ 与所有函数 $f:\{1,2\} \rightarrow X$ 的集合等同起来。如果我们要以这种方式定义两个可能不同的集合的笛卡尔积,我们可以将 $X \times Y$ 定义为所有函数 $f:\{1,2\} \rightarrow X \cup Y$ 的集合,使得 $f(1) \in X$ 且 $f(2) \in Y$。同样地,$X^{n}$ 与函数 $f:\{1,2, \ldots, n\} \rightarrow X$ 的集合等同起来,而 $X_{1} \times \cdots \times X_{n}$ 定义为所有函数 $f:\{1,2, \ldots, n\} \rightarrow \bigcup_{i=1}^{n} X_{i}$ 的集合,使得对于每个 $i$ 都有 $f(i) \in X_{i}$。
实数序列 $x_{1}, x_{2}, \ldots$ 与函数 $\mathbb{N} \rightarrow \mathbb{R}$ 是相同的,其中 $\mathbb{N}$ 仍然是自然数集 $\{1,2, \ldots\}$。这里,给定一个函数 $f: \mathbb{N} \rightarrow \mathbb{R}$,我们通过 $x_{i}=f(i)$ 定义一个序列 $x_{1}, x_{2}, \ldots$,反之亦然。更一般地,如果 $X$ 是任何集合,可能是有限的,那么一个值在 $X$ 中的序列 $x_{1}, x_{2}, \ldots$ 与一个函数 $f: \mathbb{N} \rightarrow X$ 是同一回事。
(vi) 两个变量的函数与单变量函数 $f: X \times Y \rightarrow Z$ 是同一回事,换句话说,我们对 $X \times Y$ 的元素(即有序对)求 $f$ 的值。传统上,我们写 $f(x, y)$ 而不是 $f((x, y))$ 来表示 $f$ 在 $(x, y)$ 上的值。对于 $n$ 个变量的函数也有类似的约定。
(vii) 给定笛卡尔积 $X \times Y$,我们有第一和第二投影函数:$\pi_{1}: X \times Y \rightarrow X$ 由 $\pi_{1}(x, y)=x$ 定义,同样地 $\pi_{2}: X \times Y \rightarrow Y$ 由 $\pi_{2}(x, y)=y$ 定义。类似地,对于笛卡尔积 $X_{1} \times \cdots \times X_{n}$,我们可以定义到第 $i$ 个因子的投影 $\pi_{i}: X_{1} \times \cdots \times X_{n} \rightarrow X_{i}$ 为:$\pi_{i}\left(x_{1}, \ldots, x_{n}\right)=x_{i}$。还有更复杂的“部分”投影。例如,给定 $i \neq j$,我们可以定义 $\pi_{i, j}: X_{1} \times \cdots \times X_{n} \rightarrow X_{i} \times X_{j}$ 为:$\pi_{i, j}\left(x_{1}, \ldots, x_{n}\right)=\left(x_{i}, x_{j}\right)$。
(viii) 如果 $X$ 和 $Y$ 是两个集合,那么从 $X$ 到 $Y$ 的所有函数的集合是一个新集合,有时记作 $Y^{X}$:
$$
Y^{X}=\{f: f \text { 是从 } X \text { 到 } Y \text { 的函数 }\} .
$$
如果 $X$ 和 $Y$ 是有限的,例如 $\#(X)=n$ 且 $\#(Y)=m$,那么 $Y^{X}$ 也是有限的,且 $\#\left(Y^{X}\right)=m^{n}$。这遵循备注 1.3.2(iii) 中对函数 $f: X \rightarrow Y$ 的表格描述,注意到在这种情况下,对于 $f\left(x_{1}\right)$ 有 $m$ 种选择,对于 $f\left(x_{2}\right)$ 有 $m$ 种选择,...,对于 $f\left(x_{n}\right)$ 有 $m$ 种选择,总共有 $m^{n}$ 种选择。
给定 $x \in X$,我们通过在 $x$ 处求值得到一个从 $Y^{X}$ 到 $Y$ 的函数 $\mathrm{ev}_{x}$:
$$
\mathrm{ev}_{x}(f)=f(x)
$$
因此,当我们上面写 $f(x)$ 时,符号 $f$ 变成了“变量”。还有一个类似的两变量函数 $e: X \times Y^{X} \rightarrow Y$,定义为
$$
e(x, f)=f(x)
$$
注意投影 $\pi_{i}: X^{n} \rightarrow X$ 是求值的一个特例,通过将 $X^{n}$ 视为 $X^{\{1, \ldots, n\}}$ 并在 $i$ 处求值。换句话说,$\pi_{i}$ 与 $\operatorname{ev}_{i}: X^{\{1, \ldots, n\}} \rightarrow X$ 等同。
📖 [逐步解释]
这部分内容非常丰富,通过一系列具体的例子,展示了函数概念的广泛应用和多种表现形式。
(i) 恒等函数 (Identity Function)
- 对于任何集合 $X$,总存在一个最简单的函数,就是把它自己映射到自己,什么都不改变。这个函数叫恒等函数,记作 $\operatorname{Id}_X$。
- 规则: $\operatorname{Id}_X(x) = x$。输入什么,就输出什么。
- 定义域和值域都是 $X$。
- 图像: 它的图像是 $X \times X$ 中的“对角线” $\Delta_X = \{(x, x) : x \in X\}$。
- 作者提问:“对角线是否满足作为函数图像的测试?” 答案是肯定的。对于每个 $x \in X$,“垂直线” $\{x\} \times X$ 与对角线 $\Delta_X$ 的交集恰好是有序对 $\{(x,x)\}$,只有一个点。所以它是一个合法的函数。
(ii) 包含函数 (Inclusion Function)
- 这是一个与恒等函数密切相关的例子,但定义域和值域不同。
- 当 $X$ 是 $Y$ 的子集时,我们可以定义一个函数 $i_X: X \to Y$,规则是 $i_X(x) = x$。
- 这个函数的作用是把子集 $X$ 的元素“看作”是更大集合 $Y$ 的元素。它什么也没做,只是换了一个“视角”。
- 它的图像也是 $\{(x, x) : x \in X\}$,但这次这个图像被看作是 $X \times Y$ 的子集,而不是 $X \times X$ 的子集。
(iii) 常数函数 (Constant Function)
- 给定非空集合 $X, Y$。从 $Y$ 中挑选一个固定的元素 $c$。
- 我们可以定义一个函数 $f: X \to Y$,它的规则是:无论输入什么,输出永远是那个固定的 $c$。即 $f(x)=c$ 对所有 $x \in X$ 成立。
- 作者提问:“这个函数的图像是什么,为什么它是一个函数?”
- 图像: $G_f = \{(x, c) : x \in X\}$。
- 为什么是函数: 对于每个 $x \in X$,“垂直线” $\{x\} \times Y$ 与 $G_f$ 的交集恰好是有序对 $\{(x, c)\}$,只有一个点。所以满足函数定义。
(iv) 微积分中的函数
- 这是一个回顾性的例子,我们熟悉的 $f(x)=x^2, \sin(x), e^x$ 等都是从 $\mathbb{R}$ (或其子集) 到 $\mathbb{R}$ 的函数。
(v) 笛卡尔积与函数的新视角
- 这部分提供了一个非常深刻和有用的观点:有序元组可以被看作是函数。
- 一个有序对 $(x_1, x_2)$,其中元素来自 $X$。我们可以把它看作一个定义域为 $\{1, 2\}$ 的函数 $f$。这个函数的规则是 $f(1)=x_1, f(2)=x_2$。
- 这个视角完美地捕捉了“有序”的本质:第1个位置对应的值,第2个位置对应的值。
- 这个观点可以推广:
- $X \times Y$ 中的有序对 $(x, y)$ 对应一个函数 $f: \{1,2\} \to X \cup Y$,满足 $f(1)=x \in X$ 和 $f(2)=y \in Y$。
- $X^n$ 中的有序 n-元组 $(x_1, \ldots, x_n)$ 对应一个函数 $f: \{1, 2, \ldots, n\} \to X$。
- $X_1 \times \cdots \times X_n$ 中的有序 n-元组对应一个函数 $f: \{1, 2, \ldots, n\} \to \bigcup X_i$,满足 $f(i) \in X_i$。
- 序列也是函数: 一个无限序列 $x_1, x_2, x_3, \ldots$ (比如数列),其本质就是一个定义域为自然数集 $\mathbb{N}=\{1, 2, 3, \ldots\}$ 的函数 $f: \mathbb{N} \to X$ (其中 $X$ 是序列中各项所在的集合,如 $\mathbb{R}$)。$x_i$ 只是 $f(i)$ 的简写。
(vi) 多变量函数
- 一个二元函数 $f(x, y)$,其本质是一个定义域为笛卡尔积 $X \times Y$ 的单变量函数。它的输入是有序对 $(x, y)$,输出是一个元素 $z \in Z$。
- 所以 $f(x, y)$ 只是 $f((x, y))$ 的一个习惯写法。这个观点将多变量问题统一到了单变量函数的框架下。
(vii) 投影函数 (Projection Function)
- 给定一个笛卡尔积,投影函数的作用是“提取”其中的某个分量。
- $\pi_1: X \times Y \to X$,其规则是 $\pi_1(x, y) = x$。它丢掉第二个分量,只返回第一个。
- $\pi_2: X \times Y \to Y$,其规则是 $\pi_2(x, y) = y$。它丢掉第一个分量,只返回第二个。
- 这个概念可以推广到 $X_1 \times \cdots \times X_n$,其中 $\pi_i$ 返回第 $i$ 个分量。
- 甚至可以有“部分投影”,比如 $\pi_{i,j}$ 返回由第 $i$ 和第 $j$ 个分量组成的新的有序对。
(viii) 函数集 (Function Set) 和 求值函数 (Evaluation Function)
- 函数集: 从集合 $X$ 到集合 $Y$ 的 所有可能的函数 收集起来,它们自身也构成一个集合,记作 $Y^X$。
- 这个记号非常强大。如果 $X, Y$ 是有限集,$\#(X)=n, \#(Y)=m$,那么这个函数集的大小是 $\#(Y^X) = m^n = (\#(Y))^{\#(X)}$。
- 原因: 构造一个函数 $f: X \to Y$。对于 $X$ 中的第一个元素 $x_1$,它的函数值 $f(x_1)$ 可以是 $Y$ 中的任意一个元素,有 $m$ 种选择。对于 $x_2$,它的值 $f(x_2)$ 也有 $m$ 种选择。这个过程对所有 $n$ 个 $X$ 中的元素都独立。根据乘法原理,总的函数个数是 $m \times m \times \cdots \times m$ ($n$ 次),即 $m^n$。
- 求值函数: 这是一个更高阶的函数。
- $\mathrm{ev}_x: Y^X \to Y$。它的定义域是函数集 $Y^X$。它的输入是一个函数 $f$,输出是这个函数 $f$ 在特定点 $x$ 的值 $f(x)$。所以 $\mathrm{ev}_x(f) = f(x)$。
- 这里,平时我们看作函数名的 $f$,变成了被操作的“变量”。
- 还可以定义一个二元求值函数 $e: X \times Y^X \to Y$,输入一个点 $x$ 和一个函数 $f$,输出 $f(x)$。
- 投影是求值的特例: 将有序 n-元组的集合 $X^n$ 看作函数集 $X^{\{1, \ldots, n\}}$ 后,第 $i$ 个投影函数 $\pi_i$ 的作用,就等价于在 $i$ 点的求值函数 $\mathrm{ev}_i$。即 $\pi_i(f) = f(i)$。
💡 [数值示例]
- (i) 恒等函数: 令 $X=\{1,2,3\}$。$\operatorname{Id}_X(2)=2$。图像是 $\{(1,1), (2,2), (3,3)\}$。
- (ii) 包含函数: 令 $X=\{1,2\}$, $Y=\{1,2,3\}$。$i_X: X \to Y$。$i_X(2)=2$。图像是 $\{(1,1), (2,2)\}$,是 $X \times Y$ 的子集。
- (iii) 常数函数: 令 $X=\{\text{猫, 狗}\}, Y=\{\text{会叫, 不会叫}\}$。定义 $f: X \to Y$ 为 $f(x)=\text{会叫}$。则 $f(\text{猫})=\text{会叫}, f(\text{狗})=\text{会叫}$。
- (v) 序列: 数列 $a_n = 1/n$。它就是一个函数 $f: \mathbb{N} \to \mathbb{Q}$,规则是 $f(n)=1/n$。$a_3$ 就是 $f(3)=1/3$。
- (vi) 多变量函数: 加法函数 $add: \mathbb{Z} \times \mathbb{Z} \to \mathbb{Z}$。规则是 $add((x, y)) = x+y$。我们习惯写成 $add(x,y)=x+y$。
- (vii) 投影函数: 令 $P = (A, B, C, D)$ 是一个四元组。$\pi_2(P) = B$, $\pi_4(P) = D$。$\pi_{1,3}(P) = (A, C)$。
- (viii) 函数集: 令 $X=\{0,1\}$, $Y=\{a,b\}$。$\#(X)=2, \#(Y)=2$。
- $Y^X$ 是所有从 $X$ 到 $Y$ 的函数集合。其大小应为 $2^2=4$。我们来列举这4个函数:
- $f_1$: $f_1(0)=a, f_1(1)=a$ (常数函数)
- $f_2$: $f_2(0)=a, f_2(1)=b$
- $f_3$: $f_3(0)=b, f_3(1)=a$
- $f_4$: $f_4(0)=b, f_4(1)=b$ (常数函数)
- $Y^X = \{f_1, f_2, f_3, f_4\}$。
- 求值函数 $\mathrm{ev}_1: Y^X \to Y$ 的作用是:
- $\mathrm{ev}_1(f_1)=f_1(1)=a$
- $\mathrm{ev}_1(f_2)=f_2(1)=b$
- $\mathrm{ev}_1(f_3)=f_3(1)=a$
- $\mathrm{ev}_1(f_4)=f_4(1)=b$
⚠️ [易错点]
- 函数的相等与视角: $X \times Y$ 和从 $\{1,2\}$ 到 $X \cup Y$ 的函数集是“等同”的,但不是严格“相等”的。前者元素是有序对,后者元素是函数(即图像集合)。这种“等同”关系在代数中称为“同构”,是一个核心概念。
- $Y^X$ 的记法: 指数记法 $Y^X$ 与基数公式 $(\#(Y))^{\#(X)}$ 的形式一致性不是巧合,这是选择这个记法的重要原因。但要记住 $Y^X$ 是一个函数的集合,不是一个数。
- 高阶函数: 求值函数 $\mathrm{ev}_x$ 的输入是函数,这种以函数为输入或输出的函数称为高阶函数,在计算机科学(特别是函数式编程)和逻辑学中非常重要。
📝 [总结]
本节通过八个类别的例子,极大地扩展了我们对函数概念的理解:
- 函数可以是简单的恒等、包含、常数映射。
- 函数可以用来重新定义我们熟悉的对象,如有序元组和序列,提供更深刻的统一视角。
- 函数可以用来操作笛卡尔积(投影)。
- 函数本身可以作为元素组成新的集合(函数集),也可以作为其他函数的输入(求值函数)。
🎯 [存在目的]
这部分内容的目的是展示函数作为一个基础数学概念的普适性和强大威力。通过这些例子,作者不仅巩固了函数的定义,更重要的是,它开始引导读者将不同的数学对象(如元组,序列)统一到函数的框架下思考,并初步接触了“高阶”和“抽象”的数学思想(如函数集),这为学习后续的抽象代数结构做好了概念上的准备。
🧠 [直觉心智模型]
- (v) 元组是函数: 想象一张调查问卷,有n个问题。一个n-元组就是一份填写好的答卷。这份答卷就可以看作一个函数,定义域是问题编号{1, ..., n},值域是所有可能的答案。输入问题编号,函数就给出你的答案。
- (vii) 投影: 你有一张包含“姓名、年龄、性别”的个人信息卡(一个三元组)。投影函数 $\pi_1$ 就是一个只看“姓名”的机器人。$\pi_2$ 是只看“年龄”的机器人。
- (viii) 函数集 $Y^X$: 想象一个函数工厂。$X$ 是模具集合,$Y$ 是原材料集合。一个函数就是一种生产方案:对于每个模具,指定一种原材料来生产。$Y^X$ 就是这家工厂所有可能的生产方案的总清单。
- (viii) 求值函数 $\mathrm{ev}_x$: 一个质检员。他的任务是检查所有生产方案($f \in Y^X$)在使用特定模具 $x$ 时,用的是哪种原材料。所以他输入一个方案 $f$,输出一个原材料 $f(x)$。
💭 [直观想象]
- (i) 恒等函数: 一面镜子。你照镜子,看到的就是你自己。
- (iii) 常数函数: 一个坏掉的复读机,不管你对它说什么,它都只会重复一句话“你好”。
- (v) 序列是函数: 一部电影。它就是一个从“时间轴”(定义域 $\mathbb{N}$ 或 $\mathbb{R}^+$)到“图像帧集合”的函数。给定一个时间点,函数就返回那一刻的画面。
- (vii) 投影: 你有一张三维空间中的点 $(x,y,z)$ 的照片。投影函数 $\pi_1$ 就是把这张照片投影到 x 轴上,你只看到了点的 x 坐标。$\pi_{1,2}$ 就是把点投影到 x-y 平面上,你看到了 $(x,y)$。
1.4 像和原像
1.4.1 像与原像的定义
📜 [原文20]
定义 1.4.1. 设 $f: X \rightarrow Y$ 是一个函数。集合
$$
\{y \in Y: \text { 存在 } x \in X \text { 使得 } f(x)=y\}
$$
称为 $f$ 的像或 $\operatorname{Im} f$,我们也将其写为 $f(X)$。有时人们将值域称为共域和/或将值域定义为像。在本文中,我们始终区分像和值域。更一般地,如果 $A$ 是 $X$ 的子集,则我们设置
$$
f(A)=\{y \in Y: \text { 存在 } x \in A \text { 使得 } f(x)=y\}
$$
因此 $f(A) \subseteq Y$。通常,函数 $f: X \rightarrow Y$ 的像将是值域的子集,但不一定等于值域。
我们还为 $Y$ 的子集 $B$ 定义子集
$$
f^{-1}(B)=\{x \in X: f(x) \in B\}
$$
它是 $X$ 的子集,称为 $B$ 的原像。因此 $f^{-1}(B) \subseteq X$。如果 $B=\{y\}$ 只有一个元素,我们写 $f^{-1}(y)$ 而不是 $f^{-1}(\{y\})$。然而,根据这个定义,$f^{-1}(y)$ 是 $X$ 的子集。例如,$f^{-1}(Y)=X$ 且 $f^{-1}(y) \neq \emptyset$ 当且仅当 $y \in f(X)$,即 $y \in \operatorname{Im} f$。注意:原像 $f^{-1}(B)$ 可以为每个函数 $f: X \rightarrow Y$ 和 $Y$ 的每个子集 $B$ 定义,特别是当 $B=\{y\}$ 时。因此这个符号与我们稍后将定义的逆函数的存在性无关,而是旨在在逆函数存在时造成最大的混淆。因此(与许多数学符号的情况一样),上下文将至关重要。
📖 [逐步解释]
这部分定义了两个与函数相关的核心概念:像 (Image) 和 原像 (Preimage)。它们描述了函数如何在定义域的子集和值域的子集之间建立联系。
像 (Image)
- 函数 $f$ 的像: 记作 $\operatorname{Im} f$ 或 $f(X)$。它是值域 $Y$ 的一个子集,由所有“被函数 $f$ 命中”的元素组成。换句话说,一个元素 $y \in Y$ 在像里面,当且仅当定义域 $X$ 中至少有一个元素 $x$ 的函数值是它 ($f(x)=y$)。
- 作者的术语辨析: 作者特别强调了像 (Image) 和值域 (Codomain) 的区别。
- 值域 (Codomain),即 $Y$,是我们在定义函数 $f:X \to Y$ 时预先指定的“靶子”范围。
- 像 (Image),即 $f(X)$,是函数实际射出的所有“箭”的落点集合。
- 像一定是值域的子集 ($f(X) \subseteq Y$),但未必相等。如果像等于值域,这个函数就有一个特殊的名字,叫“满射”。
- 子集的像: 这个概念可以推广。对于定义域 $X$ 的任何一个子集 $A$,它的像 $f(A)$ 就是 $A$ 中所有元素的函数值组成的集合。
原像 (Preimage / Inverse Image)
- 子集的原像: 给定值域 $Y$ 的一个子集 $B$,它的原像记作 $f^{-1}(B)$。这是一个定义域 $X$ 的子集,由所有那些“其函数值落在 $B$ 内部”的输入元素 $x$ 组成。
- 换句话说,一个元素 $x \in X$ 在原像 $f^{-1}(B)$ 里面,当且仅当它的函数值 $f(x)$ 在目标子集 $B$ 里面 ($f(x) \in B$)。
- 单元素的原像: 如果子集 $B$ 只有一个元素 $y$,即 $B=\{y\}$,我们通常把原像简写为 $f^{-1}(y)$。$f^{-1}(y)$ 是定义域中所有使得函数值为 $y$ 的那些 $x$ 的集合。
- 重要: $f^{-1}(y)$ 是一个 集合,不是一个元素!它可能包含多个元素,一个元素,也可能是空集。
- $f^{-1}(y)$ 不为空,当且仅当 $y$ 在函数的像中。
- $f^{-1}(Y)$ (整个值域的原像) 必然等于整个定义域 $X$,因为根据函数定义,每个 $x \in X$ 的值 $f(x)$ 都必须在 $Y$ 中。
关于符号 $f^{-1}$ 的严重警告
- 作者用非常重的语气提醒读者,符号 $f^{-1}$ 在数学中有两种截然不同但看起来一模一样的用法,这极易造成混淆。
- 原像 (Preimage): 如本节所定义,$f^{-1}(B)$ 是一个从 $Y$ 的子集到 $X$ 的子集的映射。这个定义对于 任何函数 $f$ 都有效。$f^{-1}(y)$ 是一个集合。
- 逆函数 (Inverse Function): 我们稍后会定义,只有当函数 $f$ 是双射时,才存在一个逆函数,也记作 $f^{-1}$。这个逆函数 $f^{-1}: Y \to X$ 是一个真正的函数。此时 $f^{-1}(y)$ 表示逆函数在元素 $y$ 上的取值,它是一个 元素。
- 如何区分? 只能依靠上下文!
- 如果 $f^{-1}$ 的参数是一个集合 (如 $f^{-1}(B)$),它几乎总是指原像。
- 如果上下文已经明确 $f$ 是一个双射,并且 $y$ 是一个元素,那么 $f^{-1}(y)$ 通常指逆函数的值。
- 作者坦言,这种符号上的模糊性是“旨在...造成最大的混淆”,这是一种幽默的说法,意在强调其危险性,并让读者保持高度警惕。
💡 [数值示例]
令 $f: \mathbb{Z} \to \mathbb{Z}$ 定义为 $f(x) = x^2$。
定义域和值域都是整数集 $\mathbb{Z}$。
- 整个函数的像: $f(\mathbb{Z}) = \operatorname{Im} f$。这是所有整数平方后得到的结果的集合。
$\operatorname{Im} f = \{0, 1, 4, 9, 16, 25, \ldots\}$,即所有完全平方数。
- 子集的像: 令 $A = \{-2, -1, 0, 1, 2\} \subseteq \mathbb{Z}$。
$f(A) = \{f(-2), f(-1), f(0), f(1), f(2)\} = \{4, 1, 0, 1, 4\}$。
根据集合的互异性, $f(A) = \{0, 1, 4\}$。
- 子集的原像: 令 $B = \{1, 2, 3, 4\} \subseteq \mathbb{Z}$。
$f^{-1}(B)$ 是所有满足 $x^2 \in \{1, 2, 3, 4\}$ 的整数 $x$ 的集合。
- $x^2 = 1 \implies x = 1, -1$。
- $x^2 = 2$ 在整数中无解。
- $x^2 = 3$ 在整数中无解。
- $x^2 = 4 \implies x = 2, -2$。
所以,$f^{-1}(B) = \{-2, -1, 1, 2\}$。
- 单元素的原像:
- $f^{-1}(9)$ 是所有满足 $x^2 = 9$ 的整数 $x$ 的集合。所以 $f^{-1}(9) = \{-3, 3\}$。这是一个包含两个元素的集合。
- $f^{-1}(1) = \{-1, 1\}$。
- $f^{-1}(0) = \{0\}$。这是一个单元素子集。
- $f^{-1}(5)$ 是所有满足 $x^2 = 5$ 的整数 $x$ 的集合。无解。所以 $f^{-1}(5) = \emptyset$。
⚠️ [易错点]
- $f^{-1}(y)$ 是集合: 必须时刻提醒自己,$f^{-1}(y)$ (原像) 是一个定义域的子集,即使它只有一个元素或没有元素。而 $f(x)$ (像) 是值域中的一个元素。
- 符号的混淆: 再次强调,不要把原像 $f^{-1}(B)$ 和逆函数 $f^{-1}$ 混为一谈。前者对任何函数都存在,后者仅对双射函数存在。
- 像和值域: 不要想当然地认为一个函数的输出会占满整个值域。像通常只是值域的一部分。
📝 [总结]
本节定义了函数的两个核心操作:
- 像 (Image) $f(A)$: 将定义域的子集 $A$ “向前”映射到值域中,看它们落在了哪里。
- 原像 (Preimage) $f^{-1}(B)$: 将值域的子集 $B$ “向后”追溯到定义域中,看是哪些元素射向了它。
同时,本节对 $f^{-1}$ 符号的歧义性做了重要的警示。
🎯 [存在目的]
像和原像是研究函数性质的基本工具。
- 像的大小和范围关系到函数是否满射。
- 原像的大小和结构关系到函数是否单射。
- 在拓扑学中,连续函数的定义就依赖于“开集的原像是开集”。
- 在代数中,同态的“核”(kernel) 就是特定元素(单位元)的原像。
掌握这两个概念是深入理解函数行为的关键。
🧠 [直觉心智模型]
继续使用“观众-座位”模型。$f: X \to Y$ 是座位分配方案。
- 像 $f(A)$: A 是一个观众群体(比如“VIP观众”)。$f(A)$ 就是这个VIP观众群体实际坐的所有座位的集合。
- 像 $\operatorname{Im} f$: 所有观众实际坐的所有座位的集合。电影院里可能还有很多空座位,这些空座位在值域 $Y$ 中,但不在像 $\operatorname{Im} f$ 中。
- 原像 $f^{-1}(B)$: B 是一片座位区域(比如“第5排到第10排”)。$f^{-1}(B)$ 就是所有座位在该区域的观众的集合。
- 原像 $f^{-1}(y)$: y 是一个特定的座位,比如“8排5座”。$f^{-1}(y)$ 就是坐在这个座位上的那个观众组成的集合。通常这个集合只有一个元素。但也可能没有人坐($f^{-1}(y)=\emptyset$),或者在某些奇怪的(非函数的)分配方案里有多个人被分配到这个座位。
💭 [直观想象]
使用投影仪的例子。$f: X \to Y$。
- $X$ 是幻灯片(定义域)。
- $Y$ 是幕布(值域)。
- $f$ 是投影这个动作。
- $A \subseteq X$ 是幻灯片上的一块区域(比如上面的一张小图片)。
- 像 $f(A)$: 这块区域 $A$ 投射到幕布上形成的影像。
- 像 $f(X)$: 整张幻灯片投射到幕布上形成的完整影像。这个影像可能占不满整个幕布。
- $B \subseteq Y$ 是幕布上你用粉笔画的一个圈。
- 原像 $f^{-1}(B)$: 幻灯片上所有那些,其投影内容落入你画的那个粉笔圈内的区域。
1.4.2 像与原像的包含关系
📜 [原文21]
从定义可知
$$
\begin{aligned}
& f\left(f^{-1}(B)\right) \subseteq B \\
& A \subseteq f^{-1}(f(A))
\end{aligned}
$$
就我们的基本函数示例而言,我们有:
(i) 对于 $f=\operatorname{Id}_{X}: X \rightarrow X$,子集 $A \subseteq X$ 的像和原像都是 $A$。
(ii) 如果 $X \subseteq Y$ 且 $i_{X}: X \rightarrow Y$ 是包含,那么 $X$ 的子集 $A$ 的像 $i_{X}(A)$ 就是 $A$,视为 $Y$ 的子集,而 $B \subseteq Y$ 的原像 $i_{X}^{-1}(B)$ 是 $B \cap X$。
(iii) 如果 $f: X \rightarrow Y$ 是常数函数 $f(x)=c$ 对于所有 $x \in X$,那么 $Y$ 的子集 $B$ 的原像 $f^{-1}(B)$ 在 $c \notin B$ 时是 $\emptyset$,在 $c \in B$ 时是 $X$。$X$ 的子集 $A$ 的像 $f(A)$ 在 $A=\emptyset$ 时是 $\emptyset$,在 $A \neq \emptyset$ 时是 $\{c\}$。
📖 [逐步解释]
这部分内容探讨了像和原像这两个操作连续作用时的结果,并分析了之前几个基本函数的像和原像。
像与原像的复合关系
这里给出了两个非常重要的包含关系,它们描述了“先求原像再求像”和“先求像再求原像”之后,得到的集合与原始集合的关系。
- $f(f^{-1}(B)) \subseteq B$
- 过程: 从值域 $Y$ 的一个子集 $B$ 出发。
- 先求 $B$ 的原像 $f^{-1}(B)$,得到定义域 $X$ 中的一个子集。这个子集里的元素 $x$ 都满足 $f(x) \in B$。
- 再求这个新得到的子集 $f^{-1}(B)$ 的像。也就是把这里面所有的 $x$ 再通过 $f$ 映射回去。
- 为什么是 $\subseteq$ 而不是 $=$ ?: 因为原像 $f^{-1}(B)$ 只收集了那些函数值落在 $B$ 里的 $x$。当你再把这些 $x$ 映射回去时,它们的函数值 $f(x)$ 根据定义,当然还在 $B$ 里面。但是,$B$ 中可能存在一些“没有被任何 $x$ 命中”的元素。这些元素在一开始就在 $B$ 中,但经过这一来一回的操作后,它们无法出现在最终的结果 $f(f^{-1}(B))$ 里。只有当 $B$ 中的每个元素都至少被一个 $x$ 命中时(即 $B \subseteq f(X)$),等号才成立。
- 结论: “先回来再过去”,可能会丢失一部分“从未被达到”的区域。
- $A \subseteq f^{-1}(f(A))$
- 过程: 从定义域 $X$ 的一个子集 $A$ 出发。
- 先求 $A$ 的像 $f(A)$,得到值域 $Y$ 中的一个子集。
- 再求这个新子集 $f(A)$ 的原像。也就是去寻找所有那些函数值落在 $f(A)$ 里的输入元素。
- 为什么是 $\subseteq$ 而不是 $=$ ?:
- 首先,对于 $A$ 中的任意一个元素 $a \in A$,它的函数值 $f(a)$ 必然在 $f(A)$ 中。因此,$a$ 满足“函数值落在 $f(A)$ 里”的条件,所以 $a$ 必然在 $f^{-1}(f(A))$ 中。这就保证了 $A \subseteq f^{-1}(f(A))$。
- 但是,定义域中可能存在一些 不在 A 中 的元素 $x'$, 它们的函数值恰好和 $A$ 中某个元素的函数值相同,即 $f(x') \in f(A)$。那么根据原像定义,这些 $x'$ 也会被包含在 $f^{-1}(f(A))$ 中。这样一来,$f^{-1}(f(A))$ 就可能比 $A$ 更大。
- 只有当函数 $f$ 是“一对一”的(单射),即不同的输入绝对不会产生相同的输出时,等号才成立。
- 结论: “先过去再回来”,可能会“捎带”上一些拥有相同目标的“局外人”。
基本函数示例分析
(i) 恒等函数 $\operatorname{Id}_X: X \to X$
- 像: $\operatorname{Id}_X(A) = \{ \operatorname{Id}_X(x) : x \in A \} = \{x : x \in A\} = A$。
- 原像: $\operatorname{Id}_X^{-1}(A) = \{ x \in X : \operatorname{Id}_X(x) \in A \} = \{ x \in X : x \in A \} = A$。
- 结论:对于恒等函数,任何子集的像和原像都是它自己。此时上面两个包含关系都是等号。
(ii) 包含函数 $i_X: X \to Y$ (其中 $X \subseteq Y$)
- 像: $i_X(A) = \{i_X(a) : a \in A\} = \{a : a \in A\} = A$。结果 $A$ 被看作是值域 $Y$ 的子集。
- 原像: $i_X^{-1}(B) = \{ x \in X : i_X(x) \in B \} = \{ x \in X : x \in B \}$。一个元素 $x$ 既要在 $X$ 里,又要在 $B$ 里,这正是交集的定义。所以 $i_X^{-1}(B) = X \cap B$。
(iii) 常数函数 $f(x)=c$
- 像: $f(A) = \{f(a) : a \in A\}$。
- 如果 $A=\emptyset$,那么 $f(\emptyset)=\emptyset$。
- 如果 $A \neq \emptyset$,那么 $A$ 里至少有一个元素 $a$,它的函数值是 $c$。所有其他 $A$ 中元素的函数值也都是 $c$。根据集合互异性,所有这些 $c$ 汇集起来还是只有一个元素 $c$。所以 $f(A)=\{c\}$。
- 原像: $f^{-1}(B) = \{x \in X : f(x) \in B\} = \{x \in X : c \in B\}$。
- 如果常数值 $c$ 就在目标子集 $B$ 中 ($c \in B$),那么定义域 $X$ 中的 所有 $x$ 都满足条件,因为它们的函数值 $c$ 在 $B$ 中。所以 $f^{-1}(B)=X$。
- 如果常数值 $c$ 不在目标子集 $B$ 中 ($c \notin B$),那么定义域 $X$ 中 没有一个 $x$ 能满足条件。所以 $f^{-1}(B)=\emptyset$。
💡 [数值示例]
令 $f: \mathbb{Z} \to \mathbb{Z}$ 定义为 $f(x) = x^2$。
- 示例1: 验证 $f(f^{-1}(B)) \subseteq B$
- 令 $B = \{1, 2, 3, 4\}$。
- 我们在上一节计算过 $f^{-1}(B) = \{-2, -1, 1, 2\}$。
- 现在计算 $f(f^{-1}(B)) = f(\{-2, -1, 1, 2\}) = \{(-2)^2, (-1)^2, 1^2, 2^2\} = \{4, 1, 1, 4\} = \{1, 4\}$。
- 我们看到,结果是 $\{1, 4\}$,它是 $B=\{1, 2, 3, 4\}$ 的一个真子集。
- 为什么等号不成立?因为 $B$ 中的元素 2 和 3 都不是任何整数的平方,它们没有“原像”,所以在“先回来再过去”的过程中丢失了。
- 示例2: 验证 $A \subseteq f^{-1}(f(A))$
- 令 $A = \{1, 2\}$。
- 先计算 $f(A) = f(\{1, 2\}) = \{1^2, 2^2\} = \{1, 4\}$。
- 再计算 $f^{-1}(f(A)) = f^{-1}(\{1, 4\})$。这是所有满足 $x^2 \in \{1, 4\}$ 的整数 $x$ 的集合。
- $x^2=1 \implies x = -1, 1$。
- $x^2=4 \implies x = -2, 2$。
- 所以 $f^{-1}(f(A)) = \{-2, -1, 1, 2\}$。
- 我们看到,原始集合 $A=\{1, 2\}$ 确实是结果 $\{-2, -1, 1, 2\}$ 的一个真子集。
- 为什么等号不成立?因为定义域中存在 $A$ 之外的元素(-1 和 -2),它们经过 $f$ 映射后,也落入了 $f(A)$ 的范围。所以在“向后追溯”时,把这些“局外人”也一起包含了进来。
⚠️ [易错点]
- 想当然地使用等号: 这两个包含关系是初学者最容易出错的地方,经常不假思索地当成等号来用,导致证明错误。必须仔细分析函数的性质(是否单射、是否满射)来判断等号是否成立。
- $f(f^{-1}(B))=B \cap \operatorname{Im} f$: 第一个包含关系可以被精确化。$f(f^{-1}(B))$ 实际上等于 $B$ 与函数的像 $\operatorname{Im} f$ 的交集。这解释了为什么它只是 $B$ 的子集。
📝 [总结]
本节揭示了像和原像操作的非可逆性,给出了两个核心的包含关系:$f(f^{-1}(B)) \subseteq B$ 和 $A \subseteq f^{-1}(f(A))$。并详细分析了恒等函数、包含函数和常数函数的像与原像行为,为理解这两个概念提供了坚实的范例。
🎯 [存在目的]
这部分的目的是加深对像和原像这两个工具的理解,特别是它们的局限性。认识到在一般情况下它们不是互逆操作,是进行严谨数学推理所必需的。这促使我们去思考:在什么条件下等号会成立?这个问题自然地引出了后续关于单射和满射的讨论。
🧠 [直觉心智模型]
使用“投影仪-幕布”模型。$f$ 是投影。
- $f(f^{-1}(B)) \subseteq B$:
- B 是幕布上画的一个圈。
- $f^{-1}(B)$ 是幻灯片上所有能投进这个圈的区域。
- $f(f^{-1}(B))$ 是把这个区域再投影回幕布。
- 得到的影像一定在圈 B 里面。但如果圈 B 的某部分(比如一个角落)本来就没有任何投影内容落在那里,那么这个角落在一开始就在 B 中,但在最终的影像里是不会出现的。所以结果只是 B 的子集。
- $A \subseteq f^{-1}(f(A))$:
- A 是幻灯片上的一块图案。
- $f(A)$ 是这块图案在幕布上的影像。
- $f^{-1}(f(A))$ 是幻灯片上所有能投出这个影像的区域。
- 显然,A 本身肯定能投出这个影像,所以 A 是结果的子集。
- 但如果幻灯片上有另一块完全不同的图案 A',它经过投影后恰好和 A 的影像重叠了(比如一个是红色的“A”,另一个是蓝色的“A”,投影仪是黑白的,投出来都是一样的“A”),那么 A' 也会被包含在 $f^{-1}(f(A))$ 中。所以结果可能比 A 更大。
💭 [直观想象]
使用“观众-座位”模型。$f: X \to Y$。
- $f(f^{-1}(B)) \subseteq B$:
- B 是一片座位区域。
- $f^{-1}(B)$ 是所有坐在 B 区域的观众。
- $f(f^{-1}(B))$ 是这些观众所坐的座位的集合。
- 这个集合当然是 B 的子集。但如果 B 区域里有些座位是空的,那么这些空座位就不会出现在最终的集合里。
- $A \subseteq f^{-1}(f(A))$:
- A 是一群观众。
- $f(A)$ 是他们所坐的座位集合。
- $f^{-1}(f(A))$ 是所有坐在这些座位上的人的集合。
- 这当然包括了原来那群观众 A。但如果有一个座位上被分配了两个观众(这在函数中不允许,但可以帮助理解),或者两个不同的观众被分配到了同一个座位,那么这个过程就会把“多余”的人包含进来。对于函数来说,是后一种情况:如果观众 $a \in A$,观众 $x \notin A$,但 $f(a)=f(x)$,那么 $x$ 就会被包含在 $f^{-1}(f(A))$ 中。
1.4.3 函数值域的调整
📜 [原文22]
备注 1.4.2. 如果 $Y$ 是另一个集合 $Y^{\prime}$ 的子集,那么函数 $f: X \rightarrow Y$ 定义(以明显的方式)一个从 $X$ 到 $Y^{\prime}$ 的函数。就图像而言,我们把图像 $G_{f} \subseteq X \times Y$ 视为 $X \times Y^{\prime}$ 的子集。从技术上讲,这是两个不同的函数,尽管我们偶尔会(不正确地)模糊这种区别。此外,给定一个函数 $f: X \rightarrow Y$,我们总是可以将其替换为一个从 $X$ 到 $f(X) \subseteq Y$ 的函数。更一般地,如果 $f(X) \subseteq B \subseteq Y$,那么 $G_{f} \subseteq X \times B$ 并定义一个新函数 $X \rightarrow B$。
📖 [逐步解释]
这部分备注讨论了如何通过调整函数的值域(Codomain)来得到新的、技术上不同但密切相关的函数。
1. 扩大值域
- $如果 $Y \subseteq Y'$,那么 $f: X \to Y$ 可以看作一个 $f': X \to Y'$ 的函数$。
- 解释: 假设我们有一个函数 $f$,它的所有输出值都落在集合 $Y$ 中。现在我们找一个更大的“靶子” $Y'$,它把 $Y$ 完全包含了。那么,原来的函数 $f$ 的对应规则完全不需要改变,它仍然可以被看作是一个映射到 $Y'$ 的函数,因为它的所有输出值也必然都在更大的 $Y'$ 中。
- 技术层面:
- 原函数 $f$ 的图像是 $G_f \subseteq X \times Y$。
- 因为 $Y \subseteq Y'$,所以 $X \times Y \subseteq X \times Y'$。
- 因此,$G_f$ 也是 $X \times Y'$ 的一个子集。
- 这个子集 $G_f$ 仍然满足“垂直线测试”(因为对应规则没变),所以它可以定义一个新函数 $f': X \to Y'$。
- 作者的提醒: 从严格定义上说, $f$ 和 $f'$ 是两个不同的函数,因为它们的值域不同。但在实际应用中,我们常常会不加区分地使用,因为它们的“核心行为”是一样的。
2. 缩小值域
- $给定 $f: X \to Y$,我们可以将其替换为一个 $g: X \to f(X)$ 的函数$。
- 解释: 这是一个非常有用的操作。原始函数 $f$ 的值域 $Y$ 可能很大,但其实际输出值(即像 $f(X)$)可能只占了 $Y$ 的一小部分。我们可以创建一个新函数 $g$,它和 $f$ 有完全相同的定义域 $X$ 和完全相同的对应规则,但我们把它的值域精确地“收缩”到它实际能达到的范围,即 $f(X)$。
- 这样做有一个立竿见影的好处:新函数 $g$ 必然是满射的(Surjective),因为根据定义,它的值域就是它的像。
- 更一般的情况: 只要我们找到任何一个“中间”集合 $B$,它包含了所有的函数实际输出值($f(X) \subseteq B$),但它本身又是原始值域的子集($B \subseteq Y$),我们都可以定义一个新函数 $h: X \to B$。
总结: 我们可以自由地、安全地扩大一个函数的值域,也可以在不丢失任何实际输出信息的前提下,将其值域缩小到它的像(或任何包含其像的集合)。
💡 [数值示例]
- 令 $f: \mathbb{R} \to [0, \infty)$ 定义为 $f(x) = x^2$。这是一个满射函数。
- 因为 $[0, \infty) \subseteq \mathbb{R}$,我们可以把这个函数看作是一个新函数 $f': \mathbb{R} \to \mathbb{R}$,规则同样是 $f'(x)=x^2$。
- 这两个函数技术上是不同的。$f$ 是满射的,而 $f'$ 不是(因为 $\mathbb{R}$ 中所有的负数都无法被 $x^2$ 取到)。
- 示例2:缩小值域
- 令 $g: \mathbb{Z} \to \mathbb{Z}$ 定义为 $g(x) = 2x$。
- 这个函数的值域是整数集 $\mathbb{Z}$。
- 它的像是什么?$g(\mathbb{Z}) = \{2x : x \in \mathbb{Z}\} = \{\ldots, -4, -2, 0, 2, 4, \ldots\}$,即所有偶整数的集合,我们记作 $2\mathbb{Z}$。
- $g$ 不是满射的,因为它的像 $2\mathbb{Z}$ 不等于其值域 $\mathbb{Z}$ (例如,奇数1不在像中)。
- 我们可以通过缩小值域来构造一个新函数 $h: \mathbb{Z} \to 2\mathbb{Z}$,规则是 $h(x)=2x$。
- 这个新函数 $h$ 就是满射的。
⚠️ [易错点]
- 何时需要区分: 在大多数初等计算中,这种值域的调整可能看起来无关紧要。但当讨论函数的性质(如单射、满射、双射)或函数的复合时,值域的精确定义就变得至关重要。一个函数是否满射完全取决于其值域的选择。
- 像的计算: 要进行值域收缩,首先需要能准确地计算出函数的像。
📝 [总结]
本节备注的核心思想是函数的值域是灵活可变的。我们可以通过扩大或缩小值域来构造出技术上不同但行为相似的新函数。特别地,任何函数都可以通过将其值域精确地限制为它的像,从而被转化为一个满射函数。
🎯 [存在目的]
这部分内容是为了让我们更灵活地使用函数这一工具。它揭示了函数的“核心规则”和它的“声明范围”(值域)是两个可以分开考虑的方面。这种灵活性在构建数学证明和定义新结构时非常有用。例如,它告诉我们“满射”并非一个函数对应规则的內禀属性,而是规则与其值域之间的一种关系。
🧠 [直觉心智模型]
想象一个弓箭手在射箭。
- 函数 $f$ 是弓箭手本人和他的射箭技术。
- 定义域 $X$ 是他拥有的所有箭。
- 值域 $Y$ 是整个靶场。
- 像 $f(X)$ 是所有箭最终射中的区域。
- 扩大值域: 靶场 ($Y$) 本来只是一个足球场那么大。现在我们说,整个城市 ($Y'$) 都是靶场。弓箭手 ($f$) 的射箭技术没变,他还是只射向那个足球场。虽然我们现在声称靶场是整个城市,但他实际上还是那个他。从技术上说,他的“比赛项目”变了(从“足球场射箭”变成了“城市射箭”),但他的行为没变。
- 缩小值域: 我们观察到,这个弓箭手虽然号称在整个靶场 ($Y$) 射箭,但他所有的箭都落在了靶心周围一个很小的红圈 ($f(X)$) 里。于是,我们为他重新定义了一个比赛项目:我们就把那个红圈 ($f(X)$) 当作他的新靶场。在这个新比赛里,他被认为是一个“百发百中、覆盖整个靶场”的满射选手。
💭 [直观想象]
你有一个能播放视频的程序 $f$。
- 定义域 $X$: 你的视频文件库。
- 值域 $Y$: 你的整个电脑屏幕。
- $f(x)$ 是播放视频文件 $x$。
- 像 $f(X)$: 视频实际播放时所占据的那个窗口区域。
- 扩大值域: 你把电脑接到了一个更大的电影院屏幕 $Y'$ 上。你的程序 $f$ 仍然只在原来大小的窗口里播放视频,但现在我们说它是在整个电影院屏幕上播放。
- 缩小值域: 你发现你的程序总是在一个固定大小的窗口 $f(X)$ 中播放。你可以修改程序,让它变成一个“窗口模式”程序,它的“世界”就只有那么大 ($f(X)$)。在这个模式下,它被认为是“填满了整个屏幕”的。
1.4.4 函数的限制
📜 [原文23]
定义 1.4.3. 如果 $f: X \rightarrow Y$ 是一个函数且 $A \subseteq X$,那么我们定义 $f$ 到 $A$ 的限制 $f \mid A$ 为函数 $f \mid A: A \rightarrow Y$,由 $(A \times Y) \cap G_{f}$ 定义,其中 $G_{f}$ 是 $f$ 的图像。换句话- 1.5 单射、满射、双射
1.5.1 定义
📜 [原文24]
定义 1.5.1. 函数 $f: X \rightarrow Y$ 是满射或映上的,如果 $f(X)=Y$,换句话说,如果 $f$ 的像是 $Y$。
函数 $f: X \rightarrow Y$ 是单射或一对一的,如果对于所有 $x_{1}, x_{2} \in X, f\left(x_{1}\right)=f\left(x_{2}\right)$ 当且仅当 $x_{1}=x_{2}$。等价地,对于所有 $y \in Y$,集合 $f^{-1}(y)$ 最多只有一个元素。因此,如果对于所有 $y \in Y$,方程 $f(x)=y$ 最多只有一个解,或者换句话说,如果存在解,则它是唯一的,那么 $f$ 是单射的。相比之下,如果对于所有 $y \in Y$,方程 $f(x)=y$ 有解(不一定是唯一的),那么 $f$ 是满射的。函数 $f: X \rightarrow Y$ 既是一对一又是映上的,则称为双射或一一对应。等价地,$f$ 是双射 $\Longleftrightarrow$ 对于所有 $y \in Y$,存在唯一的 $x \in X$ 使得 $f(x)=y$。
📖 [逐步解释]
这部分内容定义了函数的三种非常重要的分类属性:满射、单射和双射。这些属性描述了定义域和值域之间的元素是如何被连接起来的。
1. 满射 (Surjective, Onto)
- 定义: 一个函数 $f: X \to Y$ 是满射的,如果它的像 $f(X)$ 等于它的值域 $Y$。
- 直观解释: 这意味着值域 $Y$ 中的 每一个 元素都至少被定义域 $X$ 中的一个元素“命中”了。靶子上的每一个得分点都有至少一支箭射中它。没有任何一个可能的输出值是被浪费的。
- 方程解释: 对于值域 $Y$ 中的任意一个元素 $y$,方程 $f(x)=y$ 至少有一个解 $x \in X$。
2. 单射 (Injective, One-to-one)
- 定义: 一个函数 $f: X \to Y$ 是单射的,如果它能保证“不同的输入得到不同的输出”。
- 严格定义: 定义是 “$f(x_1) = f(x_2) \Longleftrightarrow x_1=x_2$”。
- 这个双向箭头,其中 $x_1=x_2 \Longrightarrow f(x_1)=f(x_2)$ 这个方向对于任何函数都是天然成立的(同一个输入必然得到同一个输出)。
- 所以,单射的真正核心在于另一个方向:$f(x_1)=f(x_2) \Longrightarrow x_1=x_2$。即“如果输出相等,那么输入必然是同一个”。这正是“不同输入导致不同输出”的逆否命题,两者逻辑等价。
- 原像解释: 一个等价的说法是,对于值域 $Y$ 中的任意一个元素 $y$,它的原像 $f^{-1}(y)$ 这个集合,包含的元素个数不能超过一个(可以是0个或1个)。这意味着靶子上的任何一个点,最多只被一支箭射中。
- 方程解释: 对于值域 $Y$ 中的任意一个元素 $y$,方程 $f(x)=y$ 最多只有一个解。
3. 双射 (Bijective, One-to-one correspondence)
- 定义: 一个函数同时是单射和满射,那么它就是双射的。
- 直观解释: 双射在定义域 $X$ 和值域 $Y$ 之间建立了一个“完美的配对”。
- 满射保证了 $Y$ 中的每个元素都有至少一个来自 $X$ 的“伙伴”。
- 单射保证了 $Y$ 中的每个元素最多只有一个来自 $X$ 的“伙伴”。
- 两者结合,意味着 $Y$ 中的每个元素都有 且仅有 一个来自 $X$ 的“伙伴”。
- 等价定义: 对于值域 $Y$ 中的任意一个元素 $y$,存在唯一的 $x \in X$ 使得 $f(x)=y$。
- “存在”对应满射,“唯一”对应单射。
💡 [数值示例]
令 $X = \{1, 2, 3\}$, $Y = \{a, b\}$。
- 满射但非单射: $f_1 = \{(1, a), (2, b), (3, a)\}$。
- 满射? 像是 $\{a, b\}$,等于值域 $Y$。所以是满射。
- 单射? $f_1(1)=a$ 且 $f_1(3)=a$,但 $1 \neq 3$。所以不是单射。
- 单射但非满射: $f_2: \{1, 2\} \to \{a, b, c\}$ 定义为 $f_2 = \{(1, a), (2, b)\}$。
- 单射? $f_2(1) \neq f_2(2)$。是单射。
- 满射? 像是 $\{a, b\}$,不等于值域 $\{a, b, c\}$ (元素 c 未被命中)。所以不是满射。
- 双射: $f_3: \{1, 2, 3\} \to \{a, b, c\}$ 定义为 $f_3 = \{(1, c), (2, a), (3, b)\}$。
- 单射? 不同输入的输出都不同。是单射。
- 满射? 像是 $\{a, b, c\}$,等于值域。是满射。
- 因此,$f_3$ 是双射。
- 既非单射也非满射: $f_4: \{1, 2, 3\} \to \{a, b, c, d\}$ 定义为 $f_4 = \{(1, a), (2, a), (3, b)\}$。
- 单射? $f_4(1)=f_4(2)=a$。不是单射。
- 满射? 像是 $\{a, b\}$,不等于值域。不是满射。
⚠️ [易错点]
- 满射依赖于值域: 一个函数的规则不变,但如果把值域 $Y$ 换成一个更大的集合,它可能就从满射变成非满射了。所以满射是函数规则和值域之间关系的体现。
- 单射与一对一: “一对一”这个词有时会引起歧义,有些人可能理解为双射。在严谨数学中,“单射”(Injective)是更精确的术语,而“一一对应”(one-to-one correspondence) 通常特指双射。
- 空集上的函数:
- 空函数 $f: \emptyset \to Y$。它是否单射?单射的定义是“如果 $f(x_1)=f(x_2)$ 则 $x_1=x_2$”。因为前提 $f(x_1)=f(x_2)$ 永远无法满足(找不到 $x_1, x_2$),所以这个蕴含式是“真空成立”的。因此空函数是单射的。
- 它是否满射?只有当值域 $Y$ 也是空集时,它才是满射的。
- 因此,从 $\emptyset$到 $\emptyset$ 的空函数是双射。
📝 [总结]
本节定义了函数的三个关键性质:
- 满射 (Surjective): 值域中的每个元素都被命中。
- 单射 (Injective): 不存在两个不同的输入得到相同的输出。
- 双射 (Bijective): 既是单射又是满射,建立了一一的完美对应。
🎯 [存在目的]
这些性质是对函数进行分类和研究的基石。它们决定了一个函数是否“可逆”,两个集合之间是否存在某种“等价”关系。
- 双射的存在意味着两个集合有相同的“大小”或基数。
- 单射和满射是证明双射的两个步骤。
- 这些概念在代数中用于定义同构(保持结构的双射),是判断两个代数结构是否“本质相同”的核心工具。
🧠 [直觉心智模型]
继续使用“观众-座位”模型。$f: X \to Y$ 是座位分配方案。
- 满射: 电影院满座了。没有一个座位是空着的。(可能有的座位挤了两个人,但这在函数中不允许,所以满射意味着观众数大于等于座位数)。
- 单射: 非常文明,没有两个观众被分配到同一个座位。每个人都有自己专属的座位。(可能有些座位是空的)。
- 双射: 完美!电影院满座,且每人一席,不多不少。观众和座位完美地一一对应。这意味着观众人数恰好等于座位数。
💭 [直观想象]
使用韦恩图和箭头来表示函数。$X$ 和 $Y$ 是两个圈,里面的点是元素。箭头从 $X$ 的点指向 $Y$ 的点。
- 满射: $Y$ 中的每一个点,都至少有一个箭头指向它。
- 单射: $Y$ 中的每一个点,都最多只有一个箭头指向它。
- 双射: $Y$ 中的每一个点,都有且仅有一个箭头指向它。
- 非单非满: $Y$ 中有的点有多个箭头指向它,有的点没有箭头指向它。
1.5.2 函数性质示例
📜 [原文25]
例 1.5.2. (i) 取 $X=\mathbb{R}$,函数 $f(x)=x^{2}$ 既不是单射也不是满射。(什么时候 $x_{1}^{2}=x_{2}^{2}$?$f$ 的像是什么?)然而,相应的函数定义了一个单射 $[0, \infty) \rightarrow \mathbb{R}$,一个满射 $\mathbb{R} \rightarrow[0, \infty)$,以及一个双射 $[0, \infty) \rightarrow[0, \infty)$。
(ii) 函数 $f(x)=e^{x}$ 是单射但不是满射。($f$ 的像是什么?)函数 $f(x)=x^{3}+1$ 是一个双射。
(iii) 对于每个集合 $X$,恒等函数 $\operatorname{Id}_{X}: X \rightarrow X$ 始终是一个双射。
(iv) 给定函数 $f: X \rightarrow Y$,备注 1.4.2 中描述的相应函数 $X \rightarrow f(X)$ 自动是满射的。换句话说,我们可以通过缩小值域将每个函数转换为一个(可能不同的)满射函数。
📖 [逐步解释]
这部分通过具体的微积分和代数例子,生动地展示了单射、满射、双射的含义,并强调了这些性质如何依赖于定义域和值域的选择。
(i) $f(x)=x^2$ 的多重身份
- 作为 $f: \mathbb{R} \to \mathbb{R}$:
- 单射?不是。因为存在不同的输入得到相同的输出,例如 $f(2)=4$ 且 $f(-2)=4$,但 $2 \neq -2$。
- 满射?不是。因为它的像是 $[0, \infty)$,即所有非负实数。这不等于值域 $\mathbb{R}$,因为所有的负数,如 -1,都无法被任何实数的平方得到。
- 通过调整域来改变性质: 这个例子最精妙之处在于展示了如何通过“修剪”定义域和值域来“修复”这些性质。
- 构造单射: 如果我们将定义域限制为非负实数 $[0, \infty)$,得到新函数 $g: [0, \infty) \to \mathbb{R}$,规则 $g(x)=x^2$。此时,如果 $x_1^2 = x_2^2$ 且 $x_1, x_2 \ge 0$,那么必然 $x_1=x_2$。所以 $g$ 是单射的。
- 构造满射: 如果我们保持定义域为 $\mathbb{R}$,但将值域缩小为实际的像 $[0, \infty)$,得到新函数 $h: \mathbb{R} \to [0, \infty)$,规则 $h(x)=x^2$。根据定义,这个新函数 $h$ 是满射的。
- 构造双射: 如果我们同时限制定义域和值域,得到新函数 $k: [0, \infty) \to [0, \infty)$,规则 $k(x)=x^2$。这个函数既是单射又是满射,因此是双射。这个函数 $k$ 就是我们熟悉的“开平方”函数 $\sqrt{x}$ 的逆函数。
(ii) 指数函数和三次函数
- $f(x)=e^x$ (作为 $f: \mathbb{R} \to \mathbb{R}$):
- 单射?是。因为 $e^x$ 是一个严格单调递增函数,如果 $x_1 \neq x_2$,那么 $e^{x_1} \neq e^{x_2}$。
- 满射?不是。它的像是所有正实数 $(0, \infty)$,这不等于值域 $\mathbb{R}$。0 和负数都无法取到。
- $f(x)=x^3+1$ (作为 $f: \mathbb{R} \to \mathbb{R}$):
- 双射?是。对于值域 $\mathbb{R}$ 中的任意一个 $y$,我们总能找到唯一的 $x$ 来对应它。解方程 $y = x^3+1 \implies x^3 = y-1 \implies x = \sqrt[3]{y-1}$。因为任何实数都有唯一确定的立方根,所以对于每个 $y$ 都有唯一的 $x$ 解。这同时保证了单射和满射。
(iii) 恒等函数
- $\operatorname{Id}_X: X \to X$ 定义为 $\operatorname{Id}_X(x)=x$。
- 单射?如果 $\operatorname{Id}_X(x_1) = \operatorname{Id}_X(x_2)$,那么 $x_1=x_2$。显然成立。
- 满射?对于值域 $X$ 中的任意一个元素 $y$,我们能找到一个 $x \in X$ 使得 $\operatorname{Id}_X(x)=y$ 吗?能,取 $x=y$ 即可。
- 因此,恒等函数总是双射的。
(iv) 任何函数都能变成满射
- 这是对备注 1.4.2 的重申和总结。对于任何函数 $f: X \to Y$,它的像是 $f(X)$。如果我们定义一个新函数 $g: X \to f(X)$,其规则与 $f$ 完全相同,那么 $g$ 的值域就是 $f(X)$,而它的像根据定义也是 $f(X)$。像与值域相等,所以 $g$ 必然是满射的。
💡 [数值示例]
这些例子本身就是最好的数值示例。我们可以用图表来进一步说明。
- 对于 (i) $f(x)=x^2$:
- 在 $\mathbb{R} \to \mathbb{R}$ 的图上,画一条水平线 $y=4$,它与抛物线交于 $(-2, 4)$ 和 $(2, 4)$ 两点,违反了单射的“水平线测试”。画一条水平线 $y=-1$,它与抛物线没有交点,说明值域中的-1没有被命中,违反了满射。
- 在 $[0, \infty) \to \mathbb{R}$ 的图上(只有右半边抛物线),任何水平线最多只有一个交点,所以是单射。
- 在 $[0, \infty) \to [0, \infty)$ 的图上,任何位于新值域(y轴上半部分)的水平线都有且仅有一个交点,所以是双射。
⚠️ [易错点]
- 忽略定义域和值域: 这些例子反复强调,不谈定义域和值域,只谈一个函数规则(如“$x^2$”)是否单射或满射是没有意义的。
- 单调性与单射: 对于实数上的函数,严格单调(严格递增或严格递减)是单射的一个充分条件,但不是必要条件(例如一个在不同区间来回震荡但从不取重复值的函数)。
📝 [总结]
本节通过一系列经典函数例子,具体展示了:
- 一个函数的单射、满射性质可以如何判断。
- 这些性质是如何随着定义域和值域的改变而改变的。
- 任何函数都可以通过调整其值域变为满射。
🎯 [存在目的]
这部分内容的目的是将抽象的定义与学生熟悉的具体函数联系起来,加深对单射、满射、双射的直观理解。更重要的是,通过 $f(x)=x^2$ 的例子,它揭示了通过调整函数的“作用范围”来改变其本质属性的思想,这是数学中常用的一种构造和论证技巧。
🧠 [直觉心智模型]
使用“弓箭手”模型。$f: X \to Y$。
- (i) $f(x)=x^2$ on $\mathbb{R} \to \mathbb{R}$: 弓箭手($f$)只能射中靶场($\mathbb{R}$)的上半部分($[0, \infty)$),所以他不是满射的。而且他有两支不同的箭(比如-2号箭和2号箭)都射中了同一个点(4号环),所以他也不是单射的。
- 限制定义域: 如果我们只让他用正数号的箭($[0, \infty)$),那么他就不会有两支箭射中同一点的情况了,他就变成了单射选手。
- 限制值域: 如果我们把靶场缩小到他能射中的上半部分($[0, \infty)$),那么在这个新靶场里,他就被认为是满射的。
- (ii) $f(x)=e^x$: 弓箭手能做到每一箭都射中不同的点(单射),但他永远射不中0环和靶心下方的负数环(非满射)。
- (iii) $\operatorname{Id}_X$: 一个神奇的弓箭手,他拥有的箭的编号和他要射中的靶心环的编号完全一样,并且他能保证i号箭精确地射中i号环。这是一个完美的双射。
💭 [直观想象]
使用函数图像和水平线测试(将在下一节正式引入)是理解这些例子的最佳直观方式。
- $y=x^2$ (抛物线): 水平线可以与之有两个交点(非单射)或没有交点(非满射)。
- $y=e^x$ (指数曲线): 水平线最多一个交点(单射),但不能是任意水平线(非满射)。
- $y=x^3+1$ (三次曲线): 任何水平线都有且仅有一个交点(双射)。
- $y=x$ (对角线): 任何水平线都有且仅有一个交点(双射)。
1.5.3 水平线测试与转置图像
📜 [原文26]
单射或满射的性质也可以通过“水平线”来描述,换句话说,通过形式为 $X \times\{y\}$ 的 $X \times Y$ 的子集(当 $X=Y=\mathbb{R}$ 时,它们恰好是水平线)。函数 $f: X \rightarrow Y$ 是单射 $\Longleftrightarrow$ 对于每个 $y \in Y$,图像 $G_{f}$ 与 $X \times\{y\}$ 的交集,即 $G_{f} \cap(X \times\{y\})$,最多有一个点。函数 $f$ 是满射 $\Longleftrightarrow$ 对于每个 $y \in Y$,图像 $G_{f}$ 与 $X \times\{y\}$ 的交集,即 $G_{f} \cap(X \times\{y\})$,至少有一个点。因此,$f$ 是双射 $\Longrightarrow$ 对于每个 $y \in Y$,图像 $G_{f}$ 与 $X \times\{y\}$ 的交集,即 $G_{f} \cap(X \times\{y\})$,恰好有一个点。这可以解释如下:对于 $X \times Y$ 的每个子集 $A$,我们通过以下方式得到 $Y \times X$ 的一个新子集 ${ }^{t} A$:
$$
{ }^{t} A=\{(y, x):(x, y) \in A\}
$$
这是“关于对角线反射”的抽象类比。上述说法是 $f$ 是双射 $\Longleftrightarrow$ 当 ${ }^{t} G_{f}$ 被视为 $Y \times X$ 的子集时,它满足“垂直线测试”。因此:
📖 [逐步解释]
这部分内容将单射、满射、双射的代数定义与函数图像的几何性质联系起来,引入了“水平线测试”,并为定义逆函数做好了最后的铺垫。
水平线测试 (Horizontal Line Test)
- 这个测试与定义函数的“垂直线测试”相对应,它用来检验函数的单射/满射性。
- 作者首先将其推广到抽象集合。一条“水平线”是在值域 $Y$ 中固定一个值 $y$,然后考虑笛卡尔积 $X \times Y$ 中所有第二分量为 $y$ 的点,即子集 $X \times \{y\}$。
- 单射的几何意义:
- 一个函数是单射的,意味着对于任何一个输出值 $y$,最多只有一个输入值 $x$ 能得到它。
- 这反映在图像上就是:任何一条“水平线” $X \times \{y\}$ 与函数图像 $G_f$ 最多只有一个交点。如果有两个交点 $(x_1, y)$ 和 $(x_2, y)$,就意味着 $f(x_1)=f(x_2)=y$ 但 $x_1 \neq x_2$,违反了单射定义。
- 满射的几何意义:
- 一个函数是满射的,意味着值域 $Y$ 中的任何一个值 $y$,都至少有一个输入值 $x$ 能得到它。
- 这反映在图像上就是:任何一条“水平线” $X \times \{y\}$ 与函数图像 $G_f$ 至少有一个交点。如果没有交点,就意味着这个 $y$ 值没有被任何 $x$ 命中,违反了满射定义。
- 双射的几何意义:
- 结合两者,一个函数是双射的,当且仅当任何一条“水平线”与函数图像 $G_f$ 有且仅有一个交点。
转置图像与逆函数
- 这里作者引入了一个非常漂亮的思想。首先定义了一个操作:转置 (transpose)。
- 对于笛卡尔积 $X \times Y$ 的任何一个子集 $A$,它的转置 $\{\}^t A$ 是 $Y \times X$ 的一个子集,通过将 $A$ 中所有有序对的两个分量交换位置得到。
- 几何类比: 如果 $X=Y=\mathbb{R}$,这个操作就相当于将平面上的一个图形关于直线 $y=x$ 做轴对称变换。
- 关键洞察:
- 我们知道一个函数 $f: X \to Y$ 是双射 $\iff$ 它的图像 $G_f$ 通过了“水平线测试”(每条水平线恰好一个交点)。
- 现在我们对图像 $G_f$ 进行转置,得到 $\{\}^t G_f$。
- $G_f$ 中的点是 $(x, f(x))$,那么 $\{\}^t G_f$ 中的点就是 $(f(x), x)$。
- $G_f$ 的“水平线测试”是在 $Y$ 中取一个 $y$,看有多少个 $x$ 使得 $(x, y) \in G_f$。
- $\{\}^t G_f$ 的“垂直线测试”是在 $Y$ 中取一个 $y$(现在 $Y$ 是新定义域),看有多少个 $x$ 使得 $(y, x) \in \{\}^t G_f$。
- 这两个测试问的是完全同一个问题!
- 结论: 函数 $f$ 是双射的,当且仅当它的转置图像 $\{\}^t G_f$ 满足作为函数(从 $Y$ 到 $X$)的“垂直线测试”。
- 这个由 $\{\}^t G_f$ 所定义的从 $Y$ 到 $X$ 的新函数,就是 $f$ 的逆函数。
💡 [数值示例]
- 示例1: $f: \mathbb{R} \to \mathbb{R}$, $f(x)=2x+1$。这是一个双射。
- 图像 $G_f$ 是一条斜率不为0的直线。
- 水平线测试: 任何水平线 $y=c$ 与这条直线都有且仅有一个交点(解方程 $c=2x+1 \implies x=(c-1)/2$ 得到唯一解)。所以是双射。
- 转置图像: $G_f = \{(x, 2x+1) : x \in \mathbb{R}\}$。
- $\{\}^t G_f = \{(2x+1, x) : x \in \mathbb{R}\}$。为了看清它的函数形式,我们令新变量 $y=2x+1$,则 $x=(y-1)/2$。
- 所以 $\{\}^t G_f = \{(y, (y-1)/2) : y \in \mathbb{R}\}$。
- 这正是函数 $g(y) = (y-1)/2$ 的图像。它满足从 $\mathbb{R}$ 到 $\mathbb{R}$ 的函数定义(通过了垂直线测试)。这个 $g$ 就是 $f$ 的逆函数 $f^{-1}$。
- 示例2: $f: \mathbb{R} \to \mathbb{R}$, $f(x)=x^2$。非双射。
- 图像 $G_f$ 是抛物线。
- 转置图像 $\{\}^t G_f = \{(x^2, x) : x \in \mathbb{R}\}$。在 $Y \times X$ 坐标系中,这相当于 $x=y^2$ 的图像,是一个“横躺的”抛物线。
- 对这个横躺的抛物线做“垂直线测试”,例如在 $y=4$ 处,垂直线与图像有两个交点 $(4, 2)$ 和 $(4, -2)$。
- 因为它没有通过垂直线测试,所以 $\{\}^t G_f$ 不是一个函数的图像。这与 $f$ 不是双射的结论是一致的。
⚠️ [易错点]
- 测试的主体: 垂直线测试作用于一个子集,判断它是否为函数。水平线测试作用于一个已知的函数图像,判断它是否单射/满射。不要混淆。
- 转置的坐标系: 对图像进行转置后,原来的 $X$ 轴和 $Y$ 轴的角色也互换了。新的“垂直线”是平行于原来 $X$ 轴的。
📝 [总结]
本节将单射、满射和双射的代数定义转化为直观的几何“水平线测试”。更进一步,它通过“转置图像”的操作,巧妙地将一个函数是否双射的问题,转化为了其转置图像是否满足“垂直线测试”的问题,从而在集合论的框架下,自然地引出了逆函数的存在性问题。
🎯 [存在目的]
这部分内容旨在建立代数定义和几何直观之间的桥梁,使得对函数性质的判断更加容易。同时,通过转置图像这一精巧的构造,它为逆函数的正式定义提供了一个坚实、无缝的理论入口,展示了数学概念之间深刻而优美的联系。
🧠 [直觉心智模型]
- 水平线测试: 继续“观众-座位”模型。
- 单射测试: 检查每一排座位,看是否最多只有一个观众。如果发现某一排(一个y值)上有两个观众(两个x值),则违反单射。
- 满射测试: 检查每一排座位,看是否至少有一个观众。如果发现某一排是空的,则违反满射。
- 转置图像: 原来的票根是 $(观众, 座位号)$。现在你制作一批新的“反向票根”,上面写的是 $(座位号, 观众)$。
- 双射与逆函数: “分配方案是双射的” 就等价于 “这批反向票根是合法的(即一个座位号只对应一个观众)”。这份合法的反向票根集合,就定义了一个新的函数——逆函数,它可以根据座位号查到是谁坐在那里。
💭 [直观想象]
- 水平线测试: 在函数 $y=f(x)$ 的图上画各种水平线。
- 线与图总有交点 $\implies$ 满射。
- 线与图从不相交超过一次 $\implies$ 单射。
- 线与图总是有且仅有一个交点 $\implies$ 双射。
- 转置图像: 将绘图纸沿着 $45^\circ$ 对角线(直线 $y=x$)翻转。
- 逆函数: 如果翻转后的图形,仍然满足“任何垂直线最多只与之相交一次”的函数条件,那么原函数就是双射的,而这个翻转后的图形就是其逆函数的图像。
1.5.4 逆函数的命题
📜 [原文27]
命题 1.5.3. 函数 $f: X \rightarrow Y$ 是双射 $\Longleftrightarrow$ 子集 ${ }^{t} G_{f} \subseteq Y \times X$ 是从 $Y$ 到 $X$ 的函数图像。这个函数记作 $f^{-1}$。
$f^{-1}$ 的定义性质如下:
$$
y=f(x) \Longleftrightarrow x=f^{-1}(y)
$$
📖 [逐步解释]
这个命题是上一节推理的正式总结,它确立了双射函数和逆函数之间最核心的等价关系。
命题的含义
它声明了以下两件事是完全等价的:
- 函数 $f: X \to Y$ 是一个双射。
- 将 $f$ 的图像 $G_f$ 进行“分量翻转”操作得到的转置图像 $\{\}^t G_f$,本身是一个合法的从 $Y$ 到 $X$ 的函数的图像。
这个命- 1.5.5 双射与集合基数
📜 [原文28]
备注 1.5.4. 如果 $X$ 和 $Y$ 是有限集,并且 $f: X \rightarrow Y$ 是一个双射,那么 $\#(X)=\#(Y)$。事实上,我们可以通过以下方式定义一个有限集 $X$:$X$ 是有限的 $\Longleftrightarrow$ 对于某个自然数 $n$,存在一个从集合 $\{1, \ldots, n\}$ 到 $X$ 的双射,在这种情况下 $\#(X)=n$。(因此,根据定义,一个无限集 $X$ 是指对于每个自然数 $n$,都不存在从 $\{1, \ldots, n\}$ 到 $X$ 的双射。)
更一般地,如果 $X$ 和 $Y$ 是有限集,则
(i) 存在双射 $f: X \rightarrow Y \Longleftrightarrow \#(X)=\#(Y)$。
(ii) 存在单射 $f: X \rightarrow Y \Longleftrightarrow \#(X) \leq \#(Y)$。
(iii) 存在满射 $g: X \rightarrow Y \Longleftrightarrow \#(X) \geq \#(Y)$。
(iv) 如果 $\#(X)=\#(Y)$ 且 $g: X \rightarrow Y$ 是一个函数,那么 $g$ 是单射 $\Longleftrightarrow g$ 是满射 $\Longleftrightarrow g$ 是双射。
上述三条事实中的任何一条都称为鸽巢原理。
📖 [逐步解释]
这部分备注探讨了单射、满射、双射与有限集大小(基数)之间的深刻联系。
双射与计数
- 双射意味着大小相等: 如果在两个有限集之间能建立一个双射,就意味着它们之间存在一个“完美配对”,$X$ 中的每个元素都唯一地对应到 $Y$ 中的一个元素,反之亦然。这直观地说明了它们的元素个数必然相等。
- 用双射定义“计数”: 作者接着指出了一个更根本的观点。我们平时“数数”的过程,例如数一个房间里有5个人,其数学本质就是在这5个人的集合 $X$ 和标准集合 $\{1, 2, 3, 4, 5\}$ 之间,建立了一个双射(你给每个人依次贴上1到5的标签)。因此,一个集合是有限的且其基数为 $n$,可以被严格地定义为:它与标准集合 $\{1, \ldots, n\}$ 之间存在双射。
- 无限集的定义: 反过来,一个无限集就是无法与任何形如 $\{1, \ldots, n\}$ 的集合建立双射的集合。
鸽巢原理 (Pigeonhole Principle)
作者将以下几个关于有限集上函数的事实统称为鸽巢原理。这个原理的通俗版本是“如果你有n+1只鸽子要放进n个鸽巢,那么至少有一个鸽巢里有多于一只鸽子”。
- (i) 双射与相等基数: 这是对前面观点的重申和总结。两个有限集大小相等是它们之间可以建立双射的充分必要条件。
- (ii) 单射与小于等于: 从 $X$ 到 $Y$ 存在一个单射,当且仅当 $X$ 的元素个数小于或等于 $Y$ 的元素个数。
- $\Longrightarrow$: 如果 $\#(X) > \#(Y)$(鸽子比巢多),你想把 $X$ 中的每个元素都映射到 $Y$ 中不同的元素上,是做不到的。根据鸽巢原理,必然有两个或更多的 $X$ 元素被映射到同一个 $Y$ 元素上,这就破坏了单射性。
- $\Longleftarrow$: 如果 $\#(X) \le \#(Y)$,我们总能从 $Y$ 中选出 $\#(X)$ 个元素来和 $X$ 的元素一一配对,从而构造一个单射。
- (iii) 满射与大于等于: 从 $X$ 到 $Y$ 存在一个满射,当且仅当 $X$ 的元素个数大于或等于 $Y$ 的元素个数。
- $\Longrightarrow$: 如果 $\#(X) < \#(Y)$(鸽子比巢少),你无论如何分配,都不可能让 $X$ 中的元素覆盖掉 $Y$ 中所有的元素。至少会有一个 $Y$ 中的元素没有被“命中”。
- $\Longleftarrow$: 如果 $\#(X) \ge \#(Y)$,我们总有足够多的“弹药”($X$的元素)去覆盖掉整个目标($Y$)。
- (iv) 有限集上的三位一体: 这是鸽巢原理一个极其重要的推论,并且 仅对有限集 成立。如果两个有限集 $X$ 和 $Y$ 的大小相等,那么对于任何一个从 $X$ 到 $Y$ 的函数 $g$,它的单射、满射和双射三个性质是“捆绑”在一起的:只要满足其中一个,就必然满足另外两个。
- 例如,如果 $g$ 是单射,根据(ii) $\#(X) \le \#(Y)$。因为已知 $\#(X)=\#(Y)$,所以这不会提供新信息。但如果 $g$ 不是满射,则它的像 $g(X)$ 是 $Y$ 的一个真子集,所以 $\#(g(X)) < \#(Y)$。但由于 $g$ 是单射,$\#(g(X))=\#(X)$。于是得到 $\#(X) < \#(Y)$,这与已知条件矛盾。所以 $g$ 必须是满射的。
- 这个性质在无限集上完全不成立。例如,在自然数集 $\mathbb{N}$ 上,函数 $f(n)=n+1$ 是单射但不是满射(1没有被命中)。
💡 [数值示例]
令 $X=\{1,2,3\}$ ($\#(X)=3$), $Y=\{a,b\}$ ($\#(Y)=2$)。
- (ii) 单射: 能否构造 $f: X \to Y$ 的单射?不能,因为 $\#(X) > \#(Y)$ (鸽子比巢多)。无论如何映射,$\{f(1), f(2), f(3)\}$ 这个集合最多只有2个元素,而 $X$ 有3个元素,所以必然有重复。
- (iii) 满射: 能否构造 $g: X \to Y$ 的满射?能,因为 $\#(X) > \#(Y)$。例如,$g(1)=a, g(2)=b, g(3)=a$。像是 $\{a,b\}=Y$,所以是满射。
令 $A=\{1,2,3\}$, $B=\{a,b,c\}$。$\#(A)=\#(B)=3$。
- (iv) 三位一体: 定义 $f: A \to B$。
- 如果我定义 $f(1)=a, f(2)=b, f(3)=b$。它不是单射(因为 $f(2)=f(3)$)。根据(iv),它也必不满射。检查一下:像是 $\{a,b\}$,确实不等于 $B$。
- 如果我定义 $f(1)=a, f(2)=b, f(3)=c$。这是单射的。因为 $\#(A)=\#(B)$,根据(iv),它必须也是满射的,从而也是双射的。检查一下:像是 $\{a,b,c\}=B$,确实是满射。
⚠️ [易错点]
- 鸽巢原理只对有限集: 必须牢记(iv)中单射、满射、双射的等价性只在域和值域大小相等的有限集之间成立。对于无限集,这是最常见的错误来源之一。
- 存在性: (i), (ii), (iii)讨论的是函数的“存在性”,而不是说任何一个函数都满足。例如,即使 $\#(X) \ge \#(Y)$,我们仍然可以构造出一个从 $X$ 到 $Y$ 的非满射函数(比如常数函数)。
📝 [总结]
本节备注的核心是建立了函数性质(单射、满射、双射)与有限集基数大小关系之间的等价桥梁,这一系列关系被统称为鸽巢原理。特别地,对于大小相同的两个有限集,这三个性质是等价的。
🎯 [存在目的]
这部分内容为我们提供了一种通过比较集合大小来判断函数性质的强大工具,反之亦然。它将抽象的函数性质与具体的“计数”问题联系起来,是组合数学和离散数学中进行论证的基础。同时,通过强调其在有限集上的独特性,也为下一节对比引入无限集的奇异性质埋下伏笔。
🧠 [直觉心智模型]
- 鸽巢原理: 想象给一群鸽子($X$)分配巢穴($Y$)。
- 单射: 每只鸽子住一个单独的巢穴。这要求巢穴数至少要和鸽子数一样多 ($\#(Y) \ge \#(X)$)。
- 满射: 所有巢穴都必须有鸽子住。这要求鸽子数至少要和巢穴数一样多 ($\#(X) \ge \#(Y)$)。
- 双射: 每只鸽子都有唯一的巢穴,且所有巢穴都被占满。这要求鸽子数和巢穴数必须完全相等。
- (iv): 如果鸽子数和巢穴数恰好相等,那么“给每只鸽子一个单独的巢穴”这件事,就等价于“所有巢穴都被占满”这件事。
💭 [直观想象]
想象你在玩一个配对游戏,左边有 $m$ 个插头($X$),右边有 $n$ 个插座($Y$)。
- 一个函数就是一种接线方案。
- 单射: 每个插头都接在不同的插座上。这要求 $n \ge m$。
- 满射: 所有插座都被接上了。这要求 $m \ge n$。
- 双射: 完美连接,每个插头都唯一地连接到一个插座,且所有插座都被用上。这要求 $m=n$。
- (iv): 如果插头和插座数量一样多($m=n$),那么“每个插头都接不同插座”的方案,必然导致“所有插座都被接上”的结果。
1.5.6 无限集的性质
📜 [原文29]
备注 1.5.5. 很容易得出,如果 $X$ 是有限的且 $A$ 是 $X$ 的真子集,那么 $\#(A)< \#(X)$ 且不存在从 $A$ 到 $X$ 的双射。结果表明,无限集可以通过相反的性质来表征:$X$ 是无限的 $\Longleftrightarrow$ 存在 $X$ 的真子集 $A$ 和一个从 $A$ 到 $X$ 的双射。
尽管我们不会使用无限基数的语言,但如果存在从 $\mathbb{N}$ 到 $X$ 的双射,则集合 $X$ 是可数的。例如,$\mathbb{N}, \mathbb{Z}$ 和 $\mathbb{Q}$ 都是可数的。如果不存在从 $\mathbb{N}$ 到 $X$ 的双射,则无限集 $X$ 是不可数的。例如,康托的一个著名结果是 $\mathbb{R}$ 是不可数的。此外,幂集 $\mathcal{P}(\mathbb{N})$ 是不可数的(事实上,存在从 $\mathcal{P}(\mathbb{N})$ 到 $\mathbb{R}$ 的双射)。
📖 [逐步解释]
这部分备注对比了有限集和无限集的一个根本区别,并引入了对无限集进行分类的两个基本概念:可数与不可数。
无限集的反直觉定义
- 有限集的性质: 对于一个有限集 $X$,它的任何一个真子集 $A$ (即 $A \subseteq X$ 且 $A \neq X$) 的元素个数都严格小于 $X$ 的元素个数。因此,在 $A$ 和 $X$ 之间不可能建立双射(根据鸽巢原理)。这符合我们的直觉:“部分”不能等于“整体”。
- 无限集的定义 (戴德金无限): 无限集的性质则完全违反这个直觉。一个集合 $X$ 是无限的,当且仅当它可以和它的某个真子集 $A$ 建立双射。这意味着,无限集可以做到“部分”与“整体”一样“大”。
- 例子: 自然数集 $\mathbb{N}=\{1, 2, 3, \ldots\}$ 是无限的。它的一个真子集是偶自然数集 $E=\{2, 4, 6, \ldots\}$。我们可以定义一个双射 $f: \mathbb{N} \to E$,规则是 $f(n)=2n$。
- 单射? 如果 $f(n_1)=f(n_2)$,则 $2n_1=2n_2$,所以 $n_1=n_2$。是单射。
- 满射? 对于 $E$ 中任意一个偶数 $y$,我们总能找到一个自然数 $x=y/2$ 使得 $f(x)=y$。是满射。
- 既然存在从 $\mathbb{N}$ 到其真子集 $E$ 的双射,根据这个定义,$\mathbb{N}$ 是无限集。
无限集的分类
作者接着指出,虽然我们不深入探讨无限基数理论,但有一个最基本的分类是需要了解的。这个分类的标准是:能否与最基础的无限集——自然数集 $\mathbb{N}$ ——建立双射。
- 一个集合 $X$ 是可数的,如果它是有限的,或者它可以与自然数集 $\mathbb{N}$ 建立双射。
- “可以与 $\mathbb{N}$ 建立双射”的无限集有时被称为“可数无限集”。这意味着这个集合的元素虽然无限多,但可以像自然数一样,被一一列举出来,打上标签1, 2, 3, ...,一个不漏,一个不重。
- 例子:
- $\mathbb{N}$ 自身显然是可数的。
- $\mathbb{Z}$ (整数集) 是可数的。我们可以这样来数:$0, 1, -1, 2, -2, 3, -3, \ldots$。这个过程可以囊括所有整数。
- $\mathbb{Q}$ (有理数集) 也是可数的。这更反直觉,因为有理数在数轴上看起来那么“密集”。但我们可以通过一个巧妙的方法(如康托的对角线方法的一种变体)将所有分数排列成一个序列,从而证明其可数性。
- 不可数集 (Uncountable Set):
- 一个无限集,如果它无法与自然数集 $\mathbb{N}$ 建立双射,那么它就是不可数的。
- 这意味着这个集合的元素是“太多了”,多到无法用1, 2, 3, ... 这样的序列来穷尽它们。它的“无限”是比自然数的“无限”更“大”的一种无限。
- 例子:
- $\mathbb{R}$ (实数集): 这是最著名的不可数集。康托的对角线论证证明了这一点。它表明,任意两个实数之间都包含了比所有自然数还多的元素。
- $\mathcal{P}(\mathbb{N})$ (自然数集的幂集): 康托的另一个深刻结果是,任何集合 $X$ 的幂集 $\mathcal{P}(X)$ 的“大小”都严格大于 $X$ 的“大小”。因此,$\mathcal{P}(\mathbb{N})$ 是比 $\mathbb{N}$ 更“大”的无限集,所以它是不可数的。
- 作者还补充说,事实上 $\mathcal{P}(\mathbb{N})$ 和 $\mathbb{R}$ 是可以建立双射的,它们代表了同一种等级的无限,即“连续统的基数”。
💡 [数值示例]
- 戴德金无限的例子 (Hilbert's Hotel):
- 想象一个有无限个房间的旅馆(房间号为1, 2, 3, ...),并且所有房间都住满了人。这是一个无限集 $X = \{\text{客人1, 客人2, ...}\}$。
- 现在来了一个新客人。旅馆经理如何安排?他让1号房的客人搬到2号房,2号房的客人搬到3号房,...,n号房的客人搬到n+1号房。这样,1号房就空出来了,可以给新客人住。
- 在这个过程中,原来的所有客人(一个与 $\mathbb{N}$ 双射的集合)被映射到了所有从2号开始的房间(一个真子集),并且这是一个双射。这证明了住满人的无限旅馆仍然可以容纳新客人,直观地展示了“部分可以等于整体”。
- 可数性的例子:
- 证明 $\mathbb{Z}$ 可数的双射函数 $f: \mathbb{N} \to \mathbb{Z}$ 可以这样构造:
- $f(n) = n/2$ 如果 $n$ 是偶数。
- $f(n) = -(n-1)/2$ 如果 $n$ 是奇数。
- 我们来计算一下:$f(1)=0, f(2)=1, f(3)=-1, f(4)=2, f(5)=-2, \ldots$ 这正是我们之前列举的顺序。
⚠️ [易错点]
- “可数”不等于“可数无限”: 可数集包括了所有有限集和可数无限集。这是一个常见的术语混淆点。
- 无限的层次: 初学者往往难以接受无限还分大小。康托的理论在当时是革命性的,至今仍是理解数学基础的关键。必须放弃“无限都一样”的直觉。
📝 [总结]
本节备注通过“能否与自身的真子集建立双射”这一反直觉的性质,深刻地区分了有限集与无限集。在此基础上,它引入了对无限集的第一次分类:通过“能否与自然数集 $\mathbb{N}$ 建立双射”,将无限集分为可数无限集(如 $\mathbb{Z}, \mathbb{Q}$)和不可数无限集(如 $\mathbb{R}$)。
🎯 [存在目的]
这部分内容的目的是揭示无限世界的奇异和反直觉的性质,为读者打开一扇通往现代集合论的大门。理解可数与不可数的区别,是学习高等数学(尤其是分析学、拓扑学和测度论)的必备基础,因为它关系到我们能否对某些集合进行“求和”(级数)、“测量长度”等操作。
🧠 [直觉心智模型]
- 戴德金无限: 一个无限长的队伍。即使你让排在第一位的人出列,队伍的“长度”似乎并没有改变,因为后面还有无限多的人。你可以让剩下的人整体向前挪一步,队伍看起来和原来一模一样。
- 可数 vs 不可数:
- 可数无限: 像一条用珍珠串起来的无限长的项链。虽然无限,但你可以一颗一颗地数过去。
- 不可数无限: 像一条无限长的、由水组成的连续的水流。你无法分出“第一滴水”、“第二滴水”,因为它们是连续的,不可分的。
💭 [直观想象]
- 可数集: 数轴上所有整数点。它们虽然无限,但彼此之间有空隙,是离散的。
- 不可数集: 整个数轴。它是连续的,没有空隙。你用放大镜看任何一小段,里面都和整条线一样“拥挤”。
1.6 函数复合
1.6.1 复合的定义
📜 [原文30]
定义 1.6.1. 给定函数 $f: X \rightarrow Y$ 和 $g: Y \rightarrow Z$,定义复合函数 $g \circ f: X \rightarrow Z$ 为
$$
g \circ f(x)=g(f(x))
$$
对于所有 $x \in X$。当然,我们也可以通过稍微复杂的规则将 $g \circ f$ 定义为一个图像
$$
G_{g \circ f}=\pi_{1,3}\left(\left(G_{f} \times Z\right) \cap\left(X \times G_{g}\right)\right),
$$
其中 $\pi_{1,3}$ 是例 1.3.3 (vii) 中定义的到 $X \times Z$ 的投影。
📖 [逐步解释]
这部分定义了函数之间的一种核心运算——函数复合。它允许我们将多个函数像链条一样连接起来,形成一个新的函数。
复合函数的概念
- 前提条件: 要计算 $g \circ f$,一个关键的前提是:第一个函数 $f$ 的值域 $Y$ 必须是第二个函数 $g$ 的定义域。这样才能保证 $f$ 的输出可以作为 $g$ 的输入。
- 运算过程: 复合函数 $g \circ f$ (注意顺序,读作 “g 复合 f”) 的作用过程是:
- 从定义域 $X$ 中取一个输入 $x$。
- 先将 $x$ “喂给” 函数 $f$,得到一个中间结果 $f(x)$,这个结果在集合 $Y$ 中。
- 再将这个中间结果 $f(x)$ “喂给” 函数 $g$,得到最终结果 $g(f(x))$,这个结果在集合 $Z$ 中。
- 新的函数: 整个过程就定义了一个从 $X$ 直接到 $Z$ 的新函数,这个新函数就是 $g \circ f$。
符号顺序
- $g \circ f$ 的书写顺序与运算顺序是相反的。我们先应用右边的函数 $f$,再应用左边的函数 $g$。这和我们写 $g(f(x))$ 的内外顺序是一致的。
图像的定义
作者还给出了复合函数图像的一个严格的集合论定义,这个定义比较复杂,但揭示了其本质。
- $G_f \subseteq X \times Y$ 是 $f$ 的图像,其元素是 $(x, y)$ 形式。
- $G_g \subseteq Y \times Z$ 是 $g$ 的图像,其元素是 $(y, z)$ 形式。
- 我们想找到所有 $(x, z)$ 形式的配对,使得存在一个“中间人” $y$ 将它们连接起来,即 $(x, y) \in G_f$ 且 $(y, z) \in G_g$。
- 这个寻找“中间人”的过程可以用集合运算来描述:
- $G_f \times Z$: 将 $f$ 的图像与 $Z$ 做笛卡尔积,得到 $\{(x, y, z) : (x, y) \in G_f, z \in Z\}$。
- $X \times G_g$: 将 $X$ 与 $g$ 的图像做笛卡尔积,得到 $\{(x, y, z) : x \in X, (y, z) \in G_g\}$。
- $(G_f \times Z) \cap (X \times G_g)$: 取这两个集合的交集,得到的就是所有满足 $(x, y) \in G_f$ 且 $(y, z) \in G_g$ 的三元组 $(x, y, z)$ 的集合。
- $\pi_{1,3}(\ldots)$: 对这些三元组进行投影,只保留第一和第三分量,就得到了所有我们想要的有序对 $(x, z)$。这个集合就是 $g \circ f$ 的图像。
- 这个复杂的定义在日常使用中并不重要,但它展示了函数复合这个操作也可以被完全纳入到集合和笛卡尔积的框架中,体现了理论的完备性。
💡 [数值示例]
- 令 $f: \mathbb{R} \to \mathbb{R}$ 定义为 $f(x) = x+1$。
- 令 $g: \mathbb{R} \to \mathbb{R}$ 定义为 $g(y) = y^2$。
- 计算 $g \circ f$:
- $(g \circ f)(x) = g(f(x)) = g(x+1) = (x+1)^2 = x^2+2x+1$。
- 这是一个从 $\mathbb{R}$ 到 $\mathbb{R}$ 的新函数。
- 计算 $f \circ g$:
- $(f \circ g)(y) = f(g(y)) = f(y^2) = y^2+1$。
- 这也是一个从 $\mathbb{R}$ 到 $\mathbb{R}$ 的新函数。
- 比较: $(g \circ f)(x) = x^2+2x+1$ 而 $(f \circ g)(x) = x^2+1$。显然,$g \circ f \neq f \circ g$。这表明函数复合一般不满足交换律。
- 示例2
- 令 $X=\{1,2,3\}$, $Y=\{a,b,c\}$, $Z=\{p,q\}$。
- $f: X \to Y$ 定义为 $f = \{(1, a), (2, b), (3, a)\}$。
- $g: Y \to Z$ 定义为 $g = \{(a, p), (b, q), (c, p)\}$。
- 计算复合函数 $g \circ f: X \to Z$。
- $(g \circ f)(1) = g(f(1)) = g(a) = p$。
- $(g \circ f)(2) = g(f(2)) = g(b) = q$。
- $(g \circ f)(3) = g(f(3)) = g(a) = p$。
- 所以,复合函数是 $g \circ f = \{(1, p), (2, q), (3, p)\}$。
⚠️ [易错点]
- 运算顺序: 再次强调,$g \circ f$ 是先用 $f$ 再用 $g$。顺序颠倒是最常见的错误。
- 域的匹配: 进行复合运算前,必须检查第一个函数的值域是否与第二个函数的定义域匹配。如果不匹配,则复合无定义。例如,如果 $f: X \to Y_1$,$g: Y_2 \to Z$ 且 $Y_1 \neq Y_2$,则 $g \circ f$ 没有定义。
📝 [总结]
本节定义了函数复合 $g \circ f$,即把一个函数 $f$ 的输出作为另一个函数 $g$ 的输入,从而构成一个新函数的过程。关键在于理解其“先右后左”的运算顺序和对定义域/值域匹配的要求。
🎯 [存在目的]
函数复合是构建复杂函数和描述多步过程的基本方式。在代数中,它是一种二元运算,函数(在特定条件下)在这种运算下可以构成代数结构(如群、幺半群)。在微积分中,链式法则就是关于复合函数求导的法则。理解复合是理解函数之间相互作用的核心。
🧠 [直觉心智模型]
函数复合就像一条工厂流水线。
- $f: X \to Y$ 是第一道工序,它把原料($X$)加工成半成品($Y$)。
- $g: Y \to Z$ 是第二道工序,它把半成品($Y$)加工成最终产品($Z$)。
- 复合函数 $g \circ f: X \to Z$ 就是整条流水线,它直接描述了从原料到最终产品的整个过程。
- $g \circ f$ 的书写顺序,可以理解为产品离最终工序 $g$ 更“近”,离起始工序 $f$ 更“远”。
💭 [直观想象]
想象你使用两个手机App来处理一张照片。
- $f$: “美图”App,它可以把任何照片变得更漂亮。输入一张原始照片($x$),输出一张美化后的照片($f(x)$)。
- $g$: “加框”App,它可以给任何照片加上一个相框。输入一张照片($y$),输出一张带相框的照片($g(y)$)。
- 复合 $g \circ f$ 的过程是:
- 你先用“美图”App $f$ 处理原始照片 $x$,得到 $f(x)$。
- 然后你再把这张美化过的照片 $f(x)$ 用“加框”App $g$ 来处理,得到最终结果 $g(f(x))$。
- 这个两步操作整体上就构成了一个新的“美图并加框”函数 $h = g \circ f$。
1.6.2 复合的例子
📜 [原文31]
例 1.6.2. (i) 给定 $f: X \rightarrow Y, \operatorname{Id}_{Y} \circ f=f \circ \operatorname{Id}_{X}=f$。因此,恒等函数在复合下表现得非常像恒等元,只要我们小心相关恒等函数的定义域。
(ii) 如果 $f: X \rightarrow Y$ 是一个函数且 $A \subseteq X$,则 $f \circ i_{A}=f \mid A$,其中 $i_{A}: A \rightarrow X$ 是例 1.3.3(ii) 中定义的包含函数。同样地,如果 $Y \subseteq Y^{\prime}$ 且 $i_{Y}: Y \rightarrow Y^{\prime}$ 是包含,那么 $i_{Y} \circ f$ 就是我们在备注 1.4.2 中描述的函数。
📖 [逐步解释]
这部分通过两个例子,将新定义的函数复合与之前介绍过的恒等函数、包含函数和限制函数联系起来。
(i) 恒等元 (Identity element)
- 这里探讨了恒等函数在复合运算中的作用。
- $\operatorname{Id}_Y \circ f = f$:
- 我们来计算 $(\operatorname{Id}_Y \circ f)(x)$。根据定义,这是 $\operatorname{Id}_Y(f(x))$。
- 恒等函数 $\operatorname{Id}_Y$ 的作用是“输入什么就输出什么”。它的输入是 $f(x)$,所以输出也是 $f(x)$。
- 因此 $(\operatorname{Id}_Y \circ f)(x) = f(x)$ 对所有 $x \in X$ 成立。
- 所以复合函数 $\operatorname{Id}_Y \circ f$ 和原始函数 $f$ 是相等的。
- $f \circ \operatorname{Id}_X = f$:
- 我们来计算 $(f \circ \operatorname{Id}_X)(x)$。根据定义,这是 $f(\operatorname{Id}_X(x))$。
- $\operatorname{Id}_X(x)$ 的值是 $x$。
- 所以 $(f \circ \operatorname{Id}_X)(x) = f(x)$ 对所有 $x \in X$ 成立。
- 因此复合函数 $f \circ \operatorname{Id}_X$ 和原始函数 $f$ 也是相等的。
- 结论: 将一个函数与一个合适的恒等函数进行复合,结果等于原函数本身。这表明,恒等函数在函数复合这个运算下的角色,非常类似于数字“1”在乘法中的角色($a \times 1 = 1 \times a = a$)或数字“0”在加法中的角色($a+0=0+a=a$)。这种起着“不变”作用的元素在代数中被称为恒等元。
- 小心的原因: 作者提醒要“小心相关恒等函数的定义域”。这是因为与 $f: X \to Y$ 复合时,在左边必须用 $Y$ 上的恒等函数 $\operatorname{Id}_Y$,在右边必须用 $X$ 上的恒等函数 $\operatorname{Id}_X$。用错了定义域就会导致复合无定义。
(ii) 复合与限制/包含
- 这部分展示了函数的限制和值域调整操作,都可以通过函数复合的语言来重新表达。
- $f \circ i_A = f|_A$:
- 回忆一下,$A$ 是 $X$ 的子集。$i_A: A \to X$ 是包含函数,它的作用是把 $A$ 的元素看作 $X$ 的元素,即 $i_A(a)=a$。$f|_A: A \to Y$ 是 $f$ 在 $A$ 上的限制,规则是 $(f|_A)(a)=f(a)$。
- 我们来计算复合函数 $(f \circ i_A)$。它的定义域是 $A$,值域是 $Y$。
- 对于任意 $a \in A$,$(f \circ i_A)(a) = f(i_A(a)) = f(a)$。
- 这与限制函数 $(f|_A)(a)$ 的定义完全相同。
- 因此,对一个函数进行限制,就等价于将它与一个包含函数进行(右)复合。
- $i_Y \circ f$:
- 回忆一下,$Y$ 是 $Y'$ 的子集。$i_Y: Y \to Y'$ 是包含函数。
- 我们在备注 1.4.2 中讨论过,可以将函数 $f: X \to Y$ 的值域扩大,得到一个新函数 $f': X \to Y'$。
- 这个新函数 $f'$ 其实就是 $i_Y \circ f$。我们来验证:
- 复合函数 $i_Y \circ f$ 的定义域是 $X$,值域是 $Y'$。
- 对于任意 $x \in X$,$(i_Y \circ f)(x) = i_Y(f(x))$。因为 $f(x) \in Y$,根据包含函数的定义,$i_Y(f(x)) = f(x)$。
- 所以,这个复合函数的规则就是在 $x$ 处取值为 $f(x)$,但它的值域被声明为 $Y'$。这和我们在备注 1.4.2 中描述的函数是同一个。
- 因此,扩大一个函数的值域,就等价于将它与一个包含函数进行(左)复合。
💡 [数值示例]
- 令 $X=\{1,2\}$, $Y=\{a,b,c\}$。$f: X \to Y$ 定义为 $f(1)=a, f(2)=c$。
- $\operatorname{Id}_X: X \to X$ 是 $\operatorname{Id}_X(1)=1, \operatorname{Id}_X(2)=2$。
- $\operatorname{Id}_Y: Y \to Y$ 是 $\operatorname{Id}_Y(a)=a, \operatorname{Id}_Y(b)=b, \operatorname{Id}_Y(c)=c$。
- $f \circ \operatorname{Id}_X$: $(f \circ \operatorname{Id}_X)(1) = f(\operatorname{Id}_X(1)) = f(1) = a$。 $(f \circ \operatorname{Id}_X)(2) = f(\operatorname{Id}_X(2)) = f(2) = c$。结果和 $f$ 一样。
- $\operatorname{Id}_Y \circ f$: $(\operatorname{Id}_Y \circ f)(1) = \operatorname{Id}_Y(f(1)) = \operatorname{Id}_Y(a) = a$。 $(\operatorname{Id}_Y \circ f)(2) = \operatorname{Id}_Y(f(2)) = \operatorname{Id}_Y(c) = c$。结果也和 $f$ 一样。
- 示例2: (ii) 限制
- 令 $f: \mathbb{Z} \to \mathbb{Z}$ 为 $f(x)=x^2$。
- 令 $A=\mathbb{N}=\{1,2,3,\ldots\} \subseteq \mathbb{Z}$。
- $f|_A: \mathbb{N} \to \mathbb{Z}$ 是限制函数,$(f|_A)(n)=n^2$ for $n \in \mathbb{N}$。
- $i_A: \mathbb{N} \to \mathbb{Z}$ 是包含函数,$i_A(n)=n$。
- 复合 $f \circ i_A$: 这是一个从 $\mathbb{N}$ 到 $\mathbb{Z}$ 的函数。
- $(f \circ i_A)(n) = f(i_A(n)) = f(n) = n^2$。
- 可以看到,$f \circ i_A$ 和 $f|_A$ 的定义域、值域和对应规则都完全相同,所以它们是同一个函数。
⚠️ [易错点]
- 复合的顺序: 在 (ii) 中,$f \circ i_A$ 和 $i_A \circ f$ 是完全不同的。后者(如果能定义的话)需要 $f$ 的值域是 $A$ 的定义域,通常是不匹配的。
- 抽象的表达: 这部分内容开始用更抽象的复合语言来统一之前的概念(限制、值域调整)。习惯这种表达方式是学习抽象代数的关键一步。
📝 [总结]
本节通过两个例子展示了复合运算的威力:
(i) 恒等函数在复合运算中扮演着恒等元的角色,类似于乘法中的1。
(ii) 之前定义的限制函数和值域扩大操作,都可以被看作是原函数与一个合适的包含函数进行复合的结果。
🎯 [存在目的]
这部分内容的目的是为了展示数学概念的统一性。通过将看似不同的操作(如限制)都归结为更基本的复合运算,可以简化理论体系,揭示更深层的结构。这种思想——用一种统一的运算(复合)和一些特殊的元素(恒等函数、包含函数)来表达其他概念——是代数学和范畴论的核心思想之一。
🧠 [直觉心智模型]
- (i) 恒等元: 在工厂流水线 $f$ 的前面或后面加上一个“什么也不做”的工序(恒等函数),比如一个只负责传递的传送带。这显然不会改变最终的产品。
- (ii) 限制: 你的工厂 $f$ 本来能处理各种金属原料($\mathbb{Z}$)。现在你想专门处理铜料($\mathbb{N}$)。
- 限制的看法:你直接告诉工人,今天只加工铜料。
- 复合的看法:你在工厂门口设了一个质检员 $i_\mathbb{N}$,他的工作是只允许铜料进来,其他金属原料一律退回。这样一来,进入工厂 $f$ 的就自动只有铜料了。最终效果是一样的。
💭 [直观想象]
- (i) 恒等元: 你有一个函数机器 $f$。在它的入口前接一个“直通管道”$\operatorname{Id}_X$,或者在它的出口后接一个“直通管道”$\operatorname{Id}_Y$,都不会改变机器的功能。
- (ii) 复合与限制/包含:
- $f \circ i_A$: 有一个大镜头 $f$。你在它前面加了一个滤光片 $i_A$,这个滤光片只允许特定范围的光线(来自 $A$ 的)通过。那么最终成像的效果,就等价于你只用镜头 $f$ 去拍摄那个特定范围的景象($f|_A$)。
- $i_Y \circ f$: 镜头 $f$ 已经把像成在了底片 $Y$ 上。现在你把这张底片 $Y$ 贴在一张更大的白纸 $Y'$ 上。这个操作就是 $i_Y$。从整体看,你完成了一个从原始景象到大白纸的成像过程 $i_Y \circ f$。
1.6.3 复合的结合律
📜 [原文32]
函数复合有一个重要的性质,即它在有定义时是结合的:
命题 1.6.3. 假设给定函数 $f: X \rightarrow Y, g: Y \rightarrow Z$ 和 $h: Z \rightarrow W$。那么
$$
h \circ(g \circ f)=(h \circ g) \circ f
$$
证明。对于所有 $x \in X$,
$$
\begin{aligned}
& (h \circ(g \circ f))(x)=h((g \circ f)(x))=h(g(f(x))) \\
& ((h \circ g) \circ f)(x)=(h \circ g)(f(x))=h(g(f(x)))
\end{aligned}
$$
因此对于所有 $x \in X$,$(h \circ(g \circ f))(x)=((h \circ g) \circ f)(x)$,所以 $h \circ(g \circ f)=(h \circ g) \circ f$。
📖 [逐步解释]
这个命题指出了函数复合运算的一个极其重要的代数性质:结合律 (Associativity)。
结合律的含义
- 当你有三个(或更多)函数需要依次复合时,例如 $f$ 之后是 $g$,之后是 $h$,你可以有两种计算顺序:
- 先计算 $g \circ f$ 得到一个新函数,然后再将 $h$ 与这个新函数进行复合,即 $h \circ (g \circ f)$。
- 先计算 $h \circ g$ 得到一个新函数,然后再将这个新函数与 $f$ 进行复合,即 $(h \circ g) \circ f$。
- 结合律保证了,这两种不同的计算顺序,最终得到的结果是完全相同的函数。
- 正是因为有结合律,我们通常可以省略括号,直接写成 $h \circ g \circ f$,而不会产生歧义。它的含义就是将 $f, g, h$ 依次作用。
证明的思路
证明非常直接,它利用了“两个函数相等当且仅当它们在定义域中每一点的取值都相等”这一准则。
- 声明: 我们的目标是证明 $h \circ(g \circ f)$ 和 $(h \circ g) \circ f$ 是同一个函数。首先,它们有相同的定义域 $X$ 和相同的值域 $W$,所以可以比较。
- 取任意元素: 我们从定义域 $X$ 中任取一个元素 $x$。
- 计算左边: 计算函数 $h \circ (g \circ f)$ 在 $x$ 处的值。
- $(h \circ (g \circ f))(x) = h( (g \circ f)(x) )$ (根据 $\circ$ 的定义,作用于外层)
- $= h( g(f(x)) )$ (根据 $\circ$ 的定义,作用于内层)
- 计算右边: 计算函数 $(h \circ g) \circ f$ 在 $x$ 处的值。
- $((h \circ g) \circ f)(x) = (h \circ g)( f(x) )$ (根据 $\circ$ 的定义,作用于外层)
- $= h( g(f(x)) )$ (根据 $\circ$ 的定义,作用于内层,此时的“输入”是$f(x)$)
- 比较: 我们发现,对于任意的 $x$,两边计算得到的最终结果都是 $h(g(f(x)))$。
- 结论: 因为两个函数在定义域中的每一点取值都相同,所以这两个函数是相等的。
交换律的缺失
作者在下一段会提到,函数复合虽然满足结合律,但一般 不满足交换律,即 $g \circ f \neq f \circ g$。
- 结合律关系到运算次序(加括号的方式)。
- 交换律关系到运算对象的顺序。
这是函数复合这个运算区别于我们熟悉的普通加法和乘法的一个重要特征(普通加法乘法既满足结合律也满足交换律)。
💡 [数值示例]
令 $f: \mathbb{R} \to \mathbb{R}$ 为 $f(x)=x+1$。
令 $g: \mathbb{R} \to \mathbb{R}$ 为 $g(x)=2x$。
令 $h: \mathbb{R} \to \mathbb{R}$ 为 $h(x)=x^2$。
- 计算 $h \circ (g \circ f)$:
- 先计算 $g \circ f$。
$(g \circ f)(x) = g(f(x)) = g(x+1) = 2(x+1) = 2x+2$。
- 再计算 $h$ 与上面的结果复合。
$(h \circ (g \circ f))(x) = h((g \circ f)(x)) = h(2x+2) = (2x+2)^2 = 4x^2+8x+4$。
- 计算 $(h \circ g) \circ f$:
- 先计算 $h \circ g$。
$(h \circ g)(x) = h(g(x)) = h(2x) = (2x)^2 = 4x^2$。
- 再将上面的结果与 $f$ 复合。注意是 $(h \circ g)$ 在左边,$f$ 在右边。
$((h \circ g) \circ f)(x) = (h \circ g)(f(x)) = (h \circ g)(x+1) = 4(x+1)^2 = 4(x^2+2x+1) = 4x^2+8x+4$。
- 结论: 两种不同的计算顺序得到了完全相同的结果,验证了结合律。
⚠️ [易错点]
- 与交换律混淆: 学生常常混淆结合律和交换律。必须清楚结合律是关于括号的移动,而不改变 $f, g, h$ 的相对顺序。
- 括号的理解: $h(g(f(x)))$ 这个表达式本身就隐含了结合律。因为无论你先看 $g(f(x))$ 这个整体,还是先看 $h(g)$ 这个函数作用在 $f(x)$ 上,最终的求值步骤都是一样的:从最内层的 $f(x)$ 开始,一步步向外计算。
📝 [总结]
本节通过一个命题和其简洁的证明,确立了函数复合运算满足结合律,即 $h \circ (g \circ f) = (h \circ g) \circ f$。这个性质使得我们可以不加括号地写一长串的函数复合,其含义是明确的。
🎯 [存在目的]
结合律是一个代数结构(如群)得以成立的最基本要求之一。通过证明函数复合满足结合律,我们向“由函数和复合运算构成一个代数世界”这个目标迈出了关键的一步。所有函数的集合(在特定条件下)在复合运算下构成一个幺半群,而所有双射函数的集合构成一个群。这些都是抽象代数的核心研究对象。没有结合律,这些结构都将无从谈起。
🧠 [直觉心智模型]
回到工厂流水线模型。你有三道工序 $f, g, h$。
- $f$: 把铁矿石($x$)变成铁水($f(x)$)。
- $g$: 把铁水($y$)变成钢锭($g(y)$)。
- $h$: 把钢锭($z$)轧成钢板($h(z)$)。
- $h \circ (g \circ f)$: 你先把前两道工序 $f,g$ 看成一个整体的“炼钢”部门 $(g \circ f)$,这个部门能从铁矿石直接得到钢锭。然后你把这个部门的产出交给“轧钢”工序 $h$。
- $(h \circ g) \circ f$: 你先把后两道工序 $g,h$ 看成一个整体的“成材”部门 $(h \circ g)$,这个部门能从铁水得到钢板。然后你让“炼铁”工序 $f$ 的产出直接对接这个部门。
- 结合律的含义是:不管你怎么划分部门,只要三道工序的先后顺序不变,最终从铁矿石到钢板的整个流程和结果都是完全一样的。
💭 [直观想象]
想象你对一个数字 $x$ 进行一系列变换。
$x \xrightarrow{f} f(x) \xrightarrow{g} g(f(x)) \xrightarrow{h} h(g(f(x)))$
这是一个线性的、单向的过程。结合律说的就是,在这个链条上,你用括号把相邻的两步“打包”成一步,无论怎么打包,都不会改变整个链条的最终结果。
例如, $(f \to g) \to h$ 和 $f \to (g \to h)$ 是一样的。
1.6.4 交换律的缺失与逆函数定义
📜 [原文33]
通常函数复合不是交换的。例如,给定 $f: X \rightarrow Y$,我们只能在 $X=Z$ 时以两种顺序与 $g: Y \rightarrow Z$ 进行复合。在这种情况下,$g \circ f: X \rightarrow X$ 和 $f \circ g: Y \rightarrow Y$,我们只能在 $X=Y$ 时比较它们。最后,非常简单的例子表明,即使 $Y=X$,如果我们随机选择两个函数 $f: X \rightarrow X$ 和 $g: X \rightarrow X$,那么 $g \circ f \neq f \circ g$(只要 $X$ 有多于一个元素)。换句话说,两个随机函数的复合(其定义域和值域都等于一个固定集合 $X$)将取决于顺序(例如,取 $X=\mathbb{R}, f(x)=e^{x}, g(x)=x^{2}+1$,并检查 $g \circ f \neq f \circ g$)。
我们已经看到恒等函数的作用非常类似于实数加法或乘法的恒等元。我们也可以询问逆函数:
定义 1.6.4. 设 $f: X \rightarrow Y$ 是一个函数。逆函数 $g: Y \rightarrow X$ 是一个函数 $g$,使得 $g \circ f=\operatorname{Id}_{X}$ 且 $f \circ g=\operatorname{Id}_{Y}$。
📖 [逐步解释]
这部分内容首先强调了函数复合通常不满足交换律,然后正式定义了逆函数的概念,将其与恒等函数(恒等元)联系起来。
函数复合非交换性 (Non-commutativity)
- 作者首先从定义域和值域匹配的角度,说明了为什么讨论交换律通常很困难甚至不可能。
- 对于 $f: X \to Y$ 和 $g: Y \to Z$,我们可以计算 $g \circ f: X \to Z$。
- 但要想计算 $f \circ g$,我们需要 $g$ 的值域 $Z$ 与 $f$ 的定义域 $X$ 相匹配。
- 所以,只有当 $Z=X$ 时,我们才能同时计算 $g \circ f: X \to X$ 和 $f \circ g: Y \to Y$。
- 即使如此,这两个复合函数的定义域和值域也不同(一个是 $X \to X$,另一个是 $Y \to Y$),除非 $X=Y$,否则我们根本无法根据函数相等的定义来比较它们。
- 即使可以比较,通常也不相等:
- 作者指出,即使在最理想的情况下,即 $f: X \to X$ 和 $g: X \to X$,两个函数可以自由地以两种顺序复合,得到的新函数也都是 $X \to X$。但结果通常也是不相等的。
- 例子: $f(x)=e^x, g(x)=x^2+1$ (均为 $\mathbb{R} \to \mathbb{R}$)
- $(g \circ f)(x) = g(e^x) = (e^x)^2+1 = e^{2x}+1$。
- $(f \circ g)(x) = f(x^2+1) = e^{x^2+1}$。
- 显然 $e^{2x}+1 \neq e^{x^2+1}$。所以 $g \circ f \neq f \circ g$。
- 结论: 函数复合是一个非交换的运算。这是它与初等算术运算的一个本质区别。
逆函数的定义 (Inverse Function)
- 类比:在算术中,恒等元(如乘法中的1)引出了逆元的概念(如数字 $a$ 的倒数 $1/a$,因为 $a \times (1/a) = 1$)。
- 作者在这里做了同样的类比:既然恒等函数 $\operatorname{Id}$ 在复合运算中扮演了恒等元的角色,那么我们自然可以问:对于一个函数 $f$,是否存在一个“逆函数” $g$,使得它们复合的结果是恒等函数?
- 正式定义:
- 给定 $f: X \to Y$,它的一个逆函数 $g: Y \to X$ 必须满足 两个条件:
- $g \circ f = \operatorname{Id}_X$: 先用 $f$ (从 $X$ 到 $Y$),再用 $g$ (从 $Y$ 回到 $X$),最终的效果等同于在 $X$ 上什么都没做(回到了出发点)。
- $f \circ g = \operatorname{Id}_Y$: 先用 $g$ (从 $Y$ 到 $X$),再用 $f$ (从 $X$ 回到 $Y$),最终的效果等同于在 $Y$ 上什么都没做。
- 这两个条件共同保证了 $f$ 和 $g$ 的作用是完全“可逆”的、相互抵消的。$g$ 完美地“撤销”了 $f$ 的操作,反之亦然。
💡 [数值示例]
- 令 $f, g$ 是作用在平面 $\mathbb{R}^2$ 上的函数(几何变换)。
- $f$: 将一个点绕原点逆时针旋转 $90^\circ$。$f(x,y) = (-y, x)$。
- $g$: 将一个点沿 x 轴翻倍。$g(x,y) = (2x, y)$。
- 取点 $P=(1, 0)$。
- 计算 $g \circ f$: $(g \circ f)(1, 0) = g(f(1,0)) = g(0, 1) = (2 \times 0, 1) = (0, 1)$。 (先旋转,再拉伸)
- 计算 $f \circ g$: $(f \circ g)(1, 0) = f(g(1,0)) = f(2, 0) = (0, 2)$。 (先拉伸,再旋转)
- 因为 $(0, 1) \neq (0, 2)$,所以 $g \circ f \neq f \circ g$。
- 逆函数示例:
- 令 $f: \mathbb{R} \to \mathbb{R}$ 为 $f(x)=2x+3$。
- 我们猜测它的逆函数是 $g: \mathbb{R} \to \mathbb{R}$ 为 $g(y) = (y-3)/2$。
- 我们来验证两个条件:
- 验证 $g \circ f = \operatorname{Id}_\mathbb{R}$:
$(g \circ f)(x) = g(f(x)) = g(2x+3) = ((2x+3)-3)/2 = 2x/2 = x$。
因为 $(g \circ f)(x) = x = \operatorname{Id}_\mathbb{R}(x)$,所以这个条件成立。
- 验证 $f \circ g = \operatorname{Id}_\mathbb{R}$:
$(f \circ g)(y) = f(g(y)) = f((y-3)/2) = 2((y-3)/2) + 3 = (y-3)+3 = y$。
因为 $(f \circ g)(y) = y = \operatorname{Id}_\mathbb{R}(y)$,所以这个条件也成立。
- 结论: 既然两个条件都满足,$g(y)=(y-3)/2$ 确实是 $f(x)=2x+3$ 的逆函数。
⚠️ [易错点]
- 逆函数的两个条件: 定义逆函数时,必须同时检验 $g \circ f = \operatorname{Id}_X$ 和 $f \circ g = \operatorname{Id}_Y$。在某些特殊情况下(例如在无限维空间的线性算子中),可能只满足其中一个,那种被称为左逆或右逆,不等同于逆函数。
- 交换性的特例: 虽然函数复合通常不交换,但存在一些特殊的函数对是交换的。例如,$f(x)=2x$ 和 $g(x)=3x$ 是交换的,因为 $(f \circ g)(x) = 2(3x) = 6x$,而 $(g \circ f)(x) = 3(2x) = 6x$。另一个例子是 $f(x)=x+a$ 和 $g(x)=x+b$。
📝 [总结]
本节首先通过详尽的分析和例子,强调了函数复合是一个非交换运算。接着,通过与代数中恒等元/逆元的类比,正式给出了函数 $f$ 的逆函数 $g$ 的定义,即 $g$ 必须满足与 $f$ 的双向复合结果都是相应的恒等函数。
🎯 [存在目的]
这部分内容至关重要。确立非交换性揭示了函数世界的复杂性和丰富性,与我们熟悉的交换的数世界形成对比,这是进入抽象代数(特别是非交换群,如矩阵群、置换群)的心理准备。而逆函数的定义,是整个数学中“可逆性”思想的源头。一个过程是否可逆,一个方程是否有唯一解,一个变换能否被撤销,这些问题的核心都归结于相应的函数是否存在逆函数。
🧠 [直觉心智模型]
- 非交换性: 穿衣服的过程。
- $f$: 先穿毛衣。
- $g$: 再穿外套。
- $g \circ f$: 先穿毛衣,再穿外套。这是正常的。
- $f \circ g$: 先穿外套,再把毛衣穿在外面。这显然和正常穿法的结果不同。
- 逆函数:
- $f$: 把一只袜子穿在脚上。
- $g$ (逆函数): 把袜子从脚上脱下来。
- $g \circ f$: 先穿上,再脱下。脚回到了原始状态 ($\operatorname{Id}_{\text{脚}}$)。
- $f \circ g$: 对于一只拿在手里的袜子,先“脱”(什么也没发生),再穿上。袜子也回到了原始状态(在脚上,等等,这个类比有点瑕疵,但旨在说明双向可逆)。更好的例子是:
- $f$: 给一封信加密。
- $g$: 对密文解密。
- $g \circ f$: 对明文先加密再解密,得到原始明文 ($\operatorname{Id}_{\text{明文}}$)。
- $f \circ g$: 对密文先解密再加密,得到原始密文 ($\operatorname{Id}_{\text{密文}}$)。
💭 [直观想象]
- 非交换性: 在三维空间中,一个物体(比如你的手机)。
- $f$: 绕 x 轴旋转 $90^\circ$。
- $g$: 绕 y 轴旋转 $90^\circ$。
- $g \circ f$ (先绕x再绕y) 和 $f \circ g$ (先绕y再绕x) 会让你的手机朝向两个完全不同的方向。
- 逆函数:
- $f$: 绕 x 轴正向旋转 $90^\circ$。
- $f^{-1}$: 绕 x 轴反向旋转 $90^\circ$。
- 这两个操作接连进行(无论顺序),都会让物体回到原始姿态。
1.6.5 逆函数的例子
📜 [原文34]
例 1.6.5. 对于恒等函数 $\operatorname{Id}_{X}: X \rightarrow X$,由于 $\operatorname{Id}_{X} \circ \operatorname{Id}_{X}=\operatorname{Id}_{X}$,$\operatorname{Id}_{X}$ 是自身的逆函数。
📖 [逐步解释]
这是一个关于逆函数定义的最简单的例子。
- 问题: 恒等函数 $\operatorname{Id}_X: X \to X$ 的逆函数是什么?
- 分析: 我们需要寻找一个函数 $g: X \to X$,使得它满足逆函数的两个条件:
- $g \circ \operatorname{Id}_X = \operatorname{Id}_X$
- $\operatorname{Id}_X \circ g = \operatorname{Id}_X$
- 猜测: 我们来试试让 $g$ 就是 $\operatorname{Id}_X$ 本身。
- 验证:
- 把 $g$ 换成 $\operatorname{Id}_X$,第一个条件变成 $\operatorname{Id}_X \circ \operatorname{Id}_X = \operatorname{Id}_X$。
- 把 $g$ 换成 $\operatorname{Id}_X$,第二个条件变成 $\operatorname{Id}_X \circ \operatorname{Id}_X = \operatorname{Id}_X$。
- 恒等函数复合的性质: 我们在 $例 1.6.2$ 中已经知道,任何函数与恒等函数复合都等于其自身。特别地,当这个函数就是恒等函数时,我们有 $\operatorname{Id}_X \circ \operatorname{Id}_X = \operatorname{Id}_X$。
- 结论: 既然 $\operatorname{Id}_X$ 满足了作为自身逆函数的两个条件,那么 $\operatorname{Id}_X$ 的逆函数就是它自己。即 $(\operatorname{Id}_X)^{-1} = \operatorname{Id}_X$。
💡 [数值示例]
- 令 $X=\mathbb{R}$,$f(x)=\operatorname{Id}_\mathbb{R}(x)=x$。
- 它的逆函数是什么?我们想找一个 $g$ 使得 $g(f(x))=x$ 且 $f(g(y))=y$。
- 如果取 $g(y)=y$,那么 $g(f(x))=g(x)=x$, $f(g(y))=f(y)=y$。
- 所以 $f(x)=x$ 的逆函数是 $g(y)=y$,就是它自己。
- 示例2:
- 令 $X=\mathbb{R}$,$f(x)=-x$。
- 它的逆函数是 $g(y)=-y$。我们来验证:
- $g(f(x)) = g(-x) = -(-x) = x$。
- $f(g(y)) = f(-y) = -(-y) = y$。
- 所以 $f(x)=-x$ 的逆函数也是它自己。这说明除了恒等函数,还有别的函数是自身的逆函数。几何上,这是关于原点的中心对称,做两次就回到了原位。
⚠️ [易错点]
- 这个例子非常简单,不容易出错。但它揭示了一个普遍的代数现象:恒等元的逆元总是它自己。例如,乘法中1的倒数是1;加法中0的相反数是0。
🎯 [存在目的]
这个例子虽然简单,但它确立了函数复合世界中一个最基本的“可逆”范例。恒等函数作为复合运算的恒等元,其可逆性和自身逆元的性质,是构建群(如置换群)等代数结构的必要条件。
🧠 [直觉心智模型]
- 函数 $f=\operatorname{Id}_X$ 的操作是“什么也不做”。
- 它的逆函数 $f^{-1}$ 应该是什么操作?显然也应该是“什么也不做”。
- 先“什么也不做”,再“什么也不做”,最终结果还是“什么也不做”。
💭 [直观想象]
- 恒等函数的图像是直线 $y=x$。
- 求逆函数的图像需要将原图像关于直线 $y=x$ 做轴对称。
- 直线 $y=x$ 本身关于自己是对称的,所以它的逆函数的图像还是它自己。
1.6.6 逆函数的唯一性
📜 [原文35]
正如我们很快将展示的,如果逆函数存在,它就是唯一的,并且实际上就是我们记作 $f^{-1}$ 的函数。这不应与可以为任何函数定义的原像混淆,也不应与 $1 / f$ 混淆,后者可以为从不为零的实值函数定义。请注意,如果 $f: X \rightarrow Y$ 是一个双射,其逆函数为 $f^{-1}$,那么 $f^{-1}(y)$ 可能表示 $f^{-1}$ 在 $y$ 上的值,它是一个 $X$ 的元素,或者表示 $y$ 的原像,它是子集 $f^{-1}(\{(y)\}) \subseteq X$,因此等于单元素子集 $\left\{f^{-1}(y)\right\}$。
类似地,对于 $f$ 的左逆是一个函数 $g: Y \rightarrow X$ 使得 $g \circ f=\operatorname{Id}_{X}$,而对于 $f$ 的右逆是一个函数 $g: Y \rightarrow X$ 使得 $f \circ g=\operatorname{Id}_{Y}$。一个函数可能有一个右逆但没有左逆,反之亦然。然而,如果一个函数同时具有右逆和左逆,它们是相等的:
命题 1.6.6. 假设 $f: X \rightarrow Y$ 是一个函数,并且 $g: Y \rightarrow X$ 和 $h: Y \rightarrow X$ 是函数,使得 $g \circ f=\operatorname{Id}_{X}$ 且 $f \circ h=\operatorname{Id}_{Y}$。那么 $g=h$,因此 $g=h$ 是 $f$ 的逆函数。
证明。考虑 $g \circ f \circ h$。由于函数复合是结合的,这等于
$$
(g \circ f) \circ h=\mathrm{Id}_{X} \circ h=h
$$
但以另一种方式结合则表明它也等于
$$
g \circ(f \circ h)=g \circ \operatorname{Id}_{Y}=g
$$
因此 $g=h$。
📖 [逐步解释]
这部分内容极其重要,它通过一个非常精妙的代数技巧证明了逆函数的唯一性,并在此过程中引入了左逆和右逆的概念。
前言部分的辨析
- 唯一性预告: 作者首先声明,一个函数如果存在逆函数,那么这个逆函数必定是唯一的。这使得我们可以理直气壮地使用 $f^{-1}$ 这个确定的符号来表示它。
- 符号再次警示:
- $f^{-1}$ (逆函数) vs. 原像: 再次强调不要把逆函数与原像混淆。
- $f^{-1}$ vs. $1/f$: 还补充了第三个需要区分的符号 $1/f$,它表示函数值的倒数(例如,如果 $f(x)=x+2$,那么 $1/f$ 是一个值为 $1/(x+2)$ 的新函数),这与逆函数 $f^{-1}(y)=y-2$ 完全不同。
- 歧义的最终体现: 作者指出了最容易混淆的场景。当 $f$ 恰好是双射,存在逆函数 $f^{-1}$ 时,符号 $f^{-1}(y)$ 就产生了歧义。它既可以表示“逆函数 $f^{-1}$ 在元素 $y$ 上的取值”(这是一个元素),也可以表示“函数 $f$ 关于单元素子集 $\{y\}$ 的原像”(这是一个集合)。幸运的是,在这种情况下,原像这个集合恰好只包含一个元素,这个元素就是逆函数的取值。即 $f^{-1}(\{y\}) = \{f^{-1}(y)\}$。虽然结果协调,但概念上必须分清。
左逆与右逆 (Left and Right Inverses)
- 定义: 这是对逆函数定义的“拆分”。
- 左逆: $g$ 是 $f$ 的左逆,如果 $g$ 在 $f$ 的左边复合得到恒等函数,即 $g \circ f = \operatorname{Id}_X$。它“撤销”了从 $X$ 出发的 $f$ 的操作。
- 右逆: $h$ 是 $f$ 的右逆,如果 $h$ 在 $f$ 的右边复合得到恒等函数,即 $f \circ h = \operatorname{Id}_Y$。它能被 $f$ “撤销”。
- 逆函数就是既是左逆又是右逆的函数。
- 一个函数可能只有左逆或只有右逆。(我们将在后面看到,有左逆 $\iff$ 单射,有右逆 $\iff$ 满射)。
命题 1.6.6: 左逆和右逆相等
- 命题陈述: 如果一个函数 $f$ 同时拥有一个左逆 $g$ 和一个右逆 $h$,那么这个左逆和右逆必须是同一个函数,即 $g=h$。
- 推论: 既然它们相等了,那么这个函数 $g=h$ 就同时满足了 $g \circ f = \operatorname{Id}_X$ 和 $f \circ g = \operatorname{Id}_Y$,因此它就是 $f$ 的(双边)逆函数。
证明的精妙之处
这个证明是代数中一个经典而优美的技巧,它完全依赖于复合的结合律和恒等元的性质。
- 构造一个表达式: 证明的核心是考察三明治一样的表达式 $g \circ f \circ h$。
- 从左边加括号: $(g \circ f) \circ h$。
- 我们已知 $g \circ f = \operatorname{Id}_X$ (因为 $g$ 是左逆)。
- 所以表达式变成 $\operatorname{Id}_X \circ h$。
- 任何函数与(右边的)恒等函数复合都等于其自身,所以结果是 $h$。
- 从右边加括号: $g \circ (f \circ h)$。
- 我们已知 $f \circ h = \operatorname{Id}_Y$ (因为 $h$ 是右逆)。
- 所以表达式变成 $g \circ \operatorname{Id}_Y$。
- 任何函数与(左边的)恒等函数复合都等于其自身,所以结果是 $g$。
- 结论: 因为函数复合满足结合律,所以从左算和从右算的结果必须相等。因此,我们得出 $h=g$。
这个证明没有涉及任何函数的内部细节或元素层面的讨论,它纯粹是在抽象的运算层面完成的,这使得它非常普适和强大。
💡 [数值示例]
这部分的例子主要是为了理解左逆/右逆。
令 $X=\{1\}$, $Y=\{a, b\}$。
- 定义 $f: X \to Y$ 为 $f(1)=a$。这是一个单射但非满射函数。
- 寻找左逆 $g: Y \to X$ 使得 $g \circ f = \operatorname{Id}_X$。
- $\operatorname{Id}_X$ 是 $X \to X$ 的函数,$\operatorname{Id}_X(1)=1$。
- 我们需要 $(g \circ f)(1) = 1$,即 $g(f(1))=1$,也就是 $g(a)=1$。
- 对于 $g$ 在 $b$ 点的取值,没有要求。我们可以任意定义,比如令 $g(b)=1$。
- 所以 $g = \{(a, 1), (b, 1)\}$ 就是一个 $f$ 的左逆。事实上,所有满足 $g(a)=1$ 的函数都是左逆。
- 寻找右逆 $h: Y \to X$ 使得 $f \circ h = \operatorname{Id}_Y$。
- $\operatorname{Id}_Y$ 是 $Y \to Y$ 的函数,$\operatorname{Id}_Y(a)=a, \operatorname{Id}_Y(b)=b$。
- 我们需要 $(f \circ h)(b) = \operatorname{Id}_Y(b) = b$。
- 即 $f(h(b))=b$。但是 $f$ 的像只有 $\{a\}$,它的输出永远不可能是 $b$。
- 所以,不存在这样的函数 $h$。因此 $f$ 没有右逆。
- 有右逆但无左逆 (满射非单射):
- 定义 $f: Y \to X$ 为 $f(a)=1, f(b)=1$。这是一个满射但非单射函数。
- 寻找右逆 $g: X \to Y$ 使得 $f \circ g = \operatorname{Id}_X$。
- 我们需要 $(f \circ g)(1)=1$,即 $f(g(1))=1$。
- $g(1)$ 的值可以是 $a$ 或者 $b$。如果 $g(1)=a$,那么 $f(a)=1$,满足。如果 $g(1)=b$,那么 $f(b)=1$,也满足。
- 所以,我们可以定义 $g_1=\{(1,a)\}$ 或者 $g_2=\{(1,b)\}$,它们都是 $f$ 的右逆。
- 寻找左逆 $h: X \to Y$ 使得 $h \circ f = \operatorname{Id}_Y$。
- 我们需要 $(h \circ f)(a) = a$ 和 $(h \circ f)(b) = b$。
- 即 $h(f(a))=a \implies h(1)=a$。
- 且 $h(f(b))=b \implies h(1)=b$。
- 这意味着 $h(1)$ 必须同时等于 $a$ 和 $b$。这违反了函数的唯一性定义。
- 所以,不存在这样的函数 $h$。因此 $f$ 没有左逆。
⚠️ [易错点]
- 证明的普适性: 命题1.6.6的证明方法适用于任何满足结合律和有单位元的代数结构(比如矩阵乘法)。这是一个非常通用的代数技巧。
- 左逆/右逆不唯一: 从上面的例子可以看出,左逆或右逆如果存在,不一定是唯一的。但如果一个函数同时有左逆和右逆,那么它们就都变成唯一的了,并且相等。
📝 [总结]
本节首先再次强调了 $f^{-1}$ 符号的多种含义及其潜在的混淆。然后,通过引入左逆和右逆的概念,以一个极其精妙的纯代数证明,确立了“如果一个函数同时有左逆和右逆,则它们必然相等且唯一,构成该函数的逆函数”。
🎯 [存在目的]
这部分内容的核心目的是为了证明逆函数的唯一性。这个结论非常重要,它保证了 $f^{-1}$ 这个符号是良定义的(不会指代多个不同的函数)。证明过程本身也是一个典范,展示了结合律的强大威力,让读者初步领略抽象代数的思维方式。
🧠 [直觉心智模型]
- 左逆/右逆: 想象 $f$ 是一个操作。
- 左逆 $g$ 是一个“撤销”操作,在你做完 $f$ 之后,用 $g$ 可以恢复原状。$g \circ f = \text{Id}$。
- 右逆 $h$ 是一个“预备”操作,你先做 $h$,再做 $f$,结果等于什么也没动。$f \circ h = \text{Id}$。
- 命题的证明: 想象 $g, f, h$ 是三个操作序列。
- $g \circ f \circ h$
- 你可以看作是 $(g \circ f) \circ h$。$g \circ f$ 是“先做f再撤销”,等于“啥也没干”($\operatorname{Id}_X$)。所以整体是 $h$。
- 你也可以看作是 $g \circ (f \circ h)$。$f \circ h$ 是“先预备再执行”,等于“啥也没干”($\operatorname{Id}_Y$)。所以整体是 $g$。
- 因为结果必须一样,所以 $g=h$。那个“撤销”操作和“预备”操作必须是同一个操作。
💭 [直观想象]
- 左逆/右逆: 想象开锁和锁门。
- $f$: 用钥匙A锁门。
- $g$: 用钥匙B开锁。
- 如果 $g \circ f = \operatorname{Id}$ (先用A锁,再用B开,门回到开的状态),那么B是A的左逆(从“开”的状态看)。
- 如果 $f \circ g = \operatorname{Id}$ (先用B开——如果门已经是开的,这个操作什么也不做;如果门是另一种锁锁的,也打不开——再用A锁,门回到了锁的状态),这个类比有点困难。
- 更好的想象是代数操作:
- $f(x) = x+2$。
- $g(y) = y-2$ (左逆)。$g(f(x)) = (x+2)-2 = x$。
- $h(y) = y-2$ (右逆)。$f(h(y)) = (y-2)+2 = y$。
- 在这个例子里,$g=h$,所以它是逆函数。
1.6.7 逆函数唯一性的推论
📜 [原文36]
推论 1.6.7. 如果 $g_{1}$ 和 $g_{2}$ 是 $f$ 的两个逆函数,那么 $g_{1}=g_{2}$。换句话说,逆函数如果存在,则是唯一的。
证明。由于逆函数既是左逆又是右逆,我们可以应用前面的命题,例如将 $g_{1}$ 视为右逆,将 $g_{2}$ 视为左逆,从而得出 $g_{1}=g_{2}$。
📖 [逐步解释]
这个推论是前一个命题的直接应用,正式得出了逆函数的唯一性结论。
推论的陈述
- 如果一个函数 $f$ 有逆函数,那么这个逆函数是唯一的。不可能存在两个不同的函数 $g_1$ 和 $g_2$ 同时都是 $f$ 的逆函数。
证明的逻辑
- 前提: 假设 $g_1$ 和 $g_2$ 都是 $f$ 的逆函数。
- 展开定义:
- 因为 $g_1$ 是逆函数,所以它既是 $f$ 的左逆又是 $f$ 的右逆。即 $g_1 \circ f = \operatorname{Id}_X$ 且 $f \circ g_1 = \operatorname{Id}_Y$。
- 因为 $g_2$ 是逆函数,所以它也既是 $f$ 的左逆又是 $f$ 的右逆。即 $g_2 \circ f = \operatorname{Id}_X$ 且 $f \circ g_2 = \operatorname{Id}_Y$。
- 应用命题 1.6.6:
- 命题 1.6.6 说的是:只要一个函数 $f$ 有一个左逆 (我们称之为 g) 和一个右逆 (我们称之为 h),那么 g 和 h 就必须相等。
- 现在我们有一个完美的应用场景:
- 我们知道 $g_2$ 是 $f$ 的一个左逆 (因为 $g_2 \circ f = \operatorname{Id}_X$)。
- 我们还知道 $g_1$ 是 $f$ 的一个右逆 (因为 $f \circ g_1 = \operatorname{Id}_Y$)。
- 根据命题 1.6.6,这个左逆 ($g_2$) 和这个右逆 ($g_1$) 必须相等。
- 结论: 因此,$g_1 = g_2$。这就证明了任意两个声称是 $f$ 的逆函数的函数,实际上都是同一个。
💡 [数值示例]
- 这个推论是一个纯逻辑的结论,很难用具体的数值例子来说明“如果存在两个,则它们必然相等”。它的力量在于其普适性。我们可以反过来看:
- 对于 $f(x)=2x+3$,我们找到了其逆函数 $g(x)=(x-3)/2$。
- 是否还可能存在另一个函数 $h(x)$ 也是它的逆函数?
- 这个推论告诉我们:不需要再找了,不可能有第二个。任何满足逆函数条件的函数,其最终的表达式必然可以化简为 $(x-3)/2$。
⚠️ [易错点]
- 逻辑的清晰性: 证明的关键在于想清楚命题1.6.6的条件是什么(需要一个左逆和一个右逆),以及如何将当前的已知条件($g_1, g_2$都是双边逆函数)套入这个框架。
📝 [总结]
本推论利用“左逆等于右逆”的强大命题,直接证明了任何函数的逆函数(如果存在)是唯一的。
🎯 [存在目的]
唯一性是数学中一个至关重要的性质。它使得我们可以安全地、无歧义地使用符号 $f^{-1}$ 来指代那个唯一的逆函数。如果没有唯一性,每次提到逆函数,我们都需要说“$f$ 的一个逆函数”,这将使得理论的构建和交流变得异常繁琐和混乱。
🧠 [直觉心智模型]
- 想象一把锁 $f$。
- $g_1$ 是一把能打开这把锁的钥匙。
- $g_2$ 也是一把能打开这把锁的钥匙。
- 这个推论说的就是:如果这两把钥匙都能完美地开锁和反向锁上(双边逆函数),那么这两把钥匙的齿形必然是一模一样的。它们是同一把钥匙的复制品。
💭 [直观想象]
- 想象一个代数方程 $f(x)=y$。
- 逆函数 $f^{-1}$ 的作用就是解这个方程,求出 $x$。$x = f^{-1}(y)$。
- 唯一性意味着,对于一个给定的 $y$,解 $x$ 的公式是唯一的。不可能有两个不同的公式都能正确地解出所有 $y$ 对应的 $x$。
1.6.8 逆的逆
📜 [原文37]
注意 $g$ 是 $f$ 的左逆 $\Longleftrightarrow f$ 是 $g$ 的右逆,对于右逆也类似。特别是,如果 $f$ 有逆函数 $f^{-1}$,那么 $f$ 是 $f^{-1}$ 的右逆和左逆,因此是 $f^{-1}$ 的逆函数。我们可以这样表达:
命题 1.6.8. 假设 $f: X \rightarrow Y$ 有逆函数 $f^{-1}: Y \rightarrow X$。那么 $f^{-1}$ 也有一个逆函数,并且事实上它必然等于 $f$。换句话说,
$$
\left(f^{-1}\right)^{-1}=f
$$
📖 [逐步解释]
这部分内容探讨了逆函数关系本身的对称性。
逆关系的对称性
- 作者首先指出了左逆/右逆关系是对称的。
- $g$ 是 $f$ 的左逆$ $\iff g \circ f = \operatorname{Id}_X$。
- $f$ 是 $g$ 的右逆$ $\iff g \circ f = \operatorname{Id}_X$。
- 这两个定义是完全一样的。所以,“$g$ 是 $f$ 的左逆”和“$f$ 是 $g$ 的右逆”说的是同一件事。
- 这个对称性自然也适用于(双边)逆函数。
- 如果 $f$ 有逆函数 $f^{-1}$,这意味着 $f^{-1} \circ f = \operatorname{Id}_X$ 并且 $f \circ f^{-1} = \operatorname{Id}_Y$。
- 现在,我们把 $f^{-1}$ 看作主角,把 $f$ 看作它的“候选逆函数”。
- 第一个等式 $f^{-1} \circ f = \operatorname{Id}_X$ 说明了 $f$ 是 $f^{-1}$ 的一个右逆。
- 第二个等式 $f \circ f^{-1} = \operatorname{Id}_Y$ 说明了 $f$ 是 $f^{-1}$ 的一个左逆。
- 因为 $f$ 同时是 $f^{-1}$ 的左逆和右逆,所以根据逆函数的定义,$f$ 就是 $f^{-1}$ 的逆函数。
命题 1.6.8: 逆的逆是原函数
- 这个命题就是对上述推理的正式陈述。
- 如果一个函数 $f$ 是可逆的(即存在逆函数 $f^{-1}$),那么它的逆函数 $f^{-1}$ 本身也是可逆的。
- 并且,$f^{-1}$ 的逆函数不是别人,正是最初的那个函数 $f$。
- 这个性质可以用一个非常简洁的公式表达:$(f^{-1})^{-1} = f$。
这完全符合我们的直觉:撤销一个操作的“撤销操作”,就是恢复原始的操作。
💡 [数值示例]
- 令 $f(x)=2x+3$。我们已经知道其逆函数是 $f^{-1}(y)=(y-3)/2$。
- 现在我们来求 $(f^{-1})^{-1}$,即求 $f^{-1}$ 的逆函数。
- 设 $g(y) = (y-3)/2$。我们要找一个 $h$ 使得 $h(g(y))=y$。
- $h( (y-3)/2 ) = y$。
- 令 $z = (y-3)/2$。那么 $2z = y-3$,所以 $y=2z+3$。
- 代入上式,我们得到 $h(z) = 2z+3$。
- 这个函数 $h$ 的规则是“输入一个数,把它乘以2再加3”,这和原始函数 $f$ 的规则一模一样。
- 因此,$(f^{-1})^{-1} = f$。
- 示例2: 几何变换
- 令 $f$ 为“逆时针旋转 $90^\circ$”的操作。
- 它的逆函数 $f^{-1}$ 是“顺时针旋转 $90^\circ$”或“逆时针旋转 $270^\circ$”。
- 那么 $f^{-1}$ 的逆函数是什么?就是“撤销‘顺时针旋转 $90^\circ$’”的操作,那显然就是“逆时针旋转 $90^\circ$”,也就是最初的 $f$。
⚠️ [易错点]
- 这个概念非常直观,不容易出错。关键是理解其背后的逻辑完全依赖于逆函数定义的对称性。
📝 [总结]
本节和命题1.6.8确立了逆函数关系的对称性:如果 $g$ 是 $f$ 的逆函数,那么 $f$ 也必然是 $g$ 的逆函数。这个性质可以简洁地表示为 $(f^{-1})^{-1}=f$。
🎯 [存在目的]
这个性质是“可逆性”成为一种“关系”(等价关系的一种)的基础。它表明函数之间的可逆关系不是单向的,而是相互的。在由函数构成的代数结构(如置换群)中,这个性质保证了每个元素的逆元的逆元就是其自身,这是群公理的一部分。
🧠 [直觉心智模型]
- $f$: 穿上外套。
- $f^{-1}$: 脱下外套。
- $(f^{-1})^{-1}$: “脱下外套”这个动作的“逆动作”,那自然就是“穿上外套”,即 $f$。
💭 [直观想象]
- $f$ 的图像是 $G_f$。
- $f^{-1}$ 的图像是 $\{\}^t G_f$ (关于 $y=x$ 对称)。
- $(f^{-1})^{-1}$ 的图像是 $\{\}^t (\{\}^t G_f)$ (对转置图像再做一次对称)。
- 做两次轴对称,图形会回到原来的位置。所以 $\{\}^t (\{\}^t G_f) = G_f$。
- 因此 $(f^{-1})^{-1}$ 的图像与 $f$ 的图像相同,它们是同一个函数。
1.6.9 逆的存在性与单射/满射的关系
📜 [原文38]
左逆和右逆与单射和满射之间的关系由以下内容给出:
命题 1.6.9. 设 $f: X \rightarrow Y$ 是一个函数。
(i) 如果 $f$ 有左逆,则 $f$ 是单射。
(ii) 如果 $f$ 有右逆,则 $f$ 是满射。
(iii) $f$ 有逆函数当且仅当 $f$ 是双射,在这种情况下,其逆函数是与 ${ }^{t} G_{f}$ 相关联的函数。
证明。(i), (ii):作为练习(练习 1.7)。事实上,(ii) 是一个当且仅当语句,而 (i) 是一个当且仅当语句,只要 $X \neq \emptyset$。
(iii) (概要。)使用 $f: X \rightarrow Y$ 是双射 $\Longleftrightarrow{ }^{t} G_{f} \subseteq Y \times X$ 是函数 $g: Y \rightarrow X$ 的图像这一事实,并检查,必然有 $g \circ f=\operatorname{Id}_{X}$ 且 $f \circ g=\operatorname{Id}_{Y}$。反之,如果 $f^{-1}: Y \rightarrow X$ 是逆函数,则很容易看出 $G_{f^{-1}}={ }^{t} G_{f}$,因此 $f$ 是双射。
📖 [逐步解释]
这个命题建立了函数的可逆性(拥有左逆、右逆或逆函数)与其单射/满射/双射性质之间的根本联系。这是本章最重要的结论之一。
(i) 左逆 $\implies$ 单射
- 陈述: 如果一个函数 $f$ 有一个左逆 $g$ (即 $g \circ f = \operatorname{Id}_X$),那么 $f$ 必须是单射的。
- 证明思路:
- 我们要证明 $f$ 是单射,即需要证明:如果 $f(x_1)=f(x_2)$,那么 $x_1=x_2$。
- 假设 $f(x_1)=f(x_2)$。
- 我们将左逆 $g$ 应用于等式两边:$g(f(x_1)) = g(f(x_2))$。
- 根据复合定义,左边是 $(g \circ f)(x_1)$,右边是 $(g \circ f)(x_2)$。
- 因为 $g \circ f = \operatorname{Id}_X$,所以等式变为 $\operatorname{Id}_X(x_1) = \operatorname{Id}_X(x_2)$。
- 根据恒等函数的定义,这 바로 $x_1=x_2$。
- 证明完毕。
- 直观理解: 左逆的存在意味着我们可以从 $f$ 的输出“撤销”操作并唯一地找回输入。如果两个不同的输入能产生相同的输出,那么在“撤销”时我们就会面临歧义,不知道该回到哪个输入,这就无法构成一个(唯一性的)函数 $g$ 了。
(ii) 右逆 $\implies$ 满射
- 陈述: 如果一个函数 $f$ 有一个右逆 $h$ (即 $f \circ h = \operatorname{Id}_Y$),那么 $f$ 必须是满射的。
- 证明思路:
- 我们要证明 $f$ 是满射,即需要证明:对于值域 $Y$ 中的任意一个元素 $y$,都存在一个 $x \in X$ 使得 $f(x)=y$。
- 我们任取一个 $y \in Y$。
- 我们不知道要找的 $x$ 是什么,但我们手头有右逆函数 $h: Y \to X$。我们可以尝试用它来构造一个 $x$。
- 令 $x = h(y)$。这是一个存在于定义域 $X$ 中的元素。
- 现在我们来计算 $f$ 在这个 $x$ 上的值:$f(x) = f(h(y))$。
- 根据复合定义,这等于 $(f \circ h)(y)$。
- 因为 $f \circ h = \operatorname{Id}_Y$,所以 $(f \circ h)(y) = \operatorname{Id}_Y(y) = y$。
- 我们成功地找到了一个 $x$ (就是 $h(y)$),使得 $f(x)=y$。
- 证明完毕。
- 直观理解: 右逆 $h$ 的作用就像一个“向导”,对于任何一个你想在值域 $Y$ 中实现的目标 $y$,向导 $h$ 都能告诉你应该在定义域 $X$ 中选择哪一个出发点 $x=h(y)$,以确保你最终能命中目标 $y$。既然对任何目标都有出发点,那么 $f$ 必然是满射的。
作者的补充说明:
- 事实上,(ii) 是一个当且仅当命题:$f$ 有右逆 $\iff f$ 是满射。(这个结论的另一半证明依赖于选择公理,这是一个更深的逻辑学论题,但在大多数情况下我们默认其成立)。
- (i) 也是一个当且仅当命题,只要定义域 $X$ 不是空集:$f$ 有左逆 $\iff f$ 是单射。
(iii) 逆函数 $\iff$ 双射
- 陈述: 一个函数 $f$ 拥有一个(双边)逆函数,当且仅当 $f$ 是一个双射。
- 证明思路:
- $\implies$ (有逆函数 $\implies$ 双射):
- 如果 $f$ 有逆函数 $f^{-1}$,那么这个 $f^{-1}$ 既是 $f$ 的左逆也是右逆。
- 根据 (i),有左逆意味着 $f$ 是单射。
- 根据 (ii),有右逆意味着 $f$ 是满射。
- 因此,$f$ 既单射又满射,所以是双射。
- $\Longleftarrow$ (双射 $\implies$ 有逆函数):
- 这正是我们在命题1.5.3中已经确立的结论。
- 如果 $f$ 是双射,那么它的转置图像 $\{\}^t G_f$ 满足“垂直线测试”,从而定义了一个从 $Y$ 到 $X$ 的函数 $g$。
- 我们需要检查这个 $g$ 是否真的是 $f$ 的逆函数。
- $g \circ f = \operatorname{Id}_X$? $(g \circ f)(x) = g(f(x))$。如果 $y=f(x)$,那么 $g(y)=x$。所以 $g(f(x))=x$。成立。
- $f \circ g = \operatorname{Id}_Y$? $(f \circ g)(y) = f(g(y))$。如果 $x=g(y)$,那么 $f(x)=y$。所以 $f(g(y))=y$。成立。
- 因此,这个由转置图像定义的函数 $g$ 确实是 $f$ 的逆函数。
💡 [数值示例]
- $f: \mathbb{N} \to \mathbb{N}$, $f(n)=n+1$。它是单射非满射。
- 它有左逆吗?需要 $g: \mathbb{N} \to \mathbb{N}$ 使得 $g(n+1)=n$。
- 我们可以定义 $g(y) = y-1$。但这只对 $y \ge 2$ 有定义。对于 $y=1$, $g(1)$ 的值在 $\mathbb{N}$ 中不存在。
- 所以,严格来说,在 $\mathbb{N} \to \mathbb{N}$ 的框架下,我们无法定义一个满足条件的全函数 $g$。
- 但如果我们把 $g$ 的值域放宽到 $\mathbb{Z}$,或者把 $f$ 的定义域改成 $\mathbb{Z}$,就可以找到左逆。这个例子说明了域的限制。
- 更好的例子是 $1.6.6$中的 $f:\{1\} \to \{a,b\}, f(1)=a$。我们找到了左逆 $g=\{(a,1),(b,1)\}$。而 $f$ 是单射。
- 右逆/满射:
- $1.6.6$中的 $f:\{a,b\} \to \{1\}, f(a)=1, f(b)=1$。这是满射非单射。
- 我们找到了右逆 $g=\{(1,a)\}$。
- 逆函数/双射:
- $f: \mathbb{R} \to \mathbb{R}$, $f(x)=x^3$。是双射。
- 它的逆函数是 $f^{-1}(y) = \sqrt[3]{y}$,存在。
- $f: \mathbb{R} \to \mathbb{R}$, $f(x)=x^2$。不是双射。
- 它没有逆函数。我们无法定义一个 $g$ 能同时满足 $g(4)=2$ 和 $g(4)=-2$。
⚠️ [易错点]
- 当且仅当的关系: (iii) 是核心,一个函数可逆和它是双射是完全等价的,这是必须牢记的核心结论。而 (i) 和 (ii) 的单向箭头虽然也很有用,但它们的逆向(单射$\implies$有左逆,满射$\implies$有右逆)依赖于选择公理,属于更深入的讨论。
- 构造逆函数: 证明一个函数是双射的最好方法之一,就是直接把它所谓的“逆函数”构造出来,并验证那两个复合条件。如果能做到,就自动证明了它是双射。
📝 [总结]
本命题建立了函数的可逆性与其分类性质之间的黄金法则:
(i) 有左逆 $\implies$ 单射。
(ii) 有右逆 $\implies$ 满射。
(iii) 有(双边)逆函数 $\iff$ 双射。
🎯 [存在目的]
这个命题是函数理论的中心结果之一。它将一个代数概念(可逆性)和一个集合论/映射性质的概念(双射)完全等同起来。这使得我们可以在两个不同的视角间自由切换:想知道一个函数是否双射,可以去尝试构造它的逆函数;想知道一个函数是否可逆,可以去分析它的单射和满射性。这个结果是后续所有关于群、同构等概念的基础。
🧠 [直觉心智模型]
- (i) 左逆 $\implies$ 单射: 如果你可以保证有一个方法能从“结果”明确地“撤销”回“原因”,那么“原因”和“结果”之间必须是单射的。如果两个不同的原因能导致同一个结果,你在撤销时就不知道该回到哪个原因了。
- (ii) 右逆 $\implies$ 满射: 如果对于每一个你想要的目标,都存在一个“预备步骤”,执行这个预备步骤后再执行你的主操作,就能精确达到目标,那么你的主操作必须是满射的,即能达到所有可能的目标。
- (iii) 逆 $\iff$ 双射: 一个操作是“完美可逆”的,当且仅当它在输入和输出之间建立了一个完美的一一对应关系。
💭 [直观想象]
- 左逆/单射: 想象一个加密函数 $f$。如果存在一个解密函数 $g$ (左逆),能把任何密文解回唯一的明文,那么这个加密函数 $f$ 必须是单射的——它不能把两个不同的明文加密成同一个密文。
- 右逆/满射: 想象一个导弹发射系统 $f$,它的输入是发射指令 $x$,输出是击中点 $f(x)$。如果存在一个“目标选择器”函数 $h$ (右逆),对于战场的任何一个目标点 $y$,它都能给出一个发射指令 $h(y)$,使得发射后正好能击中 $y$,那么这个导弹系统 $f$ 必须是满射的——它的火力能覆盖整个战场。
- 逆/双射: 你的手机有一个操作是“锁屏”($f$)。如果这个操作是双射的,那么就存在一个唯一的“解锁”操作($f^{-1}$)。先锁再解,手机回到主屏幕。先解(如果已经是主屏幕就无事发生)再锁,手机回到锁屏状态。
1.6.10 复合的逆
📜 [原文39]
两个单射的复合是单射,两个满射的复合是满射(练习 1.5)。因此,两个双射的复合是双射。然而,鉴于上述备注,通过描述复合函数的逆函数来证明这个最后的陈述会更好,这还有一个优点,即给出了逆函数的公式。注意公式中的顺序颠倒,这是基本事实。
命题 1.6.10. 假设 $f: X \rightarrow Y$ 有逆函数 $f^{-1}: Y \rightarrow X$,并且 $g: Y \rightarrow Z$ 有逆函数 $g^{-1}: Z \rightarrow Y$。那么 $g \circ f$ 有一个逆函数,并且它等于 $f^{-1} \circ g^{-1}$。
证明。我们必须检查两个等式
$$
\begin{aligned}
& (g \circ f) \circ\left(f^{-1} \circ g^{-1}\right)=\operatorname{Id}_{Z} \\
& \left(f^{-1} \circ g^{-1}\right) \circ(g \circ f)=\operatorname{Id}_{X}
\end{aligned}
$$
由于它们是相似的,我们只检查第一个:通过结合律,
$$
\begin{aligned}
(g \circ f) \circ\left(f^{-1} \circ g^{-1}\right) & =g \circ\left(f \circ f^{-1}\right) \circ g^{-1} \\
& =g \circ \operatorname{Id}_{Y} \circ g^{-1} \\
& =g \circ g^{-1}=\operatorname{Id}_{Z} . \quad \square
\end{aligned}
$$
📖 [逐步解释]
这部分内容探讨了复合函数的可逆性问题,并给出了一个极其重要的公式:复合函数的逆等于逆函数的反序复合。
前言部分的思路
- 作者首先陈述了一个可以直接证明的事实:单射的复合是单射,满射的复合是满射。
- 证明 (单射): 设 $f: X \to Y$ 和 $g: Y \to Z$ 都是单射。要证明 $g \circ f$ 是单射,我们假设 $(g \circ f)(x_1)=(g \circ f)(x_2)$,即 $g(f(x_1))=g(f(x_2))$。因为 $g$ 是单射,所以 $f(x_1)=f(x_2)$。又因为 $f$ 是单射,所以 $x_1=x_2$。证毕。
- 证明 (满射): 设 $f, g$ 都是满射。要证明 $g \circ f$ 是满射,我们任取 $z \in Z$。因为 $g$ 是满射,所以存在 $y \in Y$ 使得 $g(y)=z$。又因为 $f$ 是满射,所以存在 $x \in X$ 使得 $f(x)=y$。因此,$g(f(x))=g(y)=z$。我们找到了一个 $x$ 对应 $z$。证毕。
- 由此可以推论:两个双射(既单射又满射)的复合必然是双射。
- 然而,作者提出了一个“更好”的证明思路:既然双射等价于可逆,我们可以通过直接构造出复合函数 $g \circ f$ 的逆函数,来证明它是可逆的(从而也是双射的)。这个思路的好处是,它不仅证明了存在性,还给出了逆函数的具体“长相”。
命题 1.6.10: 复合函数的逆
- 陈述: 如果 $f$ 和 $g$ 都有逆函数(即它们都是双射),那么它们的复合函数 $g \circ f$ 也一定有逆函数。这个逆函数等于 先应用 $g$ 的逆函数 $g^{-1}$,再应用 $f$ 的逆函数 $f^{-1}$。
- 公式: $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$。
- 顺序颠倒: 这个公式最关键、最核心的特点就是 顺序颠倒。这被称为“袜子-鞋子原理”(Socks and Shoes Principle)。你早上穿衣服是先穿袜子($f$)再穿鞋($g$),晚上回家脱衣服必须反过来,先脱鞋($g^{-1}$)再脱袜子($f^{-1}$)。
证明的逻辑
- 要证明 $f^{-1} \circ g^{-1}$ 是 $g \circ f$ 的逆函数,我们只需要根据逆函数的定义,验证两个复合条件即可。
- 验证第一个条件: $(g \circ f) \circ (f^{-1} \circ g^{-1}) = \operatorname{Id}_Z$。
- $(g \circ f) \circ (f^{-1} \circ g^{-1})$
- $= g \circ f \circ f^{-1} \circ g^{-1}$ (利用结合律去掉括号)
- $= g \circ (f \circ f^{-1}) \circ g^{-1}$ (重新组合,把 $f$ 和 $f^{-1}$ 凑在一起)
- $= g \circ \operatorname{Id}_Y \circ g^{-1}$ (因为 $f \circ f^{-1} = \operatorname{Id}_Y$)
- $= (g \circ \operatorname{Id}_Y) \circ g^{-1}$ (重新组合)
- $= g \circ g^{-1}$ (因为 $g$ 与恒等函数复合等于 $g$ 本身)
- $= \operatorname{Id}_Z$ (根据 $g^{-1}$ 是 $g$ 的逆函数的定义)
- 验证第二个条件: $(f^{-1} \circ g^{-1}) \circ (g \circ f) = \operatorname{Id}_X$。证明过程完全类似,中间会凑出 $g^{-1} \circ g = \operatorname{Id}_Y$,然后是 $f^{-1} \circ f = \operatorname{Id}_X$。
- 因为两个条件都满足,所以命题得证。
💡 [数值示例]
- 令 $f(x)=x+1$, $g(x)=2x$。
- $f^{-1}(x)=x-1$, $g^{-1}(x)=x/2$。
- 复合函数: $(g \circ f)(x) = g(x+1) = 2(x+1) = 2x+2$。
- 求复合函数的逆: 我们来求 $h(x)=2x+2$ 的逆函数 $h^{-1}$。
- $y = 2x+2 \implies y-2=2x \implies x=(y-2)/2$。
- 所以 $(g \circ f)^{-1}(y) = (y-2)/2$。
- 计算逆函数的反序复合: $f^{-1} \circ g^{-1}$。
- $(f^{-1} \circ g^{-1})(y) = f^{-1}(g^{-1}(y)) = f^{-1}(y/2) = (y/2) - 1 = (y-2)/2$。
- 比较: 两种方法得到的结果完全相同,验证了公式 $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$。
- 示例2: 几何变换
- $f$: 将点 $(x,y)$ 沿x轴平移1个单位, $f(x,y)=(x+1, y)$。
- $g$: 将点 $(x,y)$ 绕原点逆时针旋转 $90^\circ$, $g(x,y)=(-y, x)$。
- $f^{-1}(x,y)=(x-1, y)$ (反向平移)。
- $g^{-1}(x,y)=(y, -x)$ (顺时针旋转 $90^\circ$)。
- 复合操作 $g \circ f$: 先平移再旋转。$(g \circ f)(x,y) = g(x+1, y) = (-y, x+1)$。
- 求复合的逆 $(g \circ f)^{-1}$: 如何撤销“先平移再旋转”?必须“先反向旋转,再反向平移”。
- 这个“逆操作”就是 $f^{-1} \circ g^{-1}$。
- 我们来计算一下:$(f^{-1} \circ g^{-1})(x,y) = f^{-1}(g^{-1}(x,y)) = f^{-1}(y, -x) = (y-1, -x)$。
- 我们来验证这个结果对不对:把 $(g \circ f)^{-1}$ 作用在 $(g \circ f)$ 的结果 $(-y, x+1)$ 上。
- $((y-1, -x)$ 中,用 $-y$ 替换 $x$,用 $x+1$ 替换 $y$):
$((x+1)-1, -(-y)) = (x, y)$。
- 确实回到了原点。这验证了“先反向旋转,再反向平移”的正确性,即 $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$。
⚠️ [易错点]
- 顺序!顺序!顺序!: 这个公式最容易出错的地方就是忘记颠倒顺序。
- 括号与结合律: 证明过程严重依赖于结合律,它允许我们重新组合函数,把一个函数和它的逆凑到一起进行抵消。
📝 [总结]
本节和命题1.6.10确立了函数复合的逆运算法则:两个(或多个)可逆函数的复合函数也是可逆的,其逆函数等于原函数的逆函数以相反的顺序进行复合。即 $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$。
🎯 [存在目的]
这个公式是代数学中一个极其普遍的模式(在任何群中,$(ab)^{-1}=b^{-1}a^{-1}$)。它为计算复合操作的“逆”提供了一个通用的、可计算的法则。无论是在解方程、几何变换、密码学还是计算机编程中,当一个过程由多个步骤组成时,要“撤销”这个过程,就必须从最后一步开始,一步步反向撤销。这个命题为这个直观的操作提供了严格的数学证明。
[直觉心- 1.6.11 推论
📜 [原文40]
推论 1.6.11. 如果 $f: X \rightarrow Y$ 和 $g: Y \rightarrow Z$ 是双射,那么 $g \circ f$ 也是双射。
当然,如上所述,可以直接从定义证明推论 1.6.11。
📖 [逐步解释]
这个推论是前一个命题的直接逻辑结果。
推论的陈述:
- 双射这个性质在函数复合下是“封闭”的。也就是说,一个双射函数和另一个双射函数复合,得到的新函数仍然是一个双射。
证明方法一 (使用逆函数)
- 我们知道函数是双射的当且仅当它有逆函数 (命题 1.6.9)。
- 前提: $f$ 是双射,所以 $f^{-1}$ 存在。$g$ 是双射,所以 $g^{-1}$ 存在。
- 根据命题 1.6.10,复合函数 $g \circ f$ 的逆函数是 $f^{-1} \circ g^{-1}$。
- 既然 $g \circ f$ 存在一个逆函数,那么根据命题 1.6.9, $g \circ f$ 必须是双射。
- 这个证明非常优雅和简洁,因为它利用了双射和可逆性的等价关系。
证明方法二 (直接从定义证明)
作者也提到了可以直接从单射和满射的定义来证明。
- 证明 $g \circ f$ 是单射:
- 假设 $(g \circ f)(x_1) = (g \circ f)(x_2)$,即 $g(f(x_1)) = g(f(x_2))$。
- 因为 $g$ 是单射,所以其输入必须相等:$f(x_1) = f(x_2)$。
- 因为 $f$ 是单射,所以其输入也必须相等:$x_1 = x_2$。
- 我们从 $(g \circ f)(x_1) = (g \circ f)(x_2)$ 推出了 $x_1=x_2$,所以 $g \circ f$ 是单射。
- 证明 $g \circ f$ 是满射:
- 任取一个元素 $z \in Z$ (最终的值域)。
- 因为 $g: Y \to Z$ 是满射,所以存在一个 $y \in Y$ 使得 $g(y)=z$。
- 因为 $f: X \to Y$ 是满射,所以对于上面找到的这个 $y$,存在一个 $x \in X$ 使得 $f(x)=y$。
- 把它们结合起来:$(g \circ f)(x) = g(f(x)) = g(y) = z$。
- 我们成功地为任意的 $z$ 找到了一个对应的 $x$,所以 $g \circ f$ 是满射。
- 结论: 因为 $g \circ f$ 既是单射又是满射,所以它是双射。
💡 [数值示例]
- 令 $f: \mathbb{R} \to \mathbb{R}$ 为 $f(x)=x-5$ (这是一个双射)。
- 令 $g: \mathbb{R} \to \mathbb{R}$ 为 $g(x)=3x$ (这也是一个双射)。
- 复合函数 $(g \circ f)(x) = g(f(x)) = g(x-5) = 3(x-5) = 3x-15$。
- 这个新函数 $h(x)=3x-15$ 是双射吗?是的,它是一条斜率不为0的直线,所以是双射。它的逆函数是 $h^{-1}(y)=(y+15)/3$。
- 这验证了两个双射的复合是双射。
⚠️ [易错点]
- 这个结论非常稳固,没有什么特别的易错点。关键是理解两种证明路径,以及它们各自依赖的基础(一个是逆函数的性质,另一个是单射/满射的定义)。
🎯 [存在目的]
这个性质是“群”这个代数结构的核心公理之一(运算的封闭性)。我们将在后面看到,一个集合上的所有双射函数(也叫置换),在函数复合这个运算下,构成了一个非常重要的群,称为对称群或置换群。这个推论正是该群得以成立的第一块基石。
🧠 [直觉心智模型]
- 如果 $f$ 是一个“完美配对”,$g$ 也是一个“完美配对”,那么把这两个配对过程接连起来,得到的总体过程也一定是一个“完美配对”。不会在中途产生“多对一”或“有遗漏”的情况。
💭 [直观想象]
- $f$: 一台能把中文完美地、无歧义地翻译成英文的机器(双射)。
- $g$: 一台能把英文完美地、无歧义地翻译成法文的机器(双射)。
- $g \circ f$: 把这两台机器串联起来,得到一台能把中文直接翻译成法文的机器。这个新机器也必然是完美且无歧义的(双射)。
1.6.12 自然双射与特征函数
📜 [原文41]
双射表达了两个集合具有相同数量元素的思想。我们已经讨论过有限集的情况。对于无限集,这可以用来定义两个无限集具有相同数量元素的含义(康托)。但这样的双射可能非常不明显。例如,可以证明存在从 $\mathbb{R}$ 到 $\mathbb{R}^{2}$ 的双射,或者实际上到任何 $n>0$ 的 $\mathbb{R}^{n}$ 的双射,但这样的双射不具有几何性质,也不能以任何显式方式写出来。
另一方面,特别是在代数中,我们经常寻找“好的”双射,这可能告诉我们两个集合即使在技术上不同,也可能本质上是相同的。例如,如果 $X \neq Y$,集合 $X \times Y$ 和 $Y \times X$ 是不同的集合,但存在一个自然函数 $F: X \times Y \rightarrow Y \times X$,由 $F(x, y)=(y, x)$ 定义。这个函数是一个双射:如果 $F\left(x_{1}, y_{1}\right)=F\left(x_{2}, y_{2}\right)$,那么根据定义 $\left(y_{1}, x_{1}\right)=\left(y_{2}, x_{2}\right)$ 作为 $Y \times X$ 中的有序对。因此,根据有序对相等的运算性质,$y_{1}=y_{2}$ 且 $x_{1}=x_{2}$,从而 $\left(x_{1}, y_{1}\right)=\left(x_{2}, y_{2}\right)$。因此 $F$ 是单射。为了看出它是满射,设 $(y, x)$ 是 $Y \times X$ 的任意元素。那么 $(y, x)=F(x, y)$。因此 $F$ 是满射,从而是一个双射。在不直接验证 $F$ 既是单射又是满射的情况下,很容易找到一个逆函数 $G: Y \times X \rightarrow X \times Y$。(这个逆函数是什么?)同样地,存在从 $X_{1} \times\left(X_{2} \times X_{3}\right)$ 到 $\left(X_{1} \times X_{2}\right) \times X_{3}$ 的双射,以及从这两个集合中的任何一个到 $X_{1} \times X_{2} \times X_{3}$ 的双射。事实上,这些双射非常明显,以至于我们不总是显式地写出它们。
再举一个例子,我们可以将幂集 $\mathcal{P}(X)$ 与所有从 $X$ 到 $\{0,1\}$ 的函数集等同起来,即与 $\{0,1\}^{X}$ 等同,如下所示。
定义 1.6.12. 设 $X$ 是一个集合,设 $A \subseteq X$,即 $A \in \mathcal{P}(X)$。定义特征函数 $\chi_{A}: X \rightarrow\{0,1\}$ 为:
$$
\chi_{A}(x)= \begin{cases}1, & \text { 如果 } x \in A \\ 0, & \text { 如果 } x \notin A\end{cases}
$$
那么 $\chi_{A} \in\{0,1\}^{X}$。
📖 [逐步解释]
这部分内容分为两个层次。首先,它探讨了双射的哲学意义,区分了“存在双射”和存在“自然”或“好”的双射。然后,它给出了一个极其重要的“自然双射”的例子:一个集合的幂集与其对应的特征函数集之间的双射。
“存在”双射 vs “自然”双射
- 双射与基数: 双射是定义集合“大小”相等(基数相同)的根本工具。对于无限集,这是唯一的定义方式。
- 奇怪的双射: 作者指出,有些双射的存在是高度非直观的。例如,一维直线 $\mathbb{R}$ 和二维平面 $\mathbb{R}^2$ 之间存在双射。这意味着直线上的点和平面上的点一样“多”。但这个双射是无法被清晰地写出或几何地想象的,它会彻底破坏空间的几何结构(例如,它不是连续的)。这种双射只在纯集合论层面有意义。
- “好”的双射 (同构): 在代数和其他领域,我们更关心那些“保持结构”的双射,它们被称为“同构”(Isomorphism)。这些双射是“自然”的,能揭示两个表面上不同的数学对象在本质结构上是相同的。
- 例子: $X \times Y$ 和 $Y \times X$ 在技术上是不同的集合(元素的顺序不同)。但函数 $F(x,y)=(y,x)$ 是一个非常“自然”的双射,它完美地保持了配对的结构,只是交换了一下顺序。作者通过验证其单射和满射性证明了它是双射。他还启发读者思考:它的逆函数 $G$ 是什么?答案显然是 $G(y,x)=(x,y)$。
- 另一个例子: 笛卡尔积的“结合律”,即 $X_1 \times (X_2 \times X_3)$ 和 $(X_1 \times X_2) \times X_3$ 之间也存在一个非常自然的双射,即 $F(x_1, (x_2, x_3)) = ((x_1, x_2), x_3)$。这使得我们可以不加区分地写 $X_1 \times X_2 \times X_3$。
幂集与特征函数集之间的双射
这是本节最重要的构造。它在幂集 $\mathcal{P}(X)$ 和函数集 $\{0,1\}^X$ 之间建立了一座桥梁。
- 目标: 证明 $\mathcal{P}(X)$ 和 $\{0,1\}^X$ “本质上是相同的”,即在它们之间存在一个自然双射。
- 构造的核心:特征函数 (Characteristic Function)
- 定义: 对于 $X$ 的每一个子集 $A \subseteq X$,我们可以定义一个与之对应的函数,名为 $A$ 的特征函数,记作 $\chi_A$ (希腊字母 Chi)。
- 函数 $\chi_A$ 的定义域是 $X$,值域是集合 $\{0, 1\}$。
- 规则: 对于 $X$ 中的任何一个元素 $x$:
- 如果 $x$ 在子集 $A$ 中,那么 $\chi_A(x)=1$ (可以理解为“是”或“真”)。
- 如果 $x$ 不在子集 $A$ 中,那么 $\chi_A(x)=0$ (可以理解为“否”或“假”)。
- 作用: 特征函数 $\chi_A$ 就像一个“成员资格测试仪”,它把一个子集 $A$ 的信息完全编码成了一个函数。给定任何 $x$,通过查询 $\chi_A(x)$ 的值是0还是1,我们就能知道 $x$ 是否属于 $A$。
这个定义建立了从 $\mathcal{P}(X)$ 到 $\{0,1\}^X$ 的一个映射关系:每一个子集 $A$ 都对应一个唯一的特征函数 $\chi_A$。下一节将证明这个映射关系是一个双射。
💡 [数值示例]
- 令 $X=\{1\}, Y=\{a,b\}$。
- $X \times Y = \{(1,a), (1,b)\}$。
- $Y \times X = \{(a,1), (b,1)\}$。
- 双射 $F: X \times Y \to Y \times X$ 为 $F(x,y)=(y,x)$。
- $F(1,a)=(a,1)$。
- $F(1,b)=(b,1)$。
- 这是一个完美的配对。
- 特征函数示例:
- 令 $X=\{1, 2, 3, 4\}$。
- 令子集 $A = \{1, 3\} \subseteq X$。
- 那么 $A$ 对应的特征函数 $\chi_A: X \to \{0,1\}$ 是:
- $\chi_A(1) = 1$ (因为 $1 \in A$)
- $\chi_A(2) = 0$ (因为 $2 \notin A$)
- $\chi_A(3) = 1$ (因为 $3 \in A$)
- $\chi_A(4) = 0$ (因为 $4 \notin A$)
- 这个函数 $\chi_A$ 可以用表格表示为:
| x |
1 |
2 |
3 |
4 |
| $\chi_A(x)$ |
1 |
0 |
0 |
1 |
- 这个函数可以用一个二进制序列 $1010$ 来唯一地代表。
- 再令子集 $B = \emptyset \subseteq X$。
- 它的特征函数 $\chi_\emptyset$ 是:
- $\chi_\emptyset(1)=0, \chi_\emptyset(2)=0, \chi_\emptyset(3)=0, \chi_\emptyset(4)=0$。这是一个常数函数0。
- 令子集 $C=X=\{1,2,3,4\}$。
- 它的特征函数 $\chi_X$ 是:
- $\chi_X(1)=1, \chi_X(2)=1, \chi_X(3)=1, \chi_X(4)=1$。这是一个常数函数1。
⚠️ [易错点]
- 自然 vs 存在: 一定要区分“存在一个双射”(集合论层面,关心基数)和“存在一个自然的、保持结构的双射”(代数层面,关心同构)。$\mathbb{R}$ 和 $\mathbb{R}^2$ 基数相同,但它们在代数和拓扑上是完全不同的结构。
- $\chi_A$ 的定义域: 特征函数 $\chi_A$ 的定义域是整个父集合 $X$,而不是子集 $A$ 本身。
📝 [总结]
本节首先对双射的意义进行了更深入的探讨,区分了仅用于比较大小的抽象双射和揭示结构相同的“自然双射”(同构)。然后,作为自然双射的一个核心范例,引入了将一个集合的子集 $A$ 转化为一个从父集合 $X$ 到 $\{0,1\}$ 的函数——特征函数 $\chi_A$——的构造方法。
🎯 [存在目的]
这部分内容的目的是多重的。首先,深化对双射的理解,为后续学习“同构”这一核心代数概念铺路。其次,引入特征函数这一极其重要的工具。特征函数的构造完美地展示了如何将一个集合(子集 $A$)的信息编码成一个函数,反之亦然。这个双射关系不仅是组合计数(幂集大小为 $2^n$)的根本原因,也在测度论、概率论和计算机科学(位掩码 bitmask)等领域有广泛应用。
🧠 [直觉心智模型]
- 自然双射: 两个乐高模型 $A$ 和 $B$ 是“同构”的,如果它们虽然可能颜色不同(技术上是不同的集合),但它们的积木块数量、形状以及拼接方式是完全一样的。你可以将 $A$ 的每一块积木都与 $B$ 的一块积木一一对应,使得它们的结构关系保持不变。
- 特征函数: 想象班级里的一次投票,议题是“是否同意春游”。
- 全班同学是集合 $X$。
- 同意春游的同学构成了子集 $A$。
- 特征函数 $\chi_A$ 就是投票结果记录员。他问班里的每一个同学 $x$:“你同意吗?”
- 如果同学 $x$ 在同意的集合 $A$ 里,记录员就记一个 "1" (同意)。
- 如果同学 $x$ 不在 $A$ 里,记录员就记一个 "0" (不同意)。
- 最终,这个记满了0和1的名单(函数 $\chi_A$),就完整地、无歧义地记录了是哪些人同意春游(子集 $A$)。
💭 [直观想象]
- 特征函数: 想象你在电脑上有一张黑白图片。
- 整张图片的所有像素点构成了集合 $X$。
- 所有黑色的像素点构成了子集 $A$。
- 这张图片的数字文件,就可以看作是一个特征函数 $\chi_A$。它为每个像素点的位置 $x$ 存储一个值:如果 $x$ 是黑色的,值为1;如果 $x$ 是白色的,值为0。
- 子集 $A$ (黑色区域的几何形状) 和特征函数 (0-1的数字矩阵) 编码了完全相同的信息。
1.6.13 构造双射的通用模式
📜 [原文42]
因此,给定 $\mathcal{P}(X)$ 的一个元素 $A$,我们定义了一个函数 $\chi_{A}: X \rightarrow\{0,1\}$,即 $\{0,1\}^{X}$ 的一个元素。反之,如果 $f \in\{0,1\}^{X}$,即 $f$ 是一个从 $X$ 到 $\{0,1\}$ 的函数,定义 $S_{f}=f^{-1}(1)= \{x \in X: f(x)=1\}$。更正式地,我们通过公式
$$
F(A)=\chi_{A}
$$
定义了一个函数 $F: \mathcal{P}(X) \rightarrow\{0,1\}^{X}$。
函数 $G:\{0,1\}^{X} \rightarrow \mathcal{P}(X)$ 定义为
$$
G(f)=f^{-1}(1)
$$
是 $F$ 的逆函数,可以通过验证以下两个陈述来检查:
$$
\begin{aligned}
& G \circ F=\operatorname{Id}_{\mathcal{P}(X)} \\
& F \circ G=\operatorname{Id}_{\{0,1\}^{X}}
\end{aligned}
$$
这些陈述通过展开定义来检查(参见练习 1.9)。
那么根据备注 1.5.4,如果 $X$ 是一个有限集且 $\#(X)=n$,则
$$
\#(\mathcal{P}(X))=\#\left(\{0,1\}^{X}\right)=2^{n}
$$
上述例子说明了数学中的一个普遍模式。给定两个集合 $X$ 和 $Y$,通常通过以下方式找到从 $X$ 到 $Y$ 的双射:
(i) 对于 $X$ 的每个元素 $x$,构造一个 $Y$ 的元素 $y$,我们将其解释为函数 $F: X \rightarrow Y$;
(ii) 类似地,对于 $Y$ 的每个元素 $y$,构造一个 $X$ 的元素 $x$,我们将其解释为函数 $G: Y \rightarrow X$;
(iii) 证明这些是“逆构造”,即如果我们从 $x$ 构造 $y$,然后对 $y$ 进行相应的构造,我们就会回到我们最初的元素 $x \in X$,反之亦然。这最后一个陈述等价于断言 $G \circ F=\operatorname{Id}_{X}$ 且 $F \circ G=\operatorname{Id}_{Y}$。当然,我们希望这些“构造”,换句话说,函数 $F$ 和 $G$,在某种模糊的意义上是自然的。
📖 [逐步解释]
这部分内容完成了从幂集到特征函数集的双射证明,并从中提炼出一种在数学中构造双射的通用模式。
证明 $\mathcal{P}(X)$ 与 $\{0,1\}^X$ 之间的双射
作者在这里明确定义了两个方向的函数 $F$ 和 $G$,并断言它们互为逆函数。
- 定义正向函数 F:
- $F: \mathcal{P}(X) \to \{0,1\}^X$
- 输入: $\mathcal{P}(X)$ 的一个元素,即 $X$ 的一个子集 $A$。
- 输出: $\{0,1\}^X$ 的一个元素,即一个函数。这个函数就是我们上一节定义的特征函数 $\chi_A$。
- 所以 $F(A) = \chi_A$。
- 定义反向函数 G:
- $G: \{0,1\}^X \to \mathcal{P}(X)$
- 输入: $\{0,1\}^X$ 的一个元素,即一个从 $X$到 $\{0,1\}$ 的函数 $f$。
- 输出: $\mathcal{P}(X)$ 的一个元素,即 $X$ 的一个子集。这个子集是怎样构造的呢?我们收集所有那些被函数 $f$ 映射到 1 的元素。这正是 1 的原像 $f^{-1}(1)$。
- 所以 $G(f) = f^{-1}(1)$。
- 证明互为逆函数:
- 要证明 $F$ 和 $G$ 互为逆函数,我们需要证明 $G \circ F = \operatorname{Id}_{\mathcal{P}(X)}$ 和 $F \circ G = \operatorname{Id}_{\{0,1\}^X}$。
- 验证 $G \circ F = \operatorname{Id}_{\mathcal{P}(X)}$:
- 这个复合函数的输入是 $\mathcal{P}(X)$ 中的一个子集 $A$。我们需要证明 $(G \circ F)(A) = A$。
- $(G \circ F)(A) = G(F(A)) = G(\chi_A)$。
- 根据 $G$ 的定义,$G(\chi_A) = (\chi_A)^{-1}(1)$。
- $(\chi_A)^{-1}(1)$ 是所有满足 $\chi_A(x)=1$ 的 $x$ 的集合。
- 根据特征函数 $\chi_A$ 的定义,这恰好就是子集 $A$ 本身。
- 所以 $(G \circ F)(A) = A = \operatorname{Id}_{\mathcal{P}(X)}(A)$。此等式成立。
- 验证 $F \circ G = \operatorname{Id}_{\{0,1\}^X}$:
- 这个复合函数的输入是 $\{0,1\}^X$ 中的一个函数 $f$。我们需要证明 $(F \circ G)(f) = f$。
- $(F \circ G)(f) = F(G(f)) = F(f^{-1}(1))$。
- 令子集 $A = f^{-1}(1)$。那么上式等于 $F(A) = \chi_A$。
- 现在我们要比较 $\chi_A$ 和原始函数 $f$ 是否相等。我们需要检查它们在每一点的取值。
- 对于任意 $x \in X$:
- 如果 $x \in A$,即 $x \in f^{-1}(1)$,这意味着 $f(x)=1$。而根据定义,$\chi_A(x)$ 也等于 1。
- 如果 $x \notin A$,即 $x \notin f^{-1}(1)$,这意味着 $f(x) \neq 1$。因为 $f$ 的值域只有 $\{0,1\}$,所以 $f(x)$ 必然等于 0。而根据定义,$\chi_A(x)$ 也等于 0。
- 因为在所有 $x$ 上 $\chi_A(x) = f(x)$,所以函数 $\chi_A$ 和 $f$ 是相等的。
- 所以 $(F \circ G)(f) = f = \operatorname{Id}_{\{0,1\}^X}(f)$。此等式也成立。
- 结论: 既然 $F$ 和 $G$ 互为逆函数,那么 $F$ (或 $G$) 就是一个双射。这证明了 $\mathcal{P}(X)$ 和 $\{0,1\}^X$ 之间存在一个自然双射。
幂集基数的推导
- 因为存在从 $\mathcal{P}(X)$ 到 $\{0,1\}^X$ 的双射,根据备注 1.5.4,这两个有限集的基数必然相等。
- $\#(\mathcal{P}(X)) = \#(\{0,1\}^X)$。
- 我们在备注 1.3.3(viii) 中已经知道,对于函数集 $Y^X$,其基数为 $(\#(Y))^{\#(X)}$。
- 在这里,$Y=\{0,1\}$,所以 $\#(Y)=2$。$X$ 的基数为 $n$。
- 因此,$\#(\{0,1\}^X) = 2^n$。
- 最终我们得到 $\#(\mathcal{P}(X)) = 2^n$。这个重要的公式现在有了坚实的理论依据。
构造双射的通用模式
- 作者最后总结了从这个例子中提炼出的一个通用方法论,用于证明两个集合 $X$ 和 $Y$ 之间存在双射。
- (i) 构造 $F: X \to Y$: 定义一个规则,对于 $X$ 中的每个元素 $x$,都能以一种明确的方式构造出 $Y$ 中的一个元素 $y=F(x)$。
- (ii) 构造 $G: Y \to X$: 定义一个“相反”的规则,对于 $Y$ 中的每个元素 $y$,都能构造出 $X$ 中的一个元素 $x=G(y)$。
- (iii) 验证互为逆构造: 证明这两个构造过程是互逆的。即,从 $x$ 出发,通过 $F$ 得到 $y$,再通过 $G$ 从 $y$ 出发,能够不多不少地回到最初的 $x$。反之亦然。这在数学上就等价于验证 $G \circ F = \operatorname{Id}_X$ 和 $F \circ G = \operatorname{Id}_Y$。
- 这个模式是证明两个集合“同构”或“等价”的最常用、最强大的方法之一。
💡 [数值示例]
- 我们用 $X=\{a,b\}$ 来完整地走一遍这个模式。
- $\mathcal{P}(X) = \{\emptyset, \{a\}, \{b\}, \{a,b\}\}$。
- $\{0,1\}^X$ 是从 $\{a,b\}$ 到 $\{0,1\}$ 的函数集,共 $2^2=4$ 个函数。
- $f_1 = \{(a,0), (b,0)\}$
- $f_2 = \{(a,1), (b,0)\}$
- $f_3 = \{(a,0), (b,1)\}$
- $f_4 = \{(a,1), (b,1)\}$
- 构造 $F: \mathcal{P}(X) \to \{0,1\}^X$:
- $F(\emptyset) = \chi_\emptyset = f_1$。
- $F(\{a\}) = \chi_{\{a\}} = f_2$。
- $F(\{b\}) = \chi_{\{b\}} = f_3$。
- $F(\{a,b\}) = \chi_{\{a,b\}} = f_4$。
- 构造 $G: \{0,1\}^X \to \mathcal{P}(X)$:
- $G(f_1) = f_1^{-1}(1) = \emptyset$。
- $G(f_2) = f_2^{-1}(1) = \{a\}$。
- $G(f_3) = f_3^{-1}(1) = \{b\}$。
- $G(f_4) = f_4^{-1}(1) = \{a,b\}$。
- 验证:
- $(G \circ F)(\{a\}) = G(F(\{a\})) = G(f_2) = \{a\}$。正确。
- $(F \circ G)(f_3) = F(G(f_3)) = F(\{b\}) = \chi_{\{b\}} = f_3$。正确。
- 我们可以看到 $F$ 和 $G$ 建立了一个完美的配对。
⚠️ [易错点]
- 构造的对称性: 构造双射时,最难的部分往往是想出那个反向的构造 $G$。它必须是对 $F$ 构造过程的精确“逆运算”。
- 验证的完整性: 必须验证 $G \circ F$ 和 $F \circ G$ 两个方向,才能证明它们是严格的逆函数关系。
📝 [总结]
本节完整地证明了集合 $\mathcal{P}(X)$ 和函数集 $\{0,1\}^X$ 之间存在一个自然双射,并由此严格推导出了有限幂集的基数公式 $\#(\mathcal{P}(X)) = 2^n$。更重要的是,它将这个证明过程提炼成一个“构造正向函数 F