想象你是一家跨国快递公司的调度员。每天清晨,A 岛的 4 座发货城市要把包裹寄往 B 岛的 4 座收货网点,你需要为每一座发货城市指定唯一的目的地——这套“谁寄到哪”的规则,在数学里就叫函数。规则的质量分三种境界:不撞单(单射)、无死角(满射)、完美一对一(双射)。当配送网络从 4 个格子扩展到无穷个格子时,故事变得更神奇:有些无穷仓库可以逐格编号(可数),有些却像流水一样无法逐滴清点(不可数)。康托尔用一条对角线证明,实数的配送网络比自然数的网络大得多。本文将带你在快递员的世界里,理解映射的规则与无穷集合的等级——这就是函数与基数。
对 AI 从业者而言,函数与基数是分析算法复杂度与数据规模的数学地基——看懂“映射关系”与“无穷的层级”,才能在特征工程和分布式系统中做出严谨的设计判断。
可视化演示
函数描述集合间的映射关系,基数衡量集合的大小。本文详解单射、满射与双射的判定、可数与不可数集合、基数比较与康托... 切换模式查看不同维度。
本节配有交互动效(进入视口后自动加载,约 3KB)。
函数的基本概:核心原理 动态展示关键流程与数据流动 交互控件调节参数实时渲染 f(x) = transform(x) 核心概念的可视化呈现
函数基础概念
清晨的调度室里,快递公司要派单:A 岛的每座发货城市各自决定包裹送往 B 岛的哪个收货网点。只要规则清晰——每座发货城市恰好指定一个收货城市——这套规则就是数学中的函数。函数像一台永不出错的自动分拣机:输入一个发货城市,吐出目的地。
用集合语言说,函数 f 从集合 A(定义域)指向集合 B(陪域),记为 f: A → B,每个 a ∈ A 恰好对应一个 b ∈ B。与初等数学的直觉不同,函数不一定要写成 y = 2x + 1 这样的代数式;任何“每个输入产生唯一输出”的规则都是函数——用表格、图形甚至文字描述都可以。
定义域是全部发货城市,陪域是全部收货网点名录,值域则是当天真正收到包裹的网点。三者关系是:值域 ⊆ 陪域,但不必相等。两个函数相等,要求定义域相同、陪域相同,且每个输入上的取值都相同——这与“长得像不像”无关,只看规则逐点是否一致。
回到快递站:A 是发货城市名单,B 是收货网点名录,值域是当天真正有包裹落地的网点。如果有些网点一整天颗粒无收,值域就比陪域小——这正是下一节派送质量的第一道考题:如何让每个网点都“不空仓”。
- 函数记号 f函数的名称,代表一套“发货城市 → 收货网点”的派送规则,本身不涉及具体包裹。
- 定义域 A所有可能的输入集合,即发货城市名单;每个元素都必须被派送。
- 陪域 B 与箭头箭头 \to 表明规则只能从 A 指向 B;B 是目标网点名录,允许某些网点空置。
- 像与原像对输入 a 应用规则得到输出 b = f(a),b 称为 a 的像,a 称为 b 的原像。
单射满射双射
快递服务有口碑之分。最忌讳的是“撞单”:两座发货城市把包裹寄往同一收货网点,收件人一脸懵。派送的第一境界是“不撞单”——两个不同的发货城市,目的地必须不同,数学上叫单射。第二境界是“全覆盖”:每一座收货网点都必须收到至少一个包裹,不然网点就白设了,这叫满射。两个境界同时达成,就是快递界的完美答卷——双射。
形式化地说,单射要求“两个输入若产生相同输出,则必是同一输入”;满射要求“陪域里每个元素都被至少一个定义域元素命中”。双射是两者叠加,也是判断“两个集合是否等势”的黄金标准。
判定时先分别检查两个条件:单射看有没有“一箭双雕”的输出,满射看值域是否赶得上陪域。对有限集合还有一条捷径——若 |A| = |B| 且都是有限集,单射自动蕴含满射。此外,从 A 到 B 的所有函数共有 |B|^|A| 个:每座发货城市有 |B| 个目的地可选,这些函数就像当天所有可能的派单方案。
给 4 座发货城市和 4 座收货网点设计规则时,只要不撞单,4 对 4 的配送网络必然覆盖全部网点——有限等大小的单射自动是满射。但集合一旦无穷,这条直觉就失效了:比如 f(n) = 2n 从自然数到自然数,明明不撞单,却有一半网点收不到包裹。这正是后文希尔伯特旅馆里最反直觉的地方。
- 单射的反证形式若两个输入产生相同输出,则它们必是同一个输入;等价地,不同输入必有不同输出。
- 满射的全称量词先“任取”一个目标网点 b,这是对陪域中每一个元素提出的要求。
- 满射的存在量词再“找到”至少一个发货城市 a 恰好派往 b;两个量词的顺序不能颠倒,b 必须先于 a 确定。
- 双射的合成定义两者同时成立时,f 是双射,A 与 B 一一对应,基数相等。
复合与逆函数
有时包裹要从 A 岛发往 C 岛,中间必须经 B 岛中转:A→B 用规则 f,B→C 用规则 g。整套流程可以打包成一条新规则——先按 f 走一程,再按 g 走一程,这就是复合函数,写作 g ∘ f,读作“g 复合 f”。
复合的关键是次序:g ∘ f 表示先执行内层 f,再执行外层 g,顺序颠倒一般会得到不同的函数。若 f 是双射,我们还拥有一条“返程专线” f⁻¹:把每个输出原路送回唯一的输入,退货从此不再发愁。
复合函数可以连续套娃:A→B→C→D 的三段转运,等价于一个从 A 到 D 的复合函数。特别地,恒等映射 id_A(x) = x 是复合运算的“零元素”:f ∘ id_A = f。id_A 也是逆函数定义中的基准——f⁻¹ 与 f 复合后等于恒等映射。
返程专线听起来简单,但若原配送撞了单——两座发货城市寄到同一收货网点——快递员就无法确定该把退货送回哪座城市;若原配送有网点空仓,返程线就有一站没有货源。所以“可逆”是快递界的最高信用等级,也是数学中“同构”思想的前奏。
- 先内后外的次序g∘f 先把 x 交给 f,再把 f 的结果交给 g;先执行的函数写在右边。
- 逆函数的定义若 f 把 a 送到 b,f⁻¹ 就把 b 送回 a;f⁻¹ 是 f 的返程表。
- 双射是逆映射存在的充要条件单射保证输出有唯一来源,满射保证每个输出都有来源,缺一不可。
集合等势与可数
快递公司要盘点两座仓库的格子数量,左边货架和右边货架都一眼望不到头。怎么证明它们一样多?最可靠的方式不是数数——数不过来——而是“结对子”:为左边每个格子找一个互不重复的右边搭档,配对规则就是双射。数学里,这种“一样大”称为等势。
两个集合等势(基数相等),记作 |A| = |B|,当且仅当存在双射 f: A → B。最反直觉的结论来了:自然数 ℕ 与整数 ℤ 等势,甚至与偶数集等势。因为我们可以设计“重新编号”的双射,把整数排成 0, 1, -1, 2, -2, …,看似“多了一倍负数”的整数集,其实和自然数一一对应。
像这样能与自然数集 ℕ 建立双射的集合称为可数无穷集合,其基数记作 ℵ₀(阿列夫零),它是无穷基数这栋楼的第一层。有限集、自然数集、整数集、有理数集都在这一层——“可数”的意思不是“数得完”,而是“能排队领号”。
希尔伯特旅馆的故事就发生在这里:住满无穷客人的旅馆,又来了一辆载着无穷乘客的大巴,前台依然能安排房间——只要让每位客人搬到双倍编号的房。可数集合的本质,就是能被逐个编号放上货架,哪怕货架本身无穷长。但下一节你会看到,有些东西永远无法上架。
- 等势的判据两集合基数相等,当且仅当存在一个双射把它们一一配对;对无穷集合同样适用。
- 阿列夫零的记号自然数集的基数记作 ℵ₀,读作阿列夫零,是可数无穷的统一“户口”。
- 整数与自然数等势把整数排成 0, 1, -1, 2, -2, …,就得到一个从 ℤ 到 ℕ 的双射。
不可数集合
如果仓库里装的全是连续的水流、颜料或温度读数,事情就变了:你无法给每一滴水分发编号,因为任意两滴之间永远挤着第三滴。实数集合 ℝ 就是这样的“流水”——它比自然数集合严格地大,是不可数集合。
康托尔的对角线论证是数学史上最优雅的证明之一。先假设实数可以全部列成一列:r₁ = 0.134…,r₂ = 0.235…,r₃ = 0.457…,一路排下去。现在构造一个新实数 d:它的第 i 位小数故意与第 i 个实数的第 i 位不同。这个 d 必然不在原列表的任何一行——它处处“加塞”,与每一行都至少差一位。矛盾!所以实数不可数。
对角线论证的核心不是一位一位地挑错,而是“针对第 i 行改第 i 位”的斜向构造——这正是“对角线”名字的由来。实数集的基数记为 𝔠(读作 c,continuum 的首字母,意为连续统),它比 ℵ₀ 大;事实上,0 与 1 之间的任意小区间,就已经拥有 𝔠 个点。
对角线论证就像永远插队的快递单:你刚把所有收件人排好队,它就按“与每位号码都不同”的原则造出一位新收件人,挤到队伍最前。它证明了流水般的实数世界,永远无法被逐滴清点——可数与不可数之间,横亘着数学史上最深刻的一道鸿沟。
- 严格大于号实数基数严格大于自然数基数,说明不存在 ℕ 到 ℝ 的满射。
- 连续统记号实数集的基数记作 𝔠(continuum 首字母),代表“完整连续统”的规模。
- 对角线构造的核心操作新实数的第 i 位取与列表中第 i 个数第 i 位不同的数字。
康托尔定理
快递公司有一个总部,负责管理所有配送路线。奇妙的是,无论你拥有多少条路线,总部的管理目录永远比路线多——哪怕你已有无穷多条路线。康托尔定理说的就是这个:任何集合都不及它的幂集大。
集合 A 的幂集 P(A) 是 A 的所有子集组成的集合,包括空集和 A 自身。有限情形很容易验证:3 个元素的集合有 2³ = 8 个子集。康托尔用对角线思想证明了无穷情形同样成立:无论 A 是自然数还是实数,P(A) 的基数总大于 A。这就造出了一条无穷基数的“上升阶梯”:ℵ₀ < 𝔠 < |P(ℝ)| < …。
基数之间还有序关系:若存在从 A 到 B 的单射,则 |A| ≤ |B|。贝恩斯坦定理(Schröder–Bernstein)给出了“相等”的判据:若 |A| ≤ |B| 且 |B| ≤ |A|,则 |A| = |B|。它相当于说:左边能结对进右边、右边也能结对进左边,那么两边必然等大——不必亲自构造那个双射。
总部条目比路线多,听起来像管理成本诅咒,其实是数学的馈赠:它揭示了“对象的集合”永远大于“对象本身”——正如所有可能配送方案的总目录,比任何单套方案都庞大。上一节的 𝔠 正是 2^ℵ₀,而继续取幂集还能得到更大的无穷,层层叠叠,无穷无尽。
- 幂集的构成P(A) 是 A 的全部子集的集合,包含空集和 A 自身。
- 有限情形的计数每个元素有“选入子集”与“不选入”两种选择,n 个元素产生 2ⁿ 个子集。
- 严格大于的结论对角线论证表明 A 到 P(A) 不存在满射,幂集永远更大。
基数运算
两座仓库合并,货架总数会翻倍吗?直觉告诉你应该会。但如果两座仓库都是“无穷编号货架”,合并之后总数竟还是 ℵ₀——因为可以让一座仓库的货占奇数格、另一座占偶数格,交错之后依然能逐个编号。这就是无穷基数运算的第一条怪律:ℵ₀ + ℵ₀ = ℵ₀。
基数运算不是普通四则运算,而是用双射来定义的:基数加法等于不相交并集的基数,基数乘法等于笛卡尔积的基数,基数幂等于函数集的基数。有限基数遵守直觉,无穷基数则出现“吸收律”:小无穷遇大无穷,被大无穷吞掉——ℵ₀ 与任何可数基数相加、相乘仍是 ℵ₀,而 ℵ₀ + 𝔠 = 𝔠。
最经典的验证是 ℵ₀ × ℵ₀ = ℵ₀:把所有正整数对 (i, j) 排成无限方阵,再沿对角线斜着编号,康托尔配对函数 (i+j)(i+j+1)/2 + j 就给出一个从 ℕ×ℕ 到 ℕ 的双射。这也是“有理数可数”的证明基石——分数看似铺满平面,依然能排队领号。
所以快递公司合并再多可数仓库,盘存的结论不变:“阿列夫零”吸走一切有限的喧嚣。可一旦掺入流水般的实数库存,可数的格子就被吞没了。基数运算教给我们一件事:在无穷的世界里,“部分小于整体”不再成立——偶数并不比自然数少,正方形里的点也不比直线上的点少。
- 加法即不相交并两个可数仓库合并,把货架奇偶错开即可逐一编号,故结果仍为 ℵ₀。
- 乘法即笛卡尔积把正整数对 (i, j) 排成无限方阵,沿对角线斜向编号,得到 ℕ×ℕ 到 ℕ 的双射。
- 吸收律可数无穷并入连续统,如同水滴汇入大海,总规模不变。
连续统假设
眼见实数网比自然数网大,一个自然的问题冒出来:有没有规模介于两者之间的配送网络?康托尔自己猜想没有——任何无限集合,要么像整数网一样可数,要么至少像实数网一样庞大。这个猜想就是连续统假设(CH)。
用基数语言说,CH 断言 𝔠 = ℵ₁,其中 ℵ₁ 是紧接在 ℵ₀ 之后的“下一个”不可数基数。等价地,不存在任何基数 κ 严格介于 ℵ₀ 与 𝔠 之间。1900 年,希尔伯特把这个问题列为 23 个数学难题之首,足见其分量。
此后半个多世纪的剧情堪称跌宕:1940 年,哥德尔证明 CH 与 ZFC 公理体系相容——数学无法否定它;1963 年,科恩用力迫法证明 CH 的否定也与 ZFC 相容——数学也无法证明它。两个结果合在一起说明:CH 独立于 ZFC,它是一道“可以自由选择正反”的公理岔路。
连续统假设就像公路规划里一条悬而未决的岔路:从可数的小镇网络到实数的全境网络之间,究竟有没有中等规模的网络?哥德尔和科恩联手证明:答案取决于你采用哪套公路规范,数学可以同时容纳“有”与“没有”两种自洽的世界。它提醒我们,在无穷的疆域里,直觉往往是最后才可靠的东西。
- 后继基数ℵ₁ 是紧接 ℵ₀ 之后的最小不可数基数,代表“下一层”无穷。
- CH 的断言实数基数恰好等于 ℵ₁,即从可数到连续统之间没有中间层。
- 独立性结论哥德尔与科恩证明 CH 在 ZFC 中既不可证也不可否证。
AI 应用场景
场景一:数据库索引与哈希映射
阶段:数据存储与检索
解决的问题:传统方式在数据量大时依赖线性扫描,速度随数据规模线性恶化。用函数视角设计哈希映射:把键空间映射到桶号,哈希函数的“单射性”越强,冲突越少,检索越接近 O(1);理解“满射”则帮助设计者确保桶的覆盖率,避免部分桶空转。
具体案例:Redis 集群把 16384 个哈希槽分配给各节点——这套映射可看作一个定义域为键、陪域为槽位的函数。工程师通过分析映射的性质,决定槽位分配策略与扩容时的重哈希方案,将缓存命中率波动控制在最小。
场景二:一致性哈希与分布式数据路由
阶段:分布式训练的数据分片路由
解决的问题:服务器增减时,传统取模映射(mod n)会导致大面积键值重排。一致性哈希把节点和数据都映射到同一个“环”上,用“顺时针找最近节点”的函数规则把失效范围限制在局部——这是对“函数定义域如何设计”的工程回答。
具体案例:大模型训练中,数据分片(shard)与 GPU 节点的对应就是一张动态调整的映射表;节点挂掉时只需重映射其负责的区间,而非全表重排。基数的直觉在此也有用武之地:可数的分片 vs 连续的负载度量,决定你用枚举法还是近似法做路由。
场景三:用基数思维估算数据规模
阶段:数据分析与特征工程
解决的问题:判断一个特征值域能否被穷举枚举。可数特征(类别型)可以用字典或 one-hot 精确编码;不可数特征(连续型)需要分桶或嵌入。精确统计基数(distinct count)在流式数据上代价高昂,催生了 HyperLogLog 等近似基数估计算法。
具体案例:广告系统统计每日 UV,流量是“可数事件流 + 连续度量”的混合体;工程师用 HyperLogLog 以固定内存近似统计亿级去重数,正是“基数需要被度量、且度量方式依赖集合层级”这一思想的工程化。
Python 演示
# 函数与基数:用字典模拟"快递派送规则",检验单射、满射、双射def check_injective(f, domain): seen = set() for a in domain: b = f[a] if b in seen: return False seen.add(b) return True def check_surjective(f, domain, codomain): images = {f[a] for a in domain} return images == set(codomain) def check_bijective(f, domain, codomain): return check_injective(f, domain) and check_surjective(f, domain, codomain) def cantor_pair(x, y): # 康托尔配对:从 N x N 到 N 的双射,证明可数个可数仍可数 return (x + y) * (x + y + 1) // 2 + y def main(): cities = ["北京", "上海", "广州", "深圳"] good = {0: "北京", 1: "上海", 2: "广州", 3: "深圳"} bad = {0: "北京", 1: "北京", 2: "广州", 3: "深圳"} print("理想派送是双射?", check_bijective(good, [0, 1, 2, 3], cities)) print("撞单规则是单射?", check_injective(bad, [0, 1, 2, 3])) print("撞单规则是满射?", check_surjective(bad, [0, 1, 2, 3], cities)) print("康托尔配对(3, 5) =", cantor_pair(3, 5)) codes = {cantor_pair(x, y) for x in range(5) for y in range(5)} print("5x5 网格配对编号去重后数量:", len(codes)) if __name__ == "__main__": main()
b = f[a]对输入 a 求函数值,等价于快递规则把发货城市 a 送到网点 b。if b in seen: return False发现同一网点被二次命中即撞单,单射失败。images == set(codomain)值域等于陪域 ⇔ 满射,即每个网点都有包裹落地。(x + y) * (x + y + 1) // 2 + y康托尔配对公式,把二维格子映射到一维编号,是 ℵ₀ × ℵ₀ = ℵ₀ 的代码化身。if __name__ == "__main__":可执行入口,只有直接运行本文件时才执行 main()。
常见误区
误区我感觉只有 y = 2x + 1 这种能写出公式的才算函数,用表格或随机规则定义的应该不算函数吧?
正解函数的本质是“每个输入恰好对应一个输出”,与表达形式无关。哈希表、查找表、图形、文字规则都是函数。就算快递派送规则是“根据车牌尾号决定目的地”,只要结果唯一确定,它就是合法的函数定义;只有“一个输入对应两个输出”才违反函数定义。
为何常见:初等数学几乎只用解析式呈现函数,导致“公式 = 函数”的刻板印象根深蒂固。
误区单射和满射不都是在说输出不重复或者覆盖完整吗?听起来差不多,应该可以混用。
正解两者约束的方向完全不同。单射约束“输入侧”——不同输入不得映射到同一输出(不撞单);满射约束“输出侧”——陪域每个元素都必须被命中(全覆盖)。快递例子里,4 个发货城市寄向 2 个网点且不撞单时,是单射非满射;3 个发货城市覆盖 2 个网点全部时,是满射非单射。
为何常见:两者都涉及“输出集合”,初学时容易只记结论不辨方向,把两个性质的判定对象搞混。
误区可数集合应该就是有限的集合,能一个一个数完的那种。自然数集是无限的,那它应该不算可数吧?
正解可数集合分为两类:有限集合,以及与自然数集等势的“可数无穷集合”。可数无穷“数不完”,但能“排队领号”——每个元素都有一个自然数编号。整数、有理数都是可数无穷,却都是无限的。判断标准不是“能否数完”,而是“能否与 ℕ 建立双射”。
为何常见:英文 countable 的日常含义(可数的、能数清的)与数学含义(能与 ℕ 配对)存在偏差,直译带来了误解。
误区既然都是无穷,那自然数和实数应该一样多吧?无穷和无穷比较大小没有意义。
正解对角线论证表明 |ℝ| > |ℕ|,无穷之间确有严格层级:ℵ₀ < 𝔠 < |P(ℝ)| < …。判定“一样大”用双射,康托尔定理和贝恩斯坦定理给出了完备的比较工具。可数集合中“部分等于整体”(偶数与自然数等势)恰恰是无穷世界的新秩序。
为何常见:有限世界的直觉默认“整体大于部分”,而无穷集合打破了这条规则,学习者不敢推翻旧直觉。
误区想判断两集合大小是否相等,得先数出各自有多少元素再比大小。无穷集合数不完,所以没法判断。
正解对无穷集合,“个数”根本不存在;等势的判据是能否构造双射,而不是数数。希尔伯特旅馆的“挪房”操作就是一套双射。反过来,即使不知道 |A|、|B| 的具体数值,只要找到 A→B 和 B→A 两个单射,贝恩斯坦定理就保证二者等势。
为何常见:有限世界的“数数”经验根深蒂固,难以接受“配对即相等”的抽象判据。
面试题
Q1. 阿亮为 4 座发货城市设计了派送规则,使得每个收货网点恰好收到一个包裹,且没有两座发货城市寄往同一网点。该规则在数学上称为()
- A.单射
- B.满射
- C.双射← 正确答案
- D.复合函数
答案:C。“恰好一个包裹”说明不漏网点(满射),“没有两座发货城市寄往同一网点”说明不撞单(单射),两者兼得即为双射。这也意味着两个集合基数相等,像两座 4 格仓库完美结对。
Q2. 设 f: ℤ → ℤ,f(n) = 2n,则 f()
- A.是满射但不是单射
- B.是单射但不是满射← 正确答案
- C.是双射
- D.既非单射也非满射
答案:B。不同整数映射到不同偶数,所以是单射;但奇数如 1 没有原像,值域只有偶数,不等于陪域 ℤ,所以不是满射。类比快递:网点只启用了偶数号,奇数号网点颗粒无收。
Q3. 关于 |ℕ| 与 |ℤ| 的大小关系,正确的是()
- A.|ℤ| 大于 |ℕ|,因为整数包含负数和 0
- B.|ℕ| 大于 |ℤ|
- C.|ℤ| = |ℕ|← 正确答案
- D.二者无法比较
答案:C。通过 0, 1, -1, 2, -2, … 的排队方式,可建立 ℤ 到 ℕ 的双射,所以等势,基数同为 ℵ₀。整数“看起来多”,但可数集合的本质是能排队领号,不是比数量。
Q4. 康托尔定理的核心结论是()
- A.每个集合都与其幂集等势
- B.任何集合的幂集基数严格大于该集合的基数← 正确答案
- C.幂集大小等于原集合的 2 倍
- D.无限集合的幂集等于自身
答案:B。对任意集合 A,有 |P(A)| = 2^|A| > |A|,对角线论证保证了 A 到 P(A) 不存在满射。类比:总部的管理条目永远多于配送路线,哪怕路线无穷多。
Q5. 下列集合中,属于可数集合(与 ℕ 等势)的有()
- A.全体偶数← 正确答案
- B.全体整数← 正确答案
- C.全体有理数← 正确答案
- D.全体实数
答案:ABC。偶数、整数、有理数都能与自然数建立双射,基数同为 ℵ₀;实数集 ℝ 的基数是 𝔠,严格大于 ℵ₀,是不可数集合。“偶数少一半”只是有限直觉,配对双射推翻了它。
Q6. 函数 f: A → B 存在逆函数 f⁻¹ 的充要条件是()
- A.f 是单射
- B.f 是满射
- C.f 是双射← 正确答案
- D.A、B 都是有限集
答案:C。逆映射要把每个输出送回唯一输入:单射(不撞单)保证来源唯一,满射(全覆盖)保证每个输出都有退货来源,二者缺一不可,合起来就是双射。
Q7. 下列关于实数集 ℝ 基数的说法,正确的是()
- A.|ℝ| = |ℕ|
- B.|ℝ| = ℵ₀
- C.|ℝ| = 𝔠 且 𝔠 > ℵ₀← 正确答案
- D.ℝ 是可数集合
答案:C。对角线论证证明实数不可数,故 |ℝ| = 𝔠 严格大于 ℵ₀。事实上任意小区间(如 (0,1))都有连续统多个点,0 到 1 之间的小数已经“排不完队”。
Q8. 设 f: A → B 是单射,则下列结论正确的有()
- A.若 A、B 有限且 |A| = |B|,则 f 必为满射← 正确答案
- B.对任意不同的 a₁, a₂ ∈ A,有 f(a₁) ≠ f(a₂)← 正确答案
- C.f 一定是双射
- D.基数意义下 |A| ≤ |B|← 正确答案
答案:ABD。单射定义就是不同输入不同输出(B 对)。有限且等大时,不撞单自动覆盖全部(A 对)。单射给出 A 到 B 的一一进入关系,故 |A| ≤ |B|(D 对)。但单射未必满射,如 f(n) = 2n 从 ℕ 到 ℕ,所以 C 错。
Q9. 关于连续统假设(CH),下列说法正确的有()
- A.CH 断言不存在基数严格介于 ℵ₀ 与 𝔠 之间← 正确答案
- B.哥德尔证明了 CH 与 ZFC 相容← 正确答案
- C.科恩证明了 CH 的否定与 ZFC 相容← 正确答案
- D.数学家已在 ZFC 中证明 CH 为真
答案:ABC。CH 等价于 𝔠 = ℵ₁,即 ℵ₀ 与 𝔠 之间没有夹层(A 对)。哥德尔(1940)证 CH 不能被证伪,科恩(1963)证其否定也不能被证伪,二者合起来说明 CH 独立于 ZFC(B、C 对)。D 说反了——CH 不可证明。
Q10. 已知 ℵ₀ 是可数无穷基数、𝔠 是实数集基数,下列等式正确的是()
- A.ℵ₀ + 𝔠 = 𝔠← 正确答案
- B.ℵ₀ + 𝔠 = ℵ₀
- C.ℵ₀ × 𝔠 = ℵ₀
- D.2^ℵ₀ = ℵ₀
答案:A。无穷基数的吸收律:可数无穷并入连续统不改变后者的规模,故 ℵ₀ + 𝔠 = 𝔠。C 的结果应为 𝔠,D 中 2^ℵ₀ = 𝔠 而非 ℵ₀。就像把可数货架并入流水仓库,盘点结论仍是“连续统”。