函数不只是一个公式:输入集合、输出集合和对应规则共同决定了关于它的陈述是什么意思。本篇把定义、单射、满射、复合和逆函数放在一起,因为它们围绕同一个映射逐步提出问题。阅读前先掌握朴素集合论,之后就能把序列理解为带指标的函数 [1][1] T. Button, Set Theory. Open Logic Project, 2026. Fall 2021 course text, revised July 2026. https://builds.openlogicproject.org/courses/set-theory/settheory-screen.pdf。
指明定义域、陪域和规则
定义函数
函数 f:A→B 为每个 a∈A 恰好指定一个 f(a)∈B。A 是定义域,B 是陪域。像集或值域为 f[A]={f(a):a∈A},它是 B 的子集。
对 f:Z→Z、f(n)=n2,陪域是全部整数,像集却是 {0,1,4,9,…}。这里把函数视为带类型的映射:相等要求定义域、陪域以及各输入的输出都相同。因此,同一公式换一个声明的陪域,映射性质也可能改变。
从 ∅ 到任意集合 B 恰有一个函数,即空函数;从非空集合 A 到 ∅ 则没有函数。这些结论直接来自定义,不必在函数定义里排除空集合。
函数图像是有序对 (a,f(a)) 组成的集合。作为 A×B 的子集,它必须为每个输入恰好配一个输出。一般关系可能配多个或不配输出,所以不是每个关系都是函数。关系的系统理论放在关系与序中。
写出的规则必须真的定义函数
x↦1/x 不能定义全函数 R→R,但在 R∖{0} 上可以。声明相同定义域和陪域时,1/x 与 x−1 给出的规则完全一样。后面用 f−1 表示逆函数,是上标的另一种用法。
规则还必须独立于输入的表示方式。例如,“把有理数 a/b 映到分子 a”并不良定义,因为 1/2=2/4 会让同一个有理数得到不同输出。若输入是等价类或具有多种表示的对象,就要检查所有允许表示是否给出相同结果。
集合的像与原像
对 S⊆A、T⊆B,定义
f[S]={f(x):x∈S},
f−1[T]={x∈A:f(x)∈T}.
前者把子集向前映射,后者收集输出落在指定子集中的输入。每个函数都可以取集合的原像,不要求逆函数存在。
对平方函数 f:R→R,{−1,0,2} 的像是 {0,1,4},{1,4} 的原像是 {−2,−1,1,2}。不同输入可以产生相同像元素,而集合中只列一次。
命题像保持并集
对 C,D⊆A,
f[C∪D]=f[C]∪f[D].
证明
若 y∈f[C∪D],取 x∈C∪D 使 f(x)=y。输入至少属于 C,D 之一,所以 y∈f[C]∪f[D]。反过来,若 y 属于任一个像集,就有一个见证输入属于 C∪D,因此也属于其像。两个包含关系得到等式。
所以这里不存在“不相等”的反例。交集的情况不同:
f[C∩D]⊆f[C]∩f[D].
对平方函数,取 C={−1}、D={1},左边为空集,右边为 {1}。两个像集中的成员资格可以由不同输入分别见证。
原像同时保持并集、交集,以及相对于声明集合的补集:
f−1[B∖T]=A∖f−1[T].
例如,左边的成员条件是 x∈A 且 f(x)∈/T,正好也是右边的条件。原像检查始终围绕同一个输入 x,因此不需要单射假设。
单射、满射与双射
| 性质 | 含义 | 怎样证明 |
|---|
| 单射 | 输出相同迫使输入相同 | 假设 f(x)=f(y),推出 x=y |
| 到 B 的满射 | 陪域每个元素都能达到 | 任取 b∈B,构造 a∈A 使 f(a)=b |
| 双射 | 同时单射与满射 | 分别完成两项要求 |
反驳单射,要找不同输入产生相同输出;反驳满射,要找一个没有原像的陪域元素。每个输入都有输出,本来就是函数的要求,不是满射的定义。
例陪域改变满射性
x↦x2 从 R 到 R 时既非单射也非满射:−1,1 输出相同,且达不到 −1。从 R 到 [0,∞) 时为满射,仍非单射。再把定义域也限制为 [0,∞),才成为双射。
证明给出明确见证的双射证明
设 f:R→R,f(x)=3x−2。若 f(x)=f(y),则 3x−2=3y−2,所以 x=y,单射成立。任取 b∈R,选择 a=(b+2)/3,它是实数且满足 f(a)=b,因此满射成立。故 f 为双射。
有限且大小相同的定义域、陪域之间,单射与满射等价,因为不重复地选取输出就会用尽全部可用输出。这个结论不能直接搬到无限集合。n↦n+1 从 N 到自身是单射,却漏掉了 0。
用映射比较集合的势
朴素集合论中的“一一配对”,现在可以准确表述为双射 f:A→B,它证明 ∣A∣=∣B∣。若存在单射 A→B,就能把 A 的不同元素放到 B 的不同位置上;这就是一般集合中 ∣A∣≤∣B∣ 的含义。
若 B 可数,且存在单射 A→B,则 A 也可数。B 有限时,可用位置只有有限个;B 可数无限时,沿着它的一个枚举依次检查,只保留单射实际用到的位置。这样每个 A 中的元素至多出现一次,并且不会遗漏。
另一个结论与数列直接相关:非空集合 A 可数,当且仅当存在满射 N→A。有限的非空列表可以通过重复其中一个元素延长为无限列表;反过来,对一个满射列表,只保留各值首次出现的位置,就得到不重不漏的有限或可数无限列表。空集也可数,但不存在从 N 到空集的函数,所以这里必须写“非空”。
这些结论首先讨论映射是否存在。“保留首次出现”说明数学上如何安排列表;若数据或相等性判断不能计算,并不保证这个过程能写成可执行的枚举算法。
复合及其能保证的性质
若 f:A→B、g:B→C,则复合 g∘f:A→C 定义为 (g∘f)(a)=g(f(a)),右边的函数先作用。复合满足结合律,但通常不满足交换律。恒等映射满足 idB∘f=f=f∘idA。
例如,在实数上令 f(x)=x+1、g(x)=2x,则 (g∘f)(x)=2x+2,(f∘g)(x)=2x+1。逐点相乘得到的却是 (fg)(x)=2x(x+1)。即使两个函数共用数值定义域,这些运算也不是一回事。
证明单射或满射的复合
若 f,g 都是单射,且 g(f(x))=g(f(y)),先由 g 的单射性得到 f(x)=f(y),再由 f 的单射性得到 x=y。
若 f,g 都是满射,任取 c∈C,先选 b∈B 使 g(b)=c,再选 a∈A 使 f(a)=b,便有 (g∘f)(a)=c。因此双射的复合仍是双射。
反向能得到的结论较弱:g∘f 单射可以推出 f 单射,g∘f 满射可以推出 g 满射。但复合为双射,不意味着两个组成函数都为双射,后面的练习会给出反例。
逆函数与原像运算
f:A→B 的双侧逆,是满足下式的函数 h:B→A:
h∘f=idA,f∘h=idB.
双侧逆存在,当且仅当 f 为双射。若 f 为双射,每个 b∈B 恰有一个原像,把它指定为输出就定义了 h。反过来,第一个恒等式保证 f 单射,第二个保证 f 满射。逆函数唯一,记作 f−1。
对 f(x)=3x−2,逆函数为 f−1(b)=(b+2)/3,不是 1/(3b−2)。单射 f:A→B 总可以在把陪域缩为 f[A] 后求逆;但若 B 中有未达到的元素,就不能因此说它在整个 B 上可逆。
即使逆函数不存在,f−1[T] 仍然表示集合的原像。f 为双射时,它与通过逆函数得到的 T 的像一致。写清括号和定义域,可以避免混淆两个含义。
限制、偏函数与全函数
对 D⊆A,限制 f∣D:D→B 在较小定义域上保留原输出,它对自己声明的定义域 D 是全函数。偏函数 p:A⇀B 则保留 A 作为环境输入集合,实际定义域为 D⊆A,其中某些环境输入可以没有输出。
倒数规则在环境集合 R 上是偏函数,但作为 R∖{0}→R 的映射就是全函数。若要编码无输出状态,可以加入新符号 ⊥∈/B,定义全函数 p∗:A→B∪{⊥},在 D 上与 p 一致,在其他位置返回 ⊥。这明确改变了陪域,并不是证明原规则本来就处处有输出。
练习
练习检查输入的类型
某映射的定义域是 {0,1}×P(Z),陪域是 N。说明为什么 (1,{−3,6}) 是合法输入、9 是合法输出值,而 (8,−7) 不是合法输入。
查看解析
解
第一分量必须属于 {0,1},第二分量必须是整数集的子集。第一个有序对同时满足要求,第二个的第一分量不合法,第二分量也只是整数而非整数子集。知道 9 属于陪域,并不能确定哪个输入会映到它,甚至不能保证它被达到。
练习修正定义域或规则
x↦x 与关系 y2=x 是否定义了函数 R→R?通过适当限制给出一个准确的函数。
查看解析
解
实平方根规则在负输入上无定义;关系 y2=x 对正输入还允许两个输出。要求 x≥0 并选择非负根,得到函数 [0,∞)→[0,∞)、x↦x。根的存在性和唯一性来自实数的性质,不是写下关系就自动得到了。
练习从整数对到整数的满射
对 f:Z2→Z、f(m,n)=2m−n,判断单射性与满射性。
查看解析
解
它是满射:任取整数 z,选 (m,n)=(0,−z) 即可。它不是单射,因为 (0,0) 和 (1,2) 都映到 0。各个见证都属于声明的乘积定义域。
练习复合双射不迫使每个因子双射
取 A=C={0}、B={0,1}。令 f:A→B 把 0 映到 0,g:B→C 把两个输入都映到 0。分别检查 g∘f、f 与 g。
查看解析
解
复合是单元素集合上的恒等映射,因此为双射。但 f 漏掉 1,不是满射;g 合并两个不同输入,不是单射。这反驳了“复合双射就意味着两个因子都是双射”的说法。
练习像何时保持交集
证明单射 f 满足 f[C∩D]=f[C]∩f[D],并指出哪一步使用了单射性。
查看解析
解
正向包含对任意函数成立。反向任取 y=f(c)=f(d),其中 c∈C、d∈D,单射性给出 c=d,所以共同输入属于 C∩D,见证了左边的成员资格。正文中的平方函数反例说明,没有单射性时等号可能失败。
练习计算逆函数与原像
对 f:[0,∞)→[0,∞)、f(x)=x2,求逆函数和 f−1[T],其中 T=[1,4]。把定义域改成全部实数后,再计算这个原像。
查看解析
解
在非负定义域上,逆函数为 y↦y,区间 [1,4] 的原像为 [1,2]。定义域改为全部实数后,原像变成 [−2,−1]∪[1,2],此时函数虽然不再单射、没有双侧逆,仍然可以取原像。这就是原像运算与逆函数的区别。
接下来阅读数列与级数。初等实函数的详细性质见微积分系列,建立这里的映射概念不需要先展开完整函数目录。
评论