这不是一本教材,而是一册入门书:全书只讲一件事——集合论,即「用『属于』一个词搭起全部数学地基」的学问。它回答的问题朴素而深刻:偶数和正整数哪个多?实数真的数不完吗,怎么证明?「所有集合的集合」为什么不许存在?凭什么说每个集合都能排成一队,又为什么这条「凭什么」吵了一百年?连续统假设为什么被数学判为「不可判定」?从康托尔的一一对应(1874)、罗素悖论(1901)、策梅洛的公理化(1908)、冯·诺依曼的序数(1923)、哥德尔的 L(1940),到科恩的力迫法(1963),集合论用一个世纪把「无穷」从哲学话题变成了可计算、可证明、也可宣告独立的数学对象。全书按章组织:绪论用希尔伯特旅馆与三次危机提炼出主题;第一章建立朴素集合论的语言并完整复盘罗素悖论的崩溃;第二章逐条参观 ZFC 九根柱石并把第一章的工具严格重建;第三章沿良序登上序数的阶梯;第四章用对角线法画出无穷的层级并立案连续统假设;第五章把选择公理的八张等价面孔逐段打通;第六章从空集亲手造出实数并走进哥德尔与科恩的深水区;综合站用年表、人物谱、概念总图、实验与自查收束全书。
写作的三条约束(本书的自我要求)。① 直觉与图形先行:每一个概念都从一张图、一个具体的小例子讲起——先在希尔伯特旅馆里住满与搬空、看见罗素悖论的三行字、沿着 ω 的阶梯一级级爬,再抽成定义;每一个定理先有「为什么它是对的」的直觉,再有完整的证明。② 一步一图:凡能画的都画——一一对应的舞步图、幂集阶梯的塔形图、序数算术的阶梯图、等价环的推理线路图、累积分层宇宙的鸟瞰图。集合论最抽象,也就最依赖图:一条定义、一句定理,画出来便一目了然。③ 自给自足:所需逻辑工具在书内随用随补(一阶语言的字母表、证明的语法、归纳与递归的原理),不假设手边另有教材;个别深刻结论(如哥德尔不完备定理、力迫法的细节)给出精确陈述、证明思路与文献指引,计算对拍在实验页随附。
页型节奏。每章以 导引 开篇(一页说清这一章要解决什么);主体是 讲义 页(概念、定理、证明,一步一图);每章配 例题 与 习题(末附提示);每章收在 地图(依赖关系)+小结+思想卡(把技术升成观念)+挑战与实验(动手核验);另有 〖札记〗格物札记做中西思想传统的对照。每页右上角标页码,页眉灰色小字标出所属章与页题。
难度标记。讲义页首行用 ★–★★★★★ 标出阅读难度:★ 高中基础即可,★★ 需要函数与计数的基本功(书内自给),★★★ 需要抽象结构的一点经验(等价类、商集,书内自给),★★★★ 需要一阶逻辑与超限归纳的功夫(书内自给),★★★★★ 需要模型论与独立性证明的深水区(第五章末与第六章后半)。若只求理解主线,读绪论、第一章、第三章的序数、第四章的对角线与连续统假设即可;若求完整掌握,按章顺序逐页推进,并把每章习题做完。
三条线索贯穿全书:
① 明线——从希尔伯特旅馆到连续统的独立:先在旅馆里撞见无穷的怪脾气(绪论),学会集合的语言(第一章)、公理的宪章(第二章)、序数的阶梯(第三章)、基数的层级(第四章),再攻下选择公理的等价环(第五章),最后从空集造出全部数学并走进独立性判决(第六章)——这正是集合论六十年从「争议的新学问」长成「数学的通用地基」的轨迹。
② 暗线——每一次「显然」都要过公理的关。「有一堆东西就是一个集合」显然吗?罗素悖论说否。「无穷个集合能各挑一个元素」显然吗?一百年争论说未必。「每个集合都能良序」显然吗?它等价于选择公理。找出「哪些直觉可信、哪些直觉致命、哪些命题永不可判」,是全书反复演练的判官功夫。
③ 接口——通往四个邻域。集合论是现代数学的通用语:与数理逻辑(一阶语言、模型论,第二、六章直接合流)、分析学(实数构造、Borel 层级、康托尔集,第四、六章)、代数(Zorn 引理与基、理想、闭包,第五、六章)、数学基础与哲学(构造主义、多元宇宙,第五、六章)四条战线直接相通。相邻领域中的结构(群、域、极限与完备性)在本册中被逐层重建或直接调用,对读互证。
写法约定(TEX 标准):集合用大写字母 A, B, C、元素用小写 x, y(变量斜体);属于号 ∈、包含号 ⊆ ⊂、空集 ∅、幂集 𝒫(A)、序数用希腊字母 α, β, γ, ω、基数用 κ, λ, ℵ;自然数集 ℕ、整数 ℤ、有理数 ℚ、实数 ℝ;选择公理记 AC、良序定理记 WO、Zorn 引理记 Zorn、连续统假设记 CH。变量斜体,公理名与算子(ZFC、Aut、𝒫、Con)正体;关键一步配图,直觉与证明逐章对照。
「无穷」是数学里最古老的诱惑。两千多年前,芝诺用阿基里斯追不上海龟的悖论搅动人心;一千多年后,伽利略发现自然数与平方数「一样多」又「不一样多」;到了十九世纪末,康托尔干脆宣布:无穷不止一种,有的无穷比别的无穷更大。这些说法乍听像诡辩,细想却句句站得住——因为它们背后是一门严谨的学问:把「无穷」本身当成数学对象来研究,研究它的定义、它的运算、它的层级。这门学问就是集合论,本册要讲的主角。
本册的写法沿一条明确的道路前进:先朴素,后公理。先把「集合」当成日常语言用起来——并、交、补、映射、等价关系,这些工具在第一章里被熟练地操练;然后亲手引爆它的危机——罗素悖论只用三行字就让「任何性质都造一个集合」的原则当场崩溃;于是被迫立宪——第二章的 ZFC 公理接住崩塌的地基;随后沿良序的阶梯登上序数(第三章),用对角线法画出无穷的层级并审判连续统假设(第四章),打通选择公理的等价环(第五章),最后从空集一路造出实数、走进哥德尔与科恩的深水区(第六章)。
读绪论不需要任何超出高中的数学,需要的只是敢于追问「显然」的耐心。三个讲义页(希尔伯特旅馆、伽利略悖论、什么是集合)负责把直觉与语言铺好,一个「三次危机」页负责讲清为什么数学最终选择了公理化的路。读完绪论,两个问题带在行李里:无穷与无穷,可以比较吗?「所有东西组成的大全」算不算一个集合?这两个问题分别是第四章与第二章的起点。
★ 设想一家旅馆,房间从 1 号开始一个不漏地编号:1 号房、2 号房、3 号房……没有尽头。这家里住满了客人——每间房都住着人。某晚来了一位新客,前台说「客满」,新客垂头丧气;经理却站出来宣布:本店永远住得下。这不是营销话术,而是数学。下面把经理的三套招式一步步写清楚,它们是全书最先的三个「定理」。
招式一:再来一位客人(∞ + 1 = ∞)。 1 号房的客人搬到 2 号房,2 号房的搬到 3 号房……每位客人 n 号搬到 n + 1 号。搬完之后每间房仍有客——原来每人都有了新房间——而 1 号房空了出来,让给新客。人人有房、房房有客,旅馆「变大一间」后的容量与原来分毫不差。
招式二:再来无穷位客人(∞ + ∞ = ∞)。这回开进一辆大巴,车上坐满了无穷位新客。经理老客人全部搬去偶数号房:n 号的搬去 2n 号。偶数房装下所有老客,奇数房 1、3、5、7……正好无穷间,第 k 位新客住 2k − 1 号。老客占一半、新客占一半,旅馆纹丝不动。
招式三:再来无穷辆大巴(∞ × ∞ = ∞)。无穷辆大巴依次驶来,每辆都坐满无穷位客人。经理把客人排成一张大表:第 b 辆车的第 k 位乘客坐在表格坐标 (b, k) 处,然后沿对角线发牌:坐标和为 2 的第一批,坐标和为 3 的第二批……每一批沿对角线依次编号,所有乘客各得一个自然数号位。
三套招式演完,一个不安的问题浮出水面:加一位客人、加一整车客人、加一整队车,旅馆的「容量」居然毫无变化。有限世界里「变多」的直觉在无穷面前全部失灵。那么,两种无穷——比如自然数的无穷与实数的无穷——会不会也毫无区别?如果比较,用什么工具比?这正是下一节的任务。
★★ 1638 年,伽利略在《两门新科学》里记下一桩怪事。把自然数 1, 2, 3, 4, … 与它们的平方数 1, 4, 9, 16, … 摆在一起:一方面,每个自然数的平方是自然数,而且不同的自然数平方不同,所以平方数不多于自然数;另一方面,平方数只是自然数的一部分,绝大多数自然数(2, 3, 5, 6, 7, 8, 10, …)都不是平方数,所以平方数又少于自然数。「多于」与「少于」同时成立——对有限集合,这是不可能的;对无穷集合,伽利略得出结论:无穷没法比大小,「大于」「等于」「小于」这些词对无穷根本不适用。
这个「解法」安稳地睡了两个半世纪。打破它的人是康托尔。1874 年,康托尔发表《论实代数数集合的性质》,证明了一件惊人的事:全体代数数可以与自然数一一对应地排列,而全体实数不能——实数比自然数「更多」,无穷至少有两种尺寸。1891 年他又发表一篇仅几页的文章,给出更简洁、也更普适的对角线法:把实数排成一张无穷的表,沿对角线逐位改动,就造出一个不在表中的新实数——无论怎么排都排不全。第四章将把这把刀完整地磨出来。
在谈「无穷的尺寸」之前,得先回答一个更基本的问题:「一样多」到底指什么?康托尔的回答干脆利落,并由此重立了全部比较的标准:
按这个标准重审伽利略悖论:自然数 n 对应平方数 n2,是一条完美的双射——所以自然数与平方数一样多。「部分小于全体」这条有限世界的铁律,在无穷世界作废。旅馆招式一里的搬家规则 n ↦ n + 1、招式二里的 n ↦ 2n,都是双射的实例;对角线发牌也是一条双射,它把无穷表全部点完。
双射这把尺子立起来之后,一个全新的世界打开了:无穷可以比较、可以分等级、甚至可以做算术。但要用好尺子,先得把「集合」这个词本身说清楚——什么才算一个集合?一个性质能不能随手造出一个集合?下一节进入正题。
★★ 日常语言里「一堆」「一群」「一类」随手就用,但数学不能靠语感。康托尔在 1895 年的《超穷集合论基础》一文中给出了流传最广的定义:把确定的、彼此有区别的对象(它们叫作 M 的元素)汇集为一个整体 M,这个整体就叫一个集合。定义里三个词值得划重点:确定——任何对象是否属于它,答案必须非是即否,不许模棱两可;彼此有区别——同一个元素在集合里只算一次;整体——元素汇拢之后,集合本身是一个新的、可以单独谈论的对象。
照这个定义,集合是「容器」也是「名册」:装的是对象,登记的规则是「属不属于」。于是立刻有两个基本动词登场。属于:对象 x 是集合 A 的元素,记 x ∈ A;不属于记 x ∉ A。外延:一个集合由它的元素完全决定——元素相同的集合就是同一个集合,书写次序与重复都无关紧要。{1, 2}、{2, 1} 与 {1, 2, 1} 是同一个集合的三种写法。
顺着「确定」这个词再走一步,就得到朴素集合论的发动机——概括原则:给定任何一条性质 P,就存在一个集合,它恰由所有满足 P 的对象组成,记作 {x : P(x)}。「是偶数」造出偶数集合;「是中国的城市」造出中国城市集合;看起来「是集合」也该造出「所有集合的集合」。发动机嗡嗡作响,机器正在走向自毁——第十三节将看到,正是这个原则养出了罗素悖论。
从「一堆东西」到数学对象,中间隔着三步。第一步是去掉内容:集合不关心元素是苹果还是数字,只关心「谁在里面」;第二步是允许任何对象当元素:数可以,函数可以,别的集合也可以——容器套容器,无穷的建筑由此有了砖;第三步是把「属于」当作唯一的基本关系:往后全书的每一句话,原则上都可以只用 ∈ 一个词写出来。第一章将把这三步走扎实;至于「什么允许造、什么禁止造」,则要等悖论引爆之后,由第二章的公理接管。
★★ 数学史上有过三次震动全局的危机:一次关于数,一次关于无穷小,一次关于集合本身。把它们并排讲是有理由的——三次危机的病根都是一个未经审视的概念,而三次危机的收场方式也一模一样:公理化。看清这条规律,就明白本册为什么非走「从朴素到公理」这条路不可。
第一次危机:无理数(公元前五世纪)。毕达哥拉斯学派信奉「万物皆(整数之)比」。传说学派的希帕索斯发现:正方形的对角线与边不可公度——√2 不是两个整数之比。传闻希帕索斯因此被沉入大海,而数学被迫承认:整数与分数之外还有数,加法、乘法、相等这些词都要重新审订。收场:欧多克索斯提出新的比例论,把「比」定义得不再依赖整数之比,几何学得以继续;《几何原本》第五卷把它立为公理体系的一部分。
第二次危机:无穷小(十八世纪)。牛顿与莱布尼茨发明微积分时,使用的语言含糊:无穷小量一会儿是零、一会儿又不是零。1734 年,哲学家贝克莱在《分析学家》里发出尖锐一击:他把无穷小称为「消失量的幽灵」,讥讽数学家建立在比神学更含糊的地基上。收场:十九世纪柯西与魏尔斯特拉斯重建极限理论,用 ε-δ 语言把「趋于」彻底定义清楚——极限不需要幽灵,只需要对每个 ε 找得到对应的 δ。分析学自此公理化为实数理论,第六章将看到实数如何在集合论里被亲手造出。
第三次危机:悖论(二十世纪初)。集合论刚刚成为数学的地基,罗素就在 1901 年发现:从「任何性质都造一个集合」这条原则出发,可以推出赤裸裸的矛盾(第一章将逐字复现那三行论证)。地基动摇,第一次使全部数学面临重审。收场:1908 年,策梅洛提出集合论公理——不再允许「随手造集」,只承认公理担保的集合。第三次危机的收场最长也最深,从 1908 一直延伸到 1963 年科恩的独立性结果,这是第八页的故事。
三次危机共享一条教训:数学不怕概念出毛病,怕的是概念不定义就上岗。每次收场都不是把旧理论扔掉,而是给它换上更严的地基——这正是「公理化」三个字的全部含义。
★★ 绪论铺完直觉,本页把全书六章的行程与各章的「靶心问题」交代清楚。读法建议放在最后。
第一章(朴素集合论:集合的代数与语言)。学会集合的基本语言:属于、外延、幂集、运算律、映射与等价关系、归纳与计数——这些都是往后各章的每日用语;本章的后半段亲手引爆罗素悖论,把「朴素」二字的限度暴露无遗。读完本章,能流利地写集合、证恒等式、判等价关系,并明白危机从何而来。
第二章(公理化:ZFC 的柱石)。逐条参观 ZFC 的公理:外延、空集、配对、并、幂集、分离、替换、无穷、正则、选择。第一章里「想当然」的操作将一一兑现成公理的推论——第一章的工具被严格重建一遍。
第三章(序数:良序的阶梯)。把「第几个」这个概念推到无穷之外:ω、ω+1、ω·2、ω2……序数给无穷编号,超限归纳给无穷做证明。良序定理将在此登场,它是第五章的伏笔。
第四章(基数:对角线与无穷的层级)。正式定义「集合的大小」(基数),证明康托尔定理:任何集合的幂集更大——无穷的层级没有顶。连续统假设(实数的无穷是否就是第二个无穷)在此立案,全书最大的悬念从此挂起。
第五章(选择公理:等价形式的全景)。「从每个非空集合里各挑一个元素」听起来天经地义,却与良序定理、Zorn 引理等一整族命题互相等价。本章把等价环逐段打通,并检阅它在代数与分析中的战绩与代价。
第六章(ZFC 中的数学:从空集到实数)。从 ∅ 出发,造出自然数、整数、有理数,再经戴德金分割造出实数;随后进入二十世纪最深的判决:哥德尔与科恩证明连续统假设在 ZFC 中既证不出也驳不倒。全书的暗线在此收束。
读法建议。主线(只求理解无穷的结构)按绪论 → 第一章 → 第三章 §3.4 前后 → 第四章对角线与连续统假设 → 第六章开头推进,可跳过技术性最强的章节;完整按章顺序逐页推进,并把每章的习题课做完——集合论是「动手比看懂快」的学问:一个证明亲手写过一遍,胜过看十遍。每章末尾的速查表供复习与查阅,实验页的代码全部可跑,动手对拍。
★★ 集合论的六十年史(1874–1963)浓缩着本册的每一条主线:无穷被驯服(1874–1895)、地基崩塌(1897–1903)、立宪重建(1908–1928)、深水判决(1938–1963)。本页沿年份走一遍,给全书安一块历史底座。
1874 · 无穷不止一种。康托尔发表《论实代数数集合的性质》:代数数可数,实数不可数——无穷首次被证明有大小之别。这篇文章通常被视为集合论的诞生之日。
1891 · 对角线法。康托尔给出实数不可数的简洁证明,方法可推广到任何集合:任何集合的幂集都严格更大(康托尔定理,1895/1897 的两篇《超穷集合论基础》中系统化)。无穷的层级自此没有天花板。
1897 · 第一道裂纹。布拉利-福尔蒂发现「所有序数之集」导致矛盾(第三章将解释序数);康托尔本人也在 1899 年致戴德金的信中指出「所有基数之集」同样出事。这些矛盾起初被当作边角问题,没被当成地基裂缝。
1901–1903 · 崩塌。罗素发现三行字的悖论:直接命中朴素集合论的核心原则。1902 年他致信弗雷格,弗雷格回信承认大厦将倾;1903 年罗素在《数学原理》中发表悖论,1903 年弗雷格在《算术的基本规律》第二卷的附言里写下数学史上最沉痛的一页。1908 年,罗素自己提出类型论自救。
1908–1928 · 立宪。策梅洛发表公理化集合论(1908),限制「造集」的自由;弗兰克尔与斯科伦修补并澄清(1922–1923),提出替换公理,形成今天的 ZFC;冯·诺依曼(1923、1928)给出序数的现代定义——第三章的阶梯由此铺定。同一时期,选择公理的合法性之争愈演愈烈,为第五章埋线。
1938–1963 · 判决。哥德尔(1938 年证明、1940 年出版)构造可构造宇宙 L,证明选择公理与连续统假设在 ZFC 中证不出被驳倒(若 ZFC 一致);1963 年科恩发明力迫法,证明它们的否定同样证不出——两命题对 ZFC 不可判定。二十世纪初「补好地基」的愿望最终变成了更深刻的领悟:有些问题,地基本身回答不了。
这段历史里有一件事值得单独一提:悖论没有毁掉集合论,反而成全了它。正如第一次危机成全了实数理论、第二次危机成全了极限语言,第三次危机成全了二十世纪最深刻的数学——公理化的集合论与不可判定性的发现。带着这个视角进入第一章,将不只看到定义与定理,还能看到每一步背后的紧迫感。
本页任务。把绪论的行李清点一遍:哪些直觉必须建立,哪些工具必须会用,哪些问题留作路标。
直觉清单。① 希尔伯特旅馆的三套招式:∞ + 1 = ∞(移一位)、∞ + ∞ = ∞(奇偶分房)、∞ × ∞ = ∞(对角线发牌)——三招全是「一一对应」的操练;② 比较无穷的唯一合法尺子是双射:一样多=存在双射,「部分小于全体」只对有限集合成立;③ 康托尔 1874:实数不可数,无穷不止一种;1891:对角线法——一张排不全的表。
语言清单。① 集合的康托尔定义(1895):确定的、彼此有区别的对象汇成的整体;② 属于 ∈ 与外延:集合由元素完全决定;③ 概括原则:性质 P 造集合 {x : P(x)}——朴素集合论的发动机,也是危机的引信;④ 三次危机的剧本:病根=未审视的概念,收场=公理化。
年表清单(能报出年份与人物)。1874/1891 康托尔;1897 布拉利-福尔蒂;1899 康托尔致戴德金信;1901 罗素;1903 弗雷格附言;1908 策梅洛公理化与罗素类型论;1922–1923 弗兰克尔、斯科伦;1923/1928 冯·诺依曼序数;1938/1940 哥德尔 L;1963 科恩力迫法。
| 路标问题 | 背景 | 答案出现处 |
|---|---|---|
| 无穷与无穷可以比较吗? | 旅馆招式失效引出的问题 | 第三章 §3.5、第四章 §4.2 |
| 「所有集合」算不算集合? | 概括原则的隐患 | 第一章 §1.13、第二章 §2.7 |
| 连续统假设是否可判定? | 实数无穷的层级位置 | 第四章 §4.6 立案,第六章 §6.7 宣判 |
行李点清,出发。第一章的号令只有一句:先让集合说话——然后听听它说什么了不得的话。
绪论把无穷的诱惑摆上了台面:旅馆要搬家、对角线要挖反例、概括原则在暗中积攒火药。本章的任务是把这些直觉锻造成一门语言——集合的代数与语言。所谓朴素集合论,「朴素」不是贬义,而是方法论:先不设禁令,让集合自由地说话,看这门语言能走多远、在哪里撞墙。撞墙的位置(本章 §1.13)本身就是二十世纪数学最重要的发现之一。
本章的行进路线是一条上升的阶梯,每一级都踩在前一级上:
第一阶(§1.1–1.4)——集合的代数。属于与外延、子集与幂集(含全书第一条完整定理:n 元集的幂集有 2n 个元素)、并交差补四则运算与德摩根律。这一阶全部是「语言的语法」,学完即可把集合当算术来演算。
第二阶(§1.5–1.10)——从集合到结构。有序对与笛卡尔积、关系、函数(单射、满射、双射)、复合与逆、等价关系与划分——最后收在第一章的第一个「大定理」:等价关系与划分一一对应。这一阶是把集合组成结构的技术总汇。
第三阶(§1.11–1.12)——归纳与计数。数学归纳、第二归纳法、递归定义,与良序原理的关系(含「良序⇒归纳」的完整证明);鸽笼原理与朴素计数。
第四阶(§1.13–1.15)——崩溃与出路。罗素悖论的三行字、悖论地图(说谎者到理查德)、公理化的思路。全章在「朴素」的最高点坠入深渊,又指着出路收束——第二章的公理正是从 §1.15 的诊断里长出来的。
读本章只需带三件行李:绪论的直觉(双射即尺子、概括原则待考)、一点逻辑耐心(「对每个」「存在」要读准)、一只愿意动手的笔。所有证明都在书内自足——包括三条标了「完整证明」的定理:幂集计数(§1.2)、德摩根律(§1.4)、等价关系与划分的一一对应(§1.10),外加「良序⇒归纳」(§1.11)与罗素悖论的三行论证(§1.13)。每一条都亲手抄一遍再合上书复述一遍——集合论的功夫在笔尖。
★ 全书的基本关系只有一个:属于。对象 x 是集合 A 的元素,记 x ∈ A;否则记 x ∉ A。其余一切记号——子集、并、交、函数——往后都由 ∈ 逐步定义出来。本节把「集合」这个概念落成可操作的三条规则。
外延原则是集合的「身份证规则」:集合的全部内容就是它的元素清单,此外一无所有。由此立刻得到三条实用规则:① 次序无关:{1, 2, 3} = {3, 2, 1};② 重复无效:{1, 2, 2} = {1, 2};③ 表示法不唯一:{0, 2, 4, 6, …} 与 {x : x 是偶自然数} 是同一个集合的两幅肖像。
列举与刻画。给出集合有两种标准写法。列举法:把元素一一写在大括号里,如 {1, 2, 3};有限集合总能列举,无穷集合可借省略号。刻画法:写 {x : P(x)},意为「满足性质 P 的所有 x」,如 {x : x2 = 1}。刻画法是概括原则(绪论)的直接体现——它好用,但本章 §1.13 将证明它按字面理解是自相矛盾的;眼下先照朴素规矩用,警讯记在心里。
属于与「是子集」的区别,从本节就要刻在脑子里。1 ∈ {1, 2} 说的是对象在清单上;{1} ⊆ {1, 2} 说的是一张清单的每项都在另一张清单上。前者的左右两边是「对象—集合」,后者是「集合—集合」。下一节把子集正式定义出来,并数一数一个集合到底有多少个子集。
★★ 有了「属于」,第一个新概念是「含在内部」:一个集合的元素自己又可以是集合,于是要区分「元素」与「整个被装进来的清单」。
由定义立刻读出三条基本事实:∅ ⊆ A 对一切 A 成立(「每个元素都……」对零个元素自动成立,这叫空虚真);A ⊆ A;若 A ⊆ B 且 B ⊆ C,则 A ⊆ C。另外两条易错判据:A = B 当且仅当 A ⊆ B 且 B ⊆ A——这是第一章所有集合相等证明的标准姿势,第二章还将把它立为公理的推论。
证明。固定 A 的一个元素编号 A = {a1, …, an}。第一步(建立对应)。对每个子集 X ⊆ A,定义它的特征串:长度为 n 的 0-1 串 (b1, …, bn),其中 bj = 1 当且仅当 aj ∈ X,否则为 0。子集由它的特征串完全决定(外延原则:串就是元素清单的编码)。第二步(对应是单的)。不同的子集必有不同的特征串:若串相同,则「1 的位置集合」相同,由外延两子集相等。第三步(对应是满的)。任取一个 0-1 串 (b1, …, bn),令 X = {aj : bj = 1},则 X ⊆ A 且 X 的特征串正是所给串——每个串都被取到。第四步(计数)。于是子集与 0-1 串一一对应;而每个 bj 有 2 种取值、彼此独立,由乘法法则(§1.12)共 2 × 2 × ⋯ × 2 = 2n 个串。故 |𝒫(A)| = 2n。∎
幂集是「集合套集合」的第一座塔:从 A 到 𝒫(A) 到 𝒫(𝒫(A))……每上一层,元素个数(有限时)指数爆炸。无穷世界里这座塔永不封顶——第四章的康托尔定理将证明:即使 A 无穷,𝒫(A) 也严格更大。塔的每一级都是一个更大的无穷,这便是「无穷的建筑学」的脚手架。
★ 集合之间可以做「算术」。四种基本运算全部由 ∈ 定义,全部可用一张韦恩图看清。本节立定义、给例子;下一节研究这些运算的运算律——集合的代数。
两条直接由定义读出的恒等式值得先记:吸收律 A ∩ Ac = ∅ 与 A ∪ Ac = U(一为「不可能」,一为「全可能」);差转交 A \ B = A ∩ Bc——「不在 B」就是「在 B 的补里」。这条把差化归为交与补,是下一节对偶原理的先锋。
推广到一族集合。并交不限两个:对集合族 {Ai : i ∈ I},⋃i∈I Ai = {x : 存在 i ∈ I 使 x ∈ Ai},⋂i∈I Ai 同理换成「对每个」。例:偶数集是「所有含 2 的素数幂集合」之交吗?不——它是可数个集合的并,第四章将大量使用无穷并交。眼下记一句:并对应「或」,交对应「且」,补对应「非」——集合运算就是逻辑运算的画像。这张对应表下一节立刻兑现成运算律。
★★ 并交差补是四则,运算律是四则的代数。本节证明全书第一条「恒等式族」:分配律、德摩根律,并陈述把它们一网打尽的对偶原理。
证明(以(i)为例,走外延原则的双包含路线)。第一步(⊆)。任取 x ∈ (A ∪ B)c,按补的定义,x ∉ A ∪ B,即 x 既不在 A 也不在 B(若在其中一个,就落进了并集)。故 x ∈ Ac 且 x ∈ Bc,即 x ∈ Ac ∩ Bc。第二步(⊇)。任取 x ∈ Ac ∩ Bc,则 x ∉ A 且 x ∉ B;于是 x 不可能在 A 或 B 之一中(并集的定义恰要求二者之一),故 x ∉ A ∪ B,即 x ∈ (A ∪ B)c。第三步。两个包含都成立,由外延原则得等式。(ii)把「且」「或」互换,逐字平行可得。∎
证明里每一步都是一条逻辑词的翻译:「不在并集里」=「两边都不在」。这不是巧合而是必然——集合运算本就是逻辑运算的画像,德摩根律的集合版只是逻辑版「非(P 或 Q)=非 P 且非 Q」的誊写。亲手把(ii)的证明平行写出,一步不许跳——这是本章布置的第一份「全真模拟」。
对偶原理。把一条集合恒等式中的 ∪ 与 ∩ 互换、∅ 与 U 互换(⊆ 与 ⊇ 互换),得到的式子称为它的对偶式。观察德摩根律(i)与(ii):二者互为对偶;分配律两条也互为对偶。这不是偶然——
第一阶到此完工。手里已有:属于与外延(§1.1)、子集与幂集(§1.2)、四则运算(§1.3)、运算律与对偶(§1.4)。下一阶开始装配结构:先把「次序」请进集合——有序对与笛卡尔积。
★ 集合的元素没有次序:{a, b} = {b, a}。但平面上的点 (1, 2) 与 (2, 1) 显然是两个点,「先横后纵」的次序是信息的一部分。要把「结构」装进集合,第一个配件就是有序对。
(a, b) = (c, d) 当且仅当 a = c 且 b = d.
本节把它当作直观约定的「新原子」使用;第二章 §2.4 将展示如何用纯粹的集合语言把它严格造出来(库拉托夫斯基的妙招),届时本约定将成为定理。约定「成为定理」正是公理化的典型红利。
两条立即可用的计数与结构事实。① 若 A 有 m 个元素、B 有 n 个元素(均有限),则 A × B 有 m × n 个元素:每个 a 配 n 个对,共 m 排——这就是乘法法则的几何原型。② 笛卡尔积一般不可交换:{1,2} × {3} = {(1,3),(2,3)},而 {3} × {1,2} = {(3,1),(3,2)},元素已经不同。③ ℝ × ℝ 是解析几何的坐标平面——笛卡尔积的名字正是纪念笛卡尔:他当年发明坐标系,就是把「数对」变成「点」的元祖化操作。
往后两节的预告。笛卡尔积是「关系」与「函数」的公共舞台:关系是从积里挑出一部分有序对(§1.6),函数是挑得特别规整的关系(§1.7)。第三章将用 ℕ × ℕ 的对角线数法证明「平面的点与直线的点一样多」——绪论招式三的正式版本。
★★ 「小于」「整除」「同乡」「垂直」——数学与日常都充满「某某与某某有某种关系」。集合论把这一切统一成一个干净的定义。
定义的魄力在于「只留骨架」:关系不问为什么有关系,只登记「谁与谁有关系」。小于是 {(a,b) : a < b},整除是 {(a,b) : 存在 k,b = ka}——全是子集,别无他物。关系因此可以随便画:一张箭头图,左边点集 A、右边点集 B,箭头只沿有序对发射。
四种基本性质(对 A 上的关系 R 而言)。自反:对每个 a ∈ A,a R a(人人与自己有关)。对称:a R b 蕴含 b R a(箭头成对出现)。反对称:a R b 且 b R a 蕴含 a = b(异点之间不许双向)。传递:a R b 且 b R c 蕴含 a R c(箭头可接龙)。五种常见关系的「体检表」如下。
| 关系 | 自反 | 对称 | 反对称 | 传递 | 名称 |
|---|---|---|---|---|---|
| ℕ 上的 ≤ | ✓ | ✗ | ✓ | ✓ | 全序 |
| ℕ 上的整除 | ✓ | ✗ | ✓ | ✓ | 偏序 |
| ℤ 上的同余 (mod n) | ✓ | ✓ | ✗ | ✓ | 等价关系 |
| 人群上的「同国籍」 | ✓ | ✓ | ✗ | ✓ | 等价关系 |
| ℕ 上的「相邻」(|a−b|=1) | ✗ | ✓ | ✗ | ✗ | —— |
四种性质是分类的坐标轴。自反+反对称+传递的叫偏序(整除、⊆),再加强为「任意两点可比」就是全序(≤);自反+对称+传递的叫等价关系(同余、同国籍)——它是本章 §1.9–1.10 的主角,也是「分类」这件事的数学化身。本节的体检表建议亲手逐格验一遍:验「相邻」不是传递关系时(0 相邻 1、1 相邻 2,但 0 与 2 不相邻),传递性的含义就吃透了。
★★ 函数是中学的老熟人,这里要做的不是重逢,而是重新安装:把函数定义为一种特别规整的关系——规整到足以承担「数无穷」的尺子(绪论的双射)。
陪域与值域的区分常被忽略:f : ℝ → ℝ, x ↦ x2 的陪域是 ℝ,值域只是非负实数。函数的三个等级由此登场:
三个标本。① n ↦ 2n : ℕ → ℕ:单而不满(奇数没人取到)——绪论里「老客搬偶数房」就是它;② n ↦ n2 : ℤ → ℤ:既不单(±1 同像 1)也不满(负数缺位);③ 对角线发牌 ℕ × ℕ → ℕ:双射——绪论招式三。注意「单/满」永远是相对陪域说的:n ↦ 2n : ℕ → 2ℕ 就成了双射;改陪域不改规则,等级可以改判。
为什么等级重要。绪论已立标准:两集合一样多 ⟺ 存在双射。单射与满射则给出「不多于」与「不少于」:A 单射入 B 记 |A| ≤ |B|,满射给出反向不等号。有限世界里这三档一目了然;无穷世界里「单而不满」是否永远可能、「两边单射是否必有双射」(施罗德-伯恩斯坦定理)都要专门证明——第四章的日程。下一节先把函数的代数补齐。
★★ 函数可以串联:先走 f 再走 g,就是新函数「g 复合 f」。本节给出复合的精确定义,证明等级的三条遗传律,并给双射配上「逆函数」。
证明。(i)设 (g ∘ f)(a) = (g ∘ f)(a′),即 g(f(a)) = g(f(a′))。g 单,故 f(a) = f(a′);又 f 单,故 a = a′。(ii)任取 c ∈ C。g 满,存在 b ∈ B 使 g(b) = c;f 满,存在 a ∈ A 使 f(a) = b;于是 (g ∘ f)(a) = c。(iii)由(i)(ii)立得。∎
两条「单向不遗传」的警示值得记牢:g ∘ f 单只能推出 f 单(g 可以在 f 的像上乱来吗?不能——但 g 单与否不影响 f 像以外的部分);g ∘ f 满只能推出 g 满(f 不满则中间站有漏点,可 g 只需在到达的点上干活)。习题课(二)将补全这两条的单向证明与反例。
证明。(⟹)若 f−1 : B → A 存在,任取 b ∈ B,f(f−1(b)) = b,故 f 满;若 f(a) = f(a′),两边用 f−1 得 a = a′,故 f 单。(⟸)若 f 双,对每个 b ∈ B 定义 f−1(b) 为那个唯一的 a(满保证存在、单保证唯一)——F1、F2 两条齐备,f−1 是良定义的函数。恒等式由定义直读;逆的逆回到 f,故逆是双射。∎
复合还满足结合律 (h ∘ g) ∘ f = h ∘ (g ∘ f)(两边在每个输入上取值相同,逐点验证即得),但不满足交换律:x ↦ x+1 与 x ↦ 2x 两种次序结果不同。至此函数的代数齐备:复合可结合、双射可逆、逆可遗传。下一节进入第一章第二个主角:等价关系。
★★ 「同余」「同国籍」「同姓氏」「同构」——数学最常用的分组动词是「同某某」。本节把「同」字精确化:一条关系要像「等于」那样行事,需要哪几条性质?答案是三条:自反、对称、传递。
等价关系的价值在于它自动生成「分组」。对每个 a,把与 a 等价的所有元素打包:
证明。(i)设 a ~ b,任取 x ∈ [a]:由 x ~ a 与 a ~ b 及传递得 x ~ b,即 x ∈ [b];故 [a] ⊆ [b]。对称性给出反向包含,两类相等。反向:若 [a] = [b],则 a ∈ [a] = [b],即 a ~ b。若 a ≁ b 而交非空,取 x 同属两类,则 x ~ a 且 x ~ b,对称加传递得 a ~ b,矛盾。(ii)(iii)是(i)的直接改写:每个 a 在 [a] 里(自反),而任两类要么全同要么不交。∎
命题 1.9 说:等价类把 A 切成互不重叠、拼合完整的若干块。而「把集合切成不重不漏的块」这件事本身,也值得一个名字——划分。块与关系,一物两面:下一节证明它们严格地一一对应。
★★★ 本节是第一章前半的顶点:把「分块」与「同」两个概念正式接通,并给出完整的双向证明。
证明。(甲)由命题 1.9(iii),等价类皆非空(自反)、两两或同或不交、并集为 A——恰是(P1)(P2)。
(乙)验三条。(E1)自反:a 与自己同块(块非空且 a 总在某块里,由 P1)。(E2)对称:「同属某块」这说法本身左右对称。(E3)传递:若 a, b 同在块 B、b, c 同在块 C,则 b ∈ B ∩ C,故 B ∩ C ≠ ∅,由(P2)必须 B = C,于是 a, c 同在 B。
(丙)两问各验。其一,从划分 𝒫 造出 ~𝒫 再取等价类:任取 a,设 a 所在块为 B,则 [a] = B:因 B 中人人与 a 同块(都在 B),故 B ⊆ [a];反之若 x ~ a,则 x 与 a 同在块 B,故 [a] ⊆ B。所以等价类族恰是原划分。其二,从关系 ~ 造划分、再由划分按(乙)定义关系:按(甲)第一段的验算,「与 a 同块」的块就是 [a],故 x ~𝒫~ y 当且仅当 x, y 同属某个 [c],由命题 1.9(i)这正是 x ~ y。∎
商集的意义。商集 ℤ/nℤ 只有 n 个元素——每个元素是一个无穷大的块:[0] 是 0, ±n, ±2n, …,[1] 是 1, 1±n, …。「把无穷块当一个点」,这是集合论最常用的降维手法:第三章的序数是自然数链的商,第四章的基数是「等势类」的商,第五章的同构群论处处是商。注意一个高频误区:商集的元素是集合,[1] ∈ ℤ/3ℤ 没错,但 [1] ∈ ℤ 是类型错误——块与成员不要混桌。
本定理的位置。定理 1.10 把「分类」这件事从描述升格为结构:任何分类系统都可以翻译成一条等价关系,任何等价关系都自动是某个分类系统。第二章将看到,它的严格版本需要幂集与子集公理来担保「全体等价类确实收拢成一个集合」——朴素语言在此留下了一个需要公理补票的口子。
★★★ 自然数是集合论的第一件成品,而归纳法是它的专用证明器。本节陈述归纳原理与它的两个变体——第二归纳法、递归定义——并证明它们共同的深根:良序原理。
递归定义。归纳法证命题,递归法定义对象:指定 f(0) 的值,再规定 f(n + 1) 如何由 f(0), …, f(n) 算出,如阶乘 0! = 1、(n + 1)! = (n + 1) · n!。递归的合法性(如此定义的 f 存在且唯一)严格说是一条定理,其证明需要第三章的递归定理;本册在朴素阶段先放心使用——这正是「朴素」的日程表。
证明。设 S ⊆ ℕ 满足(H1)(H2),欲证 S = ℕ。第一步(反设)。假设不然,则补集 T = ℕ \ S 非空。由良序原理,T 有最小元,记为 t。第二步(t ≠ 0)。由(H1),0 ∈ S,而 t ∈ T,故 t ≠ 0。第三步(t−1 ∈ S)。t ≥ 1 且 t 是 T 的最小元;数 t − 1 小于 t 且是自然数,故 t − 1 ∉ T,即 t − 1 ∈ S。第四步(归谬)。由(H2),t − 1 ∈ S 蕴含 t = (t − 1) + 1 ∈ S,与 t ∈ T 矛盾。第五步。矛盾来自反设,故 T = ∅,即 S = ℕ。∎
证明的结构值得驻足:「归纳若失效,必有第一个失效者;它有前驱,前驱成功则它必成功,矛盾」——最小反例法由此得名,它是全书中段最常用的招式(第三章证序数性质、第四章证基数不等式都靠它)。反向也有定理:归纳 ⟹ 良序(同样用最小反例,第三章补全),所以三件事——归纳、良序、(第二章将建立的)皮亚诺公理——互相等价,是同一根脊柱的三种说法。
「良序 ⟹ 归纳」的证明只用了四个动作:取补集、找最小元、看前驱、导矛盾。合书复述一遍——这是本章规定的第二条「全真模拟」。
★★ 本节收拢前几节的计数工具:乘法与加法法则已在路上(§1.2、§1.5),现在补上有限世界里最深刻的一条——鸽笼原理:把多只鸽子关进更少的笼子,必有笼子超员。它朴素到近乎废话,深刻到不可替代。
为什么「显然」的原理值得一座宝座。因为它给出存在性而不给任何构造:不用找出哪只笼子超员,就能断言超员者存在。三个经典战果:① 十三人中必有两人同月出生(13 件物品、12 个月份);② 任意 67 个自然数中,必有两数之差是 66 的倍数(把数按除以 66 的余数分进 66 个笼子,67 件物品必有两件同笼,同笼者之差被 66 整除);③ 有限集合上「多对一」定律:从 n 元集到 m 元集(n > m)的任何函数都不可能是单射——这是「有限集合不能与自己真子集一一对应」的等价说法,也是有限与无穷的分水岭(绪论的旅馆正靠这条失效才演出无穷的怪戏)。
朴素计数三法则。(加法)若 A、B 有限且不交,则 |A ∪ B| = |A| + |B|;一般情形用容斥:减去重叠 |A ∩ B|。(乘法)分步计数:若第一选有 m 种、第二选对每种第一选都有 n 种,共 m · n 种——§1.2 的幂集计数(每位置二选一)与 §1.5 的格点计数都是它的应用。(一一对应)能与已知集合建立双射者,个数相同——「特征串数幂集」「对角线发牌」全是此法的演出。
本节与 §1.2、§1.5 合起来,是有限计数的三板斧:加法并排数、乘法分步数、双射换着数。第四章将把三板斧推到无穷:双射定义基数,加法乘法变成基数算术——届时回看今天这三条朴素的法则,它们是全部推广的种子。
★★★ 全书最重要的三行字。1901 年,罗素审阅弗雷格的逻辑巨著时发现:集合论的发动机——概括原则——竟然直接产出矛盾。本节逐字复现这三行,并记录它掀翻的桌子。
被告:概括原则。朴素集合论的第一动力(绪论):任何性质 P(x) 都决定一个集合 {x : P(x)},其元素恰为满足 P 的全体对象。「是偶数」造偶数集,看着无害;「是集合」呢?它造「所有集合的集合」。罗素选了一条更刁钻的性质:「不是自己的元素」。
病根在哪里?不在推理——三行字每步都是标准逻辑;不在「∉」——它只是「属于」的否定。唯一的嫌疑人只能是被人们用了一个世纪的概括原则:「任何性质都造得出集合」太过慷慨:性质「x ∉ x」谈的是「一切集合」,而这个「大全」根本不是合法对象。数学被允许随手谈论的东西,原来有合法与非法之分。
历史的冲击。罗素 1902 年 6 月致信弗雷格——彼时弗雷格耗费二十余年建立的逻辑主义大厦(《算术的基本规律》第一卷)刚出版不久,第二卷正在印。弗雷格的回信冷静而惨烈;他在 1903 年出版的第二卷附言中写道:工作的基础在工作完成时被抽走,几乎没有比这更不幸的事了——「当基石在建成后崩落时,科学家几乎无法比这更不幸。」悖论不仅击倒弗雷格一人:它宣告全部朴素集合论(连同建立在它上面的分析、几何)的地基需要重审。第六章将讲到尾声:这块地基最终由 ZFC 重新浇筑,而「要不要让更多集合存在」的问题,至今仍有学术争论。
把三行字再压缩一次:概括原则让 R 说出「我属于我当且仅当我不属于我」。自指不是错——错的是允许任何自指者都成集合。禁令怎么下、下在哪里,是第二章全部公理的出发点。
★★★ 罗素悖论不是孤案。公元前四世纪到二十世纪初,一条「自指」的暗线贯穿逻辑史。本页把主要悖论收进一张地图,并给出分类的关键刀法:语义悖论与集合论悖论。
语义悖论(病根:真、假、可定义、可指称这些「语言词」)。① 说谎者(欧布里德,公元前四世纪):「我现在说的这句话是假的。」——若真则假、若假则真,二值判断两头崩。② Berry 悖论(1908 年罗素整理发表):「用少于二十个字不能命名的最小自然数」——这句话本身不到二十个字,却「命名」了它。③ Richard 悖论(1905):把「能用有限条规则定义的实数」编号列表,再对角线加工出一个「不在表中的可定义数」——可定义性成灾。④ Grelling 悖论(1908):形容词「非自形容的」(heterological)形容它自己吗?——是则不是、不是则是。
集合论悖论(病根:「所有集合」「所有序数」这类大全对象)。⑤ Burali-Forti 悖论(1897,第一枚):所有序数组成之集应有比任何序数更大的序型(第三章 §3.7 详解)。⑥ Cantor 悖论(1899,康托尔致戴德金的信):「所有基数之集」应当是最大基数,而康托尔定理(第四章 §4.3)又要求幂集严格更大。⑦ 罗素悖论(1901):以上述三行字收网——最简、最致命。
分类的意义。两族悖论的「病灶词」不同,所以药方也不同:语义悖论要管住语言——「真」与「可定义」必须分层,塔斯基在 1933 年给出严格方案(第六章);集合论悖论要管住收集——「所有什么什么」不许随手成集,ZFC 在 1908 年给出宪章(第二章)。罗素悖论骑在分界线上:它既是语义的(「属于」是语言词)又是集合论的(R 是集合)——这解释了它为什么同时震撼两个阵营。
读悖论地图的正确姿势:不是收藏猎奇,而是练一眼「病灶定位」——看到矛盾先问:哪条原则允许了这个对象存在?哪类词被滥用了?这个诊断习惯,正是下一页公理化思路的起点。
★★★ 地基塌了,怎么重建?本页给出诊断书与两套方案的蓝图,为第二章铺路。
诊断书。三行字的矛盾里,逻辑无恙、推理无恙,唯一被证伪的是概括原则:「任意性质决定集合」。细究其病,在于它允许用一条性质去收罗一切对象——包括性质自己谈论的对象(「一切集合」)。于是病根有两条枝节:一是对象无界(任何对象都可以当元素,包括大全);二是造集无证(不用任何许可,性质即通行证)。任何重建方案都必须至少治住一条。
方案一:类型论(罗素,1908)。治「对象无界」:把对象分层——第 0 层是个体,第 1 层是个体的集合,第 2 层是第 1 层对象的集合……每层只能以下一层的东西为元素。于是「x ∈ x」在文法上就是病句:任何 x 与它自己不同层,属于号两端层位必须相差一。罗素悖论连句子都写不出来。代价:麻烦——自然数要按层复制无穷多次,跨层谈论要靠「典型歧义」之类的补丁。类型论后来在逻辑学与计算机科学(类型系统)里长成大树,但在数学基础的位置上让了位。
方案二:公理化(策梅洛,1908)。治「造集无证」:不再宣布「性质造集」,改成白名单——只承认几条公理显式担保的集合存在:已有的集合可以配对、可以取并、可以取幂集;可以从已有的集合里按性质挑出子集(分离公理:给性质加一道「先有集合才有子集」的闸门);还有一条无穷公理直接发放自然数集。概括原则被拦腰折断:性质不再无中生有,只能在存量里筛选。{x ∈ A : P(x)} 合法,{x : P(x)} 非法——罗素的 R 想出生,先得指定它是谁的子集,而「一切集合」不是任何集合,R 领不到出生证。
从第一章到第二章的桥。本章造好的全部工具不会作废,只是补票:外延原则升为外延公理(§2.2);配对与并交由公理担保(§2.2–2.3);幂集由幂集公理担保(§2.3);「挑子集」的分离公理回收刻画法的合法用法(§2.4)。而且策梅洛的清单里埋着两颗本书的钥匙:无穷公理直接发放 ℕ(§2.5),正则公理禁止「x ∈ x」这样的套盒死循环(§2.8)。第一章的任务至此完成:语言立起来了,危机看清楚了,出路指明了——第二章开始,给无穷立宪。
例题 1-1(德摩根律的验算)。取全域 U = {1, 2, 3, 4, 5, 6, 7, 8},A = {1, 2, 3, 5},B = {2, 5, 6, 7}。直接枚举验证 (A ∪ B)c = Ac ∩ Bc 与 (A ∩ B)c = Ac ∪ Bc。
解。A ∪ B = {1,2,3,5,6,7},故 (A ∪ B)c = {4, 8}。另算:Ac = {4, 6, 7, 8},Bc = {1, 3, 4, 8},交得 {4, 8}——相等,第一条通过。又 A ∩ B = {2, 5},补得 {1, 3, 4, 6, 7, 8};而 Ac ∪ Bc = {1, 3, 4, 6, 7, 8}——相等,第二条通过。∎
例题 1-2(差补恒等式的证明)。证明:对全域 U 中任意集合 A、B,有 A \ B = (Ac ∪ B)c。
解。从右边化到左边:任取 x,x ∈ (Ac ∪ B)c ⟺ x ∉ Ac ∪ B(补的定义)⟺ x ∉ Ac 且 x ∉ B(德摩根)⟺ x ∈ A 且 x ∉ B(补的定义)⟺ x ∈ A \ B。由外延原则得等式。∎ 这类「逐字翻译链」是集合恒等式的标准证明法:每个 ⟺ 都踩在一条定义或运算律上,一步一词、无跳跃。
例题 1-3(关系性质判别)。设 A = {1, 2, 3},R = {(1,1), (1,2), (2,1), (2,2), (1,3), (3,1), (3,3)}。判断 R 是否自反、对称、传递,并说明它是什么。
解。自反:三个 (1,1)、(2,2)、(3,3) 齐全,✓。对称:逐对检查——(1,2) 有 (2,1),(1,3) 有 (3,1),其余对角元自对称,✓。传递:非对角对只有 {1,2}、{1,3} 两簇;可加的接龙是 (2,1) 接 (1,3) 需 (2,3)——缺席,故 ✗。所以 R 自反对称但不传递,不是等价关系;它是把等价关系 {(1,1),(2,2),(3,3),(1,2),(2,1)} 与 (3,3) 部分接上 (1,3),(3,1) 后「漏掉 (2,3),(3,2)」的残次品。∎
例题 1-4(幂集的幂集计数)。求 |𝒫(𝒫({1, 2, 3}))|,并问:元素 ∅ 与 {∅} 是否都在其中?
解。由定理 1.2:|{1,2,3}| = 3,故 |𝒫({1,2,3})| = 23 = 8;再次应用:|𝒫(𝒫({1,2,3}))| = 28 = 256。判身份:∅ 是任何集合的子集,故 ∅ ∈ 𝒫(X) 对 X = 𝒫({1,2,3}) 成立,∅ 在其中;{∅} 是 𝒫({1,2,3}) 的子集(它的唯一元素 ∅ 属于 𝒫({1,2,3})),故也在其中。注意区别:∅ 是「空清单」,{∅} 是「含一张空清单的清单」——前者无元素、后者有一个。∎
例题 1-5(等级判定)。判断 f : ℕ → ℕ, f(n) = 2n + 1 的等级(单/满/双)。
解。单:设 2n + 1 = 2m + 1,两边减 1 除 2 得 n = m,✓。满:0 的原像要满足 2n + 1 = 0,无自然数解——0 不被取到,✗。结论:单而不满。若改陪域为奇数集 {1, 3, 5, …},则每个奇数 2n+1 恰有原像 n,升级为双射——同一规则、换陪域、换等级(§1.7 的告戒)。∎
例题 1-6(复合的单向遗传)。证明:若 g ∘ f 单,则 f 单;并给一个 g 不单的反例。
解。设 f(a) = f(a′),两边接上 g:g(f(a)) = g(f(a′)),即 (g ∘ f)(a) = (g ∘ f)(a′);由复合的单性得 a = a′。故 f 单。反例:取 f : {1} → {1,2}, 1 ↦ 1(单);g : {1,2} → {0}, 1 ↦ 2 ↦ 0(不单);复合 1 ↦ 0 是单射——复合单而 g 不单,且 g 也没有办法不单:它只在 f 的像上干活。∎
例题 1-7(显式双射:N×N → N)。证明 π(m, n) = ((m + n)(m + n + 1))/2 + m 是 ℕ × ℕ 到 ℕ 的单射。
解。记 s = m + n,则 π(m, n) 落在区间 [s(s+1)/2, s(s+1)/2 + s] 内——这是坐标和为 s 的「第 s 批」对角线的编号段(绪论招式三)。验证端点:批与批首尾相接,因为 (s+1)(s+2)/2 = s(s+1)/2 + s + 1。同一批内(s 固定),π 随 m 严格递增,故批内不撞号;批与批的编号段互不重叠,故跨批也不撞——单射成立。满射由段落的首尾相接逐段覆盖而得(对给定 k,先找出它所在的批 s,再反解 m = k − s(s+1)/2、n = s − m)。∎ 这就是康托尔配对函数:平面与直线一样多的第一份显式证明,第四章将正式启用。
例题 1-8(等价类计算)。在 ℤ 上取 a ~ b ⟺ 3 整除 b − a。列出全部等价类,求商集。
解。取代表元 0、1、2:[0] = {…, −6, −3, 0, 3, 6, …},[1] = {…, −5, −2, 1, 4, 7, …},[2] = {…, −4, −1, 2, 5, 8, …}。任何整数的余数必是 0、1、2 之一,故每个整数落进三类之一;三类显然互不相交。商集 ℤ/3ℤ = {[0], [1], [2]} 恰有三个元素——每个元素都是一条无穷长的算术数列。∎
习题 1-1(分配律)。证明 A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C),再写出它的对偶式并说明为什么不必另证。
提示。双包含:任取 x 走「⟺ 翻译链」:x ∈ A 且(x ∈ B 或 x ∈ C)⟺(x ∈ A 且 x ∈ B)或(x ∈ A 且 x ∈ C)——中间那步正是逻辑分配律。对偶式 A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) 由对偶原理(§1.4)免费:把已证恒等式逐字换 ∪↔∩ 即得,证明也随之对偶。
习题 1-2(翻译链)。证明 A ⊆ B ⟺ A ∪ B = B ⟺ A ∩ B = A(三等价)。
提示。分两段证:「⊆ ⟹ 并」:右边并集 = B ∪ A,而 A 的元素都在 B 里,逐元素验证 x ∈ B ∪ A ⟺ x ∈ B;「并 ⟹ ⊆」:取 x ∈ A,它在 A ∪ B = B 里。交的等价式同法,或由已证两条与德摩根推出。
习题 1-3(归纳求和)。用数学归纳法证明:对 n ≥ 1,1 + 2 + ⋯ + n = n(n + 1)/2。
提示。起点 n = 1:左 1,右 1×2/2 = 1。归纳步:设和为 n(n+1)/2,加 n + 1 得 (n(n+1) + 2(n+1))/2 = (n+1)(n+2)/2——恰好是命题在 n+1 处的值。注意收尾必须把归纳假设「接上新项」一步写实,不许写「显然」。
习题 1-4(第二归纳)。用第二归纳法证明:每个大于 1 的自然数要么是素数,要么是若干素数之积(算术基本定理的存在性半边)。
提示。对 n ≥ 2 归纳:若 n 是素数,完成;若不然,n = ab,1 < a, b < n——两个因子都小于 n,由归纳假设各自是素数或素数之积,拼接即成。为什么必须第二归纳:分解后的因子不是 n − 1,普通归纳的「前一步」不够用,需要「全部更小步」。
习题 1-5(链子计数)。n 元集有多少对子集 (A, B) 满足 A ⊆ B?
提示。对每个元素定身份:不在 A 不在 B(记 0)、在 A 也在 B(记 2)、在 B 不在 A(记 1)——三种身份彼此独立,共 3n 对。这是「特征串」技法(定理 1.2)的升级版:把二值串换成三值串。
习题 1-6(构造双射)。构造一个从 ℕ 到偶自然数集 2ℕ 的显式双射,并写出它的逆。
提示。f(n) = 2n:单(除以 2 互相还原)、满(每个偶数 2k 的原像就是 k)。逆是 f−1(m) = m/2(定义在 2ℕ 上)。这张「无穷旅馆的搬家表」正是绪论 ∞+∞ = ∞ 的严格版本:ℕ 与自己的真子集等势。
习题 1-7(满的单向遗传)。证明:若 g ∘ f 满,则 g 满;并构造反例说明 f 不必满。
提示。任取 c ∈ C:复合满保证存在 a 使 (g ∘ f)(a) = c,令 b = f(a) 即 g(b) = c。反例:f : {1} → {1,2}, 1 ↦ 1(不满),g : {1,2} → {0} 常值——复合满而 f 不满:中游的 2 号站无人上车,但终点站照常覆盖。
习题 1-8(商集与分块)。在 ℕ 上定义 a ~ b ⟺ 5 整除 a − b。验证它是等价关系;求 [3] 与商集;并把商集的元素写成 ℕ 的一个划分。
提示。三条逐一验证(差为 0 / 变号 / 相加)。[3] = {3, 8, 13, 18, …} ∪ {…, −2}——注意 ℕ 从 0 起,写清方向。商集五个元素 [0], [1], [2], [3], [4];划分即这五条算术数列,两两不交、拼成 ℕ——定理 1.10(甲)的一次具体演练。
习题 1-9(找反例)。设 A = {0, 1, 2},关系 R = {(a, b) : |a − b| ≤ 1}。逐条检验自反、对称、传递,指出失败项并给出最小的反例。
提示。自反 ✓(差为 0);对称 ✓(绝对值对称);传递 ✗:0 R 1 与 1 R 2 成立,但 |0 − 2| = 2 超限——两支箭头接龙接不过去。这道题是 §1.6 体检表最后一行的出处。
习题 1-10(悖论的边界,探究)。把罗素的性质「关进」一个已有集合:设 A 是任一集合,令 A′ = {x ∈ A : x ∉ x}。证明:A′ ∉ A;由此说明矛盾消失了,并评价这次「关笼子」救了什么、没救什么。
提示。反设 A′ ∈ A,则照三行论证走:A′ ∈ A′ ⟺ A′ ∉ A′,矛盾——故必有 A′ ∉ A:没有任何集合能收下「它自己的罗素子集」。评价:性质没被禁用,但被加了一道闸(先有 A 才有子集),矛盾消失;代价是「任意性质造全集」的梦碎——这正是分离公理(§2.4)的雏形,也是策梅洛方案的预演。
本章 15 节不是平行排列,而是一棵根叶分明的树。本页把这棵树画出来:箭头 A → B 表示「B 的定义或证明需要 A」。
树上的三条主干。① 语言主干:属于 → 幂集 → 运算 → 对偶——全是「语法」,第二章将逐条升格为公理的推论;② 结构主干:有序对 → 关系 → 函数 → 等价 → 商集——把集合装配成数学的常用结构,第四章的双射、第六章的构造全靠它;③ 危机主干:归纳与计数给出「朴素」的巅峰效率,罗素悖论随后拆台——三节连环,把从最高点推入深渊再指向出路。
通向外部的接口。① 幂集与康托尔配对 → 第四章的对角线与基数层级;② 等价类与商集 → 第三章的序数(按同构分块的商)与第四章的基数(等势类的商);③ 归纳与良序 → 第三章的超限归纳;④ 罗素悖论与分离思想 → 第二章的 ZFC 全表;⑤ 鸽笼与计数 → 第四章的有限基数算术。章内自足——读完本章,后续各章的每一步定义都能在这里找到根系。
本页任务。把 §1.1–1.12 的语言与工具浓缩成随身卡片;陷阱篇在下页。
四条必背定理。① 定理 1.2(幂集 2n,特征串双射);② 定理 1.4(德摩根,双包含证明);③ 定理 1.10(等价 ⟷ 划分,双向互逆);④ 定理 1.11(良序 ⟹ 归纳,最小反例)。四条全部要求能默写证明——本章的「肌肉记忆」底线。
三个高频实例。ℤ/3ℤ = {[0], [1], [2]}(商集最小样本);康托尔配对 π(m,n) = (m+n)(m+n+1)/2 + m(ℕ×ℕ → ℕ 的显式双射);三值身份法数子集对 (A,B),A ⊆ B,得 3n。
本页任务。列出本章最容易失足的七个位置——每个都给出「错法—病根—解药」。
三条自测(过关即撤离)。① 一分钟写出 𝒫({1,2}) 的全部四个元素并解释 {∅} 与 ∅ 的区别;② 三分钟默写德摩根律的证明;③ 五分钟完成「良序 ⟹ 归纳」的复述。任何一条卡壳,回到对应小节重读——陷阱页的价值不在罗列,而在逼出复查。
本章从头到尾只做了一件事:把数学的几乎全部常用词——「相等」「包含」「映射」「同」「分块」——逐一翻译成 ∈ 一个词的组合。相等是双向属于(外延原则),子集是「属于的传递打包」,函数是满足两条规整性条款的属于子集,等价关系是三条属于性质的组合,商集是等价类的集合。这是一次惊人的还原:数学的语言原来只需要一个动词。
为什么值得这样做?因为「属于」简单到可以完全审查。日常语言里「两个集合一样」可以有一百种辩法——次序算不算?重复算不算?写法算不算?外延原则一句话终结全部辩论:清单相同就是相同。歧义被压成零,争论被压成验算。这正是公理化精神的第一次预演:把说话的许可收窄到不能再收窄,然后看看还能说什么——答案是:还能说几乎一切,而且说的每句都算数。
但本章也留下了另一半教训:还原有边界。把「属于」当原子用得最狂野的地方——概括原则「任何性质都造一个集合」——恰恰是三行字崩塌的位置。原子的自由度不是无限的:可以谈论「属于什么」的一切方式,但不能要求「属于什么」的一切方式都有对象应约。这个分寸,正是第一章与第二章之间的全部距离——语言不因危机而变,变的是谁有资格发放对象。
留下的一个问题:本章证明的四个定理里,幂集计数与德摩根律靠「翻译成别的对象」(0-1 串、逻辑词),良序⟹归纳靠「找第一个反例」,等价⟷划分靠「双向互逆」。四种证明动作里,哪一种最像「集合论自己的肌肉」?——带着这个观察进入第二章:当集合不再有免费对象时,这些动作哪些还在,哪些需要新地基?
任务。罗素悖论的三行字是自指的第三副面孔,前两副更古老也更日常。本页把三副面孔并排放上操作台,亲手拆解——每一副都附分步引导,做到哪一步算哪一步。
面孔一:说谎者循环。考虑句子 L:「L 这句话是假的。」
引导。① 假设 L 真,读它的内容——L 假:矛盾。② 假设 L 假,读它的内容——「L 是假的」这判断成立,故 L 真:又矛盾。③ 观察症结:L 把「真」这个谓词用在了谈论「真」的句子自己身上——判断层级没有分开。④ 动手改写:给句子分层(「第 1 层的话是假的」由第 2 层来说),矛盾还造得出来吗?这正是 §1.14 语义悖论的处方——塔斯基的层级,第六章 §6.6 见。
面孔二:理发师。某村理发师宣称:「我给且只给村里所有不自己刮脸的人刮脸。」
引导。① 问:他给自己刮脸吗?若刮,他服务了「自己刮脸的人」——违约;若不刮,他属于「不自己刮脸的人」,按宣言必须给他刮——又是自己刮。② 与罗素悖论逐行对表:宣言 ↔ 概括原则,「他给自己刮脸吗」↔「R ∈ R」。③ 关键一步(本题的真正考点):这里没有逻辑矛盾——结论只是「这样的理发师不存在」。为什么集合论不能也用这句「不存在」脱身?能!但代价是要说清「哪些集合存在」——公理化的入口(§1.15)。理发师可以不存在,理发师悖论却把「存在性的账」摆上了台面。
面孔三:自形容的形容词。称一个形容词「自形容的」,如果它恰好形容自己:「中文的」是中文的(✓),「短的」不是短的(✗)。称不形容自己的为「非自形容的」。
引导。① 「非自形容的」形容它自己吗?两种假设各推一步,与面孔一完全同构。② 这就是 Grelling 悖论(1908):它不谈集合、不谈真假,只谈「形容」——语义病灶的最纯样本。③ 动手题:找三个自形容的词、三个非自形容的词,把分界线画出来;边界本身稳定吗?
进阶(选做)。① 把理发师宣言改造成「合法版本」:加上一条什么限制,此人就能存在了?(提示:把自己排除在服务名单外——分离公理味道的一步。)② 写一页短文:三副面孔里,为什么数学界最终采纳的是「改原则」而不是「改语言」?把 §1.15 两条路线的成本对比写进去。
实验目的。让程序「看见」本章的三个核心事实:幂集的指数增长与位串对应、德摩根律的普适、等价关系与划分的计数重合(Bell 数)。全部代码可运行于任何 Python 3 环境,无需第三方库。
实验一:幂集与位串(n = 1..6)。对每个 n,按特征串枚举全部子集,验证:个数恰为 2n、无重复、与手工枚举(按块大小分批的组合数)完全一致——定理 1.2 的机器复述。核心代码:
from itertools import product, combinations
def subsets_by_bits(A):
# 每个子集 ↔ 一条 0-1 特征串(定理 1.2 的对应)
A = list(A)
n = len(A)
subs = []
for bits in product([0, 1], repeat=n):
subs.append(frozenset(A[j] for j in range(n) if bits[j] == 1))
return subs
for n in range(1, 7):
subs = subsets_by_bits(range(n))
manual = set(frozenset(c) for r in range(n + 1)
for c in combinations(range(n), r))
assert len(subs) == 2 ** n and len(set(subs)) == len(subs)
assert set(subs) == manual # 两条路线枚举一致
print(f'n = {n}: 幂集大小 {len(subs)} = 2n ✓')
实验二:德摩根律随机验证。随机生成 200 组「全域(大小 4–12)+ 两个随机子集」,对每组验 (A ∪ B)c = Ac ∩ Bc 与 (A ∩ B)c = Ac ∪ Bc。程序断言 400 条等式全部成立——一条不破。
实验三:等价关系与划分的计数对照(n = 1..5)。用递归穷举 n 元集的全部划分(首元素并入已有块或自立新块),数出划分数;再对每个划分生成它对应的等价关系(块内全部有序对),去重计数;另写一个按三性质逐条检验的独立判据做交叉核验。结果:两条计数路线在 n = 1, 2, 3, 4, 5 处依次给出 1, 2, 5, 15, 52——Bell 数。定理 1.10 说两条路线应当永远重合,机器先把前五步走了一遍。
def partitions(S):
# 穷举全部划分:首元素并入已有块,或自立新块
S = list(S)
if not S:
yield []
return
first, rest = S[0], S[1:]
for p in partitions(rest):
for i in range(len(p)): # 并入第 i 块
q = [list(b) for b in p]
q[i].append(first)
yield [frozenset(b) for b in q]
yield [frozenset([first])] + list(p) # 自立新块
BELL = [1, 1, 2, 5, 15, 52]
for n in range(1, 6):
parts = list(partitions(range(n)))
rels = set(rel_from_partition(p) for p in parts)
assert len(parts) == len(rels) == BELL[n]
print(f'n = {n}: 划分 {len(parts)} = 等价关系 {len(rels)} = Bell ✓')
实验四:鸽笼原理随机演示。1000 次把 11 只鸽随机投进 10 笼,每次断言「必有笼子 ≥ 2 只」——超员率 1000/1000;再演示一般版:22 鸽 7 笼,最大笼容量必不小于 4。存在性命题的「无构造」本色,在随机投放里一览无余。
实验报告要求。① 贴出实验一的六行输出与实验三的五列对照表;② 回答:实验三里「由划分生成关系」与「按三性质逐条检验」是两条独立的机器路线,它们在 n = 5(52 个关系、每条平均要验 25 组传递三元组)处共做了多少次比较?估算后实测。③ 把幂集实验的 n 推到 20,记录运行时间的变化趋势,用一句话概括「指数爆炸」的体感。
公孙龙的分类难题。《白马论》(战国,约公元前四世纪末至前三世纪初,载《公孙龙子》)记录了一场著名的抬杠:客曰「白马,马也」;主(公孙龙)曰「白马非马」。他的论证今日读来像一份原始的集合论讲义:求「马」,黄骊玄色皆可;求「白马」,去了黄骊玄色——所求不同,故「非」。「马者,所以命形也;白者,所以命色也」——「马」按形状收罗对象,「白马」按形状加颜色收罗,两条「性质」不同,两个「集合」就不同。按外延语言翻译:白马的集合是马的集合的真子集,二者不等——公孙龙若把「非」解释为「不等于」,他是对的;他名动千古,是因为汉语的「非」同时背负「不等于」与「不属于」两义,而他故意让两义重叠滋事。一个字的多义,险些提前两千年引爆罗素悖论的语义版。
墨家的「以类取,以类予」。与公孙龙同时代,《墨经》的名辩学派给出了截然不同的路线。《小取》篇立下推理的总纲:「以类取,以类予」——按「类」(共同的性质)去收罗、去推予;又立「侔」式推理:「白马,马也;乘白马,乘马也。」——从「白马属于马」直接推出「骑白马属于骑马」。用第一章的语言:墨家在断言子集继承性质——白马集合 ⊆ 马集合,故「乘白马」类含于「乘马」类。《墨经·经上》与《经说》里对「故」「理」「类」三分(论据、条理、归类)的讨论,与三段论的架构惊人地平行;而「止类以行人,之谓一般」(用类比无限上纲,是走不通的)更像一份关于「传递性不能滥用」的警告。名实之辩的实质,是先秦思想界对「词与对象如何对应」的系统审查——与外延原则要回答的问题同源。
两条路线的身后事。公孙龙把歧义用成武器,名家在他身后迅速失势——把「非」的两义故意混淆的雄辩,终究被认定为诡辩;墨家把分类立成规则的路线,在秦汉以后随墨学中绝而湮没,直到清代考据学者重新发掘《墨经》。集合论做的事,恰是把两条路线各取一半:外延原则是墨家「以类取」的严格版——集合由「谁属于」完全决定;罗素悖论之后对概括原则的收编,则是对公孙龙式「随手立名」的终身禁令——立名(造集)要有公理执照,归类(属于)才有稳定语义。两千三百年前「名实之辩」没能走完的路,公理化替它走了后半程。
| 条目 | 内容 | 出处 |
|---|---|---|
| 外延原则 | A = B ⟺ 元素完全相同(次序、重复、写法无关) | §1.1 / §2.2 |
| 子集 | A ⊆ B ⟺ 对每个 x,x ∈ A ⟹ x ∈ B;∅ ⊆ 一切 | §1.2 |
| 幂集 | 𝒫(A) = 全部子集之集;n 元集 |𝒫(A)| = 2n(定理 1.2) | §1.2 |
| 四则运算 | ∪=或、∩=且、\=且非、c=非(对全域);A\B = A ∩ Bc | §1.3 |
| 德摩根律 | (A∪B)c = Ac∩Bc;(A∩B)c = Ac∪Bc(定理 1.4) | §1.4 |
| 对偶原理 | ∪↔∩、∅↔U 互换,恒等式与证明一并免费对偶 | §1.4 |
| 有序对·积 | (a,b)=(c,d) ⟺ a=c ∧ b=d;A×B 格点;|A×B|=|A||B|(有限) | §1.5 / §2.4 |
| 关系四性质 | 自反、对称、反对称、传递;偏序=前三+传递(自反对反传) | §1.6 |
| 函数三等级 | 单=不撞号、满=全覆盖、双=恰一次;等级相对陪域(§1.7) | §1.7 |
| 复合·逆 | g∘f 先 f 后 g;单满双串联遗传;可逆 ⟺ 双射 | §1.8 |
| 等价关系 | 自反+对称+传递;[a]=[b] ⟺ a~b;异类不交(命题 1.9) | §1.9 |
| 划分·商集 | 定理 1.10:等价关系 ⟷ 划分一一对应;A/~ 元素是块 | §1.10 |
| 归纳·良序 | 归纳原理、第二归纳法、递归;定理 1.11:良序 ⟹ 归纳 | §1.11 / §3.3 |
| 鸽笼原理 | n+1 鸽 n 笼必有超员;kn+1 版;计数三法则(加、乘、双射) | §1.12 |
| 罗素悖论 | R = {x : x ∉ x},则 R∈R ⟺ R∉R(三行论证,§1.13) | §1.13 |
| 悖论地图 | 语义族(说谎者·Berry·Richard·Grelling)vs 集合族(BF·Cantor·罗素) | §1.14 |
| 公理化思路 | 类型论(罗素 1908)与公理化(策梅洛 1908)两条路 → ZFC | §1.15 |
符号小卡。∈ 属于;∉ 不属于;⊆(真子集 ⊊);∅ 空集;{a, b} 列举;{x : P(x)} 刻画(加闸门后合法用法见 §1.15);𝒫 幂集;∪ ∩ \ c 四则;× 笛卡尔积;f : A → B;f−1 逆;[a] 等价类;A/~ 商集;ℕ ℤ ℚ ℝ 常用数集(ℕ 含 0)。
易错三坑。① {1} ⊆ {1,2} 对、{1} ∈ {1,2} 错——属于与子集分属两个层;② 补集离开全域无意义;商集元素是块不是成员——{∅} 与 ∅ 永远别混;③ 等价关系必须三条全验,「相邻」型关系常死在传递。
下一步。第二章导引「给无穷立宪」:把本章全部工具逐张补发公理执照——外延、空集、配对、并、幂集、分离、替换、无穷、正则、选择,九根柱石与一条大纲。
第一章的结局是一场崩塌:康托尔把集合说成「直觉上确定的对象聚成的整体」,罗素 1901 年只用三行推理就让它自焚——取「所有不属于自己的集合」再问它属不属于自己。修复有两条路可走:一条是改定义,把「合法的集合」逐一说清;另一条是改规则,干脆不回答「集合是什么」,只规定「关于集合,什么操作可以做」。历史的裁决是第二条路——立宪。
策梅洛的立场转变。1904 年,策梅洛(E. Zermelo)发表良序定理的证明,其中「从每个非空子集选出一个代表」的操作(后来的选择公理)与「子集的总体」的含糊身份都招致激烈批评。1908 年,他在《集合论基础研究 I》中做出了一个影响至今的决定:不再给集合下定义。「集合」从此是一个不定义的词,就像几何里的「点」;要紧的不是它是什么,而是立下使用它的法律——哪些操作可以合法进行(配对、并、幂集、从已有集合分出子集……),哪些不许(凭任意性质凭空收拢对象)。这份宪法经弗伦克尔与斯科伦 1922 年补充、冯·诺依曼等人打磨,今天称作 ZFC。
公理化的两条收益。其一,安全:概括原则被驯化成分离模式(§2.5),「所有不属于自己的集合」根本造不出来,悖论被挡在门外。其二,明算账:每条定理动用了哪些假设,全部记在公理的账上——原本潜伏的争议(如选择公理)从潜规则变成明文条款,可以讨论、可以拒绝、可以替换。立宪的真正力量不在于消除了分歧,而在于让分歧有处可查。
本章的行军路线:§2.1 先备好公理的书写工具(一阶语言);§2.2–2.8 逐条参观九根柱石;§2.9 全家合影;§2.10–2.11 用柱石把第一章的朴素工具(有序对、函数、直积)严格重建;§2.12–2.16 登高看宇宙(真类、分层、模型、不完备);§2.17 收束于三条朴素定理的严格重证——第一章的账,从此每笔都有公理发票。
★ 公理是句子,句子需要语言。ZFC 选择的书写工具是一阶语言:符号最少、规则最严、且每个公理都是有限的符号串——可写、可数、可检查。第一章的祸根恰恰在语言无界:「任意性质 φ」收拢对象,性质本身从未被登记造册;一阶语言的第一件事就是把性质限制在有限符号串内。
字母表。集合论的一阶语言只有两类符号。第一类是逻辑符号:变元 x, y, z, …(跑遍一切集合);联结词 ¬(非)、∧(且)、∨(或)、→(若…则)、↔(当且仅当);量词 ∀(对一切)与 ∃(存在);等号 =;以及括号。第二类是非逻辑符号:仅有一个,二元关系符 ∈。没有函数符号、没有常元——∅ 之类都要靠公理「请进来」,任何东西都不许白拿。
合式公式。从原子公式 x ∈ y 与 x = y 出发,有限次使用联结词与量词,得到合式公式。例如罗素性质写出来只有四个符号:x ∉ x(是 ¬(x ∈ x) 的缩写);外延公理写成 ∀A∀B(∀x(x ∈ A ↔ x ∈ B) → A = B)。缩写约定:x ⊆ A 是 ∀t(t ∈ x → t ∈ A) 的缩写。
自由与约束。量词管辖范围内的变元出现叫约束出现,否则叫自由出现。x ∈ y 中两个变元都自由;∀x(x ∈ y → x ∈ z) 中 x 已被约束,y, z 仍自由。没有自由变元的公式叫语句——公理必须都是语句:它们不许开口向要参数。
语言备好,语义留到 §2.16 细谈;此刻只需一个直觉:公式谈的是集合,变元跑遍一切集合,∈ 解释为「属于」。下一节开始立宪——第一条法律,关于身份。
★ 立宪的第一条管身份:两个集合什么时候算同一个?直觉的答案「元素一样就是同一个」在朴素阶段看似当然,公理化后它必须被写下来——因为它不再是可以证明的东西,而是关于「=」对集合有何内容的立法。
为什么它是一条公理而非定理。在概括原则的世界里,两个逻辑等价的性质 φ 与 ψ 各自收拢一个汇,但「汇」的身份系于性质本身——{x : 0 < x 且 x ∈ ℕ} 与 {x : x ∈ ℕ 且 x ≠ 0} 由不同性质给出,凭什么相同?没有任何推理能从「性质等价」走到「对象同一」。外延公理正是立法宣布:集合的身份由元素决定,不由定义的路径决定。注意方向:从 A = B 推出元素相同,是逻辑等号本来就有的内容;公理给出的是反方向——这是「=」对集合的全部内涵。
空集的存在。现代处理中,空集不是独立的公理:承认「至少存在一个集合 A」(无穷公理 §2.4 会给出,或在 Zermelo 1908 的原始版本里由「初等集合公理」直接颁布),再用分离(§2.5)从 A 切出 {x ∈ A : x ≠ x},即得 ∅。本节先认下这笔账:∅ 存在且唯一(唯一性的严格重证见 §2.17)。
C 记作 {a, b};取 b = a 得单集 {a}。注意配对公理的陈述只说「存在」,没说唯一——唯一性靠外延公理补上(§2.17 定理 2.4)。连续使用配对,{∅, {∅}} 这样的嵌套盒就有了出生证。
外延与配对是九根柱石中最「温顺」的两根:前者不造任何新集合,只钉死同一标准;后者只造最小的集合。接下来三节请出真正的建筑师——并、幂集与无穷。
★★ 第一章随手写下的 A ∪ B 与 𝒫(A),在宪政世界里都必须有公理作保。这一节把两根「生产柱石」立起来,并看清它们各自的方向:并公理向上收,幂集公理向下铺。
注意这是对族并的形式:并公理一次只对「集合的集合」发言。二元并由此导出:A ∪ B := ⋃{A, B}——配对先造出盒子 {A, B},并公理再把它倒空;单集并给出恒等式 ⋃{A} = A。第一章的并集代数(结合律、分配律)现在全部有了公理地基。
第一章已把 𝒫(A) 当计算对象使用(见 §1.2);公理化阶段它升格为一根柱石——「A 的全部子集」被官方承认是一个集合,哪怕子集多到数不清。这个「收拢下一层」的动作是无穷层级的引擎:康托尔定理(第四章将证明 |𝒫(A)| > |A| 恒成立)说明幂集公理每用一次,就造出一层严格更大的无穷——它看似温和,实为 ZFC 中「造大」最快的公理。
配对、并、幂集三根柱石连用,第一章的集合代数(差、交留待 §2.5 的分离)就有了完整的出生证明。但它们都只能在有限步骤内生产——要抵达无穷,还需要一根敢「无中生有」的柱石。
★★ 无穷从哪里来?ZFC 的回答斩钉截铁:来自一条公理。其余柱石都是有限生产线——从有限集合出发,配对、并、幂集、分离的每一步产出仍然有限;宇宙中若没有一条明文保证,无穷就永远不会出现。要理解这条公理,先要一套把自然数写成集合的方案。
冯·诺依曼编码(1923)。令 0 = ∅,1 = {∅},2 = {0, 1} = {∅, {∅}},一般地 n + 1 = n ∪ {n}。于是每个自然数恰由比它小的自然数组成:n = {0, 1, …, n − 1}。妙处有两层:其一,「数」与「集合」合一——3 这个数就是由 0、1、2 组成的那个集合,恰有三个元素,自身的元素个数重演自身;其二,n ∈ n + 1 且 n ⊆ n + 1,「小于」与「属于」重合。
公理没有直接说「存在无穷多个自然数」,而是说「存在一个被这条生产线关不住的集合」:归纳集一旦存在,0、1、2、… 就被迫全数在场——它是无穷的「容器条款」。从任一归纳集出发,用分离(§2.5)切出「属于每个归纳集的元素」,得到所有归纳集的交,记作 ω:这正是冯·诺依曼自然数的全体,即 ℕ。第三章将证明 ω 是第一个无穷序数,归纳与递归在 ω 上合法运转——初等数学的整个骨架自此落地。
把无穷写进公理,等于承认它是一笔「原始股」而非「经营所得」——这正是希尔伯特所问「无穷在数学中的合法地位」的宪政答案。下一节回到安全条例:处理罗素悖论的那根柱石。
★★ 现在动手术。病灶是概括原则:任意性质 φ,{x : φ(x)} 自动是集合。罗素 1901 年取 φ(x) := x ∉ x,三行推理即得矛盾。手术刀不切除性质本身——性质照谈,公式照写——而是切除它的收拢特权。
驯化的实质:从「无中生有」降级为「从有到有」。概括原则允许凭空收拢;分离只许从已经存在的口袋 A 里分出子集。罗素类 {x : x ∉ x} 因此再也拿不到出生证——想分它,得先有一个装着一切集合的全集,而全集不存在(§2.17 将给出严格证明)。罗素悖论由此从「崩溃」降级为「定理」:ZFC 可证不存在满足 ∀x(x ∈ R ↔ x ∉ x) 的集合 R。
第一章工具的回归。差与交现在有了公理发票:A\B := {x ∈ A : x ∉ B},A ∩ B := {x ∈ A : x ∈ B}——都是分离的直接产物,存在性与唯一性(外延)齐备(§2.17 定理 2.5)。补集没有回归:没有全集,只有相对补 A\B——这不是缺陷,而是宪政秩序的体现。
为什么是「模式」。φ 遍历语言中的一切公式——一条公理模式等于无穷多条公理,每条公式一条。为什么不能合并成有限几条?§2.15 将引 Montague 的结果:只要 ZFC 一致,替换与分离模式都不可有限化——「模式」是本质的,不是记号的偷懒。这个说法在 §2.6 换公式时还会重现。
分离管住了「按性质收」。但集合论的野心不止于筛:若有一个规则把 A 的元素逐个换成别的东西,换出来的像还成集合吗?——下一节的替换公理。
★★★ 分离只许「筛」不许「换」。设想有一条规则把集合 A 的每个元素 x 换成某个 y(如 x ↦ x ∪ {x})——换出来的像还成集合吗?直觉说当然;但直觉在罗素悖论处栽过跟头,宪政世界里每一句「当然」都要公理背书。背书者即 ZF 中那个以字母 F 命名的柱石。
单值性即「φ 是一份函数表」:每个 x 至多配一个 y。结论说:定义在 A 上的像 B = {φ 的像 : x ∈ A} 是集合。公式加参数生成新集合——p̄ 是允许携带的集合参数,例如「映射 x ↦ x ∪ c」里固定的 c。像可以远比原像「大」:x ↦ 𝒫n(x) 这类跳跃全凭替换放行。
分离是替换的特例。取 φ(x, y) := (x = y ∧ ψ(x)),像集恰好是筛出的子集 {x ∈ A : ψ(x)}——替换加上空集与配对,就能导出分离。教材为清晰常把两者并列;逻辑上替换是更强的生产资料。
历史与威力。弗伦克尔 1922 年提出补充「函数值代换」的公理,斯科伦 1922 年同年在赫尔辛基给出精确的一阶表述——「模式」从此成为标准写法;ZF 里的 F 记着弗伦克尔的首功。冯·诺依曼 1928 年的序数理论与超限递归,全程要靠替换才能把「按序数逐级定义的对象」收拢成集合:第三章的超限递归、第五、六章的大段构造,处处是替换的镜像在运转。
至此生产资料齐备:配对、并、幂集、无穷、分离、替换。还差两根柱石——一根管卫生,一根管选择。
★★ 其余公理都在说「有什么」;这一根柱石专说「不许有什么」。它是九根柱石中唯一的否定性条款,管的是整个宇宙的卫生。
禁 x ∈ x。反设 x ∈ x,取 A = {x}(配对)。A 非空,唯一候选极小元是 x 本身,但 x ∩ {x} = {x} ≠ ∅——矛盾。自属集合被封杀。
禁无穷 ∈ 链。反设存在 x0 ∋ x1 ∋ x2 ∋ …(即每个 xn+1 ∈ xn)。用替换把自然数映过去:n ↦ xn 是单值公式,A = {xn : n ∈ ω} 是集合;对 A 用正则取极小元 xk,但 xk+1 ∈ xk ∩ A——矛盾。任何向下的 ∈ 链都必在有限步内触底。宇宙是良基的:每个集合往下摸,迟早摸到 ∅。
为什么其余公理不排除罗素集合。注意八根柱石全部是「封闭性」条款:它们说从已有集合能造什么,从不说宇宙里不许已经住着什么。倘若宇宙里先天住着一个自属集合 a(甚至 a ∈ b ∈ a 的环),前八条公理毫不介意——生产规则不查存量。正则公理单独封杀:罗素悖论由此获得双重防线——造不出(无全集,分离)+住不进(正则)。事实上朴素宇宙若真有自属集合,悖论推理照样跑通;正则把这条路彻底焊死。
正则换来什么。良基性使「对 ∈ 的归纳」合法:想证所有集合都有某性质,只需「性质对 x 的全体成员成立则对 x 成立」——因为反例必含极小元。这个 ∈-归纳(及配套的 ∈-递归)是第三章序数理论、§2.13 的秩分层与累积宇宙的全部地基。补充一句公允话:正则与 ZF 去掉正则后的系统相对一致——它是卫生条例而非承重墙;但楼越高,越显出它的承重。
九根柱石已立八根。最后一根最特殊——它不生产、不设防,只保证「挑得出」。它也是唯一被公开争论了一百年的一根。
★★ 无穷多双鞋摆成一排,各挑一只:答「每双挑左脚」——规则现成,无需公理。换成无穷多双袜子:袜子没有左右,没有任何规则可循,各挑一只——直觉说不出口。罗素 1919 年的这则比喻,精确圈出了本章最后(也是最著名)一根柱石的辖区。
读法:AC 允许「同时、无穷多次、无规则地挑」。对有限族,其余公理就能造选择函数(逐个挑、配对打包);对「每双袜子都有可辨认标记」的族(鞋的左脚),分离与替换足够。AC 的全部力量在无标记的无穷族:它断言选择函数存在,却不提供任何构造——这正是它区别于其余八根柱石的性格:其余公理几乎都是「封闭性」(从已有集合造新集合),AC 是赤裸裸的存在性断言,与无穷公理同为「原始股」。
本页只取三种表述之一。AC 有一整族等价形式——选择函数版、良序原理版(每个集合可良序)、Zorn 引理版(极大元存在)等;三张面孔互推的全景是第五章的议程,此处只立下函数版这一根柱石。历史线索先埋一笔:1904 年策梅洛为证良序定理引入 AC,引发数学史上罕见的长达数十年的公开争论;1938 年哥德尔证明 AC 与 ZF 相对一致,1963 年科恩证明其否定亦然——第四章末与第六章将接续这条线。
九根柱石立齐。合影之前,先把每根柱石的「一句话档案」备好——下一节是全章的中点。
★ 九根柱石一字排开。这张全表是第二章的中央车站——此后各章的每一次证明,都可以回到这里查票。
| 公理 | 一句话内容 | 封堵的悖论或补上的缺口 |
|---|---|---|
| 外延 | 元素相同则集合相同 | 钉死「=」的内容;唯一性的唯一来源 |
| 配对 | 任给 a、b,{a,b} 存在 | 最小的集合生产线;有序对的原料 |
| 并 | ⋃𝒜 存在(对族并) | 二元并、族的压平;集合代数的保票 |
| 幂集 | 𝒫(A) 存在 | 「子集全体是集合」;无穷层级的引擎 |
| 无穷 | 归纳集存在 | 唯一凭空给出无穷的柱石;ω 的出生证 |
| 分离(模式) | 集合的子集 {x∈A : φ} 存在 | 封堵罗素悖论:概括原则降级为持证收拢 |
| 替换(模式) | 单值公式的像 {f(x) : x∈A} 存在 | 像的集合化;超限递归的燃料 |
| 正则 | 非空集合有 ∈-极小元 | 封杀自属与无穷 ∈ 链;宇宙良基 |
| 选择 | 非空集合族有选择函数 | 保证无穷次「挑得出」;良序与 Zorn 的源头 |
三点性格观察。① 多数是封闭性:配对、并、幂集、分离、替换都说「从已有集合造新集合」——ZFC 的宇宙不进新货,只做深加工;② 两根是存在性:无穷与选择凭空断言,是宪法中的「原始股」;③ 两根是模式:分离与替换各代表无穷多条公理,且 §2.15 将证明这种无穷性不可压缩成有限条。
合影之外的两个注脚。其一,空集与有序对都不在表上:前者由分离重建(§2.2、§2.5),后者是 §2.10 的编码品——现代 ZFC 的公理表比 Zermelo 1908 的原始七条更精瘦,百余年的打磨把能省的都省了。其二,表中「缺口」一列提示:每根柱石都对应朴素阶段的一处含糊或一次悖论——公理表本身就是一部微缩的危机史。
★★ 宪政世界只认 ∈,而数学处处要「有序」:函数的输入先于输出,坐标的横轴先于纵轴。无序对 {a, b} 分不出先后——有序对必须编码。豪斯多夫等人的方案几经更迭,库拉托夫斯基 1921 年的编码以其极简胜出并沿用至今。
直觉。单点框 {a} 是第一坐标的「独占间」;第二框 {a, b} 是两坐标的「合住间」。两个框合起来,a 与 b 各自的角色就能唯一恢复——前提是下面这条定理成立。
证明一步未跳,每一步只用了外延公理的「成员相同即同一」。逆方向(a = c 且 b = d 则两编码显然相同)不需要证明——编码是按定义逐字相等的。
例 2.2。解码 {{∅}, {∅, {∅}}}:唯一单点成员 {∅} 给 a = ∅;另一成员 {∅, {∅}} = {a, b} 给 b = {∅}。故它是 (∅, {∅}),即 (0, 1)。注意解码只看结构,不看命名。
有了唯一的解码,有序对正式入籍集合的共和国。下一节把它变成地基,重建关系、函数与直积——第一章的全部舞台。
★★★ 第一章的函数是「规则」:每个输入配一个输出。规则不是集合——它没法住进宪政宇宙。本节用 §2.10 的编码把秩序结构逐件集合化:关系是集合,函数是集合,直积也是集合。这是「从公理出发重建数学」的第一大站。
直积的存在性。剩下一个欠账:给集合 A, B,对象 A × B = {(x, y) : x ∈ A, y ∈ B} 是否是集合?它没法靠分离获得——分离只许在已有口袋里切,而世上还没有装着一切有序对的口袋。完整论证路线四步流水线:
公理清单:配对(编码)、替换 ×2、并,外延(单值性与核对)。配对替换并外延 注意替换的一次使用必须带参数 y——「公式+参数」的授权范围在 §2.6 说过,此处是第一处实战。
至此,「数」(§2.4)、「对」(§2.10)、「函数」(本节)都已是集合。宪政宇宙的扩张仍在继续:第三章造序数与良序的阶梯,第六章从空集一路造到实数——每一步都沿用本节的方式:先直觉,后编码,再持公理验证。
★★★ 「所有集合的集合 V」存在吗?ZFC 的回答:不存在——若 V 是集合,分离立刻切出罗素类 R = {x ∈ V : x ∉ x},矛盾(§2.17 定理)。可是「V」这个词在数学语言里无处不在,总不能全数禁用。出路是给它一个不享用集合待遇的身份:类。
NBG 的方案。冯·诺依曼 1925 年提出、贝尔奈斯 1937 年改写、哥德尔 1940 年定本的评价体系 NBG,把语言扩成两类对象:集合(可作元素)与类(只可称呼、不作元素)。公理逐条对应 ZFC,外加「类的构造」条款——而这一切可以有限公理化(§2.15 将详述)。NBG 的关键性质是保守扩充:凡不含类变元的定理,NBG 能证的 ZFC 也能证。换言之,类只是记账用的科目,不产生新的集合论事实——「真类」不是禁忌,而是一个有法可依的称谓。
为什么罗素类必是真类。朴素阶段的推理在宪政语境下反而更干脆:假设罗素类 R 是集合,则 R ∈ R ↔ R ∉ R,一句矛盾——这次连分离都不用,「R 是集合」本身违律。真类身份是罗素悖论在宪政世界的最终裁决:那个危险的汇不是不存在,而是永远不许降格为集合。
实用注记。现代数学的几处「大总汇」——所有群的类、所有拓扑空间的类、范畴论里的范畴——多数以真类身份安全存在。ZFC 内谈它们要靠公式与参数间接指称;NBG 里它们有名有姓。第六章谈「宇宙 V」、第四、五章谈真类的层级时,本节的区分将随时上岗。
★★ 「所有集合」既然不是一锅粥,那是什么?ZFC 的现代答案是本册书名的题眼——无穷的建筑学:宇宙是一座一层层垒起来的塔。本节给出鸟瞰图;严格的施工图纸(序数、超限归纳)是第三章的议程。
施工规则一目了然:地基是空集;每一层把上一层的全部子集当砖收进来;到极限处不新增,只把已有的各层合拢。几步实地踏勘:V1 = {∅};V2 = {∅, {∅}}——恰是冯·诺依曼的 2;V3 有 4 个元素,且 3 = {0,1,2} ⊆ V2 已在其中。一般地,冯·诺依曼自然数 n 在第 n 层之前就位;ω 的全部自然数在 Vω 就位。每个 x ∈ Vα+1 恰当 x ⊆ Vα——「层」的本质是:每层组织上一层,任何集合的成员一律住在更低的层。
宇宙分层定理(预告)。ZFC 可证:每个集合都属于某个 Vα(证明要用正则公理、替换与对序数的归纳,第三章完成)。于是「所有集合的全体」= 所有层之并——一个真类,但它不再是危险的堆,而是良基的塔:正则公理保证没有悬空楼梯(集合的成员可以不断降层,直至 ∅),替换与幂集保证塔能一层层合法地长。九根柱石在这幅图里各就其位:幂集是塔吊,无穷是地基旁的无限储备,正则是验楼员。
塔的有限部分 Vω——遗传有限集合的宇宙 HF——自带一段奇特的宪法:它满足 ZFC 去掉无穷公理后的全部条款。挑战页(p64)将徒手攀登这座小塔,实验页(p65)用程序精确计数——无穷的建筑学,先从最矮的塔爬起。
★★★ 公理是纸上的法条;法条管不管用,还要看「住得下住不下」。本节引入三个概念——一致性、模型、相对化——它们是把「真假」与「可证」分开的第一套工具,也是第四、六章独立性证明的门槛。
一致性。理论 T(一组语句)一致,指从 T 出发推不出矛盾:不存在语句 φ 使 T ⊢ φ 且 T ⊢ ¬φ。一致即「暂时没塌」——注意这是语法层面的说法,只谈推演,不谈真假。
模型与相对化。给定集合(或类)M 与其上一个二元关系 E,把每条公式 φ 的量词改读「跑遍 M」、∈ 改读 E,得到相对化 φM。若 T 的每条公理在 (M, E) 下都真,记 M ⊨ T,称 M 是 T 的模型。例:取 M = Vω(§2.13 的有限层塔)、E = 真属于,则 ZFC 去掉无穷公理后的每条公理都成立——小宇宙虽有限(元素的个数意义下),语法上却是不折不扣的模型。p64 的挑战将逐条验收。
这条原理把「加公理安不安全」化归为「造模型」:哥德尔 1938 年构造可构造宇宙 L,证明 L ⊨ ZF + AC + CH,于是 Con(ZF) 蕴含 Con(ZFC + CH)——选择公理与连续统假设的相对一致性。科恩 1963 年发明力迫法,反向构造 ¬CH 的模型——两个方向合拢,CH 在 ZFC 中独立(第六章深水区)。
内模型。若 M ⊆ V 是真类、含全部序数、对 ∈ 传递(x ∈ y ∈ M 蕴含 x ∈ M),且 M ⊨ ZFC,称 M 为内模型。L 是第一个内模型;V 自身平凡地是;「ZFC 有多少种内模型」至今是前沿问题。内模型是第三、四章分层思想的直接后代。
模型的威力至此可见:一致性不再靠「反正还没塌」的侥幸,而靠可构造的住处。下一节给出这份乐观的边界——有的墙,公理自己永远砌不到。
★★★★ 立宪的雄心是一劳永逸:九根柱石立定,一切真伪归法庭裁决。1931 年,25 岁的哥德尔证明了这份雄心的边界——不是具体的墙不够高,而是任何宪法都自我设限。
三条含义值得逐条咀嚼。其一,证明能力有洞:真语句与可证语句之间有永久性的裂缝。其二,自我担保被禁止:ZFC 若一致,则 Con(ZFC) 在 ZFC 内不可证——宪法不能自证清白,一致性证明必须借更强(也更可疑)的理论,信任链条无穷上退。其三,不完备不是工程的失败而是数学的自我认识:它精确划出了「公理化方法」的势力范围。注意辨析:1930 年的完备性定理与 1931 年的不完备定理一字之差、内容相反,§2.16 将把两者放正位置。
有限公理化问题。ZFC 的分离与替换是模式——无穷多条公理。能否合并成有限条?冯·诺依曼—贝尔奈斯—哥德尔的 NBG 可以:类语言换取有限公理组(哥德尔 1940 年版本共有限条)。但 ZFC 本身不可:Montague(1961)证明——若 ZFC 一致,则 ZFC 的任何有限公理组都证不出 ZFC 的全部定理(替换模式尤其不可有限化)。§2.5 埋的那句「模式是本质的」在此兑现:无穷多条公理是 ZFC 的骨架特征,不是记号的累赘。这条结果同时解释了 NBG 为何必须引入类——类语言正是把无穷条模式压缩成一条「类概括公理」的代价与收获。
不完备定理没有终结公理化——它让立宪者看清了自己在立一部什么样的法:一部知道自己不完备、也不自证清白的法。清醒,是现代数学的宪法与古代独断的分水岭。
★★★ 本章反复出现「为真」「可证」「模型」三个词,是时候把它们各自安放。这一节给出全书通用的三分地图——此后每一处「独立」「相对一致」「不可证」的陈述,都按这张地图精确定位。
三分。① 语法:符号串的世界。合式公式、公理、推理规则、形式证明——全是纸上的对象,机械可查,无关意义。从理论 T 到语句 φ 的形式推演记 T ⊢ φ(读「T 可证 φ」)。② 语义:意义的世界。模型 M、相对化 φM、真假——要「看宇宙」。φ 在 T 的所有模型中真,记 T ⊨ φ(读「T 语义蕴涵 φ」)。③ 可证性:对具体 T 与 φ,问 ⊢ 是否成立;不成立即「独立于 T」——CH 之于 ZFC 正是此意。
⊨ 与 ⊢ 的分工。⊢ 是「纸上的推演」,只认规则,机械可查;⊨ 是「宇宙中的真假」,要看模型,无法在理论内部一概而论。两者由两条定理焊接:可靠性——T ⊢ φ 则 T ⊨ φ(证明不撒谎,纸上推演的每步在任何模型中都真);完备性(Gödel 1930)——T ⊨ φ 则 T ⊢ φ(一阶逻辑的证明力恰好抓尽一切语义推论)。合流后的推论是里程碑式的:T 一致 ⟺ T 有模型。§2.14 的相对一致性原理由此获得精确的语法表述——「造模型」与「保一致」从此可互换。
两个「完备」的辨析。完备性定理是逻辑的:一阶推演规则足够强,能抓住所有语义推论——好消息。不完备定理是理论的:像 ZFC 这样的理论必有自己证不出的语句——边界公告。两者并不矛盾:不完备的 GT 之所以证不出,正因为存在使它为假与为真的两个模型(¬GT 的模型里「有非标准自然数」)——完备性把这条裂缝看得一清二楚。
ZFC 的特殊难处。「φ 在真宇宙 V 中真」(标准语义)不是 ZFC 内部的对象——V 是真类,ZFC 没有关于「V 中真值谓词」的合法表述(塔斯基不可定义性)。于是「真而不可证」在集合论里不是修辞性的说法,而是技术性的处境:第四、六章的独立性证明全部要绕道模型来谈「真」。这张三分地图,随身携带。
★★ 第一章欠下的最后账目到期:三条「显然成立」的事实——空集唯一、无序对唯一、交与差存在——在宪政世界里要用公理一票一票投出来。每条证明都附「公理清单」,兑现 §2.9 承诺的「每笔账有发票」。
证明。对任意 x:x ∈ ∅1 为假,x ∈ ∅2 亦为假,故双条件 x ∈ ∅1 ↔ x ∈ ∅2 对一切 x 成立。由外延公理,∅1 = ∅2。外延 ∎——注意证明连空集的存在都没用,只用了「无元素」与外延:唯一性比存在性更省。
证明。对任意 x,两个双条件的右端相同,故 x ∈ C ↔ x ∈ D。由外延公理,C = D。配对外延 ∎——配对公理只许诺「存在」,唯一性全靠外延盖章:这就是 §2.2 说的「两根温顺的柱石互相成全」。
附赠定理(无全集)。不存在集合 U 使一切集合皆属于 U。反设 U 存在,分离(参数无需)造 R = {x ∈ U : x ∉ x};于是 R ∈ R ↔ R ∈ U ∧ R ∉ R,而 R ∈ U 恒真(U 是全集),化简得 R ∈ R ↔ R ∉ R——矛盾。分离外延 ∎ 罗素悖论在 ZFC 里的最终身份:一条关于「无全集」的定理。
第二章的主线到此收束:语言(§2.1)、九根柱石(§2.2–2.8)、重建(§2.10–2.11)、宇宙与边界(§2.12–2.16)、严格重证(本节)。接下来的五页是演练场:例题、习题、地图、小结——把柱石搬进自己的手里。
例题一(二元并的出生证)。证明:对任意集合 A、B,集合 U = ⋃{A, B} 满足 ∀x(x ∈ U ↔ x ∈ A ∨ x ∈ B),并指出用到的全部公理。
解。配对公理给集合 {A, B}(取 a = A, b = B);并公理给 U = ⋃{A,B}。展开并的定义:x ∈ U ↔ ∃C(C ∈ {A,B} ∧ x ∈ C)。由 {A,B} 的配对刻画,C ∈ {A,B} ↔ C = A ∨ C = B;代入得 x ∈ U ↔ (x ∈ A ∧ C = A) ∨ (x ∈ B ∧ C = B) 的可满足形式,化简即 x ∈ U ↔ x ∈ A ∨ x ∈ B。公理清单:配对、并(唯一性另由外延保证,见定理 2.4 的同型论证)。∎
例题二(对称差)。证明集合 A △ B = {x : 恰在 A、B 之一} 存在。
解。「恰在之一」不是分离能直接消化的性质——它没有现成口袋。分装两步:用分离从 A 切出 A\B = {x ∈ A : x ∉ B},再从 B 切出 B\A = {x ∈ B : x ∉ A}(两次分离,B 作参数);由例题一,A\B ∪ B\A 存在。核对元素:x ∈ (A\B) ∪ (B\A) ↔ (x∈A ∧ x∉B) ∨ (x∈B ∧ x∉A) ↔ x 恰在 A、B 之一。公理清单:分离 ×2、配对、并、外延。∎ 方法论要点:像对称差这种「跨口袋」的性质,先分装、再合并——分离管切,并公理管装。
例题三(单集像与还原)。映射 x ↦ {x} 的像集 S = {{x} : x ∈ A} 存在;证明 ⋃S = A。
解。公式 φ(x, y) := y = {x} 单值({x} 由外延唯一,定理 2.4),由替换公理,S = {φ 的像 : x ∈ A} 是集合。再算并:x ∈ ⋃S ↔ ∃u(u ∈ S ∧ x ∈ u) ↔ ∃u(u = {x} ∧ u ∈ S) ↔ {x} ∈ S ↔ x ∈ A。两次化简分别用了 S 的元素形态与替换的像刻画;由外延公理 ⋃S = A。公理清单:替换、并、配对({x} 的存在)、外延。∎ 此题的「像再倒回原像」是替换公理可逆性的最小标本:S 是 A 的单集化档案,拆封即还原本金。
例题四(幂集算术)。计算 𝒫(∅)、𝒫({∅}) 与 𝒫({a, b})(a ≠ b),并核对 |𝒫(A)| = 2|A| 的有限情形。
解。∅ 的子集只有 ∅,故 𝒫(∅) = {∅}——恰是冯·诺依曼的 1。{∅} 的子集是 ∅ 与 {∅},故 𝒫({∅}) = {∅, {∅}}——恰是 2。{a,b} 的子集有 ∅、{a}、{b}、{a,b} 四个(逐一按子集定义验证:空集是任何集合的子集;{a}、{b}、{a,b} 的成员都在 {a,b} 中;无其他形态),故 |𝒫({a,b})| = 4 = 22。公理清单:幂集(存在)、外延(逐项同一)。∎ 三个数 1、2、4 恰是幂集阶梯的开端——第四章将对无穷集合证明此式并「开方出」更大的无穷。
例题五(解码实战)。解码 P = {{∅}, {∅, {∅}}}。
解。P 的成员中,{∅} 是唯一的单点成员(另一成员 {∅, {∅}} 有两个元素)。按解码规则:第一坐标 a 是「独占间」的人,故 a = ∅;第二坐标 b 是合住间的另一位,{a, b} = {∅, {∅}} 且 a = ∅,故 b = {∅}。于是 P = (∅, {∅}) = (0, 1)。验算:按定义展开 (∅, {∅}) = {{∅}, {∅, {∅}}}——逐字相符。∎
例题六(逆问题)。集合 M = {{1, 2}, {2}}(1 = {∅}、2 = {∅, {∅}} 为冯·诺依曼自然数)是某有序对的编码吗?若是,求出该有序对。
解。成员 {2} 是单点成员({1,2} 有两点),故若 M 是编码,必有 {a} = {2},即 a = 2;另一成员须形如 {a, b}:{1, 2} = {2, b} 要求 1 ∈ {2, b},即 b = 1(1 ≠ 2)。核对:编码 (2, 1) = {{2}, {2, 1}} = {{2}, {1, 2}}——与 M 逐字相符。故 M = (2, 1),注意不是 (1, 2):独占间住的是 2。∎ 方法论:解码的钥匙永远是「先找唯一单点成员」——它由定理 2.1 的唯一性背书,绝无歧义。
例题七(三元组)。定义 (a, b, c) := ((a, b), c)。证明:(a, b, c) = (a′, b′, c′) 蕴含 a = a′、b = b′、c = c′。
解。由定理 2.1 用两次。第一步:((a,b), c) = ((a′,b′), c′) 蕴含 (a,b) = (a′,b′) 且 c = c′(把 (a,b) 与 (a′,b′) 各视为「第一坐标」整体,直接套定理 2.1)。第二步:对 (a, b) = (a′, b′) 再套定理 2.1,得 a = a′ 且 b = b′。∎ 组合编码的唯一性按结构归纳层层传递——任何有限长的元组,重复套用定理 2.1 即可彻底解码。第六章的序列与递归构造正建立在这个事实上。
例题八(哪些集合不是编码)。判定 ∅、{{1}, {2}}(1 ≠ 2)、{{1}, {1, 2}, {2}} 各是否某有序对的库拉托夫斯基编码。
解。① ∅ 不是:任何 (a,b) = {{a},{a,b}} 至少含成员 {a},非空。② {{1}, {2}} 不是:若它是编码,唯一单点成员给 a = 1 与 a = 2(两个单点成员都该是 {a}),矛盾;精确地说 {a} 与 {a, b} 在 a ≠ b 时大小不同,而这里两个成员都是单点的。③ {{1}, {1, 2}, {2}} 不是:编码 (a, b) 只有 1 个成员(a = b 时)或 2 个成员(a ≠ b 时),三个成员超出。∎ 方法论:编码的「指纹」有三条——非空、成员数为 1 或 2、恰有一个单点成员(a ≠ b 时)。三条齐验,无一例外;第四章数基数时,这类结构指纹将系统化。
习题 2-1(并的刻画)。证明:若 U 与 U′ 都满足 ∀x(x ∈ U ↔ ∃A(A ∈ 𝒜 ∧ x ∈ A)) 与同型的 U′ 刻画,则 U = U′——并公理给出的并由 𝒜 唯一确定。
提示。两个刻画右端相同,直接外延(同定理 2.4 的一行论证)。这条习题补齐 §2.3 的隐含承诺:配对、并、幂集给出的对象全部唯一——ZFC 的每根生产柱石都自带「只此一家」的章。
习题 2-2(幂集阶梯)。记 𝒫0(A) = A,𝒫n+1(A) = 𝒫(𝒫n(A))。证明 |𝒫n(∅)| 的序列是 0, 1, 2, 4, 16, …,并写出通项(n ≥ 1 时)。
提示。逐层归纳:|𝒫(X)| = 2|X| 对有限集 X 成立(每个元素「进或不进」二选一,2 的 |X| 次方种)。于是 |𝒫n(∅)| = 2 的(前一项)次幂:1, 2, 4, 16, 65536, …——n ≥ 3 后爆炸式增长。通项:n = 1 时为 1,n ≥ 2 时为 2 的 2n−1 次幂链?慎写——精确递推 |an+1| = 2|a_n|,从 |a1| = 1 出发即得 1, 2, 4, 16, 65536。p65 的实验将逐层真算并计数。
习题 2-3(自然数的早出生)。利用无穷公理给出的归纳集 A,证明 0、1、2、3、4 都存在(即冯·诺依曼编码的前五个自然数都是集合)。
提示。无穷公理给 ∅ ∈ A 且 x ∈ A ⟹ x ∪ {x} ∈ A。归纳五步:∅ 存在(= 0);∅ ∪ {∅} = {∅} = 1 ∈ A(配对给 {∅},并给并);同理 2、3、4 逐级在场。关键一环是「x ∪ {x} 存在」——配对给 {x} 与 {x, x} = {x},再配对给 {x, {x}},并公理给 x ∪ {x} = ⋃{x, {x}}。每个自然数都是配对+并的产物,无穷公理只负责「生产线不停机」。
习题 2-4(交的代数回归)。用分离公理重证第一章的分配律:A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)。
提示。两边都存在(定理 2.5 与例题一)。逐元素核对:x ∈ 左 ⟺ x∈A ∧ (x∈B ∨ x∈C) ⟺ (x∈A ∧ x∈B) ∨ (x∈A ∧ x∈C) ⟺ x ∈ 右。中间一步是逻辑分配律——集合代数的律法一半来自外延,一半来自命题逻辑的分配律。第一章的同族恒等式(De Morgan 律等)可同法逐一「公理化」。
习题 2-5(像的实操)。设 A = {∅, {∅}}(即 2)。求像集 S = {x ∪ {x} : x ∈ A},并写出 S 的两个元素与冯·诺依曼自然数 1、2 的关系。
提示。公式 φ(x, y) := y = x ∪ {x} 单值(并的唯一性),替换给 S。逐项算:∅ ∪ {∅} = {∅} = 1;{∅} ∪ {{∅}} = {∅, {∅}} = 2。故 S = {1, 2}——恰好是 3 = {0,1,2} 的两个非零成员。这条「后继映射」正是无穷公理的生产线;第三章将证明它在 ω 上单射且无人映到 0——自然数列没有回头路。
习题 2-6(编码的解剖)。设 a ≠ b。证明:(a, b) 恰有两个成员,其中恰有一个是单点集;且 a ∈ {a, b} 但 b 可能不在 {a} 中——用这三条给一个与定理 2.1 不同的解码算法。
提示。{a} ≠ {a, b}(否则 b = a)故两成员相异;(a,b) 成员数为 2。单点成员 {a} 供出 a;另一成员 {a, b} 去掉 a 即得 b = ⋃{a,b} \ {a}——用「差」(定理 2.5)。算法:先取唯一单点成员,再取差。p65 的实验二将把这套算法写成程序并与随机编码对拍。
习题 2-7(解码再练)。M = {{2}, {1, 2}} 与 N = {{1}, {1}, {1, 2}}(集合中重复成员自动合并,故 N = {{1}, {1, 2}})。分别判定是否为编码;若是,解码。
提示。M 即例题六的 (2, 1) 换个写法——独占间是 {2},故 (2, 1)。N 中 {1} 出现两次但集合自动去重,N = {{1}, {1, 2}} = (1, 2)。教训:书写集合时重复无意义;编码的唯一性(定理 2.1)保证解码不因「重复书写」而动摇。
习题 2-8(无互属对)。用正则公理证明:不存在集合 a、b 使 a ∈ b 且 b ∈ a。
提示。反设之,取 A = {a, b}(配对)。A 非空,正则给极小元 x ∈ A 使 x ∩ A = ∅。若 x = a:b ∈ a 且 b ∈ A,故 b ∈ a ∩ A ≠ ∅,矛盾。若 x = b:a ∈ b 且 a ∈ A,同理矛盾。两成员都当不成极小元——A 违反正则,故这样的 a、b 不存在。「互属」是 ∈ 环的最小标本,正则把一切 ∈ 环一并封杀。
习题 2-9(无穷降链的封杀)。证明:不存在集合序列 x0 ∋ x1 ∋ x2 ∋ …(即不存在函数 g,dom(g) = ω,使 g(n+1) ∈ g(n) 对一切 n ∈ ω 成立)。
提示。反设 g 存在。替换(单值公式 y = g(x))给像集 A = {g(n) : n ∈ ω}——注意 dom(g) = ω 是集合(无穷公理)。A 非空,正则给极小元 g(k);但 g(k+1) ∈ g(k) 且 g(k+1) ∈ A——极小元被击穿,矛盾。三根柱石联手:无穷提供 ω,替换提供像集,正则提供极小元。这条习题正是 §2.7 主文的严格化。
习题 2-10(编码指纹的边界)。证明:任何非空集合 M,若其成员数 ≤ 2 且恰有一个单点成员 {s},则 M 是某有序对的编码;并指出指纹条件中哪一条不可放松。
提示。成员数为 1 时 M = {{s}} = (s, s)。成员数为 2 时,另一成员 T 有 1 或 2 个元素且含 s(T ≠ {s});取 b ∈ T、b ≠ s,则 T = {s, b},M = (s, b)——编码。边界:成员数为 2 但没有单点成员时(如 {{1,2},{2,3}})一般不是编码——{{1,2},{2,3}} 中 2 是公共元素,尝试 a = 2:{a} = {2} 不在 M 中,失败。指纹的「恰一个单点成员」一条在 a ≠ b 时不可放松(习题 2-6)。
本章的概念网是一条「从法条到城市」的流水线:九根柱石立起生产线,生产线造出结构,结构重建第一章的全部工具。本页把整条流水线画成一张地图。
通向外部的接口。① ω 与序数 → 第三章良序的阶梯(正则与替换是序数理论的地基);② 幂集与分离 → 第四章的对角线与基数层级;③ AC → 第五章的等价环全景;④ 函数与 A×B → 第六章从空集造实数的长征。章内自足——读完本章,后续每一章的第一页都能在地图上找到发车站。
本页任务。把九根柱石各压缩成一句话随身卡;重建清单在下页。
性格速记。六根封闭性(配对、并、幂集、分离、替换+外延管身份),两根存在性(无穷、选择),一根否定性(正则)。两条模式(分离、替换)各是无穷多条公理,且不可有限化(§2.15 的 Montague 结果)。
三个易错点。① 空集不在公理表上——它由分离从任意集合切出(§2.2、§2.5);② 有序对不在公理表上——它是配对的编码品(§2.10),唯一性靠定理 2.1;③ 配对与并的公理只许诺「存在」,唯一性一律由外延公理补盖——三条重证见 §2.17。
本页任务。第一章的每一件朴素工具,如今都签了公理发票。这张对照表是「宪政审计」的最终结算单——逐行问一句:它由哪些柱石造出?
| 第一章工具 | 重建方式与所用公理 | 出处 |
|---|---|---|
| 空集 ∅ | 分离从任一集合切 {x∈A : x≠x};唯一性靠外延 | §2.2 / §2.17 |
| 单集 {a}、无序对 {a,b} | 配对公理直接给出(b = a 得单集);唯一性靠外延 | §2.2 / §2.17 |
| 并集 A∪B | 并公理的特例:A∪B = ⋃{A,B}(配对+并) | §2.3 / 例题一 |
| 交 A∩B、差 A\B | 分离从 A 切出;唯一性靠外延 | §2.5 / 定理 2.5 |
| 幂集 𝒫(A) | 幂集公理直接给出;从「计算对象」升格为「柱石」 | §2.3 |
| 有序对 (a,b) | 库拉托夫斯基编码 {{a},{a,b}}(配对三连);唯一性见定理 2.1 | §2.10 |
| 关系与函数 | 有序对之集;右单值条件;dom 由分离获得 | §2.11 |
| 直积 A×B | 配对+替换 ×2+并的四步流水线 | §2.11 / 图 2-12 |
| 自然数与 ℕ | 冯·诺依曼编码(配对+并);归纳集由无穷公理担保;ω 由分离切出 | §2.4 |
| 罗素悖论的封堵 | 分离(造不出全集)+正则(禁自属)——双重防线 | §2.5 / §2.7 |
读表三注。① 清单里没有一条公理是「多余的」:每个重建对象都能在发票上写全用到的柱石——这正是 §2.9 全表的用途。② 反过来,清单里也没有一个对象「绕得开公理」:第一章曾以为天经地义的 A∩B,严格说需要分离+外延两张签章;直积更要四根柱石接力。③ 「无全集」这条否定性结论(§2.17 附赠定理)是清单上唯一的「重建失败」——而它恰恰是宪政秩序最深的胜利:不是造出了什么,而是证明了什么造不出来。
后续章节的扩展。第三章将把冯·诺依曼楼梯延伸到一切序数(良序的阶梯);第四章将对角线法在幂集公理上盖出无穷的层级;第五章把选择公理的等价形式连成环;第六章沿着本表的「函数+自然数」两行一路造到实数。本页的结算单,是全书后半程的存货底账。
本章最容易被误读的地方:公理化看起来是「集合论给自己下了个定义」。恰恰相反——ZFC 的九根柱石没有一条回答「集合是什么」。策梅洛 1908 年的转身之所以伟大,正在于他放弃了回答:集合是一个不定义的词,宪法约束的不是名词,而是动作——不许凭空收拢(分离),不许无限下坠(正则),不许用没有票的函数造像(替换的单值前提)。公理化是一种自我约束:数学给「自己允许自己说什么」立了法。
这份约束为何值得?看悖论的解剖就知道。罗素悖论不是「语言出了 bug」,而是「许可出了漏洞」——概括原则允许一个三行推理就自毁的动作存在。宪政化的修复不是打补丁,而是换制度:性质照谈,收拢持证;于是同一个推理变成了定理(无全集,§2.17)。灾难与定理之间,隔着的只是一纸许可的修订。这是二十世纪数学最深刻的方法论转折:安全不是靠小心,而是靠制度。
约束还带来一份意外的红利:明算账。公理化之前,「无穷个集合各挑一个」这种操作有没有问题,谁也说不清;公理化之后,它是一根明文柱石(AC),用没用、能不能不用、用了会怎样——全部可查。第五章将看到,正因这份可查性,选择公理才可能被完整地争论一百年;第六章将看到,连续统假设的「独立」判决书,也是以公理为被告、以模型为法庭写成的。没有立法,就没有后来这场漫长而干净的庭审。
最后留一个自问:既然公理是约束而不是真理,ZFC 的九根柱石凭什么「被选中」?——兼容性(能重建全部经典数学)、生产力(序数、基数、递归都跑得动)、以及百年实战(挡住已知的悖论)。但「凭什么」永远可以再问:第五章的选择公理之争、第六章的多元宇宙之问,都是这一问的续章。宪法不是终审判决,它只是把哲学的争论装进了可讨论的形式。
任务。把九根柱石中的一根抽走——无穷公理——看剩下的 ZFC−Inf 宇宙有多大气。目标宇宙是 HF:遗传有限集合的世界,即累积分层的有限段 HF = ⋃n<ω Vn(§2.13)。它小得数得清(前几层 0、1、2、4、16、65536 个元素),却足以容纳全部有限组合数学。
分步引导。① 手工登塔。写出 V3 的全部 4 个元素(提示:𝒫({∅, {∅}})——∅、{∅}、{{∅}}、{∅, {∅}}),再验证 |V4| = 16、|V5| = 65536。② 封闭性检查。证明 HF 对余下八根柱石的全部操作封闭:a、b ∈ HF 则 {a,b} ∈ HF(配对);族有限则并有限(并);x ∈ HF 则子集有限且元素有限(幂集与分离——注意「遗传有限」:x 的元素、元素的元素……全有限);有限域上的单值函数像有限(替换)。外延与正则不造新集合,自动通过。③ 关键一步。证明 HF 中没有归纳集:归纳集须含全部冯·诺依曼自然数 0, 1, 2, …,但 HF 的每个集合只含有限个自然数(每个 HF 集合本身有限),故任何 HF 成员都不完整——无穷公理在 HF 中为假。④ 结论。(HF, ∈) 是 ZFC−Inf+「无归纳集」的模型,由相对一致性原理(§2.14):若 ZFC−Inf 一致,则加不上无穷公理也推不出它——无穷公理独立于其余柱石。它不是「显然」的,而是一笔真正的原始股。
进阶(选做)。① 证明 HF 恰有可数多个元素(每个 V_n 有限,可数并可数)——HF 是一个「可数的 ZFC−Inf 模型」的实例,这与 §2.14 的完备性定理首尾呼应。② 想一步:HF 的概念「有限」能否在 HF 内部定义?——这个问题通向第六章的塔斯基不可定义性。③ p65 的实验页已把 ②③④ 步的数值部分真跑了一遍:带着答案去核对。
实验目的。用程序把本章四个抽象物逐一「实体化」:冯·诺依曼自然数的嵌套结构、库拉托夫斯基编码的唯一性、HF 宇宙的分层生长、正则公理的封杀力。全部代码纯 Python 标准库,完整脚本见 qa/exp_c2.py,核心段如下。
def succ(n): # ① 冯·诺依曼后继:n+1 = n ∪ {n}
return frozenset(list(n) + [n])
N = [frozenset()] # 0 = ∅
for _ in range(5):
N.append(succ(N[-1]))
for n, S in enumerate(N):
assert len(S) == n # n 恰有 n 个元素
assert all(N[i] in S for i in range(n)) # n = {0,…,n−1}
for n in range(5):
assert N[n] in N[n+1] and N[n].issubset(N[n+1])
def kpair(a, b): # ② 库拉托夫斯基编码
return frozenset([frozenset([a]), frozenset([a, b])])
# 随机抽 400 对(含 a=b),在元素池里穷举解码候选:
cands = [(c, d) for c in pool for d in pool if kpair(c, d) == code]
assert len(cands) == 1 # 解码唯一
def powerset(S): # ③ 幂集:Vn+1 = 𝒫(V_n)
elems = list(S)
out = set()
for r in range(len(elems)+1):
for comb in itertools.combinations(elems, r):
out.add(frozenset(comb))
return out
V = [frozenset()]
for _ in range(4):
V.append(powerset(V[-1]))
assert len(powerset(V[4])) == 2**16 # |V_5| = 65536
self_member = [x for x in V5 if x in x] # ④ 正则:查 x∈x
assert not self_member
真跑输出(qa/exp_c2_out.txt 全文)。
① 冯·诺依曼自然数 0..5
0 = ∅(0 个元素)
1 = {∅}(1 个元素)
2 = {∅, {∅}}(2 个元素)
3 = {∅, {∅}, {∅, {∅}}}(3 个元素)
4 = {0, 1, 2, 3}(4 个元素,缩写记法)
5 = {0, 1, 2, 3, 4}(5 个元素,缩写记法)
验证:n = {0,…,n−1},n ∈ n+1,n ⊆ n+1 —— 全部通过
② 库拉托夫斯基编码唯一性:400 个随机对(其中 a=b 的对角情形 41 个),
解码候选唯一者 400 个 —— 唯一率 100%
③ HF 宇宙(Vn+1 = 𝒫(V_n)):|V_0..V_4| = 0, 1, 2, 4, 16
|V_5| = 65536(2 的 16 次幂)
分层自检:V_n ⊆ Vn+1,且任一 x ∈ Vn+1 有 x ⊆ V_n —— 全部通过
④ 正则公理体验:V_5 全部 65536 个元素中,无 x ∈ x
V_4 的 15 个非空元素全部有 ∈-极小元(y∩x=∅)—— 全部通过
实验报告要求。① 复跑脚本并核对四段输出逐行一致;② 把解码唯一率实验的元素池扩大到 200 个 HF 集合,报告唯一率是否仍为 100%,并解释为什么定理 2.1 保证了它必须如此;③ 修改脚本数出 |V6|(提示:2 的 65536 次幂——只许算「应为多少」,不许真枚举),说明第 6 层为何在实践中不可达——幂集公理的「造大」速度由数据自证;④ 回答:实验④中「无 x ∈ x」的检查若放到冯·诺依曼自然数上,结论如何?(提示:n ∈ n 意味着 n 重复出现于自己的元素名单——用 n = {0,…,n−1} 直接看出不可能。)
墨家的同异之学。《墨子·经上》有一条素净的定义:「同,异而俱于之一也」——许多彼此不同的事物,恰好都系于同一个对象,谓之同;《经说》举的例子是「二人而俱见是楹也」:两个人同看一根柱子,所见同一。与之配套,《经上》把「异」分为四种:「二、不体、不合、不类」——两个、不相连属、不吻合、不同类。这套区分的要点在于:同与异不看名称看对象,判定标准落在事物本身的关系上。《大取》说得更直白:「夫辞,以类行者也」——论证必须依「类」而行;「类」就是墨家名辩里最接近集合概念的字眼。以现代眼光看,这是一套外延化的分类程序:类由成员划定,推理按成员资格进行。
荀子的名实之约。《荀子·正名》把命名与对象的关系立成了明文:「然后随而命之:同则同之,异则异之……异实者莫不异名也」——实相同则名可同,实不同则名必异。又警告「名无固宜,约之以命,约定俗成谓之宜」:名称本身没有天然的恰当,恰当来自约定。这两句话分开读各有出处,合起来读却惊人地接近本章的骨架:外延公理(成员相同即同一——「同则同之」的集合论形式)与公理的约定性(公理不是发现的事实,而是数学共同体约立的法——「约定俗成谓之宜」)。荀子接着说「名实乱则是非之形不明」——名实一乱,是非就没了形状;罗素悖论正是「名实之乱」的现代版:一个未经审查的「名」(概括原则造出的汇)把「实」的逻辑撑爆了。
分岔在无穷处。两家并非没有触及「尽头」。《墨子·经上》有一条「穷,或有前不容尺也」——前行到某处,前面容不下一尺,即到了尽头:这是对有限与边界的精确刻画,Geometry 意义上的「穷」。但先秦名辩没有跨出去的那一步,恰是康托尔跨出去的:把「无穷多」本身当作可以计数、可以比较的对象。一旦无穷进入名下的「实」,「同则同之」就不够用了——「所有集合的汇」这个名,所指的实根本不许存在(罗素悖论)。于是立法取代定义:不问「类是什么」,只问「收拢的动作合法与否」。从《墨经》的别同异,到《正名》的约之名,再到 ZFC 的九根柱石,是同一条理智冲动——给「相同」与「收集」立规矩——在不同深度上的三次亮相;只是现代的立法者必须接受无穷的拷问,而拷问的结果,就是本书其余各章。
| 条目 | 内容 | 出处 § |
|---|---|---|
| 一阶语言 | 变元+逻辑符号+唯一的 ∈;公理 = 无自由变元的公式 | 2.1 |
| 外延公理 | 元素相同 ⟹ 集合相同;唯一性的唯一来源 | 2.2 |
| 配对公理 | {a, b} 存在;单集 {a};唯一性靠外延 | 2.2 |
| 并公理 | ⋃𝒜 存在;A∪B = ⋃{A, B};⋃{A} = A | 2.3 |
| 幂集公理 | 𝒫(A) 存在;无穷层级的引擎 | 2.3 |
| 无穷公理 | 归纳集存在(∅∈A 且 x∈A ⟹ x∪{x}∈A);ω = 全部归纳集之交 | 2.4 |
| 分离模式 | {x∈A : φ(x, p̄)} 存在;概括原则的驯化;罗素悖论克星 | 2.5 |
| 替换模式 | 单值公式的像 {…: x∈A} 存在;分离是其特例;Skolem/Fraenkel 1922 | 2.6 |
| 正则公理 | 非空 A 有极小元(x∩A=∅);禁 x∈x 与无穷 ∈ 链 | 2.7 |
| 选择公理 | 非空族有选择函数 f(A)∈A;函数版(第五章全景) | 2.8 |
| 库拉托夫斯基编码 | (a,b) = {{a},{a,b}};(a,b)=(c,d) ⟹ a=c 且 b=d(定理 2.1) | 2.10 |
| 函数与 A×B | 函数 = 右单值关系;A×B 经配对+替换×2+并四步建成 | 2.11 |
| 类与真类 | 公式定义的汇;V 与罗素类是真类;NBG 保守扩充、可有限公理化 | 2.12 |
| 累积分层宇宙 | V0=∅,Vα+1=𝒫(V_α),极限取并;每个集合在某层 | 2.13 |
| 模型与相对化 | M⊨T;Con(T)→Con(T+S) 的原理;内模型 L(Gödel 1938) | 2.14 |
| 不完备定理 | Gödel 1931:T⊬G_T、T⊬Con(T);ZFC 不可有限公理化(Montague) | 2.15 |
| ⊢ 与 ⊨ | 可靠性:⊢⟹⊨;完备性(1930):⊨⟹⊢;一致 ⟺ 有模型 | 2.16 |
| 三条重证 | 空集唯一(外延);无序对唯一(配对+外延);交差存在(分离+外延) | 2.17 |
逻辑记号卡。¬ 非 ∧ 且 ∨ 或 → 若则 ↔ 当且仅当 ∀ 全称量词 ∃ 存在量词 = 等于 ∈ 属于 ∉ 不属于 ⊆ 子集 𝒫 幂集 ⋃ 并 ∅ 空集 ω 自然数全体 M 相对化 ⊨ 在模型中真 ⊢ 可证 Con(T) T 的一致性 HF 遗传有限集合宇宙。易错三坑。① 空集与有序对不是公理——是重建品(§2.2、§2.10);② 「模式」= 无穷多条公理,且不可有限化(§2.15);③ 编码唯一性方向别背反:需要证明的是「相等 ⟹ 坐标相等」,反向是定义的逐字相等。
下一步。第三章把冯·诺依曼楼梯延伸到底:每一个良序集合都由一个序数度量,归纳与递归将在整条序数阶梯上合法运转——无穷的建筑学,自此进入主体施工。
自然数一生做两份工:计数与排名。问「操场上有几个人」,用的是计数——答案是一个量;问「排在第几位」,用的是排名——答案是一个位置。队伍有限时,两份工不分家:第五位恰好在四个人之后,人数一数便知。可是队伍一变成无穷,两份工就分道扬镳了——本章的全部戏剧,都从这次分手开场。
想象一支已经排满的无限长队,队员依次编号 0, 1, 2, 3, …。现在来了一个新客人。他若插到队首,老队员人人往后挪一位,但整支队伍的「队型」纹丝不动——无穷的容量把这一下吸收得无影无踪。他若排到队尾,麻烦立刻出现:每个自然数都被人占着,他站在所有自然数之后,需要一个「第 ω 号」——这不是任何自然数,这是数数数完 0, 1, 2, … 之后下一张号码牌。要给无穷队伍编号,自然数不够用了;需要一个能越过 ω 继续往下数的数系。
这个数系就是序数(ordinal)。康托尔在 1870 年代研究三角级数收敛点集时被逼出了它:他反复取极限点的操作需要「数第几轮」,而轮数可以越过一切自然数。冯·诺依曼在 1923 年给出了今天通行的定义——让序数自己就是集合,让「小于」就是「属于」。此后,良序、归纳、递归、算术、第一个不可数的台阶 ω1,全部沿着这一根轴展开。
本章的路线是一架楼梯:§3.1 把「每一节队伍都有排头」立为良序公理;§3.2 证明良序集上的归纳法;§3.3 给良序集起名字(序型);§3.4–3.5 让名字本身变成集合——冯·诺依曼序数;§3.6–3.8 攻下三大定理(三歧性、分类定理、超限递归),这是本章的承重墙;§3.9–3.11 把加、乘、幂搬上序数,见识不交换的算术与康托尔范式;§3.12–3.14 收获三个奇观(非交换的教训、不动点 ε0、第一道不可数墙 ω1);§3.15 把「能否给 ℝ 良序」的悬念留给第五章的选择公理。读完本章,第四章的对角线与基数层级将有一整架现成的梯子可爬。
★★ 「排队」要成为数学对象,得先把规矩写成定义。一条队伍有两件事必须说清:谁是先谁是谁后(两两可比),以及队伍有没有「排头」。第二种要求比直觉顽固得多——它要求的不只是整体有排头,而是每一段队伍都有排头。
最小元原理是良序的灵魂:它断言的不是「整队有头」,而是「不论从队伍里捞出一把多怪的元素,里面必有排头」。任何无穷递降都不被允许——若 a0 > a1 > a2 > … 是一条严格递降链,集合 {an : n ∈ ℕ} 就是没有最小元的非空子集,与良序矛盾。这一条将在 §3.6 与习题课里反复兑现。
例与反例。① ℕ 以通常大小是良序集:这正是「最小数原理」,任何非空自然数集合有最小数。② ℤ 以通常大小不是良序集:ℤ 自身就没有最小元——队伍向负方向无限延伸,找不到排头。③ 实区间 [0, 1] 以通常大小不是良序集:子集 (0, 1) 没有最小元——无论候选排头 x > 0 多么小,x/2 更小。④ 稠密的序都不良序:ℚ 的任何非平凡区间内都能对半再对半,排头永远被自己人挤掉。值得注意的是:②③的反例机理不同——ℤ 的问题是「向下降不到底」,(0,1) 的问题是「太稠、没有下一档」。
一个正面的奇怪例子。取 A = {0} ∪ {1 − 1/n : n ≥ 2} ∪ {1},按实数大小排序:0 在最前,随后 1/2, 2/3, 3/4, … 一路爬升,1 收尾。任何非空子集都有最小元吗?有——含 0 则 0 最小;不含 0 则形如 1 − 1/n 的指标集有最小 n。所以 A 是良序集,而且它的队型是「一整条自然数队伍再跟一个收尾」:这个队型将获得名字 ω + 1(§3.9)。良序集不必长得像 ℕ——它们可以比 ℕ 长,长很多很多。
良序为什么值得立为公理式的定义?因为它带来两件大礼:其一,归纳法在良序集上照常运转(§3.2);其二,每个良序集都能领到一个唯一的「号码」——序数(§3.7)。整个第三章就是围绕这两件礼物的签收单。
★★★ 在 ℕ 上,归纳法是「从 0 出发,一步传一步」。在一般良序集上,归纳法换了一副更结实的骨架:不靠「上一步」,而靠「全部前头」。先固定记号:对 x ∈ W,记 seg(x) = {y ∈ W : y < x},称为 x 的前段——排在 x 之前的全部队员。
证明只用了良序的「最小元」一招:假设有人没过关,就抓第一个没过关的,然后指出他前面的人全过了关,于是他必须过关。这个「抓第一个罪犯」的论证是全部超限数学的心脏,把它背下来——本章每个大定理的证明里它都会现身。
三步形态。对 ℕ 这类「一条道走到黑」的良序,归纳前提可拆成两件事:基础步(最小元过关)与后继步(x 过关推出 x 的直接后继过关)。但一般良序集里还有第三种位置:极限位置——排在无穷多人之后、却没有「上一步」的位置(例如图 3-1 里队尾新客之前的 ω 号位)。在那里归纳靠的是「前段全体过关」这一整包行李,而不是上一步。基础步、后继步、极限步三步齐全,就是超限归纳的完整姿势;等序数造好(§3.5),这三步会获得标准写法。
递归的初步形式。归纳是「验证」,递归是「定义」。很多对象天然按「看前头」的方式定义:阶乘 f(n) = (n+1)·f(n+…) 的每一步只看上一步;更一般的定义可能要看全部前段——例如在良序集上定义「从队首到 x 为止做过的事的汇总」。把这件事说严谨:
这条定理在 ℕ 上就是普通的递归定义定理;它的完整证明要等序数造好之后才顺手(§3.8 用超限递归定理一并解决)。眼下配对关系:归纳管验证,递归管定义,二者都建立在最小元原理上。下一节先解决一个更朴素的问题:两支队伍怎样才算「同一个队型」?
★★ 三个队员的队伍 {甲,乙,丙} 与 {1,2,3} 是「同一种队型」:把甲、乙、丙依次对上 1、2、3,前后关系一丝不乱。把这件事写成定义:
同构把标号全部抹去,只留下「谁在谁前」的骨架。容易核对同构是等价关系:恒等映射说明自反;逆映射说明对称;复合说明传递。于是全体良序集按同构分堆,每一堆起一个名字——序型。ℕ 的序型将叫 ω;上一页那个 0 打头、爬坡收尾的集合(p69 末例)的序型是另一种;而计数里至多可数的良序集有无穷多互不同构的队型——名字系统会比自然数富裕得多。命名权暂时悬置:§3.7 将证明每个良序集恰好领到一个唯一的标准名字,而 §3.4 将让名字本身成为集合。
序型不许自我复制。有一件立即可证的事实,它是整个名字系统「没有重号」的根基:
证明。反设 φ : W → seg(b) 是序同构。令 S = {x ∈ W : φ(x) < x}。首先 S 非空:φ(b) ∈ seg(b),即 φ(b) < b,故 b ∈ S。良序给出 S 的最小元 x0。由 φ 保序与 φ(x0) < x0,两边作用 φ 得 φ(φ(x0)) < φ(x0),即 φ(x0) ∈ S;但 φ(x0) < x0 与 x0 的最小性矛盾。∎
这个证明又是「抓最小元」的一击:若队型能压缩进自己的开头一段,就造出了一条无穷递降 x0 > φ(x0) > φ(φ(x0)) > …,被良序当场拦下。由引理 3.5 立刻得到一个方向的直觉判断:
推论(方向的唯一性)。若 W1 同构于 W2 的某个真前段,且 W2 同构于 W1 的某个真前段,则把两个同构复合,得到 W1 到自身某个真前段的同构——与引理 3.5 矛盾。所以「嵌入为开头一段」这个关系是反对称的:它至多朝一个方向成立。加上自反与传递(复合即可),它在良序集的同构类上给出了一个线性序——名字们自己排成了队。这条「单向性」目前只有直觉论证的骨架,把它变成定理(任意两个良序集必可比较)是 §3.7 分类定理的赠品。
本节收束一句:良序集的世界里,「队型」是第一公民,具体队员只是临时演员。下一节要做一个大胆的动作——让每个队型自己就是一个集合,从此「第 ω 号」不再借住在比喻里。
★★★ 序型目前住在「同构类」这个抽象楼层里,用起来隔靴搔痒:两个序型怎么比大小、怎么做加法,都要绕回同构。冯·诺依曼(1923)的妙手是把序型拽进集合宇宙:每支队型挑一个标准代表——让代表自己就是集合,让「排在前面」就是「属于」。从此序数不再借用外部的名字,它自己就是自己的名字。
传递集是「不再往外漏」的集合:拿起它的任何一件东西,那件东西的内部零件也全在屋里。序数要求传递之外再加一条:屋里全体住户被「属于」排成一条有头的队伍。「小于」从此不用另设符号——β < α 就写作 β ∈ α。
开头几级台阶。从空集起步:0 = ∅(空屋,空队伍);1 = {0} = {∅}(唯一住户是 0,队伍只有一站);2 = {0, 1};3 = {0, 1, 2};一般地 n = {0, 1, …, n − 1}。每个有限序数都是传递集(住户的住户还是更小的号),且 ∈ 在其上排成 0 < 1 < 2 < … 的有限队伍——验证逐一可做。把全体有限序数收进一个集合,得到 ω = {0, 1, 2, …}:第二章的无穷公理正保证了这个集合存在。而 ω 自己也是序数:它传递(有限序数的元素还是有限序数);∈ 在其上就是通常的「小于」,任何非空子集有最小数。于是 ω 是「数完所有自然数之后」的第一张号码牌——导引页里队尾新客的位置终于落了户。
证明。先看 x 在 α 的队伍里占哪段位置:x 的前段是 {y ∈ α : y ∈ x};由 α 传递,y ∈ x ⟹ y ∈ α,反过来这个集合按定义就是排在 x 之前的全体——所以 x 恰是 α 的一个开头一段。现在验证 x 是序数:① 传递性:设 z ∈ y ∈ x,则 z ∈ α(y ∈ x ⊆ α),且在队伍里 z < y < x(注意这里的「小于」就是属于),故 z ∈ x。② ∈ 良序 x:可比性传递性与反自反性都从 α 上继承(x ⊆ α);任何非空 S ⊆ x 也是 α 的非空子集,取其 ∈-最小元即可。∎
序数从此有三重身份:集合(它就是一套传递集)、位置(良序阶梯的第 α 级)、名字(某支队型的序型——这一点 §3.7 兑现)。三重身份将在后文交替出场:谈算术时它是位置,谈分类定理时它是名字,谈 Vα 分层(§3.16)时它是集合。还有一个等价刻画留到三歧性证完再发执照:α 是序数当且仅当 α 传递、且 α 的每个元素都是序数——命题 3.7 给了一半,另一半(可比性)要等 §3.6。
★★ 阶梯要能往上爬,得有「下一级」的统一造法。冯·诺依曼的答案是极简的一行:
证明。① S(α) 传递:其元素要么在 α 里(是 α 的子集 ⊆ S(α)),要么是 α 自己(⊆ S(α))。② ∈ 良序 S(α):可比性分两案——两个都在 α 里的元素由 α 的良序裁决;一个在 α 里、一个是 α 自己,则恒有 x ∈ α 一侧成立(若同时 α ∈ x,则由 α ∈ x ∈ α 与 α 传递得 α ∈ α,违反 α 上 ∈ 的反自反性)。良序性:非空子集 T ⊆ S(α),若 T ∩ α ≠ ∅,取其在 α 中的最小元(它比 α 小,因而是全 T 的最小元);否则 T = {α}。③ α ∈ S(α) 与 S(α) ⊆ β(当 α ∈ β)由传递性直接读出。∎
后继造级、极限收口。用这组概念,全体序数分成三类,界线干净:零(0 = ∅,空队伍);后继序数(1, 2, 3, …, ω+1, ω+2, …,各有直接前驱);极限序数(站在无穷多级之上而无「上一步」)。第一类极限序数就是 ω:它是序数(§3.4),非零;又不能是任何后继——若 ω = S(n) = n ∪ {n},则 ω ∈ ω(因 S(n) ∈ ω… 事实上 n ∪ {n} 是有限序数,属于 ω;而序数永不属于自己,矛盾)。另外两个速算事实:后继映射 S 是单射(若 S(α) = S(β),则 α ∈ β 与 β ∈ α 至少一个成立,两者不能并存——传递性会造出 α ∈ α——故 α = β);且「每个非零序数要么是后继、要么是极限」按定义就是三分,无需再证。
极限位置上发生了什么。后继一级是「紧贴上一步」,极限一级却是「全部前级的收口」:它不在任何一步之后,而在所有有限步之后。ω 是全体有限序数的并:ω = ∪{0, 1, 2, …}(取并恰好收集了所有更小的号)。这个「极限=并」的模式将原样推广:ω·2 是 ω, ω+1, ω+2, … 的收口,ω2 是 ω, ω·2, ω·3, … 的收口(§3.9–3.10)。归纳与递归在极限位置上「看整包前段行李」,正是与这种「并」结构配套的动作(图 3-3 的极限步)。
地基至此铺完:有了序数这个集合化的名字,三级分类各就各位。接下来三页是本章的承重墙——三歧性(§3.6)、分类定理(§3.7)、超限递归(§3.8),每页一个完整证明,一步不跳。
★★★★ 任意两个序数 α, β,三种关系 α ∈ β、α = β、β ∈ α 恰好成立其一。这就是三歧性:序数排成一条不分枝的独木桥,任何两级都能分出先后。证明的全部原料只有三样:序数的传递性、定义里自带的 ∈-良序、以及「抓最小元」的万能一击。先立两块跳板。
证明。(⟹)设 α ∈ β。β 传递给出 α ⊆ β;而 α ∉ α(序数被 ∈ 反自反地排序)说明 α ≠ β,故真包含。(⟸)设 α ⊊ β。差集 β \ α 非空,β 被 ∈ 良序,取其 ∈-最小元 γ。断言 α = γ,从而 α ∈ β。验证两条包含:① γ ⊆ α:任取 ξ ∈ γ。由 β 传递 ξ ∈ β;由 γ 的最小性 ξ ∉ β \ α(否则 ξ 排在 γ 之前),故 ξ ∈ α。② α ⊆ γ:任取 ξ ∈ α;由 α ⊆ β 得 ξ ∈ β。若 ξ ∉ γ:在 β 的良序里 ξ 与 γ 可比,γ = ξ 不可能(γ ∉ α 而 ξ ∈ α),于是只剩 γ ∈ ξ;但那样一来 γ ∈ ξ ∈ α,由 α 传递得 γ ∈ α,与 γ ∈ β \ α 矛盾。∎
三歧性到手的当晚,好几个欠条同时兑现。第一张欠条(§3.4 预告):等价刻画现在可以发全照了——α 是序数当且仅当 α 是传递集且 α 的每个元素都是序数。必要性是命题 3.7;充分性:设 α 传递、元素全是序数,任取 x, y ∈ α,三歧性直接裁决二者可比,良序性同样由「α 的任何非空子集取 ∈-最小元(那是某序数,非空)」读出。第二张欠条(§3.3):把三歧性按引理 3.10 翻译成 ⊆ 的语言——任何两个序数 α, β 满足 α ⊆ β 或 β ⊆ α:序数在包含关系下也是全序的。第三张欠条立即开付:
证明只用一行:非空族 A 任取一个成员 α;若 α 不是最小,则 A ∩ α 非空,α 自身被 ∈ 良序,取其最小元即可。注意「族」可以是真类(如全体极限序数),这时论证照样成立——良序是 ∈ 的本性,不依赖收集成集。这条推论是超限归纳在类层面的引擎:下一页的分类定理与 §3.8 的递归定理都要在「全体序数」这条无穷长的桥上施工,施工许可就是它。
本页证明里值得回味的是第五步的手法:先造一个「两边都够得着」的中转站 δ,再证明中转站必然塌向某一边。δ = α ∩ β 扮演的是「两支队伍从头数起,数到第一处分岔为止的公共前缀」。三歧性说的无非是:两条序数队伍,公共前缀之后必然一条延续、一条到头——不会出现「各说各话」的分叉。这座独木桥的每个位置都有名字,下一页就去发名字。
★★★★ 本章顶梁柱:每个良序集都同构于唯一的序数。从此「序型」不再悬空——每个良序集领到的名字就是一个实打实的集合。证明分两半:唯一性靠「序数之间的同构必是恒等」,存在性靠「序数嵌入集合的极大性」(Hartogs 式论证)。
证明。设 φ : α → β 是序同构。先证一个引理:若 γ ⊆ α 是 α 的前段(即 γ = seg(x) 对某 x ∈ α,或 γ = α),则 φ(γ) ⊆ β 同样是前段,且 φ 在 γ 上递增——由保序性直接读出。现在反设 φ ≠ id。令 ξ 为使 φ(ξ) ≠ ξ 的最小序数(推论 3.12 保证存在:集合 {ξ ∈ α : φ(ξ) ≠ ξ} 非空时取 ∈-最小元)。对一切 η < ξ 有 φ(η) = η。
案一 ξ < φ(ξ):因 φ(ξ) ∈ β 且 ξ < φ(ξ),由三歧性 ξ ∈ φ(ξ);又 β 传递给出 ξ ∈ β。于是 ξ 在 β 中有原像:存在 η 使 φ(η) = ξ。由保序性,ξ < φ(ξ) 推出 η < ξ。由 ξ 的最小性 φ(η) = η,即 ξ = η < ξ,矛盾。
案二 φ(ξ) < ξ:φ(ξ) 是序数且 φ(ξ) ∈ ξ ⊆ α,故 φ(ξ) ∈ α。由 ξ 的最小性 φ(φ(ξ)) = φ(ξ);φ 单射,故 ξ = φ(ξ),与反设矛盾。∎
证明。考察所有「部分编号」的候选:称二元组 (γ, f) 合格,若 γ 是序数、f : γ → W 是序同构且像 f(γ) 是 W 的一个前段(空前段也算,对应 γ = 0;(0, ∅) 合格,候选不空)。两个合格候选必相容:引理——若 (γ, f)、(γ′, g) 合格,则在公共定义域上 f = g。证:由三歧性不妨 γ ⊆ γ′;反设 f ↾ γ ≠ g↾γ,取最小分歧点 ξ;则二者在 seg(ξ) 上相等,而序同构把「前段的并」映成「前段的并」,f(ξ) 与 g(ξ) 都等于「W 中排在公共像之后的第一人」,故相等,矛盾。∎(引理)
现在收拢:由替换公理(第二章的柱石之一在此上岗——把「合格候选」映到其定义域,得到一个序数的集合),全体合格候选构成一个集合。令 γ* = ∪{γ : (γ, f) 合格}(一些序数之并仍是序数:传递性与良序性都随并继承),令 f* = ∪{f}(相容函数之并仍是函数,定义域恰为 γ*)。合格性逐条搬过来:f* : γ* → W 保序,其像是各前段之并、仍是 W 的前段。所以 (γ*, f*) 合格,且它包含一切合格候选——极大候选。
最后一步:断言 f*(γ*) = W。反设不然,则差集 W \ f*(γ*) 非空且有最小元 w(W 良序)。注意 f*(γ*) 是前段,故它必形如 seg(w):排在 w 之前的每个元素都属于像集(若某 v < w 不在像里,v 就成了更小的缺员,与 w 的最小性矛盾)。于是把 f* 延长一格:γ* ∪ {γ*} 上定义 f*(γ*) = w——由命题 3.9,γ* ∪ {γ*} 是序数,且延长后的映射把该序数同构地映到 seg(w) ∪ {w},仍是 W 的前段(w 的直接后继之前)。于是得到一个严格更大的合格候选,与 γ* 的极大性矛盾。故 W ≅ γ*。∎
分类定理的收成。它一次付清了 §3.3 的两张欠条:① 两个良序集 W1, W2 分别同构于序数 α1, α2,由三歧性 α1 ∈ α2 或相等或反向——于是「一个嵌入另一个的开头一段」不再只是直觉,任何两个良序集必可比:或者同构,或者一个是另一个开头一段的复制。② 序型获得了标准代表:记 otp(W) = α,序型的运算从此都可以在序数上做。附带一份礼物(Burali–Forti 的正面用法):序数全体不构成集合——若它构成集合,按命题 3.7 与三歧性它自己将是序数,于是属于自己,矛盾。名字的字典比任何集合都厚。
★★★★ 定理 3.3 只许在单个良序集上递归;真正的重型机械要沿全体序数递归——定义值可以依赖「之前所有值」,而「之前」可以越过无穷多级。这就是超限递归,它把定义合法性的问题一次解决:
F(α) = G( F↾α ), 其中 F↾α 是 F 限制在前段 α 上的历史.
唯一性(完整证明)。设 F, F′ 都满足递归方程。反设不等,令 α 为使 F(α) ≠ F′(α) 的最小序数(推论 3.12 供弹)。对一切 ξ < α 有 F(ξ) = F′(ξ),于是两条历史相同:F↾α = F′↾α。代入方程 F(α) = G(F↾α) = G(F′↾α) = F′(α),矛盾。∎
存在性(完整思路+关键步骤)。困难只有一个:F 的定义域是整个序数类,而类不能直接「归纳构造」。对策是逐段施工、最后拼装,分四步走。
为什么这条定理是本章的后勤部长。接下来三页的算术——加法、乘法、幂——全是递归定义:α + β 的定义要「看 α + ξ(ξ < β)的全部历史」,乘法与幂同理。没有定理 3.15,这些定义都只是愿望;有了它,愿望自动成为定理。递归与归纳在此完成合流:归纳保证「按规则铺能铺满」,递归保证「按规则铺出的东西叫得出口」——一对孪生许可证,盖的都是最小元原理的章。
还有一个视角值得存档:定理 3.15 里历史 F↾α 本身是个集合(一个函数就是一集有序对),所以 G 的输入永远是「有限或无穷但成集的历史」——序数把「过去」打包成可以整体递交的包裹。下一页就用这个包裹定义第一个序数运算:加法。
★★★ 序数加法的本义是队伍接龙:α + β 就是「先排 α 型的一段,紧跟着再排 β 型的一段」。用超限递归把它写成定理(β 是第二个变元,沿它递归):
α + 0 = α; α + S(β) = S(α + β); α + λ = sup{α + β : β < λ}(λ 极限).
三个条款各管一种位置:零不加不增;后继是「紧贴上一级再垫一级」;极限是「之前所有和的收口」——递归定理 3.15 保证 α + β 对每个 β 唯一定义。有限情形与小学算术重合(2 + 3 = 5),分水岭出现在极限变元:
| 算式 | 结算 | 一句话道理 |
|---|---|---|
| 1 + ω | ω | 1 + ω = sup{1+n} = ω:队首插一人,被整条队伍吸收 |
| 2 + ω, 17 + ω | ω | 任何有限数插在 ω 前都被吸收:n + ω = ω |
| ω + 1 | > ω | 队尾加一人,坐上全新号牌 S(ω) |
| 1 + (ω + 1) | ω + 1 | 结合律:1 + (ω+1) = (1+ω)+1 = ω+1 |
| ω + ω | ω·2 | 两条 ω 队伍接龙;收口在 ω, ω+1, ω+2, … 之上 |
| ω + (ω + 1) | ω·2 + 1 | 接龙后再垫一级,尾巴保留 |
表格第一、三行并排读,就是导引页那幕戏的结算:1 + ω = ω 而 ω + 1 > ω——加法不交换的第一现场。原因不在运算、而在对象:序数记录的是「接龙后的整条队型」,先来后到刻在队型里;「有限段+极限段」会被极限段吞掉,反过来「极限段+有限段」则在尾巴上留下看得见的一节。交换律要求两个方向给出同一条队型,而 ω 型与 ω+1 型根本不同构(一个有收尾一人、一个没有;引理 3.5 保证二者不可互换)。
加法的代数簿册。① 结合律成立:(α + β) + γ = α + (β + γ)——「(α 接 β) 接 γ」与「α 接 (β 接 γ)」是同一条三段队伍,严格证明由对 γ 的超限归纳完成(§3.16 例题课演练)。② 左单调:β ≤ γ ⟹ α + β ≤ α + γ;但右单调失效:1 < 2 而 1 + ω = 2 + ω——左边(加数位置)的差别会被右边的极限吸收。③ 消去律单向:α + β = α + γ ⟹ β = γ 成立(左单调严格化),而 β + α = γ + α ⟹ β = γ 不成立(1 + ω = 2 + ω 又是反例)。簿册的规律一句话:右边的极限是黑洞,左边只是垫脚石。乘法将把这套教训再放大一号。
★★★ 乘法是成批复制:α · β 是「β 份 α 型队伍首尾相接」。递归定义沿第二变元 β:
α · 0 = 0; α · S(β) = α · β + α; α · λ = sup{α · β : β < λ}(λ 极限).
后继条款说「多一份就再接一条 α」,极限条款说「无穷多份的收口」。递归定理又一次在后台发执照。有限情形与小学算术一致;分水岭照例在极限变元:
| 算式 | 结算 | 一句话道理 |
|---|---|---|
| ω·2 | ω + ω > ω | 两份 ω 接龙:坡后接坡,总长超过一份 ω |
| 2·ω | ω | 2·ω = sup{2·n} = ω:无穷多份「2」接起来就是一条 ω |
| n·ω(n < ω) | ω | 有限份量 × 无穷次数 = ω:被吸收 |
| ω·ω | ω2 | ω 份 ω 接龙:sup{ω·n} = ω2,名字留给 §3.11 |
| (ω+1)·2 | ω·2 + 1 | (ω+1)+(ω+1) = ω + 1 + ω + 1 = ω·2 + 1:中缝的 1 被第二个 ω 吞掉,尾巴的 1 保留 |
| (ω+1)·ω | ω2 | sup{(ω+1)·n} = sup{ω·n + 1} = ω2:每个尾巴 1 都被下一份吞掉 |
主角仍是「方向」:ω·2 与 2·ω 是两个不同的序数(一个 > ω,一个 = ω)。读法要念对:乘号右边是「份数」,左边是「每份的队型」——ω·2 是「每份 ω 型、共 2 份」,2·ω 是「每份 2 个、共 ω 份」。无穷多份的有限份量挤成一条 ω;有限份的无穷份量却货真价实地更长。交换律的失败比加法更响亮。
乘法的代数簿册。① 结合律成立:(α·β)·γ = α·(β·γ)(对 γ 超限归纳)。② 左分配律成立:α·(β + γ) = α·β + α·γ——份数先合并再复制,与逐份复制相同。右分配律失效:(1 + 1)·ω = 2·ω = ω,而 1·ω + 1·ω = ω + ω = ω·2,二者不等。③ 单调性:左变元单调、右变元严格不减;α < β 且 α > 0 时 α·γ ≤ β·γ 但可以相等(2·ω = 3·ω)。④ 消去律:α·β = α·γ 在 α > 0 时给 β = γ;反方向依旧失效。簿册的规律与加法同款、更烈:右边的极限继续当黑洞,且黑洞一次吞掉的是整批份量。下一页把乘法叠成幂,并给全体序数发一张统一的「身份证」——康托尔范式。
★★★ 幂是复制的复制,递归定义一气呵成:
α0 = 1; αS(β) = αβ · α; αλ = sup{αβ : β < λ}(λ 极限).
于是 ω1 = ω,ω2 = ω·ω,ω3 = ω2·ω,……而 ωω = sup{ω, ω2, ω3, …}——第一个指数也是 ω 的巨数(它仍是可数序数,§3.14 的攀爬将用到)。注意幂的极限条款天生连续:指数每逼近极限,幂自动取收口;这个「越爬越慢」的性格将在 §3.13 铸成不动点 ε0。
α = ωβ1·c1 + ωβ2·c2 + … + ωβ_k·c_k
其中 β1 > β2 > … > β_k 是序数,c1, …, c_k 是正自然数。称上式为 α 的康托尔范式(Cantor normal form,CNF)。存在性(归纳证明思路)。对 α 超限归纳。关键的第一步是「求首项」:存在最大的指数 β 使 ωβ ≤ α(指数函数在极限处连续,若对一切 β 都有 ωβ ≤ α,则所有 ωβ 落在集合 {ξ : ξ ≤ α} 里,于是 β ↦ ωβ 把序数真类单射进一个集合,由替换公理这不可能——见 §3.7 末)。取 β1 为这个最大指数;再用「带余除法」:存在最大自然数 c1 使 ωβ1·c1 ≤ α(c1 < ω,因 ωβ1·ω = ωβ1+1 > α),令余数 ρ = α − ωβ1·c1(严格地说 ρ 是使 ωβ1·c1 + ρ = α 的唯一序数,其存在由加法的连续性给出),则 ρ < ωβ1。对 ρ 归纳:ρ = 0 则收工;否则 ρ 的范式首项指数严格小于 β1(因 ρ < ωβ1),把两段范式拼接即得 α 的范式——指数严格递降。
唯一性(思路)。范式是序数的「位值记数法」:首项指数 β1 决定量级——若 α 的首项指数大于 α′ 的,则 α′ < ωβ1 ≤ α,故 α > α′;首项指数相同时比系数 c1,再比相同部位的余项(对余项归纳)。既然比较规则逐位唯一,范式必唯一。∎(完整细节留在例题课与习题课。)
三个即查即用。① ω·3 + ω2·2 不是范式(指数该降不降)——重排为 ω2·2 + ω·3:注意这不是「移项」,而是真的相等,因为 ω·3 + ω2 = ω2(首项吸收,§3.12 展开)。② (ω+1)·2 = ω·2 + 1:展开后中缝的 1 被吸收,尾巴的 1 保留。③ 自然数 2026 = ω0·2026:有限数在 CNF 里是「零次幂」单项式——同一套记法从 0 一路写到 ωω 之外,这正是康托尔 1883 年构造它的初衷:给超穷数一套可以演算的记号。有了范式,下一页可以正式清点不交换算术的全部「违规现场」。
★★ 现在把 §3.9 与 §3.10 埋下的两桩「违规现场」并排摆开,做成一张对照表——它们不是算术的故障,而是序数本性的显影:
| 算式 | 队型描述 | 结算 | 谁吞了谁 |
|---|---|---|---|
| 1 + ω | 1 人小段接在 ω 型大坡前面 | ω | 后面的极限坡把前段吸收 |
| ω + 1 | ω 型大坡后垫上 1 人 | ω + 1 > ω | 尾巴上多出真实的下一级 |
| 2 · ω | 无穷多份「2 人小段」 | ω | 小段逐段被下一段吸收 |
| ω · 2 | 2 份「ω 型大坡」 | ω·2 > ω | 两坡相接,长度翻倍 |
| (ω+1)·2 | 两份「ω 坡加收尾」 | ω·2 + 1 | 中缝收尾被第二坡吞掉,坡尾收尾保留 |
教训的正名。序数加法与乘法不是坏掉的算术,而是另一种算术:普通算术只数「总量」,对先后盲目;序数算术记录「整条队伍的形状」,先后是它要保护的核心信息。1 + ω = ω 与 ω + 1 ≠ ω 同时为真,恰说明序数忠实于队型:插队与加塞是两件不同的事,忠实的记录就该给出两个不同的答案。交换律成立的场合——两支队伍的形状都能互相吸收——序数也会给相等:2 + 3 = 3 + 2 = 5,有限世界里两种接法挤成同一条队。
吸收律手册。把「谁吞谁」总结成可查的规则(都能由 CNF 一次读出,见定理 3.19 与下页):① 有限 n < ω:n + ω = ω,n · ω = ω——右边的 ω 是黑洞。② ω + n、ω · n(n 有限)都严格大于 ω——左边的 ω 当不了黑洞,尾巴保留。③ 一般地,若 α 的范式的最高指数小于 ωγ 的指数 γ,则 α + ωγ·c = ωγ·c:整个 α 被更高一位的项整体吸收。吸收只向左发生——这条单向性就是「不交换」的全部内容,也是序数算术一切速判的出发点。记住这页的对照表,§3.16 例题课的换算将如流水。
★★★ 把 α ↦ ωα 当作一部爬楼机,试试脚力:ω1 = ω,ω2 = ω·ω,ω3,……爬到指数取极限:ωω = sup{ωn},再爬 ωω·2,ωω·ω = ωω2,……ωω2,ωω3,……又到极限 ωωω。每跨一大步,下一级在头顶依然遥不可及——但台阶确确实实在变矮:从 ω 到 ω2 跨过一个乘法量级,从 ωω 到 ωωω 只是在指数上抄一个 ω。指数函数越爬越慢,它的脚步将停在哪里?
证明思路。序列 an 严格递增(an+1 = ωa_n > a_n 对一切 n,可用归纳证:ωα ≥ α 时不等号严格,因为 ωα ≥ 2α > α 的直观——严格论证由归纳完成),于是上确界 ε0 = sup an 是序数(定理 3.14 的存在性给出它存在且可数)。关键一步用指数的连续性(定义 3.18 的极限条款):
ωε0 = sup{ωa_n : n ∈ ω} = sup{an+1} = sup{an} = ε0.
所以 ε0 是不动点。它最小:任何 ε 数 α > 1 满足 ωα = α,用归纳立得 an ≤ α 对一切 n(a0 = 1 < α;若 an ≤ α 则 an+1 = ωa_n ≤ ωα = α),故 ε0 = sup an ≤ α。∎
ε0 的意义一瞥。它远不止是奇观收藏品。其一(证明论):根岑(Gentzen, 1936)证明,算术公理系统 PA 的相容性可以归结为「ε0 被良序」这一件事——ε0 是 PA 的序数徽章,量出了 PA 能「数到多远」。其二(模型论):古德斯坦定理(Goodstein, 1944)说每个古德斯坦序列终会归零,这个皮亚诺算术内部的命题却证不出 PA(Kirby–Paris, 1982)——证明的关键正是把序列配上 ε0 之下的序数徽章,靠徽章严格递降来收账。其三(本册的线):ε0 之后还有 ε1, ε2, …, εω, …,不动点之上还有不动点;而它们全部仍是可数序数——可数世界的天花板比一切 ε 数还高得多,天花板的门牌号是下一节的主角。
★★★★ 本章迄今登过的台阶——ω、ω2、ωω、ε0——底层集合全是可数的。把所有可数序数收进一个集合,它的序型会是什么?答案是本章最惊人的号码牌:ω1,第一个不可数序数。
先拆一颗雷。朴素的直觉说:「每个可数序数都数得清,那可数序数也该只有可数多个吧?」错。「可数多」需要一个承诺:存在一张以自然数为页码的名册,把每个可数序数登记在恰一页上。可若真有这张名册,设它登记的序数依次为 α0, α1, α2, …——逐页取收口 β = sup{αn} + 1;可数条可数队伍逐段拼接仍可数(在 ZFC 中成立),所以 β 是可数序数,而它比名册上每一页都大——名册必然漏员。错误出在把「每个成员可数」偷换成「成员们能被一张可数名册收齐」:可数性是每个成员的内部属性,而「可数多」是整个家族的外部账目,二者之间隔着一次替换。
正确的论证:ω1 的存在与不可数。分三步,每步交底用了哪根柱石。
于是 ω1 = Ω:它是序数,大于一切可数序数,自身不可数——第一个不可数序数。顺带两个速判:ω1 是极限序数(若是后继 S(α),则 α 可数、S(α) 也可数,矛盾);且任何可数的可数序数族之并仍 < ω1(否则 ω1 可数)——「可数只到 ω1 为止」。
诚实交底。本页是全书第一次真正用力使唤替换公理——没有它,「全体可数序数」只是一个说不清的类,ω1 的名字都开不出来。这也解释了 §3.7 与 §3.8 里两处「替换公理在此上岗」的伏笔:序数的理论处处需要「把类的碎片收成集合」的能力,而那正是 Zermelo 原方案(1908)短缺、Fraenkel 与 Skolem(1922)补齐的柱石。下一页转向一个更老的悬念:连 ℝ 能不能良序,都还欠着一笔账。
★★ 本章造梯子的原料一直是「给定的良序集」:假定队伍已经排好,我们证明它能编号、能归纳、能递归。但一个自然得近乎放肆的问题还悬着:随便一个集合,都能排成良序吗?比如 ℝ。
直觉强烈地说「不能」。在 ℝ 的通常大小下,良序死得干脆:(0,1) 无最小元(§3.1 的老反例)。但这只处死了一个序。良序定理问的是:能不能发明一个闻所未闻的疯狂顺序,把实数排成一条有头的长队?对 ℕ(可数)这不是问题——任何双射 ℕ → ℚ 都把 ℚ 排成 ω 型的良序。对 ℝ,麻烦在于:良序集有一种「数得清的结构感」——每个元素都得有确定的名次,每次「取下一个」都得落到实处;而 ℝ 的稠密与完备仿佛处处设卡。直觉正反两方都能讲出一车话,直觉失效了。
1904 年的惊雷。策梅洛(Zermelo)证明:每个集合都可良序——只要承认一条当时尚无名分的原则:从任意一族非空集合里,能对每个集合同时各挑出一个元素(选择公理 AC)。证明的骨架正是本章的机器:把「逐段编号」的施工一直铺下去,每一步「取第一个漏网者」需要一次选择,集合的无穷多步施工需要一次统一授权——AC 就是那张授权书。论文一发表即引爆论战:Borel、Lebesgue、Peano 群起质疑「是否存在一个谁也无法写出的良序」;策梅洛 1908 年给出第二证明,并在同一年为这场论战立宪——公理集合论因良序定理而生。这段公案的具体结算(良序定理 ⟺ AC ⟺ Zorn 引理,八张等价面孔)留给第五章;本页只需挂上账:「ℝ 能否良序」不是本章能单独回答的问题,它恰好就是选择公理问题的化身。
为什么本章的机器帮不上忙。分类定理(§3.7)把已排好的队伍映到序数,但它对「尚无顺序」的集合无能为力——递归施工的每一步都要「从剩下的成员里取一个」,而不设选择规则的无穷多次取物正是 AC 禁止我们免费使用的东西。这一点值得写在书页上:良序定理在 ZFC 减去 AC 的世界里不可证,而且是 AC 最锋利的等价形式——第五章将看到,连「𝒫(ℕ) 可良序」这种看似温和的特例都直通连续统假设的门口。
悬念挂账至此。下一页回到能落地的事:序数这个梯子在数学现场干什么活。
★★★ 序数不是收藏品。数学里大量对象天然是「迭代到无穷、还要越过无穷」的产物,序数是它们唯一的记账工具。本页看三个现场。
现场一:沿序数迭代函数。给定函数 f : X → X,普通迭代只到 fn(n 有限);序数把账本延长:
f0 = id; fα+1 = f ∘ fα; fλ = ∪{fβ : β < λ}(λ 极限,当各 fβ 递增相容).
这正是超限递归定理 3.15 的直接用户。迭代到极限时不再「取值」而是「取并」——极限位置上的工作方式(§3.5 的「极限=并」)换了个工种上岗。康托尔本人 1872 年就是这样被逼出序数的:从点集 P 出发反复取导集 P′、P″、……,有限步不够用,自然接上 P(ω)、P(ω+1)、……——序数在历史上第一个工种就是给迭代记账。
现场二:闭包与不动点。迭代递增未必永涨不歇;在 ε0(§3.13)处 ωα 的迭代就停下了——不动点是迭代的锚。一般地,对递增连续的类函数 Γ(在极限处取并),从任一起点反复套用 Γ:Γ(α)、Γ(Γ(α))、……到第 ω 步取并,通常就磨出一个不动点;ε 数是 Γ(α) = ωα 的锚点族,而锚点之上还有锚点(εω 是 ε 函数自身的极限)。闭包操作同理:求闭包是单调算子,反复求到稳定需要的步数可能是 ω、ω+ω,甚至任意可数序数——不拿序数记账,连「需要几步」都说不清。
现场三:回望第二章的 V 分层。第二章造累积层级用的是:V0 = ∅,Vα+1 = 𝒫(V_α),V_λ = ∪{V_β : β < λ}。当时「级号 α」是借来的;本章把它还清了——级号就是序数:后继级开新层(幂集一步),极限级收口(并一步),整套施工就是沿序数的一条超限递归(定理 3.15 的实例)。集合宇宙因此获得地址系统:每个集合住进最早容纳它的 V_α,其「生日」是一个序数。第四章马上会看到另一座塔——基数塔——它同样以序数为级号,而且本章的机器(分类定理与递归)正是攀塔的索道。
三个现场共用一条语法:后继步推进一步,极限步取并收口。把这条语法练成本能,就拿到了通向第四、五、六章的通行证——那里的层级(可构造宇宙 L、Borel 层级、基数塔)全部按它施工。
★★ 本章概念多而证明密,最好的消化方式是亲手「给队伍起名」。本页是一张手算套餐地图:左栏给出一个具体良序集(都简单到能在纸上画),右栏是它的序型——先自己算,再看答案。算的方法只有一招:问「这条队伍能否切成首尾相接的标准块?切出几块、每块什么型?」
| 队伍(按给定顺序排) | 切分方式 | 序型 |
|---|---|---|
| ℕ ∪ {∞}:全体自然数后跟一个压轴元 | 一条 ω + 一人 | ω + 1 |
| ℕ×ℕ 字典序:先比第一坐标,再比第二坐标 | ω 块,每块 ω | ω·ω = ω2 |
| ℕ×ℕ 反字典序:先比第二坐标,再比第一坐标 | 还是 ω 块,每块 ω | ω2(与上一行同型!) |
| ℕ×ℕ 对角线序:先比 a+b,再比 a | ω 条短对角线,每条有限 | ω |
| 偶数在前(从小到大),奇数在后(从小到大) | ω + ω | ω·2 |
| {1 − 1/n} ∪ {1}(n ≥ 1,实数序) | ω 坡 + 收尾 | ω + 1(p69 老朋友) |
| ℤ 通常大小 | —— | 非良序(负方向降不到底) |
套餐里的雷(务必先踩再排)。① 「反字典序」这一行的答案常被猜成 ω——错了:先比第二坐标仍是「ω 块、每块 ω」,块数没变,序型纹丝不动。真正把 ω2 压成 ω 的是对角线序:它把无穷长的行换成有限长的斜线,块变短了,总量才塌下来。序型由块的长短与块数共同决定,二者缺一不可——这是本实验室最值钱的一课。② 偶前奇后的队伍明明「和 ℕ 一样多」(都是可数无穷),序型却是 ω·2——再次预习第四章的主题:基数看大小,序数看队型,两个概念从此分家。③ ℤ 一行提醒:不是每个集合都能按直觉顺序良序;至于能不能换一种疯狂顺序良序,§3.15 已挂账给第五章。
把这张地图练到闭卷能默算,例题课与习题课(p86–p89)就是阅兵场;练不动就先回 §3.9–3.11 把三份簿册重抄一遍。
例题 3-1(递降链拦截)。证明:良序集 (W, <) 中不存在严格递降的无穷序列 a0 > a1 > a2 > …。
解。反设 {an : n ∈ ℕ} 是这样的序列,它是 W 的非空子集,故有最小元 am。但 am+1 也是该集合的成员且 am+1 < am,与最小性矛盾。∎
例题 3-2(极限位置的计算)。证明:对每个自然数 n > 0,n + ω = ω。
解。这是极限变元 ω 上的加法,按定义 3.16 的极限条款展开:n + ω = sup{n + k : k < ω} = sup{n, n+1, n+2, …}。集合 {n+k} 与 ℕ 只差前 n 个数,其上确界与 ℕ 相同,都是 ω(每个 n+k < ω;而任何 m < ω 都被某个 n+k > m 越过)。∎ 顺带看出左边变元 n 的差别被右边的极限整体抹平——§3.12 吸收律的算据。
例题 3-3(极限序数的辨认)。证明:ω·2 是极限序数。
解。反设 ω·2 = S(γ) = γ ∪ {γ},则 γ 是 ω·2 的最大元(一切元素 ≤ γ)。但按定义 3.16,ω·2 = sup{ω + n : n < ω}:任取候选最大元 γ < ω·2,存在 n 使 γ < ω + n + 1 < ω·2(收口上方总还有一级),故 γ 不是最大元,矛盾。∎ 注意证明的通用性:凡写成「可数递增列的收口」的序数都是极限序数。
例题 3-4(归纳验证单调性)。用超限归纳证明:对一切序数 α, β, γ,β ≤ γ ⟹ α + β ≤ α + γ。
解。固定 α, β,对 γ 归纳证明命题 P(γ):「β ≤ γ ⟹ α + β ≤ α + γ」。γ = 0:β ≤ 0 给 β = 0,两边形如 α + 0,相等。后继步:设 P(γ) 成立,证 P(S(γ))。若 β ≤ S(γ),则 β ≤ γ 或 β = S(γ)。前者由 P(γ) 与 α + γ ≤ S(α + γ) = α + S(γ)(定义 3.16 的后继条款)完成;后者两边恰是 α + S(γ),相等。极限步:设 P(δ) 对一切 δ < λ 成立,证 P(λ)。若 β ≤ λ 且 β < λ,取 δ 使 β ≤ δ < λ(例如 δ = S(β)),由 P(δ) 得 α + β ≤ α + δ ≤ sup{α + δ : δ < λ} = α + λ;若 β = λ 两边相等。三步齐,∎。
复盘。四道题分别示范四种基本功:抓最小元(3-1)、极限条款展开(3-2)、反设后用「收口上方还有一级」(3-3)、三步归纳的标准姿势(3-4)。注意 3-4 里极限步的真髓:归纳前提整包取用(对一切 δ < λ),而不是只靠上一步——这正是超限归纳与普通归纳的分野。
例题 3-5(CNF 相加)。计算 α + β,其中 α = ω3·2 + ω·7 + 5,β = ω2 + ω·2 + 1,并比较 α 与 β 的大小。
解。按 CNF 加法规则(§3.11):β 的首项指数是 2,于是 α 中指数 ≤ 2 的项(ω·7 + 5)被 β 整体吸收,α 只留首项 ω3·2;拼上 β 得:
α + β = ω3·2 + ω2 + ω·2 + 1.
比较大小:首项同为 ω3,系数 2 > 1,故 α > β——但相加后 α 的优势只剩首项,后面全按 β 排。∎
例题 3-6(双向乘法对照)。计算 (ω+1)·2 与 2·(ω+1),验证二者不等。
解。(ω+1)·2 = (ω+1) + (ω+1) = ω + 1 + ω + 1;中缝 1 + ω = ω(吸收),故 = ω + ω + 1 = ω·2 + 1。另一边用左分配律:2·(ω+1) = 2·ω + 2·1 = ω + 2。比较 ω·2 + 1 与 ω + 2:CNF 首项系数 2 > 1,前者大。两个答案相差整整一个「第一坡」——乘法两侧的零件相同,队型迥异。∎
例题 3-7(极限处收口)。计算 ω2·ω,并把结果写成 CNF。
解。ω2·ω = sup{ω2·n : n < ω}(极限条款)。每一项 ω2·n 的 CNF 首项是 ω2 系数 n;这列序数的上确界在指数 2 处磨平、跳上新指数:sup{ω2·n} = ω3。CNF 即 ω3·1。一般规律:α 的首项指数为 e 时,α·ω 的首项指数是 e+1((ω+1)·ω = ω2 同款验证)。∎
例题 3-8(解方程)。求一切满足 α + 1 = 1 + α 的序数 α。
解。若 α 有限(α < ω),两边都是普通算术,相等。设 α 无穷。若 α 是极限序数:1 + α = sup{1 + δ : δ < α} = α(每个 1 + δ 有限偏移被收口抹平),而 α + 1 > α,不等。若 α = γ + 1 是后继:1 + α = 1 + γ + 1;对 γ 重复讨论——若 γ 极限则 1 + γ = γ,得 1 + α = γ + 1 = α ≠ α + 1;若 γ 有限则 α 有限,已排除。归纳下去,一切无穷 α 都使 1 + α = α(可对 α 严格超限归纳),故 α + 1 ≠ 1 + α。答:恰有有限序数。∎
复盘。四道题合起来是一台「CNF 工作台」:加法看 β 的首项指数决定吸收面;乘法看两侧谁是份数;极限处指数跳位(e ↦ e+1);解方程则靠「无穷序数吞有限偏移」的全称事实(例 3-8 的引理本身值得记:对一切无穷序数 α 与有限 n,n + α = α 当 α 极限,n + α = γ + n 当 α = γ + n)。这套手感在习题课将直接接受检阅。
习题 3-1(良序判定)。下列集合按实数通常大小,哪些是良序集?① 全体负整数;② {1/n : n ≥ 1};③ {0} ∪ {1/n : n ≥ 1};④ ℚ ∩ [0, 1];⑤ {1 − 1/n} ∪ {1} ∪ {2 − 1/n} ∪ {2}。若是良序,写出序型。
提示。判定口诀:先找无穷递降,再找无档稠密。① 递降到不了底 ✗;② 整集无最小元(1/n 递降到 0 而不含 0)✗;③ 0 在内垫底,其后 1/n 递升?注意顺序:0 < … < 1/3 < 1/2 < 1——从 0 起每段有头,序型 ω + 1;④ 稠密 ✗;⑤ 两段「爬坡+收尾」相接:ω + 1 + ω + 1 = ω·2 + 2(中缝吸收后仍保留两个尾巴级)。
习题 3-2(直接后继与前驱)。证明:良序集 W 中每个非最大元 x 都有直接后继(比 x 大的元素中最小的那个);再举例说明直接前驱可以不存在。
提示。{y ∈ W : y > x} 非空,良序给最小元。反例:在 ω + 1 中,ω 的直接前驱不存在——ω 之前的元素没有最大者(任何 n 都被 n+1 越过)。所以「一级级紧挨着爬」在极限位置断档,归纳必须靠前段整包(定理 3.2)。
习题 3-3(强归纳的出身)。用定理 3.2 推出:若 S ⊆ ℕ 满足(0 ∈ S 且一切 n:n ∈ S ⟹ n+1 ∈ S),则 S = ℕ。
提示。验证定理 3.2 的前提:对 x ∈ ℕ,seg(x) = {0, 1, …, x−1}。x = 0 时前段空;x 为后继时前段含 x−1,由两条款归纳得 seg(x) ⊆ S,定理收尾。一句话:普通归纳是超限归纳在「前段由直接前驱生成」时的特写。
习题 3-4(造极限序数)。证明:对每个序数 α,α + ω 是极限序数,且严格大于 α。由此推论:极限序数「取之不尽」。
提示。α + ω = sup{α + n : n < ω};用例题 3-3 的「收口上方还有一级」论证它非后继。严格大于:α = α + 0 < α + 1 ≤ α + ω,且 α + 1 ≠ α(序数不含自己,S 无不动点)。「取之不尽」:任何序数之上都还有一个极限序数,故全体极限序数不封顶——但它们仍是真类而非集合(下一题的反面)。
习题 3-5(Burali–Forti 悖论,1897)。证明:全体序数不构成集合。
提示。反设 O = {α : α 是序数} 是集合。由等价刻画(传递+元素皆序数)与三歧性,O 自身是序数;序数良序的线序给出 O ∈ O;但序数上 ∈ 反自反——矛盾。这是罗素悖论(1901)之前三年就现形的类悖论:太大的「数之总体」不能是集合。第二章的正则公理与分离公理在此各拦一道。
习题 3-6(CNF 比较速判)。用康托尔范式判定下列各对的大小:① ω + ω2 与 ω2;② ωω·2 与 ωω+1;③ ω2·3 + ω·5 与 ω2·2 + ω·99。
提示。① ω + ω2 = ω2(首项吸收)——相等!② 把 ωω+1 = ωω·ω,系数 ω > 2,后者大。③ 首项同指数比系数:3 > 2,前者大——ω·99 与 ω·5 的差距属于下一位,翻不了首项的案。三题合训一件事:CNF 逐位裁决,低位的表演改写不了高位。
习题 3-7(展开练习)。把下列各式算成 CNF:① (ω2 + ω·3)·2;② (ω + 5)·ω;③ ω·2 + 1 + ω。
提示。① (ω2+ω·3)+(ω2+ω·3):中缝 ω·3 + ω2 = ω2(吸收),得 ω2·2 + ω·3。② sup{(ω+5)·n}:第 n 项是 ω·n + 5,收口 ω2。③ 1 + ω = ω 把尾巴整个吞掉:ω·2 + 1 + ω = ω·3——「垫一级再接坡」与「直接接坡」结果一样,但「接坡再垫一级」(ω·2+1)就不同。
习题 3-8(结合律的验证)。用 CNF 验证 (1 + ω) + 2 = 1 + (ω + 2);再举一例说明加法交换律失效;最后说明为何结合律的证明(对 γ 超限归纳)不能照搬到交换律。
提示。左边 1+ω = ω,得 ω+2;右边 1+(ω+2) = ω+2。相等 ✓——结合律管的是「接龙的分组」,队型不因分组而变。交换反例:ω + 1 ≠ 1 + ω。交换律不可证的原因:归纳对第二变元 γ 进行,交换律要求左右换位,而后继条款 S(α+β) = S(α)+β 与 S(β)+α 的展开方向不同——极限步「右侧收口」没有对应的「左侧收口」条款。
习题 3-9(幂的阶梯)。① 把 ω, ωω, ωωω 各写成 CNF(注意指数本身也是序数,可以进指数位);② 证明对每个序数 β < ω,ωβ 是可数序数;③ ε0 的 CNF 还写得出吗?
提示。① ω = ω1·1;ωω 的指数是 ω(CNF 允许指数是任意序数,写成 ωω·1,一层「塔」);ωωω 同理再摞一层。② 对 n 归纳:有限次运算(加、乘、取 sup)从可数序数出发仍得可数序数(可数段拼接)。③ 写不出「塔顶」:ε0 = sup{塔列} 是第 ω 层收口,任何有限塔都够不着它——它自己的 CNF 是 ωε0·1,指数里又出现 ε0,自我指涉的记号——这正是「不动点」的字面含义。
习题 3-10(综合)。求最小的序数 α 使得 α + ω > α 且 α·ω = α。
提示。α·ω = α 要求 α 是「乘 ω 的不动点」:α·ω = sup{α·n},观察 α = ωω:ωω·ω = ωω+1 ≠ ωω,不够;α = ωω·2?ωω·2·ω = ωω·2+1 仍增。规律:α·ω 的首项指数总比 α 大 1,故 α·ω = α 没有解!——本题是陷阱题:验收是否敢下「无解」结论,而非硬凑答案。正确表述的不动点在幂运算处(ε0:ωα = α),乘法永远跨指数。
本章 17 节不是并列的仓库,而是一条施工线:先立「每段有头」的公理,再铸归纳与递归两台机器,然后把「队型的名字」集合化成序数,三大定理把名字系统焊成一体,最后在名字上做算术、收奇观、留悬念。箭头表示「右端依赖左端」。
通向外部的接口。① 分类定理与递归定理 → 第四章的基数配给(每个基数是一类序数的「人数」)与第五章的可构造宇宙 L(沿序数逐层搭建);② ω1 → 第四章 ℵ 层级的第一级真实台阶;③ 良序定理悬念 → 第五章 AC 的八张等价面孔;④ V 分层级号 → 第六章从空集造实数的全程施工。章内自足性检查:读完全章,往后每一处「沿序数归纳/递归」都能在本章找到执照。
本页任务。把 §3.1–3.8 的地基与承重墙收进四张卡片;算术速判在下页。
| 关键引理/定理 | 一句话内容 | 证明引擎 |
|---|---|---|
| 引理 3.5(不自我复制) | 良序集 ≇ 自身真前段 | 最小元拦递降 |
| 命题 3.7(封闭性) | 序数的元素是序数 | 元素=前段 |
| 引理 3.10(属于与包含) | α ∈ β ⟺ α ⊊ β | 差集取最小元 |
| 定理 3.11(三歧性) | 序数排成独木桥 | 公共前缀 δ = α∩β |
| 定理 3.13/3.14(分类) | 每个良序集领唯一号码 | 恒等引理+极大候选 |
| 定理 3.15(递归) | F(α) = G(F↾α) 唯一可解 | 近似拼装+替换公理 |
两条纪律。① 「属于」就是「小于」:序数语境里不再单独设序号,∈ 即队序——读证时保持这个换算。② 「抓最小元」一招贯穿全章:归纳、三歧性、分类、递归的唯一性证明,全部是它的变奏。下一页进入算术区。
本页任务。把 §3.9–3.14 的运算规则与奇观收进口袋卡:拿到两个序数,十秒内分出大小、算出和积。
| 输入 | 速判规则 | 出处 |
|---|---|---|
| 比较 α, β | CNF 逐位:指数 → 系数 → 余项 | §3.11 |
| α + 有限 n | 尾巴保留:ω·2+1 不回 ω·2 | §3.9 |
| 有限 n + α(α 无穷) | α 极限则 = α;α = γ+n 型则 = γ+n | §3.12 / 例 3-8 |
| α · ω(α 首项指数 e) | 首项指数变 e+1:跳一个量级 | §3.10 / 例 3-7 |
| 极限变元总条款 | sup 一切前值——右边永远是黑洞 | §3.9–3.11 |
| ω1 之下 | 可数序数密不透风:可数族之并仍 < ω1 | §3.14 |
易错三坑。① 把「α·β」读成「α 份 β」——反了:右边 β 是份数;② 以为「可数个可数序数之并」总能收进可数就推出「可数序数可数」——漏员论证(p82)恰恰相反;③ 在极限位只用「上一步」做归纳或递归——极限位没有上一步,必须整包取前段(定理 3.2、3.15)。带着口袋卡进入收束三页:思想卡、挑战、实验。
本章最深的转变发生在一行看似乎淡的记号里:0, 1, 2, …, ω, ω+1。省略号从「永无止境」变成了「可被越过」。人类计数用了几千年才数到「无穷」;康托尔看到——数到无穷之后还有下一号,无穷不是计数的墙,而是计数的一级台阶。序数是第一个把「过程」本身当作对象、并且给过程的每一步发了永久号码牌的数学结构。
号码牌为什么必须有?因为无穷过程之后还要开工。取极限点的操作要问「这是第几轮」,迭代要问「迭代到第几层」,集合宇宙要问「这一层是第几级」——有限编号一概作废,而含糊地说「无穷多轮之后」又什么都证不出来。序数把「之后」精确化:ω 之后还有 ω+1,ω·2 之后还有 ω·2+1,无穷多级之后还有收口。有了这套地址系统,「归纳」与「递归」这两个有限世界的支柱才在无穷世界重新立起来——而且立得更宽:归纳从「上一步」解放为「全部前头」,递归从「看上一步」解放为「看整段历史」。
代价也如实入账:算术交出了交换律。这不是理论的残缺,而是描述的忠实——「无穷队伍前面插一人」与「后面加一人」本来就是两件事,序数只是拒绝把它们记成同一个数。普通算术只管「多少」,序数算术管「怎么排」;交换律的失效,恰是「位置」第一次获得自己的代数。下一章的基数将接管「多少」,两条线在此分家、终将在 ℵ 层级会师。
最后留一个自问:ω1 之下密密麻麻排着不可数多个可数序数,而每一个都能被「数完」。当一个家族的每个成员都驯服、而家族本身桀骜时,该反省的是「数完」这个词的定义,还是「家族」这个总体的合法性?——这个问题的两种回答,分别通向第四章的 ℵ 层级与第二章的公理哲学。
任务。ε0 是指数运算的第一个不动点,但它远不是可数序数的尽头。亲手在 ε0 之下与之上各攀一段,全程只用「有限记号」——每一步必须写得出、验得动。
第一段(ε0 之下的攀登)。把康托尔范式当作数字系统玩「造数游戏」:从 1 出发,允许三个动作——加一、把某项指数加一、取已有构式的「塔化」(α ↦ ωα)。尝试亲手依次造出:ω·3;ω2+ω·5;ω3;ωω;ωω·2+7;ω^(ω2·3+ω)。分步引导:① 先确认每个目标都能写成 CNF(指数递降、系数有限);② 造 ωω·2+7 时注意指数 ω·2+7 本身是 CNF——「指数里再装一个 CNF」,塔就是这样摞起来的;③ 数一数:每个构式用掉多少个记号?结论应当是——每个 ε0 之下的序数都只需有限个记号(对塔高与式长做双重归纳可证)。
第二段(越过 ε0)。ε0 恰是「一切有限记号造得出的序数」的收口——想越过它,得给记号系统加新词。三个台阶依次挑战:① 记 ε1 为第二个 ε 数(ε0 之上的下一个不动点),证明 ε1 = sup{ε0+1, ω^(ε0+1), ω^(ω^(ε0+1)), …};② 问:ε 函数自己的极限 εω = sup{εn} 是不是 ε 数?(答:是——同一套连续性论证,复写一遍证明模板。)③ 终极一问:ζ(α) 型不动点(α ↦ εα 的不动点)长什么样?它比一切 εn 都高,却仍然可数。攀而不尽:可数序数的塔永远有下一级,直到 ω1 才收口——但 ω1 本身没有任何有限记号,这正是「第一个不可数」的字面代价。
验收清单。① 第一段六个构式全部写出 CNF 并说清造法;② ε1 的表达式验证 ω^(ε1) = ε1;③ 复写 εω 的不动点论证;④ 一句话回答:为什么「有限记号」这个限制天然把天花板钉在某个可数序数上?(有限符号串只有可数多个。)
实验目的。把序数从「纸上的队伍」变成「程序里的数据」:用康托尔范式 (指数, 系数) 列表表示 ω3 量级以内的序数,实现加法与乘法,验证不交换的第一现场、识别三条经典队伍的序型、模拟超限归纳并抽查代数律。全部代码纯 Python 3、零依赖,完整脚本见书附 qa/exp_c3.py,本页给出核心段。
核心段:CNF 的规范、加法与乘法。序数 α 表示为 [(e1,c1), (e2,c2), …],即 ωe1c1 + ωe2c2 + …(指数严格递降、系数正有限;空表即 0)。加法按 §3.11 的规则:以 β 的首项指数为界,α 的高位保留、同位并入、低位整体被吸收;乘法沿 β 逐项用左分配律,每项 α·ωe 在 e ≥ 1 时跳为单项 ω首项指数+e,再用后继条款连加 c 次。
# —— CNF 核心(与 qa/exp_c3.py 逐字一致的核心函数) ——
def norm(a): # 合并同指数项、删零系数、指数递降
d = {}
for e, c in a:
if c > 0: d[e] = d.get(e, 0) + c
return [(e, c) for e, c in sorted(d.items(), reverse=True) if c > 0]
def to_str(a): # 打印成 ω2*3+ω*5+7 这样的算式
a = norm(a)
if not a:
return '0'
parts = []
for e, c in a:
if e == 0:
parts.append(str(c))
elif e == 1:
parts.append('ω' if c == 1 else 'ω*%d' % c)
else:
parts.append('ω^%d' % e if c == 1 else 'ω^%d*%d' % (e, c))
return '+'.join(parts)
def add(a, b): # α + β:β 首项指数为吸收界
a, b = norm(a), norm(b)
if not b:
return a
e0 = b[0][0]
head = [(e, c) for (e, c) in a if e > e0]
same = [c for (e, c) in a if e == e0]
b2 = list(b)
if same:
b2[0] = (e0, b2[0][1] + same[0])
return norm(head + b2) # 低位被 β 整体吸收
def mul_pow_omega(a, e): # α · ωe
a = norm(a)
if not a: return []
if e == 0: return a
return [(a[0][0] + e, 1)] # 跳一个量级:首项指数 + e
def mul(a, b): # α·β = Σ α·(ωe·c),逐项连加
a, b = norm(a), norm(b)
r = []
for e, c in b:
t = mul_pow_omega(a, e)
for _ in range(c):
r = add(r, t)
return r
W_, ONE, TWO = [(1,1)], [(0,1)], [(0,2)] # ω, 1, 2
print('1 + ω =', to_str(add(ONE, W_)), '; ω + 1 =', to_str(add(W_, ONE)))
print('2 · ω =', to_str(mul(TWO, W_)), '; ω · 2 =', to_str(mul(W_, TWO)))
# 运行输出:1 + ω = ω ; ω + 1 = ω+1 ; 2 · ω = ω ; ω · 2 = ω*2
实验一(不交换的现场)。运行核心段:1+ω = ω 而 ω+1 = ω+1;2·ω = ω 而 ω·2 = ω·2——四行输出就是 §3.12 对照表的程序版。再验证 (ω+1)·2 = ω·2+1 与 2·(ω+1) = ω+2:同一批零件,两种顺序,两种队型。
实验二(序型识别)。用秩函数给三条队伍点名:ℕ∪{∞} 的秩是 0,1,2,…,ω(序型 ω+1);ℕ×ℕ 字典序的秩是 ω·a+b(序型 ω2);反字典序的秩是 ω·b+a——程序断言它与字典序的秩只差坐标对换,序型仍是 ω2(p85 埋的雷当场引爆);对角线序(同和再比 a)的秩是 s(s+1)/2 + a,程序验证这些秩恰好填满 {0, 1, …, N(N+1)/2 − 1}——每段有限、段数 ω,序型塌成 ω。
实验三(超限归纳模拟)。在 n ∈ [0, 1000] 上验证 1+n = n+1:全部通过——归纳的每一步都对;但极限位一步失效:1+ω = ω ≠ ω+1。这就是「三步形态」里极限步必须单列的程序证据:归纳前提对一切有限 n 成立,推不出极限处的等式。另验证后继严格增大(含无穷序数样本)与「ω 是极限序数」(前 200 个有限后继都不是 ω)。
实验四(代数律抽查)。对七个样本序数(1, 2, ω, ω+1, ω·2, ω2, ω3·2+ω·5+7)的全体三元组抽查:加法结合律 343 组全过、乘法结合律 343 组全过、左分配律 343 组全过;右分配律反例 (1+1)·ω = ω 对 1·ω+1·ω = ω·2 当场落网;右消去反例 1+ω = 2+ω 同样落网。程序还复核了例题 3-5:α+β = ω3·2+ω2+ω·2+1,与手算一致。
实验报告要求。① 贴出核心段四行输出,并用 §3.11 的 CNF 规则逐行解释为什么 2·ω 被吸收而 ω·2 保留;② 报告实验二三个「True」各验证了什么结构事实;③ 回答:把样本扩到 ωω(指数不再是整数)需要改动表示法的哪一处?——指数本身也得 CNF 化:这预示了 ε0 之下「记号的记号」的递归本性(p94 挑战)。
棰与万世。《庄子·天下》载惠施「历物之意」十事,其一曰:「一尺之棰,日取其半,万世不竭。」一尺长的木杖,每天截去一半,一万代也用不完——这是中国名家里最锋利的一条潜无穷命题:过程可以永远进行,总量永不见底。从极限的角度看,第 n 天剩 1/2n 尺,随 n 增大而趋零但不等于零;「万世不竭」说的正是这个极限过程没有终点。但序数视角多问一句:「万世」的日子本身怎么编号?第一日、第二日、……之后,若把「所有有限日过完」算作一个新节点,它的编号是 ω;到那一日,棰长是 1/2n 的收口——恰好是零。惠施断言过程不竭,是对的;康托尔补一句:过程的全部台阶可以收口成一个新号——也是对的。潜无穷看见的是「永不落幕」,实无穷看见的是「幕布之后还有座位」:序数阶梯就是那些座位的排号表。
割圆与「割之又割」。刘徽在魏景元四年(263)注《九章算术》,用割圆术求周率:「割之弥细,所失弥少;割之又割,以至于不可割,则与圆周合体而无所失矣。」从内接六边形起,逐次倍边:十二、二十四、四十八……每一刀都是有限的、可算的;而「以至于不可割」的那一步,就是取极限——刘徽的语气里已经有「超限收口」的直觉,只是没有给它编号。用本章的语言重述:倍边是一个迭代 fn,周率藏在不atory的收口 fω 处;序数把「割之又割」的次数本身变成了可以精确谈论的对象——割到第 ω 次、第 ω+1 次,语法畅通无阻。
屈信相感。《周易·系辞下》:「往者屈也,来者信也,屈信相感而利生焉。」往者收缩、来者伸展,一屈一伸相互感应而生利。拿来对照两种无穷观再贴切不过:亚里士多德(公元前四世纪)只承认潜无穷——无穷是「永远还能再来一个」的屈伸过程,不承认「整体」;康托尔(1874 起)把无穷整体请进数学——实无穷是一个可以研究的对象。两家争论了两千年,集合论给出的和解方案正是序数:过程(每一步有限)与整体(第 ω 级收口)被放进同一个结构,屈与信相感而成利。刘徽的割圆、惠施的棰,都是这条轴上早就画好的刻度,只等一个愿意给「无穷多刻度」编号的时代。第三章的全部工程,就是铸出这把编号的尺。
| 条目 | 内容 | 出处 |
|---|---|---|
| 良序 | 线性序+每非空子集有最小元;不许无穷递降 | §3.1 |
| 归纳原理 | 前段全过关 ⟹ 本尊过关,则全体过关;三步:基础/后继/极限 | §3.2 |
| 序型与同构 | 保序双射;良序集 ≇ 自身真前段;嵌入至多单向 | §3.3 |
| 序数定义 | 被 ∈ 良序的传递集;等价刻画:传递+元素皆序数 | §3.4 / §3.6 |
| 开头几级 | 0=∅,1={∅},n={0,…,n−1},ω=全体有限序数 | §3.4 |
| 三类序数 | 零/后继 S(α)=α∪{α}/极限(非零非后继);ω 是第一个极限 | §3.5 |
| 三歧性 | 任意两序数恰居 α∈β / α=β / β∈α 之一;α∈β ⟺ α⊊β | §3.6 |
| 最小元原理(类) | 任何非空序数族有 ∈-最小元;序数全体是真类 | §3.6 / §3.7 |
| 分类定理 | 每个良序集同构于唯一序数;任意两良序集可比 | §3.7 |
| 超限递归 | F(α)=G(F↾α) 唯一可解;逐段施工+替换公理拼装 | §3.8 |
| 加法 | α+0=α;α+S(β)=S(α+β);α+λ=sup;1+ω=ω,ω+1>ω | §3.9 |
| 乘法 | α·0=0;α·S(β)=α·β+α;α·λ=sup;2·ω=ω,ω·2>ω | §3.10 |
| 幂 | α0=1;αS(β)=αβ·α;αλ=sup;ω2·ω=ω3 | §3.11 |
| 康托尔范式 | α=ωβ1c1+…+ωβ_kc_k(β1>…>β_k,c_i 有限正);逐位比较 | §3.11 |
| 吸收律 | 只向左:n+ω=ω,n·ω=ω;右侧加尾真实:ω+n>ω | §3.12 |
| ε 数 | ωα=α 的不动点;ε0=sup{1, ω, ωω, …};PA 的序数徽章 | §3.13 |
| ω1 | 全体可数序数之集=第一个不可数序数;存在性靠替换公理 | §3.14 |
| 良序定理 | 每个集合可良序 ⟺ AC(第五章结算);Zermelo 1904/1908 | §3.15 |
| 现场语法 | 迭代与分层:后继步推进一步,极限步取并收口;V_α 的级号 | §3.16 |
易错三坑。① α·β 读反方向:右边 β 才是份数;② 由「每个可数序数可数」推「可数序数只有可数多」——可数名册逐页取 sup+1 必漏员(§3.14);③ 极限位置只看「上一步」做归纳或递归——必须整包取前段(定理 3.2、3.15)。
下一步。阶梯已立,级号齐备。第四章转身去问另一个问题:不管队型,只数人数——对角线法登场,无穷分出大小层级,而丈量层级的高标 ℵ 正是踩着本章的序数搭起来的。见 §4.1。
第三章的末尾,脚下已立起一排序数的台阶:0, 1, 2, …, ω, ω+1, ω·2, …(§3.4–3.5)。序数回答「排在第几」,本章回答「一共有多少」。这两个问题在有限世界本是同一件事——数到几便有几个——可无穷世界把它们劈成了两半:ω+1 与 ω 的排位不同,「多少」却分毫不差(§3.12)。要衡量「多少」,得换一把标尺,这把标尺康托尔在 1874 年已经铸好:一一对应。两个集合若能摆出一张双射,就说它们一样多——伽利略悖论(绪论)由此从尴尬升格为定义。
本章备有三件武器。第一件:一一对应(§4.1)——把「一样多」说清楚的标尺,由此引出可数无穷 ℵ0(§4.2–4.4):自然数、整数、有理数、代数数,看似越来越稠,其实一样多;而实数永远数不完。第二件:对角线(§4.5、§4.6)——一个手感极轻、力气极大的论证:想证明一枚举不完,就沿对角线造一个漏网者。康托尔 1891 年用它证明实数不可数,紧接着用它证明幂集永远更大——无穷不是一层,而是一座塔(§4.7)。第三件:幂集——批量生产更大无穷的机器,配上 Schröder–Bernstein 定理(§4.8)与基数算术(§4.10–4.12),塔的每一阶都能丈量、能运算。
塔的最底下两阶之间藏着一桩悬案:连续统假设(CH)——比 ℵ0 大的第一阶,是不是恰好就是 2ℵ0?康托尔耗尽后半生未能判决,希尔伯特把它列为 1900 年巴黎清单的第一题;答案要等到 1963 年,而答案竟是「永远判不出来」(§4.16)——数学史上第一个自然命题被判独立。本章沿 §4.1–4.12 把武器磨利,§4.13 正式立案,§4.14–4.15 备齐案情的全部词汇,§4.16 宣读判决,§4.17 抬头望一眼塔顶之上。
行囊只需两件:第一章的双射与单射语言(§1.7),第三章的序数台阶(§3.4–3.8)。行李齐备时,随康托尔站上第一级——先学会说「一样多」。
★★ 数有限集合的元素,人人会做;数无穷集合,却连「数」这个动作都要重新发明。康托尔的洞见是:比较大小不必先会「数」,只需会比较——把两个集合的元素配成对,一对不多、一对不少,就宣布它们一样多。配对用的是第一章的双射(§1.7),术语如下。
有限情形回到计数。若 A 有 n 个元素,则 A ≈ {0, 1, …, n−1},任何与 A 等势的集合也恰有 n 个元素——等势这把标尺在有限世界退化为「数个数」,与常识严丝合缝。它的本色要到无穷世界才显形:偶数集与自然数集等势(下节),一个真子集竟与全集一样多——这正是绪论里伽利略困惑的谜底:不是推理错了,是「部分小于全体」这条有限世界的律法在无穷世界失效。
「不大于」与「小于」。比较还得有不等号。
单射塞得进去,直觉上是「A 不比 B 大」;若连单射都摆不出(下节的对角线将给出证法),就是「A 严格地小」。两条警告提前挂出:其一,从 |A| ≤ |B| 与 |B| ≤ |A| 推出 A ≈ B 并不显然——双向都能塞进去,为什么必有完美配对?这正是 §4.8 Schröder–Bernstein 定理的内容,康托尔为此苦思多年。其二,「任意两个集合总能比出大小」在三歧性的名义下等价于选择公理,§4.9 将诚实立此存照。
标尺立起,下一件事是给它找到第一个非平凡的刻度——比「有限」大一号的那种大小。康托尔为它选了一个字母:ℵ。
★ 最小的无穷是自然数集 ℕ 自己——或者,任何一个能与 ℕ 排队握手的集合。
两个立刻的等势。① 偶数集 2ℕ = {0, 2, 4, …}:n ↦ 2n 是 ℕ 到 2ℕ 的双射——「一半大小」的集合与全集一样多。② 整数集 ℤ:比 ℕ「宽了一倍」却也一样多,双射 h : ℕ → ℤ 定义为
h(2k) = k, h(2k+1) = −(k+1).
验证:偶数位依次送出 0, 1, 2, …,奇数位依次送出 −1, −2, −3, …,每个整数恰好被送到一次——单且满。把 h 沿数轴走一遍:0, 1, −1, 2, −2, 3, −3, …,像一支往返两端的舞步(图 4-4)。「正负两半加起来还是 ℵ0」这道算术,希尔伯特旅馆(绪论)早已预演:无穷大巴进店,老客人全体搬到奇数房,新客人按序入住偶数房(图 4-3)——旅馆从未扩建,却装下了两倍的顾客。
关于记号。ℵ 是希伯来字母表的第一个字母 aleph,康托尔自 1893 年前后起用它标记无穷基数,下标 0 表示「第一个」。要紧的是:ℵ0 不是自然数,不是任何序数「再走一步」的产物——往 ℵ0 上加一,纹丝不动(§4.11 将把这变成定理)。它是一类「大小」的名字,而第三章的序数 ω 只是恰好顶着这个大小的第一个排队方案:基数与序数的正式配对在 §4.15。
★★ ℵ0 的可怕之处在于它的胃口:塞给它一倍的房间、一千倍的房间、甚至可数无穷多的可数无穷队伍,它照单全收。本节把「胃口」写成三条定理——它们也是后面所有可数性论证的发动机。
证明。设 A0, A1, A2, … 皆为可数集。把每个 Ai 的元素(连同重复)排成第 i 行,得到一张可数行 × 可数列的表。沿对角线行走:先取 (0,0);再依次取 (1,0), (0,1);再取 (2,0), (1,1), (0,2);……第 s 轮取遍 i + j = s 的格子。这条路线有限轮取有限格、无穷轮取遍全表,故把并集排成了队列。重复出现的元素删去多余的,空行直接跳过——队列只减不增,仍可数。∎
证明思路。按 s = a + b 分层:和为 s 的格子恰有 s+1 个,π 在这一层里依 b 递增地取值 Ts, Ts+1, …, Ts+s,其中 Ts = s(s+1)/2 是前 s 层的格子总数。相邻层恰好接续(上一层末值 Ts+s = Ts+1 − 1),不同层的取值范围不相交。故 π 是把整张表按对角线逐层编号的单满映射。∎(逐字验证见 p125 实验)
证明。把每个有限子集 F = {a0 < a1 < … < ak−1} 编码为自然数 c(F) = 2a0 + 2a1 + … + 2ak−1——二进制展开的存在唯一性(第一章归纳法可证)保证不同子集编码不同,故这是有限子集族到 ℕ 的单射,得 ≤ ℵ0。反之全体单点集 {0}, {1}, {2}, … 已是可数无穷的一部分,得 ≥ ℵ0。两个方向夹住「恰好 ℵ0」,其中由两条不等式回到等势要用 §4.8 的 Schröder–Bernstein 定理。∎
三条定理合并成一句口诀:可数世界里,「并、积、有限幂」全都逃不出 ℵ0 的手掌。想造更大的无穷,靠并与积是走不通的——必须换武器。下一节先给无穷世界做一次人口普查,看看「看似更稠密」的有理数、代数数是否也只是 ℵ0。
★★★ 实数轴上住着两族居民:能被整系数多项式方程「抓住」的,与抓不住的。这一节把前者清点干净,然后请出后者——并宣布后者才是汪洋大海。整个论证是 §4.3 三条封闭性定理的合奏,也是康托尔 1874 年震动数学界的第一发重炮。
一切有理数是代数数(t − q 的根,q 通分即可);√2 是代数数(t2 − 2 的根);π、e 则是超越数(分别为 Lindemann 1882 与 Hermite 1873 所证)。直觉上「多项式能抓住的数」密密麻麻铺满数轴——密到什么程度?
证明。若超越数可数,则实数 = 代数数 ∪ 超越数是两个可数集之并,由定理 4.5 可数。但实数不可数——这正是下一节对角线法的结论(此处先用结论,下一节给出完整证明)。于是超越数不但存在,而且去掉可数多个代数数之后剩下的是不可数的汪洋:随机在数轴上戳一个点,戳中代数数的概率为零。∎
这页留下一个悬而未决的引擎:推论 4.10 借用了「实数不可数」,而这是全章的枢纽,也是对角线法的舞台。下一页把它一步不跳地证完。
★★★ 本节证明全章的枢纽定理。康托尔 1874 年用区间套首次证得它,1891 年发表的对角线法则因一眼看穿的结构流传至今——它也是 §4.6 康托尔定理与第一章罗素悖论(§1.13)共同的心脏。
证明。反设 (0,1) 可数,取定一张枚举
(0,1) = {x1, x2, x3, …}.
把每个 xn 写成十进小数。写法有个著名的坑:0.5000… 与 0.4999… 是同一个数(「双展开」)。为消除歧义,规定每个数取标准展开——不以 9 无限结尾的那个(有限小数补 0 而不补 9;标准展开的存在唯一性由十进制的构造保证)。于是
xn = 0.dn1dn2dn3… (dnj ∈ {0,1,…,9})
现在沿对角线构造漏网者 b = 0.b1b2b3…,逐位定义为
bn = 4(若 dnn ≠ 4), bn = 5(若 dnn = 4)。
逐项检查:① b ∈ (0,1)——它的只有 4 与 5,故 0.444… < b < 0.555…,确在区间内;且它的展开皆非 9,本身就是一个标准展开。② b ≠ xn 对一切 n:假设 b = xn,两数相等则其标准展开逐位相同(唯一性在这里出手),特别地第 n 位应有 bn = dnn;但构造时 bn 被刻意取成 ≠ dnn(4 与 5 互异),矛盾。③ 由于 ① 保证 b 的展开是标准的,② 里不会发生「b 经另一非标准展开混进队列」的漏洞——这正是选用 4/5 而非 0/9 的用意:若用 9 − dnn 取补,b 可能长出一条 9 尾巴(如全取 9 的边界),跌进双展开陷阱。三条合一,b 在 (0,1) 中却不在此枚举中——枚举不完备,与反设矛盾。∎
两点余响。其一,定理立刻给出 |ℝ| = |(0,1)|(下页例题课将给出显式双射)与 |ℝ| > ℵ0——无穷至少有两档。其二,对角线的结构值得背下来:枚举行、对角取位、逐位顶牛。下一节把这个动作从数字搬到集合,一次性收获全部无穷。
★★★ 对角线法上一节还只是量实数的一把尺,这一节它升格为造无穷的机器。问一个再自然不过的问题:一个集合与它自己的幂集,哪个大?有限情形答案显然(|{a,b}| = 2 < |𝒫({a,b})| = 4);无穷情形却非显然——毕竟 ℵ0 与 ℵ0+ℵ0 都能扯平(§4.11)。康托尔 1891 年的对角线论证给出斩钉截铁的回答。
证明。单射方向先解决:a ↦ {a} 把 A 单射进 𝒫(A),故 |A| ≤ |𝒫(A)|(定义 4.3)。剩下证不等势。任取函数 f : A → 𝒫(A)——把每个 a ∈ A 对应到 A 的一个子集 f(a)。构造对角集
D = {x ∈ A : x ∉ f(x)}.
断言:D 不在像中。反设 D = f(d),把 x = d 代入 D 的定义式,得到一行自我顶牛的等价式:
d ∈ D ⟺ d ∉ f(d) = D.
读出左边与右边:d ∈ D 当且仅当 d ∉ D——矛盾。故任何 f 都漏掉子集 D,不满。结合单射方向,|A| < |𝒫(A)|。∎
为什么它不只是一个花招。三行证明轻得可疑,值得剖析它到底干了什么。① 它是对角线法的集合论形态:把 f 排成一张表——第 x 行是子集 f(x),第 x 行第 x 格记录「x 属不属于 f(x)」;对角集 D 就是把对角线逐格翻转的结果,它与每一行都至少在一格上顶牛(图 4-8)。② 它是自指的正向用法:第一章的罗素悖论(§1.13)考虑「所有不以自身为元素的集合之集」,用的恰是同一个翻转动作,撞出崩溃;这里给翻转加上外层的函数 f,矛盾不再摧毁体系,反而成为定理——「哪里有自指,哪里就构造出漏网者」。③ 它无限可重复:对 𝒫(A) 再取幂集,更大;再取,还大。
推论的分量。康托尔定理给出无穷世界的第一条「上升通道」:给任何无穷,取幂集,严格更大。于是无穷不止 ℵ0 一档:ℵ0,2ℵ0,22ℵ0,……一座没有顶的塔。塔的全貌,下页就画。
★★ 把康托尔定理的幂集运算连开下去,得到一条严格的上升链:
ℵ0 < 2ℵ0 < 22ℵ0 < 222ℵ0 < …
每一级都由上一级取幂集而得,康托尔定理保证箭头处处严格。这条链是本章的中央纪念碑:无穷不是一片,而是一座没有顶的塔(图 4-9)。
塔上各层都住着谁。第一层 ℵ0:自然数、整数、有理数、代数数——§4.2–4.4 已清点完毕。第二层 2ℵ0:实数(§4.13 将证 |ℝ| = 2ℵ0,即「连续统」);ℕ 的全体子集;全体实数数列;平面上的一切点——§4.3 的封闭性定理保证可数手段再也造不出比它更大的东西。第三层 22ℵ0:实数的全体子集;全体函数 f : ℝ → ℝ(每个函数是一个「输入-输出对」的集合,即 ℝ×ℝ 的子集,而 |ℝ×ℝ| = 2ℵ0·2ℵ0 = 2ℵ0,下页例题课化简);一切曲线——微积分里的函数全体的真实大小在这一层。再往上,塔层依旧存在,只是日常数学的居民越来越稀。
无穷的种群到底多大。可以换一个角度数塔:每一层是一种「大小」,塔有多少种大小?康托尔定理只说塔没有顶,却没说相邻两层之间还塞不塞得进别的大小——这正是连续统假设(§4.13)的战场。另一件 ZFC 能确定的事是:塔的层数比任何一层的居民都多(因为层数本身构成一个真类——第二章 §2.12 的语言;在 ZFC 内部表现为:任何集合里装不下「所有基数」)。无穷的世界在「横向」(每层居民多少)与「纵向」(层数)两个方向上都无边。
沿塔爬升之前,还得先还一笔 §4.3 与 §4.9 都欠下的债:从「双向可塞」到「等势」的那一步凭什么成立。债主的名字叫 Schröder–Bernstein,下一页连本带利一次付清。
★★★ 本页的定理是基数世界的「和解条款」:两个集合互相塞得进对方,就一定存在完美配对。它把「证明两个集合等势」从「构造一张双射」(往往难于登天)降格为「构造两个单射」(往往易如反掌)——本册此后处处用它,包括 §4.3 与下一页例题课。
证明(双染色链分解)。把 A ∪ B 看成一张图:每个 a ∈ A 向 f(a) 连一条边,每个 b ∈ B 向 g(b) 连一条边。因为 f, g 都是单射,每个点至多有一条「来路」(每个 a 至多是唯一某 b 的 g-像,每个 b 至多是唯一某 a 的 f-像),也至多有一条「去路」——整张图于是分裂成若干条互不相交的链,链只有四种形状:① 红链:起点在 A ∖ g[B](A-点没有来路),形状 a0 →f b0 →g a1 →f b1 → …;② 蓝链:起点在 B ∖ f[A](B-点没有来路),对称地由 B-点开走;③ 双向无穷链:两端都没有起点;④ 偶圈:A、B 点交替的闭环。称红链上的 A-点为红点,其余 A-点为白点。
一点历史。康托尔 1897 年需要这条定理却只给出归约;第一个完整证明来自他的学生 Bernstein(1898 年论文),Schröder(1896)独立宣布的证明后来发现有漏。今天教科书里的「双染色」版本把构造写得一清二楚——它不是存在性咒语,而是一张可以照着走的地图(p125 实验将把它编成程序在有限样本上验证)。
★★ 定义 4.3 把 |A| ≤ |B| 定义为「存在单射」,但那时「基数」还只是等势类的临时名字。§4.15 将把基数坐实为初始序数,本节先核对:两种「不大于」——单射给出的与序数比较给出的——会师于同一个关系。
良定义性。单射定义不挑代表:若 A ≈ A′、B ≈ B′ 且 A 到 B 有单射,则用等势的桥(双射来去各一次,§1.8 复合)给 A′ → B′ 造出单射——|A| ≤ |B| 只依赖等势类,与代表无关。✓ 接着是反对称:|A| ≤ |B| 且 |B| ≤ |A| 时,单射定义下只能说「互相塞得进」,要宣布 |A| = |B|(即等势),唯一的桥是 Schröder–Bernstein 定理——§4.8 的完整证明正是为这一步而立。没有 S–B,「≤」就只是一个有漏的关系:互相可塞的两个集合可能被误判为不同的大小。
传递性同样容易:三个单射首尾相接(复合)即可。于是 ≤ 在「等势类」的层面上是自反、反对称、传递的偏序——差最后一块拼图:任两个基数是否总能比出大小?
三歧性:诚实的标注。「任意两个基数 κ, λ,三者恰居其一:κ < λ、κ = λ、κ > λ」——这条性质叫三歧性(trichotomy,对照序数三歧性 §3.6)。在 ZF(不带选择公理)的框架里,三歧性不可证;它与下列命题互相等价:
本册的诚实标注:第四章的正文工作在 ZFC 内进行,三歧性随宪法自动成立;但它等价于选择公理这一事实必须牢记——凡是用了「任意集合可比大小」或「任意集合可良序」的论证,都从第五章借贷。第四章里有两处这样的借贷:本节的三歧性,与 §4.11 吸收律的一般无穷情形。会计原则:借了就记账,到期(第五章)一并偿还。
一个方向的直觉。为什么三歧性需要选择?比较 A 与 B 的可行办法只有一个:给两个集合都排出队来(良序),然后比队伍的序型(§3.3)——序数有三歧性,队与队即可比。但「把任意集合排成队」本身就是良序定理,正是 AC 的等价形式。没有选择公理的宇宙里,存在着「排不成队」的集合(如 §3.15 悬念的落地),两个排不成队的集合之间,比较无从下手。
比较的语言齐备,接下来给基数装上算术:加、乘、幂,一件不缺。
★★ 数要有算术才算真正诞生。基数的加、乘、幂不依赖记数法,全部用「集合操作」定义——这是无穷算术能与有限算术无缝衔接的关键设计。
有限情形核对。有限集上三条定义逐一退化成小学算术:2 + 3 = 5(不交并数一数);2 · 3 = 6(2 行 3 列的格子数);23 = 8(从 2 元字母表向 3 个位置发函数:每个位置独立选 2 种,共 2·2·2 种)——幂的定义正是「重复乘法」的集合论化身。良定义性各需一句:换等势代表后不交并、积、函数集依旧等势(用双射逐坐标搬运),细节是 §1.7 语言的例行操练。
依旧成立的定律。交换律(A ∪ B 换个顺序、A × B 与 B × A 经 (a,b) ↦ (b,a) 等势)、结合律、分配律(κ·(λ+μ) = κ·λ + κ·μ,拆格子即证)、指数律(§4.12)——有限算术的骨架原封不动地搬到无穷。真正改朝换代的是结果:同样的运算,落在无穷基数上,答案常常出人意料。
与序数算术的分界线。第三章(§3.9–3.12)已经排过一场序数算术:ω + 1 ≠ 1 + ω,加法乘法都不交换。基数算术恰好相反:交换律成立。分别并不神秘——序数记录「排法」,基数只记录「多少」。ω + 1 是「先排无穷列队再补一个」的排法,与「先一个后无穷」确实是两种排法;但论多少,一个无穷队添一个成员,不添,都还是 ℵ0。序数算术里 1+ω = ω 而 ω+1 > ω 的不对称(§3.12),到基数算术里被彻底抹平:ℵ0 + 1 = ℵ0,两侧一样。抹平是如何发生的,就是下一节「吸收律」的全部内容。
一张对照卡送给:序数 ω 与基数 ℵ0 是同一个集合 ω 的两副面孔——排队时叫序数,点人数时叫基数。第三章沿着「排法」走了 ω, ω+1, ω·2, ω2, …, ω1 的长路;本章只问「多少」,于是那条长路在 ℵ0 处塌成一点。塌缩的精确机制(哪些序数共享同一个基数)正是 §4.15 的初始序数。
★★★ 有限世界里,加法与乘法是制造更大数的引擎;无穷世界里,这台引擎熄了火。吸收律:对无穷基数,加与乘无论怎么喂料,都吐回原物。
证明。① 按定义取两个不交拷贝 ℕ × {0} 与 ℕ × {1},造双射 h : (ℕ×{0}) ∪ (ℕ×{1}) → ℕ:
h((n, 0)) = 2n, h((n, 1)) = 2n + 1.
每个自然数按奇偶性恰有唯一原像——单且满(这正是希尔伯特旅馆「奇偶分房」的算术本尊,图 4-3)。② 即定理 4.6 的康托尔配对 π : ℕ × ℕ → ℕ,已证为双射。∎
论证路线(诚实标注版)。骨架只有两步。第一步(吸收可数尾巴):设 A 是基数为 κ 的无穷集。每个无穷集合都含有可数无穷子集——记为 C ≈ ℕ(C 的存在:迭代「从剩下部分取新元素」无穷多次;这条引理在一般无穷集上依赖选择公理,第五章将证明它与 AC 的关系,可数集情形则不借)。把 A 拆成 C ∪ (A ∖ C)。由 ①,C ∪ C′ ≈ C(两个可数拷贝合成一个),于是
A ⊔ A ≈ (C ⊔ C′) ⊔ ((A∖C) ⊔ (A∖C)′) ≈ C ⊔ (A∖C 的两份拷贝之并),
即 A ⊔ A ≈ A ⊔ (A∖C 拷贝) 递归吸收……第二步(递归收敛):重复吸收的收敛性需要沿序数作超限递归(§3.8)整队消账,最终把 κ + κ 与 κ · κ 都压回 κ;完整展开需要良序与序数算术(第三章)加选择公理,本册按下不表,第五章 §5.4 一并清账。可数情形(定理 4.17)则一分钱不借、已完整证明。
加法为什么失效。图景是:无穷基数是一个「无底桶」,任何有限的、可数的、乃至与它等势的碎块倒进去,水位纹丝不动(图 4-11)。κ + 1 = κ,κ + κ = κ,κ · 1000 = κ,κ · κ = κ——加减乘三件武器在无穷面前全线报废。想造出严格更大的无穷,只剩一件武器:幂(κ < 2κ,定理 4.12)。这条「唯一的上升通道」正是幂运算享有特殊地位的根源,§4.12 展开。
★★★ 加与乘在无穷面前全线报废(§4.11),幂运算成了唯一的上升通道。本节先把幂的账算清,再解释为什么底数 2 独占鳌头。
证明(特征函数双射)。对子集 S ⊆ A,定义特征函数 χS : A → {0, 1}:χS(x) = 1 当且仅当 x ∈ S。令 Φ(S) = χS,这是 𝒫(A) 到 {0,1}A 的映射。单射:若 S ≠ T,存在 x 属于其一不属于其二,则 χS(x) ≠ χT(x),两函数不同。满射:任给函数 f : A → {0,1},取 S = {x : f(x) = 1},直接核对 χS = f。故 Φ 是双射,|𝒫(A)| = |{0,1}A| = 2|A|(定义 4.16 之③)。∎
指数律。有限算术的两条幂律在无穷照常运转,证明都是「搬运函数」的例行公事:
2 的特殊地位。底数家族里,2 是最小却最有势力的一个。首先 2 ≤ κ(对一切无穷 κ),单射 {0,1} → A 诱导函数集的单射 {0,1}A → AA,得 2κ ≤ κκ。其次再向右走一步:单射 a ↦ {a} 把 A 嵌进 𝒫(A),逐坐标作用便得函数集的单射 AA → (𝒫(A))A,于是
2κ ≤ κκ ≤ (2κ)κ = 2κ·κ = 2κ
其中最后一个等号先用了律一((2κ)κ = 2κ·κ)、再用吸收律 κ·κ = κ(定理 4.18)。夹逼收网,得到本章最漂亮的意外:
读法。底数从 2 换成 κ 再换成 2κ,塔高纹丝不动:在幂的世界里,底数的差别被指数级的吸收律抹平(对照:底数有限时 2ℵ0 ≤ 3ℵ0 ≤ (2ℵ0)ℵ0 = 2ℵ0,同理 3ℵ0 也等于 2ℵ0——一切有限底数 > 1 都给出同一层)。真正改变塔高的是把哪一层拿来当底数:2κ 与 22κ 之间隔着康托尔定理的严格不等号,谁也替它抹不平。§4.13 的悬案恰好卡在最底下一级:2ℵ0 这一格,究竟是 ℵ 阶梯上的第几格?
★★★ 塔已立起,最底层的两格却对不上号:ℵ0 之上、2ℵ0 之下,还有没有第三格?这个问题叫连续统假设(Continuum Hypothesis,CH),是 1900 年希尔伯特巴黎清单的第一题,也是本册暗线「第三次危机」的主案卷。
先把「连续统」的基数算清。所谓连续统即实数集 ℝ,它的基数要落到 2ℵ0 上,需一条等势链:
ℝ ≈ (0, 1) ≈ {0,1}ℕ ≈ 𝒫(ℕ), 故 |ℝ| = 2ℵ0.
各环的证明要点。第一环 ℝ ≈ (0,1):显式双射 x ↦ 1/2 + (1/π)·arctan x,反函数 y ↦ tan(π(y − 1/2))(例题课将逐字验章)。第二环 (0,1) ≈ {0,1}ℕ:正向取每个实数的二进标准展开(约定不以全 1 结尾,同 §4.5 的去歧义原则),得数字序列——单射;反向把 0-1 序列 (b1, b2, …) 送进三进展开 Σ 2bn·3−n——三进展开的唯一性保证单射(数字只取 0 与 2,永无歧义);两个单射夹住,由 Schröder–Bernstein(定理 4.14)得等势。第三环 {0,1}ℕ ≈ 𝒫(ℕ):即定理 4.19 的特征函数双射取 A = ℕ。三环相扣,连续统的肖像定格:|ℝ| = 2ℵ0(图 4-12)。
康托尔的挣扎。康托尔 1878 年起猜测这条「无第三格」,此后四十年反复进攻:他证明了实数与 ℝ2 等势(1878,自己都惊呼「我看到了,却不肯信」),证明了任意区间 [a, b] 与 ℝ 等势,却始终无法把 2ℵ0 钉在 ℵ1 上。1884 年前后他一度宣布即将证明,又撤回;抑郁症的阴影像钟摆一样在这道题上摇摆。1918 年康托尔去世,CH 依旧悬案。1900 年希尔伯特在巴黎把它列为 23 个问题的第一题——比黎曼猜想还靠前——因为它悬在整座新造的大厦正门上:无穷的层级若连第一格都对不齐,层级理论凭什么自称「数」?
要问「2ℵ0 是不是 ℵ1」,先得说清 ℵ1、ℵ2、……这些下标是什么。下一节把 ℵ 家族按第三章的序数台阶整队点名。
★★ ℵ0 只是 ℵ 家族的老大。给全家点名,需要第三章的序数作索引。
于是得到一条以全体序数为索引的基数长队:
ℵ0 < ℵ1 < ℵ2 < … < ℵω < ℵω+1 < … < ℵω·2 < …
序数台阶(第三章)有多密,ℵ 的下标就有多密;但相邻两个 ℵ 之间按定义再无第三档基数——ℵ 队伍是「无空隙」的。幂集塔(§4.7)却不是:2ℵ0 落在哪一格、层与层之间塞不塞别的大小,康托尔定理一概不问。两座阶梯的关系才是 CH 的准确位置(图 4-13)。
GCH 说的是:幂集运算每取一次,恰好爬上 ℵ 阶梯的一格,不多不少——两座阶梯严丝合缝地重合。取 α = 0 即 CH:2ℵ0 = ℵ1。所以 CH 是 GCH 的第一格。若 GCH 成立,塔的全谱立即点名完毕:2ℵ0 = ℵ1,22ℵ0 = 2ℵ1 = ℵ2,第三层 = ℵ3……幂集塔就是 ℵ 队伍本身。若 GCH 失败(哪怕只在某处失败),两座阶梯便错位,某些幂集格子上挤着 ℵ 队伍之外的大小——层级结构立刻复杂得多。至于 GCH 本身是真是假:§4.16 的答案是「在 ZFC 里既证不出也证不倒」,这正是连续统问题的最终判决书。
ℵα 是「数」,序数 ωα 是「排法」——两套符号的正式合并,下一节办理户籍。
★★★ 本章一直把基数叫「等势类的名字」,账欠到现在。第三章已证:每个良序集恰有唯一的序型,且序型由冯·诺依曼序数承担(§3.3、§3.4、§3.7)。基数的严格定义就从这里起步——给每一种「多少」指定最小的排法。
户籍核对。每个可良序的集合恰有一个基数(良序定理 + §3.7 唯一性);每个基数恰是一个初始序数;ℵ 家族(§4.14)恰是全体无穷初始序数的点名册——三句话完成配对。诚实标注:「任何集合可良序」是选择公理的等价形式(定理 4.15)——在 ZF 里,不可良序的集合没有这里定义的基数,三歧性也随之失守;ZFC 里一切集合有户籍,第五章将把这张账页撕给看。
压路机的形象。序数长路 ω, ω+1, ω+2, …, ω·2, ω·3, …, ω2, ω3, …, ωω, …, ε0, …(第三章走了整整一章)在基数世界里被压路机碾成一个点:它们全部等势于 ω,基数统统是 ℵ0。排法千差万别,多少只有一个——这正是 §3.12「序数加法非交换」与本章「基数加法交换」分道的深层原因。初始序数是两套世界的汇率牌价:每遇一个「多少」,取最小的「排法」作官方登记。
至此词汇全部备齐:ℵ 层级、幂集塔、初始序数。悬案 CH 的开庭条件成熟——下一页,两位二十世纪的巨人先后走进法庭。
★★★ CH 悬置了六十余年,判决在 1940 与 1963 年分两半揭晓——一半削瘦宇宙,一半增肥宇宙,合璧宣判:CH 独立于 ZFC。
前一半:哥德尔的可构造宇宙(1938 宣布,1940 专著)。哥德尔构造了一个只含「定义得出来」的集合的最小宇宙 L:从空集出发,沿序数台阶(§2.13 的分层手法)反复执行「取全部可定义子集」。他证明了 L 是 ZFC 的模型,而且 L ⊨ CH + GCH + AC——在 L 里,实数被序数台阶一个不漏地排成 ℵ1 长队,幂集塔与 ℵ 队伍严丝合缝。由第二章的相对化技术(§2.14)翻译成一致性语言:Con(ZF) ⇒ Con(ZFC + CH)——若 ZFC 一致,则往 ZFC 里添加 CH 也不会出矛盾,ZFC 便证不倒 CH。直觉:把宇宙削瘦到「凡集合皆可被公式点名」,选择与连续统假设都变得当然成立——可数序数明明排不完实数,L 里却因「定义手段本身可数层枚举」而硬生生排完了。
后一半:科恩的力迫法(1963)。科恩发明力迫(forcing):从 ZFC 的模型出发,往宇宙里添加一大批新的实数子集(「随机实数」),增肥宇宙后 CH 当场破裂——新宇宙 ⊨ ZFC + ¬CH(甚至可以让 2ℵ0 取到任意合法的格位)。翻译成一致性语言:Con(ZF) ⇒ Con(ZFC + ¬CH)——ZFC 也证不出 CH。直觉:宇宙的胖瘦是可塑的,加料之后 ℵ1 长队装不下所有实数。
合璧。两半一拼,判决书成文:ZFC(若一致)既不能证明 CH,也不能证明 ¬CH——CH 独立于 ZFC。这是数学史上第一个「自然」命题被判独立:与罗素悖论式的自我崩溃不同,CH 是一个百年老问题、陈述毫无花招,却永久性地超出了公理系统的视力。希尔伯特第一问题以「无法在本系统内回答」的方式解决——多数数学家承认这算解决,因为「独立」本身就是一条极硬的数学定理。
两人小传。哥德尔(1906–1978)以不完备定理(§2.15)成名,1940 年的专著百余页精雕细琢,连可构造宇宙的每个序数台阶都打磨得毫无毛刺;晚年在普林斯顿与爱因斯坦散步为伴。科恩(1924–2007)是自学成群的分析学家,1961 年才转向逻辑,两年内连取 AC 独立与 CH 独立两城,1966 年获菲尔兹奖——至今唯一以数理逻辑获奖者。哥德尔读过科恩的证明后留下一句罕见的赞语:「真正的进展。」
★★★ 幂集塔无限上升,可塔身大部分格子空无居民——数学家真正用到的无穷(ℵ0、2ℵ0、偶尔 22ℵ0)挤在塔基。抬头望塔顶,有一类特殊的「高层居民」值得专门一瞥:大基数(large cardinals)。
不可达的名字由来。从下往上爬塔,永远到不了 κ:加法与乘法被吸收(§4.11)冲不上去,幂集运算也在 λ < κ 时冲不上去(强极限条件)——κ 是「常规攀登不可到达」的高度,只能作为公理「承认」它存在,不能从下面构造它。
证明思路。逐条公理核对:幂集公理在 Vκ 内成立,因为 x ∈ Vκ 蕴含 |x| < κ,由强极限 |𝒫(x)| = 2λ < κ,幂集仍留在 Vκ 里;替换公理模式依赖正则性——少于 κ 个、每个 < κ 的像并起来仍 < κ,换不出 Vκ;其余公理(外延、配对、并、分离、无穷、正则)在分层结构上前 κ 层就够用。∎(细节需 §2.13–2.14 的模型论语言)
推论:ZFC 证不出不可达基数存在。若 ZFC 证明「存在强不可达基数」,则 ZFC 同时证明 Vκ ⊨ ZFC,即证明 Con(ZFC)——按哥德尔第二不完备定理(§2.15),一致的系统不能自证一致,除非 ZFC 本身不一致。ZFC 量不完自己的高度:承认不可达基数,等价于宣称「ZFC 有模型」,这是一条 ZFC 自己无力批准的任命书——大基数公理因此被称为「超越 ZFC 的新公理」的第一候选。
阶梯之上的更强者。不可达只是大基数阶梯的第一级:其上有马洛基数(不可达基数的「不可达点」)、可测基数(自带二维测度的庞然大物)、超紧基数……每一级都比 ZFC 更能「看见」无穷,且各级的存在性在 ZFC 一致的前提下互不冲突、逐级增强(图 4-16)。当代集合论的一个工作信念(上承哥德尔对新公理的呼吁):大基数是「无穷真正有多高」的测量仪——它们虽不直接裁决 CH(§4.16 之后再强的大基数也定不了 2ℵ0 的格位),却界定了「在 ZFC 之内不可判定之事」的天花板。
例题一:ℝ ≈ (0, 1)。构造显式双射。
解。令 φ(x) = 1/2 + (1/π)·arctan x。arctan 严格递增、值域 (−π/2, π/2),故 φ 把 ℝ 单射地映入 (1/2 − 1/2, 1/2 + 1/2) = (0, 1);又 arctan 的取值跑遍 (−π/2, π/2),故 φ 满射。反函数显式给出:φ−1(y) = tan(π(y − 1/2)),对一切 y ∈ (0,1) 有定义。单且满,双射成立。∎
例题二:ℝ ≈ ℝ2。平面与直线一样多。
解。由例题一不妨只证 (0,1) ≈ (0,1)2。两个单射:① (0,1) → (0,1)2,x ↦ (x, 1/2);② (0,1)2 → (0,1):给每个实数取十进标准展开(不以 9 无限结尾,§4.5 的约定),把 x = 0.a1a2… 与 y = 0.b1b2… 交错编织成 0.a1b1a2b2…——两个标准展开都不是「从某位起全 9」,编织串也不是,故编织值取标准展开时可无歧义拆回 a 序列与 b 序列,编织是单射。两条单射夹住,由 Schröder–Bernstein(定理 4.14)得 (0,1) ≈ (0,1)2,再与例题一的 ℝ ≈ (0,1) 复合即得。∎
例题三:[0,1] ≈ [0,1]2。闭方体的账。
解。先证 (0,1) ≈ [0,1]:单射两个方向——x ↦ x/2 + 1/4 把 (0,1) 塞进 [0,1] 的中段;包含映射把 (0,1) 塞进 [0,1]——S–B 得等势。于是 [0,1] ≈ (0,1) ≈ (0,1)2(例题二)≈ [0,1]2(把上面三环的两端各换一次)。∎
例题四:无理数不可数。汪洋减去沙粒还是汪洋。
解。有理数 ℚ 可数(习题课将给完整枚举)。反设无理数集可数,则 ℝ = ℚ ∪ 无理数是两个可数集之并,由定理 4.5 可数——与定理 4.11 矛盾。故无理数不可数;配合代数数的可数性(定理 4.9),数轴上「无理且超越」的居民占绝对多数。∎
本页四道例题示范同一套肌肉:把待化简式沿着「吸收律 + 指数律」的固定路线推平。约定 κ、λ 皆为无穷基数,化简依据随行标注。
例题一:ℵ0 + ℵ0 与 ℵ0 · ℵ0。
解。ℵ0 + ℵ0 = ℵ0:奇偶分房的双射(定理 4.17 ①)。ℵ0 · ℵ0 = ℵ0:康托尔配对 π 的双射(定理 4.17 ②,即定理 4.6)。∎
例题二:2ℵ0 · ℵ0。
解。链条:2ℵ0 ≤ 2ℵ0 · ℵ0 ≤ 2ℵ0 · 2ℵ0 = 2ℵ0 + ℵ0 = 2ℵ0。逐环核对:第一环,κ ≤ κ·λ 只要有 1 ≤ λ(固定一个 b,a ↦ (a,b) 单射);第二环,ℵ0 ≤ 2ℵ0(康托尔定理给严格号,≤ 自然成立),而因子更大则积不小(单射逐坐标搬运);等号用指数律一(定理 4.19 前身,§4.12:κλ·κμ = κλ+μ,这里 2ℵ0·2ℵ0 = 2ℵ0+ℵ0),末环用吸收 ℵ0+ℵ0=ℵ0。夹逼得 2ℵ0 · ℵ0 = 2ℵ0。∎
例题三:(2ℵ0)ℵ0。
解。柯里化律一(§4.12):(κλ)μ = κλ·μ,取 κ = 2, λ = μ = ℵ0:(2ℵ0)ℵ0 = 2ℵ0·ℵ0 = 2ℵ0(例题一)。读法:实数数列的个数 = 实数的个数 = 2ℵ0——「把可数多份连续统叠起来,高度不变」。∎
例题四:ℵ0ℵ0。
解。夹逼:2ℵ0 ≤ ℵ0ℵ0 ≤ (2ℵ0)ℵ0 = 2ℵ0(例题三)。第一环:{0,1} ⊆ ℕ 给函数集单射;第二环:ℕ ⊆ 𝒫(ℕ)?——不对,这里用的是 2ℵ0 = |𝒫(ℕ)| ≥ |ℕ| = ℵ0(幂集含全体单点集),故 ℕ 的值域塞进 2ℵ0 的值域,函数集随之单射。三环夹逼:ℵ0ℵ0 = 2ℵ0——自然数数列与实数一样多(推论 4.20 的实例)。∎
收束。把四题的答案排成一行:ℵ0+ℵ0 = ℵ0,2ℵ0·ℵ0 = 2ℵ0,(2ℵ0)ℵ0 = 2ℵ0,ℵ0ℵ0 = 2ℵ0。前三题是「不添大小」,第四题惊心:连「自然数的自然数次幂」也撞在连续统这一格上。凡此种种都印证 §4.11 的判词——在无穷世界,只有幂运算能爬楼,而楼的第一格附近挤满了看似不同的表达式。
习题 4-1(显式双射)。证明 h : ℕ → ℤ,h(2k) = k、h(2k+1) = −(k+1) 是双射,并写出逆映射 h−1 : ℤ → ℕ 的显式公式。
提示。正则性:每个整数按符号与奇偶唯一归类。逆:h−1(j) = 2j(j ≥ 0)与 −2j − 1(j < 0);代入验证 h−1(h(n)) = n 与 h(h−1(j)) = j 各归。这是 p125 实验三的原型之一。
习题 4-2(有理数可数)。证明 ℚ 可数。要求给出两条单射并用 S–B 收尾。
提示。单射一:约分最简分数 p/q(q > 0,gcd(p,q)=1)↦ (p, q) ∈ ℤ × ℕ+,再由 ℤ ≈ ℕ 与 ℤ×ℕ 可数(定理 4.5 的推论:两个可数集的积可数,或直接用康托尔配对两次)得 ℚ ≤ ℵ0;单射二:ℕ ⊆ ℚ 包含映射。两条夹住 + 定理 4.14。另一路:对角线枚举既约分数表也行,但去重(同一分数多个写法)要小心——单射路线更干净。
习题 4-3(对角线变式)。设 T 为全体无限 0-1 序列(T = {0,1}ℕ)。直接用对角线法证明 T 不可数。
提示。反设 T = {t1, t2, …},令 bn = 1 − tn(n)(第 n 个序列的第 n 位翻转);则 b ∈ T 且 b ≠ tn 对一切 n。这里没有十进展开的歧义——0-1 序列就是自身,§4.5 的 4/5 技巧在这里根本不需要。对照定理 4.19:T 正是 𝒫(ℕ) 的特征函数化身,不可数是康托尔定理 2ℵ0 > ℵ0 的直译。
习题 4-4(区间族)。证明「以有理数为端点的开区间」的全体 (a, b)(a, b ∈ ℚ,a < b)是可数集。
提示。映射 (a,b) ↦ (a,b) ∈ ℚ × ℚ 单射(区间由端点决定),而 ℚ ≈ ℕ(习题 4-2),ℕ×ℕ ≈ ℕ(定理 4.6),故 ≤ ℵ0;又 (n, n+1) 一族已可数无穷,得恰好 ℵ0。副产品:拓扑学「开集由有理区间生成」的可数基(第六章构造 ℝ 时要用)。
习题 4-5(选做·探究)。证明:ℕ 的全体无限子集与全体子集等势(即去掉有限子集不改变大小)。
提示。正向单射显然(包含映射)。反向:把每个子集 S ↦ S 的二进制特征序列……此路撞歧义(有限集也编码成功,不是无限子集)。改走 S–B:无限子集 → 丢掉最小元得无限子集(单射但不满,像=不含最小可能元的那些);有限子集族可数(定理 4.7),把 ℵ0 的份额「塞缝」——标准答案用定理 4.7 与吸收律拼装,见第五章回头再练。本题为「吸收律在具体集合上的操演」。
习题 4-6(热身化简)。化简下列各式并给出依据:ℵ0 + 17;ℵ0 · 3;2 · 2ℵ0;ℵ02 + 2ℵ0。
提示。依次:= ℵ0(有限尾巴被吸收:17 个客人排进偶数房的余座);= ℵ0(三份拷贝奇偶三染色,或 ℵ0·3 ≤ ℵ0·ℵ0 = ℵ0);= 2ℵ0(2 ≤ 2ℵ0,夹逼仿例题二);= 2ℵ0(ℵ02 = ℵ0 ≤ 2ℵ0,两无穷相加取大)。
习题 4-7(由乘到加)。设 κ 是无穷基数,由 κ·κ = κ 推出 κ+κ = κ。
提示。单射 A ⊔ A → A × A:(a, 左) ↦ (a, a0)、(a, 右) ↦ (a, a1),其中 a0 ≠ a1 固定两点(无穷集里挑得出);于是 κ+κ ≤ κ·κ = κ,反向 κ ≤ κ+κ 显然,夹逼。看清借了什么:挑两点不借 AC,但 κ·κ=κ 的一般证明借(§4.11 的标注)。
习题 4-8(拆定义域的完整双射)。把律二 κλ+μ = κλ·κμ 写成显式双射:取不交并 A ⊔ C,构造 (A⊔C)→B 的函数集合与 (A→B) × (C→B) 之间的两个互逆映射。
提示。正向:限制 f ↦ (f|A, f|C);反向:拼合 (g, h) ↦ g ∪ h(定义域不交,并是良定义的函数)。两个方向的复合各是恒等——用「限制再拼合」「拼合再限制」逐点核对。这一题是 §4.12 律二的验收章。
习题 4-9(数列与连续统)。证明全体实数数列 ℝℕ 的基数是 2ℵ0,即「实数数列不比实数多」。
提示。|ℝℕ| = (2ℵ0)ℵ0 = 2ℵ0·ℵ0 = 2ℵ0(例题三同型)。再走一步:由此可得 ℝ ≈ ℝℕ ≈ 𝒫(ℕ×ℕ)——平面上的一切点集与数轴上的点集一样多,几何直觉再次被基数算术碾平。
习题 4-10(层级点名)。在 GCH 假设下,写出 2ℵ1、2ℵ2、2ℵω;再回答:ZFC 不借 GCH 时,关于 2ℵ1 能确定哪些不等式?
提示。GCH 下依次 = ℵ2、ℵ3、ℵω+1。ZFC 能确定的部分:康托尔给 2ℵ1 > ℵ1;单调性给 2ℵ1 ≥ 2ℵ0;合并即 2ℵ1 ≥ 2ℵ0 > ℵ0,且 2ℵ1 > ℵ1——仅此而已;它可能等于 ℵ2(GCH),也可能是 ℵ3、ℵω+1、甚至比一切 ℵα(可数下标)都大——ZFC 沉默。对照 §4.16:沉默的机制是力迫。
本章十七节不是平行铺陈,而是一条「立尺—清点—造漏网—建塔—配算术—开庭」的战线。本页把全章的依赖关系与对外接口画成一张大地图(图 4-19):箭头 A → B 表示「B 的定义或证明需要 A」。
接口清单。① §4.9 的三歧性与 §4.11 的一般吸收律向第五章借 AC,届时归还;② §4.14–4.15 的 ℵα = ωα 直通第三章的序数台阶(§3.14 的 ω1 是第一个不可数格);③ §4.13 的 |ℝ| = 2ℵ0 等待第六章用戴德金分割把 ℝ 从 ℚ 正式造出后回望核对;④ §4.17 的 Vκ ⊨ ZFC 接第二章 §2.13 的分层宇宙——「ZFC 量不完自己的高度」是全册公理化主题的终章预告。
本页任务。把 §4.1–4.9 的概念与定理浓缩成五张卡片;算术速判表在下页。
一分钟自测。① 说出 S–B 的完整证明骨架(链分类→定义 h→单射→满射引理);② 把「偶数集 ≈ ℕ」写成显式双射;③ 写出康托尔配对 π 的公式并说明为何是双射;④ 复述对角线法为何用 4/5 而不用 9−d;⑤ 说清「ℵ0+ℵ0 = ℵ0」的奇偶分房。五问全过,方可进入算术速判表(下页)。
本页任务。把 §4.10–4.12 的运算规则压成一张速判表:见到表达式,三秒报答案,附依据与出处。约定 κ、λ 为无穷基数,n 为正自然数。
| 表达式 | 结果(κ、λ 无穷) | 关键依据 | 出处 |
|---|---|---|---|
| κ + n,κ + κ | κ | 奇偶分房、有限尾巴吸收 | §4.11 |
| κ + λ | max(κ, λ) | 良序排队后大者吞小者(借 AC) | §4.9 / §4.11 |
| κ · n,κ · κ | κ | 康托尔配对 π(ℵ0 样板) | §4.11 / §4.3 |
| κ · λ | max(κ, λ)(两者非零) | 同上加法路线 | §4.11 |
| κn(n 有限) | κ | 有限次乘法仍被吸收 | §4.11 |
| nκ(n ≥ 2) | 2κ | 2κ ≤ nκ ≤ (2n)κ = 2κ | §4.12 |
| 2κ | > κ,格位 ZFC 定不了 | 康托尔定理;CH 型悬案 | §4.6 / §4.13 |
| κκ | 2κ | 三环夹逼 2κ ≤ κκ ≤ 2κ | §4.12(推论 4.20) |
| ℵ0ℵ0 | 2ℵ0 = |ℝ| | 推论 4.20 的第一实例 | §4.12 |
| (κλ)μ | κλ·μ | 柯里化:函数打包重装 | §4.12 |
| κλ+μ | κλ · κμ | 拆定义域:限制与拼合 | §4.12 |
| κ − λ,κ ÷ λ | 未定义 | 等势类上无良定义的逆运算 | —— |
易错三坑。① 减法除法不存在:ℵ0 − ℵ0 可以是 0(取偶数集减 ℕ)、可以是 ℵ0(ℵ0 减去有限集)——基数只有「加的方向」,别把有限算术的逆运算偷渡进来。② 序数算术 ≠ 基数算术:ω + 1 > ω 是序数真相,ℵ0 + 1 = ℵ0 是基数真相——先问自己在问「排法」还是「多少」(§3.12 与 §4.10 的分界)。③ 2κ 的格位不是定理:除「严格大于 κ、随 κ 单调」外,ZFC 对 2ℵ0 落在哪一格几乎沉默——速判表里任何把 2ℵ0 写成 ℵ1 或 ℵ2 的步骤都必须加「假设 GCH」或「在 L 中」的前缀。
速判三例(热手)。① 2ℵ0 · 2ℵ0 = 2ℵ0+ℵ0 = 2ℵ0(指数律 + 吸收);② (ℵ0)2 · 2ℵ0 = ℵ0 · 2ℵ0 = 2ℵ0(第一行 + 例题二);③ 22ℵ0 = (2ℵ0)ℵ0?——错!(2ℵ0)ℵ0 = 2ℵ0·ℵ0 = 2ℵ0,而 22ℵ0 是 2 顶着 2ℵ0 的幂,等于 (2ℵ0)ℵ0 仅当 2ℵ0 = ℵ0——荒谬,故二者天差地别,中间隔着康托尔的严格号。底数与幂顶,一笔都不能串。
上页五卡 + 本页一表 = 第四章全部行李。带走它们的,已经能在无穷的版图上自行为任何表达式指路;版图之外的疆域(CH 的格位、大基数的高度)属于第五章的选择公理与本册结语的综合站。
本章最深的一课藏在康托尔定理的三行证明里:自指不必是灾难,它可以是引擎。同一个「逐格翻转」的动作,在罗素悖论里炸毁了朴素集合论的概括原则,在对角线法里量出了实数的汪洋,在康托尔定理里造出了没有顶的塔。数学家常说证明是「看到」真理;可对角线更像「制造」——漏网者不是被发现的,是被我们当着定理的面造出来的。
于是问题来了:无穷的层级究竟是发现还是发明?康托尔本人的信念是发现——他称自己的理论是「超越有限与无限的、绝对必然的真理」,甚至认为层级是上帝思想中的秩序,数学家只是抄写员。可 §4.16 的判决给了这种信念一记软刀子:若 CH 在 ZFC 中既真不了也假不了,那么「2ℵ0 = ℵ1」就没有等待被发现的既定答案——除非答案藏在 ZFC 之外。哥德尔相信存在集合论宇宙的标准模型、CH 在其中另有真假,只是公理尚未找齐;科恩更倾向多元宇宙:力迫法让 2ℵ0 的格位随宇宙胖瘦而变,「发现」这个词开始显得天真。
折中的图景也许是这样:层级的存在是发现,层级的刻度是发明。「幂集永远更大」「没有最大基数」是任何足够丰富的集合宇宙都躲不开的骨架,逼它就范的正是对角线这台机器;但相邻两格之间的密度、2ℵ0 的落点,是宇宙对建造方案的回应——ZFC 立的宪不够细,答案便由我们选择 further axioms 来续写。数学史上很少有哪门分支像这里一样:「真理」与「约定」的边界恰好落在一条悬案上。
末了留一个自问:如果必须投票——CH 为真、为假、还是「无真假可言」——选票依据什么?注意无论选哪边,都得先回答一个更原始的问题:当证明与反证都到不了的地方,「数学真」三个字还剩下什么意思?这个问题不在本章的考试范围,却在每一位学过对角线的余生里保留着投票资格。
任务。CH 已被判处「ZFC 内不可判定」(§4.16),但判决不等于结案:数学共同体仍在为「该接受 CH 还是 ¬CH 作为新公理」收集旁证。本页亲手整理两侧的证据清单,并完成三步可上手的推演。
步骤一(必做):¬CH 的最小代价。证明:若 CH 失败,则 2ℵ0 ≥ ℵ2。
提示。CH 失败即 2ℵ0 ≠ ℵ1;康托尔定理给 2ℵ0 > ℵ0 = ℵ0,三歧性(ZFC 内成立,定理 4.15)给 2ℵ0 与 ℵ1 可比:既不能 < 也不能 =,便只能 >;ℵ2 是 ℵ1 的后继(§4.14),故 2ℵ0 ≥ ℵ2。旁证的分量:「若 ¬CH,连续统至少跳两格」——力迫模型恰好实现 ℵ2,代价最小。
步骤二(选做):为什么不能是 ℵω。证明 2ℵ0 ≠ ℵω(ℵω = sup{ℵn : n < ω},§4.14 的第一极限格)。这需要 König 1929 的余有限性定理:κcf(κ) > κ——提示:写出 2ℵ0 = (2ℵ0)ℵ0,注意到 cf(ℵω) = ω,套用 König。
提示。按 König:ℵωω > ℵω。而 2ℵ0 = 2ℵ0 的任何落点 κ 满足 κℵ0 = κ(仿例题二:κ = 2ℵ0 时 κℵ0 = (2ℵ0)ℵ0 = 2ℵ0);若 κ = ℵω,则 ℵωω = κ = ℵω,与 König 矛盾。此即「东阈定理」的特例:连续统的落点必须 cf > ω——它不能站在任何可数长队伍的尽头。
步骤三(整理证据清单)。把两侧旁证各列三条并注明出处:支持 CH 的——① L 中 CH 成立且 L 是「最瘦」的规范宇宙(哥德尔 1940);② GCH 逐格成立使层级理论最简洁;③ 苏斯林假设等命题与 CH 同真同假,接受 CH 一次结清。支持 ¬CH 的——① 力迫法表明 CH 可破且破法自由(科恩 1963);② 随机实数模型中 2ℵ0 = ℵ2(Solovay 1970),代价最小方案落在 ¬CH 一侧;③ 大基数框架下的强迫公理(如 PFA)蕴含 2ℵ0 = ℵ2——现代证据的天平略偏 ¬CH。清单之后下自己的投票与理由(本册不设标准答案;思想卡 p123 的自问是评分标准)。
实验目的。让程序「摸到」本章四件最抽象的构造:对角线取补真的能漏网、康托尔配对真的不重不漏、双染色真的拼出双射、幂集计数真的逐级翻倍。纯 Python 3,无第三方库;脚本存于 qa/exp_c4.py,输出存于 qa/exp_c4_out.txt,可复跑。
# -*- coding: utf-8 -*-
# exp_c4.py —— 对角线机器与 Schröder–Bernstein 算法(节选自可运行脚本)
import random
from itertools import combinations
# 实验一:对角线机器——沿对角线逐位取补,补出漏网序列
def diagonal_escape(table):
return ''.join('1' if row[i] == '0' else '0'
for i, row in enumerate(table))
for n in (8, 16):
random.seed(n) # 固定种子,结果可复现
table = [''.join(random.choice('01') for _ in range(n)) for _ in range(n)]
b = diagonal_escape(table)
assert all(b != row for row in table) # b 与每一行至少一位顶牛
print(f'n={n} 漏网序列 b = {b},验证不在表中:True')
# 实验二:康托尔配对——方块上单射,三角 T_N 上双射(N = 1..50)
def pi(a, b):
return (a + b) * (a + b + 1) // 2 + b
for N in range(1, 51):
square = [pi(a, b) for a in range(N + 1) for b in range(N + 1)]
assert len(set(square)) == len(square) # 方块 [0,N]2 上:单射
tri = sorted(pi(a, b) for a in range(N + 1) for b in range(N + 1)
if a + b <= N) # 三角 T_N
assert tri == list(range((N + 1) * (N + 2) // 2)) # 恰为 0..(N+1)(N+2)/2−1
print('N = 1..50 全部通过:pi(0,0)=0, pi(1,0)=1, pi(0,1)=2, pi(4,7)=73')
# 实验三:S–B 算法——红点走 f,白点走 g 的逆(双染色链分解)
def sb_h(A0_pred, f, g, ginv, N):
red, frontier = set(), [a for a in range(N + 1) if A0_pred(a)]
while frontier: # 沿 g∘f 向前染红(链单调增大,窗口内精确)
a = frontier.pop()
if a in red:
continue
red.add(a)
nxt = g(f(a))
if nxt <= N:
frontier.append(nxt)
return {a: (f(a) if a in red else ginv(a)) for a in range(N + 1)}, red
# 例一:f(a)=2a,g(b)=b+1,红链起点 A0 = {0}(g 的像为正整数)
h, red = sb_h(lambda a: a == 0, lambda a: 2 * a,
lambda b: b + 1, lambda a: a - 1, 30) # N = 2k−2
vals = list(h.values())
assert len(set(vals)) == len(vals) and set(vals) == set(range(31))
print(f'例一 红链 = {sorted(red)}(恰为 2k−1 形),像恰为 0..30:双射 ✓')
# 例二:A=ℕ,B=ℤ,f(a)=a,g(b)=2b (b≥0)、−2b−1 (b<0)——希尔伯特旅馆
h, red = sb_h(lambda a: False, lambda a: a,
lambda b: 2 * b if b >= 0 else -2 * b - 1,
lambda a: a // 2 if a % 2 == 0 else -(a + 1) // 2, 40)
vals = list(h.values())
assert len(set(vals)) == len(vals) and set(vals) == set(range(-20, 21))
print(f'例二 红链 = {sorted(red)}(g 满射故为空),像 = −20..20:双射 ✓')
# 实验四:幂集阶梯——|𝒫(A)| = 2|A| 逐级核对(n = 0..12)
for n in range(0, 13):
S = list(range(n))
cnt = sum(1 for k in range(n + 1) for _ in combinations(S, k))
assert cnt == 2 ** n
print('n = 0..12 全部通过:阶梯逐级翻倍——康托尔定理的有限剪影')
真跑结果要点(与 qa/exp_c4_out.txt 逐字一致)。实验一:n = 8 时漏网序列 b = 11011101、n = 16 时 b = 0001100000111000,「验证 b 不在枚举表中:True」。实验二:「N = 1..50 全部通过:T_N 的像恰为 {0, …, (N+1)(N+2)/2 − 1}」,样例 π(4, 7) = 73。实验三例一:「红链(起点 0,沿 g∘f 染红)= [0, 1, 3, 7, 15](恰为 2k−1 形)」「h 的像恰为 {0..30},单射且满:双射 ✓」;例二:「红链 = [](g 是满射,A∖g[B] 为空,全走白线)」「像 = −20..20 共 41 个整数,单射且满:双射 ✓」。实验四:「n = 0..12 全部通过」。
实验报告要求。① 贴出实验一 n = 16 的完整对角线行军(16 行表与漏网序列),并逐行指出顶牛位;② 对实验三例一写出红链 [0, 1, 3, 7, 15] 的完整行走记录:每步注明「f 后的值、g 后的值」,验证 2k−1 律;③ 把例一的 N 改成 20、40、62,观察像的「边界缺口」如何随 N = 2k−2 时恰好闭合,并解释缺口成因(b = N 的原像是 N+1,出窗);④ 回答:例二为何没有红链?g 满射在定理 4.14 的链分类里对应哪种链的消失?——答:A ∖ g[B] 为空,红链消失,一切 A-点走白线,h = g−1 自己就是双射(这正是 ℵ0 ≈ ℤ 的旅馆算术)。
恒河沙与三千大千世界。佛经形容极多,惯用两级放大器。第一级是「恒河沙数」:《法华经》(姚秦弘始年间,鸠摩罗什译,406 年成书今本)《化城喻品》说大通智胜佛的劫数「如三千大千世界所有地种,假使有人磨以为墨,过于东方千国土乃下一点」,而《金刚经》(同出罗什译)则以「以七宝满尔所恒河沙数三千大千世界,以用布施」设喻——恒河的每粒沙再化作一条恒河、每条河的每粒沙再化作一个世界。第二级是「三千大千世界」的结构本身:一个世界单位经「千倍」三连跳(小千、中千、大千)叠成 109 个世界的总宇宙。两级放大器都是乘法与指数的叠用——与《俱舍论》(世亲造,约四五世纪;玄奘于唐永徽年间译出)卷十二的数级体系一脉相承:俱胝(107)以上,「俱胝俱胝为一阿庾多,阿庾多阿庾多为一那由他,……频波罗、矜羯罗,转倍」(倍倍自乘),层层指数塔直到阿僧祇。佛经宇宙的账本,从沙粒到世界,全部写在指数函数的纸面上。
数级的尽头。指数塔能垒多高?《华严经》(八十华严,唐实叉难陀译,695–699 年)《阿僧祇品》给出了佛教文献里最长的数级表:从洛叉、俱胝起,以「倍倍相乘」一路命名一百二十余级,止于「不可说」「不可说转」——其数值按经中算法折合 10 的成百次幂以上,远超可观测宇宙的原子总数(约 1080)。但:无论垒到哪一级,华严数表里的每个数都是自然数——用本章的语言,全部 ≤ ℵ0。指数叠代再惊人,也只是可数世界里的小跑;「三千大千世界」的结构反复、华严数表的百级命名,本质上都是定理 4.5–4.6 的注脚:可数并、可数积,跑不出 ℵ0 的手掌。佛经数级的路线,与 §4.2–4.4 清点可数世界的路线,是同一条路。
「不可说」的两种不可说。有趣的是「不可说」这个名字。佛家说「不可说」,指第一义谛离言绝虑——语言够不着的高;数学说「不可数」,指对角线堵死了枚举——配对够不着的多。两种不可说在结构上竟然押韵:禅宗「说似一物即不中」与对角线「列出即漏网」,都是「凡欲穷举者,必留一个例外」的自我指涉。但数学把韵脚变成了定理:康托尔 1891 年的机器证明,「不可数」不是修辞的极限而是配对的极限——2ℵ0 之上的层级,任何百级、万级、万万达级(那由他以降的佛经数词)数表都永远列不完。反过来看,这正是本章给人文礼物:佛教宇宙论用想象垒出的「大」,被数学用证明接住并超越;而「不可说」三字里那份对语言边界的敬畏,数学家在罗素悖论(§1.13)与哥德尔不完备(§2.15)处重新领教。沙数无量,对角更无量——但承认有量之外的存在,两个传统用的是同一种谦逊。
| 条目 | 内容 | 出处 § |
|---|---|---|
| 等势 A ≈ B | 存在双射;等价关系(自反·对称·传递) | 4.1 |
| |A| ≤ |B| / |A| < |B| | 存在单射 / 再加不等势 | 4.1 |
| ℵ0 | 与 ℕ 等势的最小无穷基数:ℕ ≈ ℤ ≈ 偶数 ≈ ℚ ≈ 代数数 | 4.2 / 4.4 |
| 封闭三定理 | 可数并可数;ℕ×ℕ ≈ ℕ(π 配对);有限子集族可数 | 4.3 |
| 康托尔配对 | π(a,b) = (a+b)(a+b+1)/2 + b,双射 | 4.3 / p125 实验 |
| 对角线法(4/5 版) | (0,1) 不可数;标准展开 + 逐位顶牛避双展开 | 4.5 |
| 康托尔定理 | D = {x : x ∉ f(x)} 不在像中 ⇒ κ < 2κ,无最大基数 | 4.6 |
| 幂集阶梯 | ℵ0 < 2ℵ0 < 22ℵ0 < …;|ℝ| = 2ℵ0 | 4.7 / 4.13 |
| Schröder–Bernstein | 双向单射 ⇒ 等势;红点走 f、白点走 g−1 | 4.8 |
| 三歧性 | 任意两基数可比 ⟺ 良序定理 ⟺ AC(第五章证明) | 4.9 |
| 算术定义 | +(不交并)·(笛卡尔积)^(函数集) | 4.10 |
| 吸收律 | κ+n = κ+κ = κ·κ = κ(κ 无穷;一般情形借 AC) | 4.11 |
| 特征函数 | |𝒫(A)| = 2|A| | 4.12 |
| 指数律 | (κλ)μ = κλ·μ;κλ+μ = κλ·κμ;κκ = 2κ | 4.12 |
| CH / GCH | 2ℵ0 = ℵ1(无中间格)/ 2ℵα = ℵα+1(一切 α) | 4.13 / 4.14 |
| ℵ 层级 | ℵα+1 = 最小更大基数;ℵλ = sup;与初始序数 ωα 合户 | 4.14 / 4.15 |
| 独立性 | 哥德尔 L ⊨ CH(1940);科恩力迫 ⊨ ¬CH(1963)⇒ CH 独立 | 4.16 |
| 不可达基数 | 不可数 + 正则 + 强极限 ⇒ Vκ ⊨ ZFC;存在性 ZFC 不可证 | 4.17 |
实例小卡。偶偶奇奇分房(ℵ0+ℵ0);康托尔配对 π(4, 7) = 73;对角线 n = 8 漏网 b = 11011101(p125 实验);S–B 例一红链 [0, 1, 3, 7, 15];幂集计数 n = 12 给 4096 = 212。
易错三坑。① 基数减法除法未定义——速判表只单向有效;② 2ℵ0 的格位除「≥ ℵ1、≠ ℵω」外 ZFC 沉默,任何「= ℵ2」都需外加公理;③ 序数 ω+1 与基数 ℵ0+1 不是一回事——先分「排法」与「多少」。
下一步。第四章两处向第五章借账:三歧性与一般吸收律的「无限集含可数子集」。第五章将以选择公理为核心,把良序定理、Zorn 引理、基数三歧性织成等价形式的全景,逐一还清借款——带着本章的层级与算术上路,那边的高峰会看得格外清楚。
前四章里,集合的世界看起来秩序井然:罗素悖论用分离公理挡在门外(第一章),九根柱石立起宪章(第二章),良序的阶梯一级级修到了任意序数(第三章),对角线画出了无穷的层级(第四章)。但第四章末尾留了一道暗缝:两个无穷集合的大小,到底能不能比较?§4.9 把这个问题悬在了半空——比较需要嵌入,嵌入需要方向,而方向不是白来的。本章就为这道暗缝安装门轴,门轴的名字叫选择公理(Axiom of Choice,记 AC)。
选择公理的表述谦逊得近乎废话:一族两两不交的非空集合,可以同时从每个集合里各挑一个元素。挑一个,谁不会呢?可无穷多个集合、又没有现成的挑选规则时,「同时各挑一个」就不再是一句显然的话,而是一条需要立宪才能生效的权力。1904 年,策梅洛(Zermelo)用这条公理证明了震撼学界的良序定理——每个集合都能排成一列——随即招来 Borel、Lebesgue 的激烈反对,引发集合论史上第一场公理论战。此后三十年,数学家们逐渐发现:良序定理、Zorn 引理、Hausdorff 极大原理、基数可比性、向量空间的基、环的极大理想……这一长串散落各处的定理,竟然彼此等价,全都与选择公理互为推论。它们像同一枚硬币的八张面孔——本章的任务,就是把这八张面孔逐一翻转给看,并把翻转的每一步推理完整写出。
本章的写法有一条铁律:凡宣称等价,必给出完整推理。环上的每一段弧——AC 推良序(§5.4)、良序推 AC(§5.5)、AC 推 Zorn(§5.7)、Zorn 推 AC(§5.8)、良序推可比(§5.9)——都一步不跳地写在书页上;其余弧线则经由这两组干道中转。读完本章,能独立复述整张等价环;同时也应知道结局并非圆满:哥德尔与科恩证明,这条公理既推不出也否不掉(§5.17)。一根针,挑起一座天平,而天平的指针永远悬在中间。
★ 困境最好从一个笑话讲起。罗素(Russell)在《数理哲学导论》(1919)里说:从无穷多双袜子里,每双挑出一只,需要选择公理;从无穷多双靴子里,每双挑出一只,不需要。靴子与袜子,差别在哪里?
靴子的胜利:有规则。每双靴子分左右,左右可分辨。于是有一条人人可执行的规则:每双都挑左脚那只。把这条规则写成数学:设 𝒜 是无穷族,每族成员 A 是一双靴子(一个恰含两元素的集合,且两元素有「左」「右」的可区分标记)。定义函数 f(A) = A 中标着「左」的那只——这是一个可以显式写出的规则,它对每个 A 恰好指定一个元素。有了规则,无穷次挑选就压缩成一次定义:f 就是所要的选择函数。选择不难,难的是没有规则时怎么选。
袜子的失败:无规则。一双袜子的两只,颜色、大小、形状全同,无法分辨。对一双袜子当然能挑——伸手拿一只即可;对两双、一百双也能挑,一只一只拿就是了。但当袜子的数目是无穷时,「一只一只拿」这个动作永远做不完,而数学证明要求一次性的、整体的存在。没有任何规则(两只全同,规则无从写起),没有任何先验的标记,要断言「存在一个函数,从每双袜子里各指定一只」,就是在没有任何依据的情况下宣布一个无穷对象的存在——这不是定理,这是一条公理。
三个数量级,三重门槛。把「无穷双」再细分,困境的层级就清楚了。① 有穷选择:显然。一族有穷个非空集合,挑遍全族只需有穷步;严格的证明用数学归纳(对族的个数归纳),第一章的语言完全够用。② 可数选择:开始含糊。可数族 A0, A1, A2, … 逐个挑需要无穷步,归纳法只能证「前 n 个能挑」,永远到不了「全部挑完」;若每个 An 是 ℕ 的非空子集,「取最小元」是一条规则,可绕过困难——但一般情形(例如不可分辨的袜子)没有最小元可取。为可数族立法,得到一条较弱的原则,记 CC(可数选择),§5.16 将正式讨论。③ 任意族选择:需要公理。族的指标集可以是任何无穷集合,连「逐个」都无从谈起。这就是选择公理的地盘。
所以选择公理不是「允许挑选」的许可证——挑选从来都被允许——而是承认无穷次挑选可以一次性完成的宪章条款。下一节把它写成三种精确的表述。
★★ 一个公理被反复使用了一百年,自然长出多种口径。本节给出选择公理最常用的三种表述,并当场打通其中最短的一段等价;通向良序与 Zorn 的两段长路留给 §5.4–5.8。
① ⇔ ②:两步互相翻译。先证 ①⇒②。给定了非空族 {Ai},若诸 Ai 两两不交,直接用表述一的选择函数 f:令 g(i) = f(Ai),则 g ∈ ∏ Ai,乘积非空。若它们不两两不交,先做一步规范化:令 Bi = {i} × Ai——把每个元素贴上指标标签 (i, a),诸 Bi 便两两不交且各与 Ai 一一对应;对族 {Bi} 用表述一得选择函数 f,再令 g(i) 为 f(Bi) 的第二分量即可。再证 ②⇒①:对两两不交的非空族 𝒜,表述二说乘积 ∏A∈𝒜 A 非空;取其中一点 g,则 g 是定义域为 𝒜、取值在 A 内的函数——它本身就是选择函数。两版等价,只是「贴标签」的排印差异。
③ 的等价是本章的主菜。表述三看起来与「挑选」相去最远——它谈的是排序,不是选择。但 §5.4 将证明 ①⇒③:一根选择函数的针,沿着序数阶梯就能把任意集合穿成一列;§5.5 反向证明 ③⇒①:只要并集良序,每族成员各取最小元即可。三条表述由此拧成一股绳;与 Zorn 引理的会师在 §5.6–5.8。先有一张总表,把八张面孔一眼望尽。
★★ 下表把本章的主角们到一页之内。八条陈述在 ZF 中彼此等价:任取一条作公理,可推出其余七条。表中「出处」栏给本章的证明位置;环外的弧线经由表中已证的干道中转。
| 名称 | 一句话陈述 | 提出人(年份) | 本章位置 |
|---|---|---|---|
| 选择公理 AC | 每族非空集存在选择函数 | Zermelo 1904 | §5.2 |
| 良序定理 WO | 每个集合可良序 | Zermelo 1904 | §5.4 / §5.5 |
| Zorn 引理 | 非空归纳偏序集有极大元 | Kuratowski 1922;Zorn 1935 | §5.6–5.8 |
| Hausdorff 极大原理 | 每条链可扩成极大链 | Hausdorff 1914(1909 雏形) | §5.10 |
| Tukey 引理 | 有限特征集族有 ⊆-极大元 | Tukey 1940 | §5.10 |
| 基数可比性 | 任意两集 |A| ≤ |B| 或 |B| ≤ |A| | 由 WO(Hartogs 1915 反向) | §5.9 |
| 向量空间有基 | 每个向量空间有 Hamel 基 | Hamel 1905(经 Zorn 证) | §5.11 |
| 极大理想(超滤子) | 每个真理想可扩成极大理想;每个滤子可扩成超滤子 | Krull 1929;Tarski/Stone 1930 年代 | §5.12 |
读表的两种姿势。姿势一:竖着读,逐条品味陈述的口味——AC 是「选」,WO 是「排」,Zorn 是「爬」,Tukey 是「装」,基与理想是「代数句法」,可比性是「量」。口味迥异的八句话竟互相等价,这是本章最深的惊奇。姿势二:横着读「提出人」栏——1904 到 1940 年的三十六年里,分析、代数、拓扑各领域的数学家在自己的地盘上独立撞见了同一枚硬币:良序来自序数理论,极大原理来自拓扑与集合论,基来自泛函分析的需求,理想来自代数。等价环的发现史,就是二十世纪前四十年数学各分支被拧上同一根轴的历史。
等价的确切含义。本章说「P 等价于 Q」,一律指:在 ZF(不带 AC 的 Zermelo–Fraenkel 公理体系,第二章)中,P ⟹ Q 且 Q ⟹ P。这个框架值得强调:等价不是「在 ZFC 中互相推出」(那样平凡地成立),而是在没有选择公理的贫瘠世界里,八句话仍然互相搀扶——谁被采纳为公理,谁就能把其余七句全部赎买回来。
★★★ 现在打通最长的一段弧:从「会挑」到「会排」。证明是策梅洛 1904 年的原型,工具是第三章的超限递归(见 §3.6)与 Hartogs 定理(§5.7 将正式陈述并证明其存在性论证)。
证明。设 X 是任意集合。全程只做三件事:配针、按号入座、验票。
γ(α) = h( X \ γ[α] ),其中 γ[α] = {γ(β) : β < α};若 X \ γ[α] = ∅ 则停机。
也就是说:第 α 步,看还有哪些人没入座,用针 h 从剩下的集合里挑一位,编为第 α 号。这正合第三章的超限递归原理——递归规则在「剩余集非空」时明确给出值,在「剩余集为空」时停机。
停机为什么必然发生。这是证明的心脏,也是最容易被含糊带过的一步。假设递归永不停机:则每个序数 α 都有定义,且 α ≠ β 时 γ(α) ≠ γ(β)(每次都从「未入座者」中取,入过座的不再被取),于是 γ 是全体序数之类到 X 的单射。但 Hartogs 定理(1915;§5.7 给出完整论证)说:存在序数 H,使 H 到 X 不存在单射。取这个 H,把 γ 限制在 H 上就得到一个矛盾的单射。故递归必在某个序数处停机——集合装不下整条序数长河,这就是停机的全部理由。
两点诚实注记。其一,这个良序一般不可写出:针 h 的存在由公理担保,却没有显式表达式,所以「ℝ 的一个良序」在 ZFC 中存在,却没有人能把它列出来——这正是 §5.15 争议的焦点之一。其二,证明里「每次从剩余集挑一位」用了同一个 h,而非无穷多次分别用公理;把无穷次挑选压缩成一次选 h,正是 AC 的用法要领。反向通道——良序如何赎回选择——下一页立刻给出。
★★ §5.4 的证明并不对称:从 AC 到 WO 走了一整页,从 WO 回 AC 却只要三行。这条反向通道值得慢走一遍,因为它藏着一个常被说错的技术点——到底要对什么良序。
证明。设 𝒜 是两两不交的非空集合族。要做的事只有一件:找到一条规则,从每个 A ∈ 𝒜 里各指定一个元素。
诚实注记:不需要对族良序。不少教材在此处误写「先把族 𝒜 良序,再逐个取最小元」——那既多余又可疑:𝒜 的良序化同样由良序定理保证,但它对构造选择函数毫无用处,真正的引擎是并集这一个集合的良序。集合 U = ⋃𝒜 由分离与并公理(第二章)合法造出,其上的良序由良序定理一次给出;之后每一步都是确定性操作,再无任何选择。所以本定理的准确记法是:良序定理 ⟹ AC,中间不借任何更弱的中间原则。
合拢半环。至此 AC ⇔ WO 打通:§5.4 的「按号入座」与 §5.5 的「取最小元」一进一出,选择与排序原来是一件事的两面。这也解释了 §5.2 表述三的历史地位:策梅洛 1904 年的原文正是以「每集可良序」为公理、以选择函数为推论——方向恰好与今天教科书的讲法相反。环上还剩两条主干:AC 与 Zorn 的双向通道(§5.7–5.8),以及通向基数可比性的支线(§5.9)。通往 Zorn 的路上需要一件新武器——Hartogs 定理,下一页先立 Zorn 本尊,再亮武器。
★★ 选择公理的表述一与良序版都长着「集合论」的脸;可代数与拓扑的证明里出场的却是另一副面孔——它谈偏序、谈极大,姿势与数学家的日常完全合拍。本节先立词汇,再立引理。
历史三笔。这句话的雏形见于 Hausdorff(1909)与库拉托夫斯基(Kuratowski,1922);马克斯·佐恩(Max Zorn)1935 年在《美国数学会通告》上以「极大原理」为名独立发表,并率先把它用作代数中的工作母机——「Zorn 引理」之名则是 Tukey 在 1940 年代叫开的。命名常有错位(绪论已见一例),读文献以内容与年代为准。另名字里的「引理」是历史叫法:它在 ZFC 里是一条定理(由 AC 证出,§5.7),在 ZF 里则与 AC 等价(§5.8)——「引理」二字记录的是它常被当作出发点的历史时期。
直觉:归纳法的偏序化身。数学归纳沿自然数爬梯,超限归纳沿序数爬梯(第三章);Zorn 引理把「爬梯」抽象成偏序语言:只要每一段已经爬出的路(链)都还能继续落脚(有上界),就一定能爬到一处「再无更高处」的顶端(极大元)。它的威力在于把「存在极大对象」的证明压成一次机械验证:造一个偏序、验它归纳、收下极大元——三步走完,存在性到手。§5.11–5.12 的四个应用现场将把这「三步走」演练成肌肉记忆。但「每条链有上界」这句前提半点含糊不得:上界必须落在 P 里面,且必须对每一条链成立——例题课(§5.6 之后的 p146)会专门解剖两处典型误用。
两个立即可用的示范。示范一(正样本):正整数按整除排序,链 1 | 2 | 4 | 8 | ⋯ 的上界需要 infinite……这条链没有上界,偏序不归纳——事实上它有极大元(任何素数),但 Zorn 用不上,可见「归纳」不是极大元存在的必要条件,只是充分条件。示范二(负样本):有限子集按 ⊆ 排序的偏序(全体有限子集),链 {0} ⊂ {0,1} ⊂ {0,1,2} ⊂ ⋯ 的上界是无穷集 ℕ,不在 P 内——链没有上界,偏序不归纳,也确实没有极大元:Zorn 的前提与结论在这里同时失效,一并印证了前提的必要性。下一页把直觉兑现为完整证明。
★★★★ 本页的证明是全章最陡的一段路,但每一步都只踩在已铺好的石板上:AC(§5.2)、超限递归(第三章 §3.6)、Hartogs 定理(本页末给出完整论证)。
证明。反证:设 P 无极大元,即每个 x ∈ P 之上还有更大的元素。我们沿序数搭一条「无限爬升」的链,最后用 Hartogs 定理戳破它。
γ(0) = h(P); γ(α+1) = h(Sγ(α)),即取严格大于 γ(α) 的某元; 对极限序数 λ:γ(λ) = h( {y : y 严格大于 γ[λ] 的每个元素} ).
极限步的选取集非空:γ[λ] 是链(归纳可见),归纳性给出其上界 u,而 u 非极大(无极大元假设),故存在 y > u ≥ γ[λ] 的一切元素。于是递归在每类阶段都有定义,且严格递增:后继步 γ(α+1) > γ(α);极限步 γ(λ) 严格大于前面一切。
存在性论证(只用幂集与分离,不用 AC)。令 W 为全体「X 的子集连同其上的良序」组成的类:W = {(A, R) : A ⊆ X, R 是 A 上的良序}。子集由幂集公理形成,良序关系 R ⊆ A × A 也是集合,配对与分离公理(第二章)把 W 削成集合。第三章已证:每个良序集同构于唯一一个序数(§3.6);由替换公理,W 中诸结构对应的序数全体组成一个序数集合 H。两个方向的验算:① 若 α ∈ H,则 α 与 X 的某子集有双射,故有单射 α → X。② 反之,若序数 β 有单射 β → X,把 β 的序沿单射搬到像集上,像集便带着一个良序——(像集, 搬过去的序) ∈ W,而 β 正是它的同构序数,故 β ∈ H。于是「能单射入 X 的序数」恰好组成集合 H,H 自己不能单射入 X(否则 H ∈ H,而序数集合的序数层次由第三章禁止这种自属)。取 H 为其中最小者即得定理。∎
回看两处细节。其一,第一步里把「链的上界存在」与「上界可被挑选」分开——前者是归纳性的免费赠送,后者才动用 AC;混淆两者是这一证明最常见的笔误。其二,Hartogs 的存在性论证完全不用选择:幂集造 W、分离削多余、替换收拢序数——三根柱石(第二章)就够。这保证了 AC ⟹ Zorn 是「AC 一次性偿付」的定理,不暗中再借选择。反向通道 Zorn ⟹ AC 见下一页。
★★★ §5.7 的证明像登山,这一页的证明像搭积木:把「部分选择函数」码成一摞按扩张排序的积木,Zorn 保证积木摞到顶就是全函数。这是 Zorn 引理的标准用法范本,三步走的节奏记熟——后面 §5.11–5.12 会原样重放。
证明。第一步(造偏序)。称函数 f 为部分选择函数,若其定义域 dom(f) ⊆ 𝒜,且对每个 A ∈ dom(f) 有 f(A) ∈ A。令
𝒫 = { f : f 是 𝒜 的部分选择函数 },按「函数扩张」排序:f ≤ g ⟺ g ⊇ f(图包住图).
「≤」是偏序:自反、反对称(函数由图像唯一决定)、传递,直接验证。
第二步(验归纳)。非空:空函数(定义域为空集的函数)是部分选择函数,故 𝒫 ≠ ∅。链有上界:设 𝒞 ⊆ 𝒫 是一条链,令 g = ⋃𝒞——把链中所有函数的图像并起来。验证 g 是函数:若 (A, a) 与 (A, b) 都在 g 里,则它们分别来自某两个 f, f′ ∈ 𝒞;𝒞 是链,f ≤ f′ 或 f′ ≤ f,于是 a 与 b 都等于公共值——链性保证了图像并起来不打架。再验 g 是部分选择函数:其定义域是诸 dom(f) 之并(仍 ⊆ 𝒜),且对 A ∈ dom(g),g(A) 是某 f(A) ∈ A。显然 g 扩张 𝒞 的每个成员,是 𝒞 的上界。故 𝒫 归纳。
第三步(取极大元并封口)。Zorn 引理给出极大元 f* ∈ 𝒫。断言:dom(f*) = 𝒜。反设某个 A0 ∈ 𝒜 不在定义域内;取定 a0 ∈ A0(单次选取一个元素,有穷情形,不需要公理),令
f′ = f* ∪ {(A0, a0)}.
则 f′ 仍是部分选择函数(新值 a0 ∈ A0,旧值原封未动),且 f* < f′ 是真扩张——与 f* 的极大性矛盾。故 f* 处处有定义,它就是 𝒜 的选择函数。∎
节奏总结:Zorn 三步走。这一证明树立了全章应用的模板——① 造偏序:把「想要的对象」的近似物(部分选择函数)按扩张排序;② 验归纳:非空 + 链并仍是合法近似物(此处的关键引理是「链的函数并是函数」);③ 封口:若极大元还不是目标对象,就手工把它真扩张一步,制造矛盾。§5.11 的「基」与 §5.12 的「极大理想」将逐字重放这三步,只换近似物的定义。至此 AC ⇔ Zorn 双向打通;下一页处理环的第三主干:良序 ⟹ 基数可比。
★★★ 第四章在 §4.9 留下的钩子此刻可以收线了:两个无穷集合的大小,在什么公理下才必然可比?答案:良序定理——而它又等价于 AC。于是「任意两个集合可比」也挂进了等价环。
证明。设 A, B 为任意集合。三步:
收线 §4.9。第四章用对角线证明了严格不等式的存在(|A| < |𝒫(A)|),却在「任意两个基数是否总可比」处收手——因为在 ZF 里这确实推不动。本定理补齐了缺失的一半:在 ZF + WO(即 ZFC)中,任何 |A| 与 |B| 都可比较,基数的世界排成一条完整的线性序列,ℵ 记号(第四章)由此获得它宣称的全域含义。还需补一句诚实的反向话:
等价环的三条主干——AC ⇔ WO、AC ⇔ Zorn、WO ⇔ 可比——全部打通。剩下一圈代数面孔(Hausdorff、Tukey、基、理想、超滤)都挂在 Zorn 之下,下两页把它们逐一挂稳。
★★★ Zorn 引理说的是「链有上界则点有极大」,另有两句「排印更顺手」的等价物专谈链本身。本页陈述它们、证明其一,并说明为什么熟练者更喜欢它们。
由 Zorn 的完整证明。令 𝒫 = {C : C 是链且 C0 ⊆ C},按 ⊆ 排序。Zorn 三步走:① 非空——C0 ∈ 𝒫。② 归纳——设 𝒞 是 𝒫 中的链(即一族「互相按包含排序的链」),令 U = ⋃𝒞;断言 U 是链:任取 x, y ∈ U,各有其所属的 Cx, Cy ∈ 𝒞,由 𝒞 的链性有 Cx ⊆ Cy 或 Cy ⊆ Cx,于是 x, y 同在其中一个链里,可比较——「一族链的并按包含排序仍是链」,这句引理值得单独记牢(与 §5.8 的「函数链并是函数」同型)。又 C0 ⊆ U,故 U ∈ 𝒫 且是 𝒞 的上界。③ 封口——Zorn 给出极大元 C ∈ 𝒫:它是包含 C0 的链,且不是任何链的真子链,即极大链。∎
由 Zorn 的证明概要。按 ⊆ 排序(非空为前提给出底座);设 𝒞 ⊆ ℱ 是链,令 U = ⋃𝒞。关键一步:U 的每个有限子集 E,其成员分散在链的若干成员中,由链性可全收进某个最大的成员 A ∈ 𝒞,而 E ⊆ A ∈ ℱ,有限特征反过来说 E ∈ ℱ;再用有限特征的正方向得 U ∈ ℱ。「有限」二字正是链并能通过检验的原因——任何依赖只牵涉有限个对象,链性就能把它们收拢到一处。Zorn 给极大元。∎
三者的地位。Hausdorff 与 Tukey 都由 Zorn 推出;反向(Hausdorff ⟹ Zorn)是 p147 例题课的演练题,Tukey ⟹ AC 也是标准习题。实践中三者的分工是口味的分工:证「极大链」类命题(如线性空间的极大无关组、域论的 Zorn 论证)时 Hausdorff 的陈述一步到位;证「闭包类」命题(如极大理想、超滤子——「理想」恰有有限特征)时 Tukey 的陈述把「验归纳」直接省掉。它们不是新数学,而是 Zorn 的两种高频排版——但把排版练熟,证明就短一行。
★★★ 第一个应用现场留给线性代数的地基:「每个向量空间都有基」。有限维时这是熟知的构造;无穷维时(例如 ℝ 作为 ℚ-向量空间),任何逐个添加的程序都做不完——正是 Zorn 的主场。
证明(Zorn 三步走)。设 V ≠ {0}(零空间的基为空集,平凡)。
推论两则。其一,每个向量空间有 Hamel 基,特别地 ℝ 作为 ℚ-向量空间有基——ℝ 在 ℚ 上的维数是 |ℝ|(第四章的基数算术可以算出这个等式,实验页 p155 将模拟有限维版本);这个基被称为 Hamel 基,泛函分析里的「病态函数」大多由它孵化。其二,同法可证:线性无关族总可扩成基(把起点族并进偏序即可),域的代数闭包存在性也走同样的路线——完整展开预告第六章(§6.4)。
第二个应用现场——环的极大理想与超滤子——是同一支舞的另一段;顺便将在那里看见通往第六章(可构造宇宙 L 与非标准分析)的门。
★★★ 第二个应用现场在代数与逻辑的交界。两条定理——交换环的极大理想存在、超滤子的存在——都将按 §5.8 立下的三步走模板完成;它们是通往第六章的两扇门:可构造宇宙 L 的定义需要可 adelica 的序结构,而非标准分析的超实数域由超滤子直接建成(§6.5、§6.7 预告)。
证明(Zorn 三步走)。① 造偏序:令 𝒫 = {I : I 是真理想且 I0 ⊆ I},按 ⊆ 排序。② 验归纳:非空——I0 ∈ 𝒫。链有上界——设 𝒞 是 𝒫 中的链,令 U = ⋃𝒞;理想的三条(加法封闭、吸收乘法、非空)对并集逐条验证成立,标准的集合式检查;关键在「真」:1 ∉ U,因为若 1 ∈ U,则 1 属于链的某个成员 I,与 I 真矛盾——「真理想」这条限制在链并下幸存,正因为破坏它只需一个元素(1)跑进某个成员,而链的成员全都真。故 U ∈ 𝒫 是上界。③ 封口:Zorn 给极大真理想 M;它是真理想,且不被任何真理想真包含——恰是极大理想的定义。∎
超滤子原理。把「理想」换成「滤子」,剧本重演。非空集合 S 上的滤子 ℱ:非空的 𝒫(S) 子族,满足 ∅ ∉ ℱ、对交封闭、对超集封闭。超滤子:极大滤子——再添任何子集都逼出空交。等价刻画(陈述级):超滤子 𝒰 满足「对每个 A ⊆ S,A ∈ 𝒰 或 S \ A ∈ 𝒰,二者恰一」——它是一种「两极分化」的取真结构。
证明概要(完整细节留作 p149 习题 4)。偏序取「包含给定滤子的滤子」按 ⊆ 排序;归纳性的引擎是滤子的链并仍是滤子(三条公理逐条对并验证,与理想同型;∅ 不会进入,因为进并就得进某个成员)——此处的「有限性接口」与 §5.10 的 Tukey 引理完全同型,事实上「S 上的滤子」这一族正具有限特征,超滤子原理是 Tukey 引理的直接推论。Zorn 给极大滤子,再用「添 A 或添补集必有一个可行」论证极大即超。∎
两扇门。第一扇:第六章造可构造宇宙 L 时(哥德尔 1938/1940),须对每个阶段做「可定义子集」的规范化挑选——正是选择公理在 L 内可被回收的机关,§5.17 将述其结局:AC 在 L 中成立。第二扇:非标准分析的超实数域 *ℝ 的构造,就是「把 ℕ 上的某超滤子当作『大集合』的裁判」——超滤子的两极分化替每条命题投下决定性的一票。极大理想则守着代数一侧:每个整环嵌入一个域(分式域的推广——局部化),每个环的谱由极大理想布点。
★★★ 前几页尽是 AC 的红利;本页开始清算。第一个代价出现在测度论的心脏:1905 年,维塔利(Giuseppe Vitali)用 AC 造出勒贝格不可测的集合——「长度」对它无定义。证明是本章所有推理里最经济的一段,值得整页细读。
预备用语。称 E ⊆ ℝ 可测,若它能被区间序列逼近而获得长度 m(E) ≥ 0(精确定义从略;本节只用两条性质,稍后诚实列出)。本节在 [0, 1] 上工作。
证明。四步:
诚实账本:本证明用到测度的两条性质。① 平移不变:m(V + q) = m(V)——长度不因整体挪动而变;② 可数可加性:不交可数并的测度等于测度之和。两条都是勒贝格测度的立项公设。Vitali 的结论因此要读准:不是「存在长度算不出的集合」这么简单,而是「不存在同时满足这两条公设、又对一切子集给出长度的函数」——可测性必须舍卒保帅,让某些子集出局。而在没有 AC 的世界里(§5.16),「一切子集可测」的模型真实存在。
★★★★ 不可测集的代价还能更惊悚。1924 年,巴拿赫(Banach)与塔斯基(Tarski)证明:三维空间中的一个实心球,可以分成有限多块,仅凭旋转与平移重新拼装,得到两个与原球同样大小的球。体积凭空翻倍——守恒定律碎了一地。本页按陈述级把魔术的机关讲清,不展开全部技术细节。
机关一:自由群 F2 的奇怪分解。魔术的发动机是代数对象:两个生成元 a, b 的自由群 F2(全体由 a, b, a−1, b−1 拼成的既约词)。F2 有一个荒谬而严格的分解:F2 = S(a) ⊔ a·S(a−1),其中 S(a) 是所有以 a 开头的词之集——也就是说,F2 可以拆成两块,各自「平移」(乘一个生成元)后还原出整个 F2:一份变两份。这不是错觉而是定义的直接推论:以 a 开头的词,删去开头一个 a 还是词;不以 a 开头的词乘上 a 就变出以 a 开头的词。计数尽失,因为 F2 是无穷集——但真正的「非法」之处在于这个分解两块都不可测(在群上相应的测度意义下)。
机关二:球面是 F2 的舞台。三维空间中取两个旋转轴(须谨慎选取,避开交换关系),这两个旋转生成的旋转群正是 F2 的化身(除一个可数例外集)。把 F2 的悖论分解经旋转搬到球面上(可数例外集再用 AC 挑代表补平——第二个 AC 使用点),得球面的悖论分解;再经标准手法把球面升到实心球。块数 5 是精细计数的产物。
为什么它不是物理悖论。三问三答。问:质量哪来的?答:那些块不可测,没有体积可言,「体积守恒」对它们从一开头就无从谈起——魔术不违反守恒律,它证明的是不存在同时对一切子集有定义、又满足刚性与可加的体积函数;这与 §5.13 是同一个教训的极端版本。问:能照着做吗?答:不能。各块不是实心物体,而是借助 AC 挑选出来的、没有任何显式描述的点集,物理世界里连它的边界都写不出。问:二维为什么不行?答:平面的刚体运动群不含自由子群(von Neumann 1929 观察到「剽窃」的代数根源),平面上的等距测度有唯一的有限可加延拓——魔术是三维的特权。与 Vitali 的血缘:两例都是「AC 造出不可测对象 → 可加性妥协」的同一条因果链,一个在直线上、一个在刚体群里;差别只在 Vitali 逼测度放弃部分子集,巴拿赫–塔斯基逼体积放弃「有限分割下守恒」的直观。
★★ AC 从诞生的 1904 年起就伴随抗议。本页把三个声音放在一条光谱上:谁反对、反对什么、今天的共识是什么。这是数学史上第一场关于「存在」含义的正面交锋。
1904–1908 论战实录。策梅洛 1904 年发表良序定理,证明的核心一步——从无穷多个非空子集各挑一元——立即遭到两位分析学的拒绝。Borel(1904):无穷多次任意挑选不是合法的数学操作,数学只承认能描述的对象;良序定理对连续统「不可能有意义」。Lebesgue(1905,信件加入):同意 Borel,并指出自己证明测度扩张时用的挑选都是可数的、有显式规则的,不承认为任意族立法。为 AC 辩护的是 Hadamard(1905,同一组信件):集合论里的存在是「命题为真」,不必附带构造;否则数学将退回到只谈可直接计算的对象。策梅洛本人 1908 年发表第二个更严整的证明,同刊附文逐一回应批评——这场论战催生了公理化本身:ZFC 的九根柱石(第二章)正是策梅洛对「我们到底用了哪些原则」的清点。
构造主义的根本批评。布劳威尔(Brouwer,自 1908 年起)把批评推到逻辑根基:排中律——「每个命题非真即假」——对无穷总体无效;由「假设不可构造便矛盾」得到的存在证明(纯存在证明)在他看来什么也没证明:要证明「存在 x 满足 P」,就必须给出或至少给出获取它的方法。AC 在此视野下 doubly 可疑:它断言选择函数存在,却拒绝描述任何一条;更有甚者,它连「非真即假」也要依赖于把所有子集当作现成的总体。直觉主义随后发展出完整的平行数学(Brouwer 1918 年起的序列论),在那里良序定理、分球悖论统统失效——这不是错误百出的世界,而是更谨慎的世界。批评「AC 证明存在却不给出对象」一语,是这一立场最精炼的概括。
光谱与共识。把立场排成光谱:一端是 Brouwer(拒 AC、拒排中律),中间是 Borel、Lebesgue(接受可数选择、拒全称 AC),另一端是 Hadamard、Hilbert(全盘接受,Hilbert 视其为数学自由的原则问题)。今天的共识偏于中右:① 有穷选择人人接受(归纳法定理);② 可数选择绝大多数接受——分析学(极限、级数、测度的标准展开)处处暗中用它,§5.16 将给出正式安置;③ 全称 AC 被主流接纳,理由是实用主义的:它是数百个深刻定理(基、极大理想、Tychonoff 定理)的共同根,且 §5.17 表明它对 ZF 绝对安全(不会引入矛盾);④ 同时,人人知道它的代价清单(不可测集、分球),并学会了在使用处明码标价——「本证明用了 AC」成为现代数学论文的规范句式。
★★★ 光谱的中间地带需要自己的公理。本页介绍两条「减配版」选择原则——CC 与 DC——并回答一个实务问题:不签全称 AC 的合同,数学还能做多少?答案:标准分析的大半都能做。
强度排布与直觉。三个原则一根比一根强:CC 只保证「无穷次各拿一件」的一次性打包;DC 额外允许递归选择——每一步的新选择可以依赖前面已选出的全部历史(「走到哪,下一步的可选范围取决于足迹」),这正是数学归纳与递归构造的自然格式。可证:ZF 中 DC ⟹ CC,而由模型构造可知反向不成立、DC 也推不出 AC(陈述级;如 Feferman 1964 与 Fraenkel–Mostowski 系列的置换模型)。一句直觉:CC 是「袜子批发」,DC 是「跟着脚印走」,AC 是「随意指挥全军」。
ZF + DC 的分析学清单(陈述级)。标准分析学的大半支柱在 ZF + DC 中完好:① 实数的完备性与柯西列的收敛判定(每次构造下一步逼近点恰是 DC 的格式);② Baire 纲领——完备度量空间的 Baire 定理(可数个无处稠密闭集盖不住全空间)在 ZF + DC 可证,而它正是逐点收敛与一致收敛互相让路、纲论证、一致有界原理的总闸;③ 勒贝格测度的正则性:可测集可用闭集从内、开集从外逼近;④ 连续函数的极限运算、紧性与一致连续的中量级定理。也就是说,1900 年以来的分析学教科书正文,几乎不在 DC 之外多要什么——需要全称 AC 的,集中在泛函分析(Hahn–Banach、Tychonoff)、代数(基、极大理想)与「病态构造」(Vitali、分球)三处。这与 §5.15 的光谱完全咬合:分析学家反对的从来不是他们自己的日常。
CC 的反例生态一瞥。没有 CC 的世界并不空旷,反而异象纷呈(陈述级):存在「可数个两两不交的二元素集之族,无选择函数」的模型——罗素的无穷双袜子在字面意义上实现;由此连锁失效的定理包括「可数个可数集之并可数」「可数集的任何无穷子集可数」「ℝ 的每个无穷子集有可数子集」等基本账目。这些反例说明 CC 不是技术装饰,而是「可数世界保持可数」的最低保险。
★★★★★ 全章最后一个问题:AC 到底是真是假?1938 与 1963 年的两次地震给出了数学史上罕见的判决:在 ZF 的公理框架内,这问题既不可证真也不可证假。本页给陈述级的轮廓——完整的力迫法属于第六章的深水区。
L 为什么满足 AC(一瞥)。L 的每层 Lα 由前一层的可定义子集组成——「可定义」意味着每个成员自带一个描述(公式 + 参数)。于是 L 内任何非空集族,可以按字典序挑选「定义最短、字典序最小」的定义所指定的元素——一个全局的、内建的选择函数。AC 在 L 里不是外借的公理,而是「每个成员自带说明书」的自动推论。这一构造同时给 ZF + AC + CH 的相对相容性:只要 ZF 无矛盾,L 提供了一个三者都真的模型。注意哥德尔结果的方向性:AC 不可能推翻 ZF。
力迫在做什么(一瞥)。科恩的机器把「模型扩张」变成可计算的操作:从基模型出发,用有限近似的偏序(力迫条件)逐步决定新集合的形状,泛型滤子把有限近似拼成真正的对象。控制好偏序的形状,就能让新世界里恰好出现「无穷双袜子」——一族真正的、无规则可挑的两元素集。于是 ¬AC 的世界与 AC 的世界同样相容。两定理合读:AC 与 ZF 独立——它是不能由其余公理判定的一块自由领地,等价环上的八张面孔在 ZF 里同进同退,ZF 本身对整环的中立有宪法保证。
数学共同体为何接纳。把本章的账合上。独立的判决(1963)本可引发新一轮论战,实际却迎来平静的接纳,原因有三。其一,安全:哥德尔的方向保证使用 AC 绝不会引入矛盾——怀疑的子弹只剩「口味」一发。其二,丰收:等价环上的定理(基、极大理想、Tychonoff、超滤子)撑起了泛函分析与代数的骨架,弃 AC 等于弃掉半座大厦。其三,分层:DC(§5.16)给了谨慎者体面的住处,AC 给实在者开阔的地基,两者在各自的公理体系内都自洽——公理化把哲学之争转化为语法之别。今天,ZFC 是默认的通用语;而「此处用了 AC」的注脚,正是 1904 年那场论战留给每个写证明的人的礼仪。
本页任务。Zorn 引理的三步走(§5.8:造偏序、验归纳、封口)看似机械,陷阱却在细节里。先做两道正用题,再解剖两道典型误用——误用的诊断能力,与正用的熟练同样重要。
本页任务。把等价环上的弧线当书写题练:给定一个形式,写出推出另一个形式的完整书面证明。四道由易到难。
本页任务。五道题沿等价环布点:环内弧线自己打通、停机论证补细节、环外支线练配套。每题附提示;建议先写完整证明再看提示。
提示:正向即 §5.2 的贴标签手续;反向逐字读定义——不交性在「f(A) ∈ A」的验证里根本没被用到,把它从证明中删去即可。
提示:归纳假设「γ 限制到 α 上是单射且 γ[α] 的元互异」;第 α 步取自 X \ γ[α],按定义不在已入座名单内。注意极限步没有新值,只需继承。
提示:正向的链并论证已见 §5.10;反向的关键是「链」的定义只涉及两两比较,逐对检查是有限事务,故有限子集是链 ⟹ 全集是链。
提示:可数序数与 ℕ 有双射;反向用单射的像可数、序数与像集同构。ω1 的存在由可数序数全体成集合(替换公理)保证——这正是 Hartogs 论证在 X = ℕ 的具体化。
提示:链的上界取「并 + 序的并」,验证序的并仍良序需用「初始段扩张」的链性;封口处取 x ∈ X \ A 是单次有穷选择,不需要 AC——这正是本题最容易被写错的地方,理由说清楚。
本页任务。五道题扫过应用现场与代价区:代数两道、辨析两道、超滤子一道。难度自 ★ 到 ★★★★。
提示:三步走的「真」字验链并(1 跑不进并集)见 §5.12;若不要求真,R 本身是极大元,Zorn 照样工作但结论变成废话——「极大理想」的定义要求真。
提示:不交与覆盖的论证照抄 §5.13 第三步(把区间换圆周);概率归一化下平移副本之和 Σm(V) 恰为可数个相等的 t 相加,只能是 0 或 ∞,而 m(T) = 1 两者皆非。
提示:甲对一半——必要性取决于有没有可写的规则,而「能否对每个具体族都写出规则」才是公理级别的问题;乙的 f 是一条规则,说明这一族不需要 AC,但罗素说的是「任意族」——公理陈述的是全称,一个具体例子两者都不反驳。
提示:若补集中 x、y 可比且都与 S 中某元素可比,逐情况讨论会与 S 的反链性或极大性矛盾;「分层」的准确说法是 Zorn 引理迭代——但在无穷高的 P 上迭代选择是 AC 深水区,点到即止。
提示:「交不空」的验证分情况:B 含在 A 内用 A 本身;一般情形注意若 A ∩ B = ∅ 对某 B ∈ ℱ 成立,则 S \ A ⊇ B 将被迫进入(滤子对超集封闭)——恰是要排除的情形。
本章的全部推理装进一张图:八节点等价环,每条弧标注它的证明位置。干道三条(AC ⇄ WO、AC ⇄ Zorn、WO ⟹ 可比)逐字证过;支线由干道中转(Hausdorff、Tukey 挂 Zorn,基、理想、超滤挂 Zorn 三步走,Vitali 与分球挂 AC)。
读图三问。① 环的最短回路有多长?(答:AC → WO → 可比 →(经 Hartogs 与习题 5.5 的初始段扩张)→ AC;每条弧都有完整书面证明散布在本章与习题中。)② 哪些节点不是「等价环的成员」而只是「挂在环上的应用」?(答:基、理想、超滤、Hausdorff、Tukey 在 ZF 中也与环等价,但本章只证了「环 ⟹ 它们」这一个方向,反向留作进阶阅读。)③ 代价区为什么只画单向箭头?(答:不可测集与分球是 AC 的推论而非等价物——它们在 ZFC 中成立,却不反推 AC;图上的虚线提醒:红利与账单不能互相抵消。)
本章的一句话。选择公理不是八条原则,是一条原则的八种方言;方言之间的每一班直通车都已在书页上开出——AC⇒WO(按号入座 + Hartogs 停机)、WO⇒AC(并集良序取最小元)、AC⇒Zorn(序数爬升撞 Hartogs 高墙)、Zorn⇒AC(部分选择函数封口)、WO⇒可比(序数三歧性)。
概念清单。① 选择函数、乘积非空、可良序——AC 的三种表述(§5.2);② 偏序、链、上界、极大元、归纳偏序(§5.6);③ Hartogs 数:装不进集合的最小序数(§5.7);④ 有限特征与 Tukey 引理(§5.10);⑤ Hamel 基、极大理想、超滤子(§5.11–5.12);⑥ 不可测集(§5.13);⑦ CC 与 DC(§5.16)。
证明清单(会写才算过关)。① §5.4 良序定理:配针 → 按号入座 → Hartogs 停机 → 搬序;② §5.5 WO⇒AC:并集良序、各取最小元,并说清为何不需要对族良序;③ §5.7 AC⇒Zorn:两根针、超限递归、极限步取严格上界、Hartogs 反证;④ §5.7 Hartogs 存在性:幂集收良序对、替换收序数、双向验算;⑤ §5.8 Zorn⇒AC:三步走模板;⑥ §5.9 可比性:良序换序数、三歧性、初始段含入;⑦ §5.11–5.12 三个应用现场的三步走;⑧ §5.13 Vitali 四步:等价类 → 挑代表 → 平移覆盖 → 测度夹逼。
| 干道弧线 | 方向 | 发动机 | 位置 |
|---|---|---|---|
| AC ⟹ WO | 选 → 排 | 超限递归 + Hartogs 停机 | §5.4 |
| WO ⟹ AC | 排 → 选 | 并集良序、最小元 | §5.5 |
| AC ⟹ Zorn | 选 → 爬 | 序数爬升 + Hartogs 矛盾 | §5.7 |
| Zorn ⟹ AC | 爬 → 选 | 部分选择函数封口 | §5.8 |
| WO ⟹ 可比 | 排 → 量 | 序数三歧性 + 初始段嵌入 | §5.9 |
三句防错口诀。其一:「并集仍是成员」要逐条验——函数、链、无关族、真理想、滤子各验各的(例 5.21 的翻车现场)。其二:「归纳」是全称陈述——一条链没有上界,全盘出局(例 5.22)。其三:AC 的使用点要指名道姓——§5.13 第二步、§5.14 例外集补平、习题 5.5 封口处,每一次动用公理都应能被指出来;指不出来的「选择」,多半其实是有穷的或可定义的。
下半场(下页起)清点代价、升华观念、动手实验——然后以一张对照卡把八张面孔压成一页。
本页任务。AC 的红利在等价环上,代价在环外——但每一笔代价都因 AC 而开票。清单式盘点,条目均可回溯到正文证明。
| 代价条目 | 内容 | 死者与年份 | 回溯 |
|---|---|---|---|
| 不可测集 | [0, 1] 存在子集 V,平移不变 + 可数可加之下长度无定义;一切子集可测的旧梦作废 | Vitali 1905 | §5.13 |
| 分球悖论 | ℝ3 中一球分 5 块,经旋转平移拼成两球;「有限分割保体积」对一般集合失效 | Banach–Tarski 1924 | §5.14 |
| 不可写的良序 | ℝ 有良序却无人能写出:选择函数的存在由公理担保、无显式描述 | Zermelo 1904 | §5.4 |
| 测度论的舍卒 | 勒贝格测度只能对可测集定义;概率论的「事件域」必须限制为 σ-代数 | Lebesgue 1902 起的框架妥协 | §5.13 |
| 纯存在证明的合法性 | Zorn 式证明给出对象存在而不给出构造;构造主义至今拒收 | Brouwer 1908 起 | §5.15 |
清单的正确读法。其一,代价与收益同源:五条账目没有一条能从 ZF 单独开出——没有 AC 的世界里一切集合可测、分球失效(Solovay 1970 的模型,陈述级);开出代价的不是错误,而是同一枚硬币的另一面。其二,代价可以明码标价:分析学的日常活在 ZF + DC 之内(§5.16),五条账目一条也碰不到;只有进入泛函分析、代数与「病态构造」的地界才需要全额 AC。其三,代价不可逆推:不可测集与分球都是 AC 的推论而非等价物(图 5-18 的单向虚线)——它们证明 AC 有后果,却不参与等价环的循环。
与 §4.9 的对账。第四章留下的钩子至此全部收线:基数可比性由 WO 赎回(§5.9),而 WO 与 AC 互为表里;无穷的层级从「部分序」升格为「全序」的代价,恰是这张代价清单。第四章问「无穷有多大」,本章答「无穷有多大先得问:挑选的权力从哪来」——这就是本章作为全书转折点的位置。
本章最深的一课是:数学里的「存在」有两种品格。构造的品格——给出对象,或至少给出获取对象的方法:最小元是被序号逼出来的,链并是被定义算出来的,Hamel 基在有限维是被贪心程序摸出来的(实验页可亲手验证)。宣布的品格——用公理担保对象在,却不交出它的长相:ℝ 的良序存在,但没有人能写出它;Vitali 集存在,但它的每个点都被「挑」得来路不明。两种品格都是数学的合法武器,但它们签的是不同的合同:前者附操作说明,后者只附存在条款。
选择公理把这桩老议题逼到了台前。1904 年之前的数学家并不区分这两种存在——「存在」就是存在,追问「怎么给」似乎是哲学。论战(§5.15)之后,数学共同体达成了一项精细的妥协:宣布式存在被正式接纳,但必须挂牌经营。「本证明使用 AC」是现代论文的规范句式,正如食品包装上的成分表——有权知道自己咽下去的是构造还是宣布。Zorn 引理之所以风行,正因为它把宣布式存在包装成三步走的例行手续:造偏序、验归纳、封口——存在性被流水线化,哲学争议被工序吸收。
但工序化不等于问题消失。DC 与 AC 的分层(§5.16)、L 与力迫的判决(§5.17)说明:宣布的权力本身是有边界的、可分级的、甚至不可判定的公理选项。一位数学家的「存在」菜单上,每一行都是一个模型论选择。自问:§5.8 的部分选择函数证明里,空函数是构造,极大元是宣布——同一个证明里的两种品格,交接棒发生在哪一步?那一步可以避免吗?
挑战目标。AC 的使用常常伪装成「取一个」「任取」之类的口头语。本页给三个常见证明的片段,逐句定位隐藏的选择动作,判定它是有穷的(合法,无需公理)、可定义的(合法,有显式规则)、还是真正动用了 AC。分步引导在每题下方。
分步引导。① 「Bolzano–Weierstrass 保证存在收敛子列」是纯存在陈述;② 「取其一」:单次从一个集合里取一个元素——有穷,合法;③ 但「对每个数列」重复无穷次:这已不是有穷动作。可数族上的无穷次有穷选择,需要 CC 还是全称 AC?④ 进一步:若每个数列给出唯一的「字典序最小收敛子列」(试想如何定义),选择是否自动合法?——这正是「可定义的」路线;⑤ 结论:此证明隐蔽地用了 CC(或一条可定义规则来绕过)。它与 §5.16 的分析学清单处于哪一层?
分步引导。① 「排成一列」:对每个可数集,存在一个枚举(双射 ℕ → A)——纯存在;② 「把第 n 个集合排成一列」意味着从无穷多个可能的枚举里选一个——对每个 n 一次,无穷多次;③ 这是一次 CC 使用(§5.16:ZF + CC 中命题成立);④ 在只有 ZF 的世界里,存在模型使「可数个二元集之族无选择函数」——那时连「可数个可数集之并可数」都推不动(§5.16 反例生态);⑤ 复盘:蛇形走位是无辜的,罪在「排成一列」这句轻描淡写。
分步引导。① 取 v ≠ 0:单次有穷;② 链并 U = ⋃𝒞:由并公理唯一确定——可定义,无选择;③ 收拢论证:对每个反例组合找公共成员——逻辑推理,无选择;④ Zorn 的调用:由 §5.7 等价于一次选择函数的调用(选 h)加上 Hartogs 反证——h 的存在正是全章开头那根针;⑤ 封口:反证里的 w 由假设给出,非选取;⑥ 结论:整个证明只有一处真正动用 AC,它藏在「Zorn 引理」四个字里——这正是 Zorn 作为「AC 的工作母机」的用意:把公理的使用压缩成一个可以整批租用的名词。
实验目的。把 Zorn 引理的两个核心机制——「贪心爬到极大」「部分对象封口成全对象」——搬进有限世界,让程序摸一摸 §5.7 与 §5.11 的骨架;再看有限世界与无限世界的分界线在哪里。脚本存于 qa/exp_c5.py,纯标准库、随机种子固定,全部结果可复现。
实验一:有限偏序的极大元——Zorn 的有限影子。随机生成 8 元偏序(随机可比对取传递闭包、拒绝有环),用「贪心链扩张」向上爬到极大元,再穷举全部极大元对照:
def greedy_maximal(R, n):
# Zorn 的有限影子:沿链贪心向上爬,直到无处可爬
x = random.randrange(n)
while True:
ups = [y for y in range(n) if y != x and (x, y) in R]
if not ups:
return x
x = random.choice(ups)
T = 200
ok = 0
for _ in range(T):
R = random_poset(8) # 随机 8 元偏序(传递闭包 + 反对称检验)
ok += greedy_maximal(R, 8) in maximal_elements(R, 8)
print('200 个随机偏序:贪心到达极大元', ok, '次')
真跑输出:200 次全部到达极大元,平均每个偏序有 2.62 个极大元——有限世界里「链有上界则极大元存在」可以逐例验证;无限世界里同样的贪心要爬过整条序数长河,Hartogs 定理(§5.7)才是停机的保证。
实验二:部分选择函数——Zorn ⟹ AC 的有限排演。对 6 族有限非空集(大小 2, 2, 3, 1, 2, 2),穷举全部「部分选择函数」(每族不选或选一个),按图像包含 ⊆ 排序,验证极大元恰好是全函数:
fams = [('红','绿'), ('左','右'), (1,2,3), ('甲',), ('上','下'), (0,7)]
partials = set()
for combo in product(*([None] + list(f) for f in fams)):
partials.add(frozenset((i, v) for i, v in enumerate(combo)
if v is not None))
maxs = [p for p in partials if not any(p < q for q in partials)]
totals = [p for p in partials if len(p) == len(fams)]
print('部分选择函数', len(partials), '个;极大元', len(maxs),
'个;极大 == 全函数:', set(maxs) == set(totals))
真跑输出:部分选择函数 648 个、极大元 48 个、极大元集合与全选择函数集合相等——§5.8 的封口论证(「还缺一个就能真扩张」)在穷举之下看得一清二楚。
实验三:Q3 上的贪心基扩张——Hamel 基的有限维模拟。以 ℚ3 为 ℚ-向量空间,从初始无关组 (1, 0, 1) 出发,扫描候选向量池(坐标取 −1, 0, 1 的全体非零向量),凡与当前组线性无关者收入——正是 §5.11 证明的有限维化身(分数域高斯消元判秩):
def rank(vs): # 分数域高斯消元求秩(略)
B = [(Fraction(1), Fraction(0), Fraction(1))]
pool = [(a,b,c) for a in (-1,0,1) for b in (-1,0,1)
for c in (-1,0,1) if (a,b,c) != (0,0,0)]
for v in pool:
if len(B) == 3:
break
tv = tuple(Fraction(x) for x in v)
if rank(B + [tv]) == len(B) + 1: # 加入后仍线性无关
B.append(tv)
# 真跑得 B = [(1,0,1), (-1,-1,-1), (-1,-1,0)],秩 = 3,
# 且 26 个候选向量全部能由 B 表出(坐标用分数精确求解核对)
真跑输出:贪心收工于三维基,秩为 3,26 个候选向量全部表出核对无误。注记:有限维时贪心程序必然收工;而 ℝ 视作 ℚ-向量空间时候选池不可数、贪心永不终止——那里才是 Zorn 引理(§5.11)的地盘。有限影子照出无限真身的边界,正是本实验的题眼。
实验报告要求。① 贴出实验一的三行输出,并解释为什么贪心不会漏掉「极大但非最大」的元素;② 实验二把族大小改成 (2, 2, 2, 2),重算三个计数并验证极大元仍是全函数;③ 实验三把初始组换成 [(1, 1, 1)] 重跑,报告得到的基与 §5.11 的「极大无关族即基」对照;④ 回答:三个实验里哪些选择动作是可定义的(挑战页的分类),哪些在对应无限版本中必须动用 AC?
鱼与熊掌:选择的原始难题。《孟子·告子上》(战国,约前 4 世纪)开篇设喻:「鱼,我所欲也;熊掌,亦我所欲也;二者不可得兼,舍鱼而取熊掌者也。」这是中文传统里最著名的选择命题,而它的精妙处恰在与本章的呼应:孟子并没有停留在「选哪个」——他紧接着把同一结构升格到无穷:「生,亦我所欲也;义,亦我所欲也;二者不可得兼,舍生而取义者也。」两件不可兼得的东西摆在一起,先给一个具体的挑选(鱼与熊掌),再逼出一条覆盖一切情形的规则(生命与道义)。这正是本章 §5.1 的结构:一双靴子可以随手挑,无穷双靴子需要一条规则——孟子做的,正是从有限挑选上升到「可普遍化的选择函数」。他用「舍生取义」四字,写下了一条定义域覆盖一切两难情形的选择规则,并且这条规则满足 AC 语法的全部要求:对每个可能的情形(定义域里的每个成员),唯一地指定一个行动。
经权之辨:非标准情形的挑选。但儒家传统对「规则覆盖一切」并不放心,于是有「经权之辨」。《论语·子罕》(春秋,前 6–前 5 世纪):「可与共学,未可与适道;可与适道,未可与立;可与立,未可与权。」——「权」被摆在「立」之上,是学问序列的最高一级。《公羊传·桓公十一年》(战国成书)说得最直白:「权者何?权者反于经,然后有善者也。」(何休注,东汉):「权者,反经合道。」也就是说:经是普遍规则(可写的选择函数),权是规则未覆盖处的临时决断。宋儒为这道裂缝吵了数百年——程颐以为「权只是经也」,朱熹《四书章句集注》(南宋,1190)则训「权,秤锤也;所以称物知轻重者也」:权是那杆秤,在没有成文规则时现场称量。这场争论的形状,与 §5.1 的三级门槛惊人地同构:有穷选择人人会(手里的秤),可数选择开始含糊(秤的刻度要统一),任意族的选择需要立宪(先承认存在一杆对一切都有效的秤)。而孟子的另一段文字恰好踩在「权」的极端情形上:《孟子·离娄上》「男女授受不亲,礼也;嫂溺援之以手者,权也」——规则说不可触碰,溺水的人命在催促决断。这正是「每族非空集必有选择函数」的伦理版本:规则未及处,不是没有答案,而是需要一个更高的存在性担保。公理化的「选择」与儒家的「权」,都是在无标准可依处立法——区别只在立法者:一个交给公理体系与模型论(§5.17 的独立性判决),一个交给心与天理(孟子的「本心」,《告子上》「此之谓失其本心」)。
两种立法的对照。把两边并排看:孟子立宪的检验标准是价值排序——熊掌重于鱼、义重于生,选择函数的良定义性来自一个全序(这正是 §5.4 的洞见:会排序就会挑选;有全序才有确定的选择)。ZFC 立宪的检验标准是相容性与多产——哥德尔证明它安全(§5.17),科恩证明它不可判定,共同体按收获与代价(§5.15 的光谱)投票接纳。两条传统最终在「代价意识」上会师:孟子在「舍生取义」之后立刻补上「非独贤者有是心也,人皆有之」——宣布式选择不是特权阶级的专利,而是普遍担保;ZFC 的使用者则在论文里标注「本证明使用 AC」——宣布的权力必须挂牌。舍鱼而取熊掌的豪情,与「此处用了选择公理」的冷静注脚,相隔两千三百年,说的是同一件事:选择的自由从来不是免费的,账要记在明处。
| 条目 | 一句话内容 | 互推路径(§) |
|---|---|---|
| AC 选择函数版 | 每族非空集存在选择函数 f(A) ∈ A | §5.2 定义;⟸ WO §5.5;⟸ Zorn §5.8 |
| AC 乘积版 | 非空集族的笛卡尔积非空 | §5.2 与选择函数版互推(贴标签) |
| WO 良序定理 | 每个集合可良序 | ⟸ AC §5.4(按号入座 + Hartogs);⟹ AC §5.5 |
| Zorn 引理 | 非空归纳偏序集有极大元 | ⟸ AC §5.7(序数爬升);⟹ AC §5.8(部分函数封口) |
| Hartogs 定理 | 存在序数 H 无单射 H → X(只用幂集与分离) | §5.7;支撑 §5.4 与 §5.7 的停机 |
| Hausdorff 极大原理 | 每条链可扩成极大链 | ⟸ Zorn §5.10;⟹ Zorn 例 5.25 |
| Tukey 引理 | 有限特征集族有 ⊆-极大元 | ⟸ Zorn §5.10;⟹ AC 例 5.24 |
| 基数可比性 | 任意 A, B:|A| ≤ |B| 或 |B| ≤ |A| | ⟸ WO §5.9(三歧性);⟺ WO 例 5.9;收 §4.9 钩子 |
| 向量空间有基 | 每个向量空间有 Hamel 基 | ⟸ Zorn §5.11(三步走 + 漏网封口) |
| 极大理想定理 | 每个真理想可扩成极大理想(Krull 1929) | ⟸ Zorn §5.12(链并保「真」) |
| 超滤子原理 | 每个滤子可扩成超滤子(Tarski–Stone) | ⟸ Zorn §5.12;封口 p149 习题 5.10 |
| Vitali 不可测集 | AC 的代价:[0,1] 有不可测子集(1905) | §5.13 四步证明(只从 AC 单向支出) |
| 巴拿赫–塔斯基 | 一球分五块拼成两球(1924) | §5.14(F2 分解 + AC,陈述级) |
| CC / DC | 可数选择 / 依赖选择:严格弱于 AC,强于 ZF | §5.16 强度阶梯;ZF + DC 撑起分析学 |
| 独立性判决 | Gödel 1938(L 中 AC 真);Cohen 1963(力迫 ¬AC) | §5.17:Con(ZF) ⟹ Con(ZFC) 且 Con(ZF+¬AC) |
三句防错口诀(承 §5.6 与例题课)。① 「并集仍是成员」逐条验,函数、链、无关族、真理想、滤子各验各的;② 「归纳」是全称陈述,一条链无上界即出局;③ AC 使用点指名道姓——有穷选择与可定义规则不算数。下一站是第六章:从空集造出实数,Zorn 的租借合同(代数闭包)在 §6.4 兑现,超滤子的票据在 §6.7 支付。
「数」从哪里来?中小学的回答是:数是起点,是天生给定的;数学的工作是研究它们的性质。本章把这句话整个翻转过来:数不是起点,而是产品——全部从空集 ∅ 出发,在 ZFC 的流水线上一级一级装配出来。这不是比喻而是施工:第二章逐条验收过的九根柱石(ZFC 公理表)是施工规范,第三章的序数与超限归纳是起重设备,第五章的 Zorn 引理是大型吊装。本章的任务是把大楼盖起来——而且要盖到每天在用的那层楼:实数。
装配线的主干只有五个工位,每种「数」各有一种施工法:自然数靠序数化身(0 = ∅,1 = {∅},……,冯·诺依曼 1923);整数与有理数靠商构造(把「差」与「比」用数对装起来,再把多余的表示商掉);实数靠完备化(戴德金切割与柯西序列,1872 年同一年提出的两条路)。装配线上每一件出厂产品都要过四道检验:等价关系是不是等价关系?运算是否代表元无关?旧数系是否嵌入新数系?新数系有没有拿到它该有的泛性质?
大楼封顶之后,本章下半场走进深水区:用 Zorn 引理给每个域配齐代数闭包(§6.8);为分析学搭 Borel 层级的骨架(§6.9);与老朋友康托尔集重逢——第四章的对角线在零测度的尘埃上数出整条实线(§6.10);随后是哥德尔的可构造宇宙 L 与科恩的力迫法,两大判决合围,连续统假设被宣告独立(§6.11–6.13);最后是多元宇宙、大基数与 Ultimate-L——当代集合论的最前沿(§6.14–6.17)。
随身行李在历章已备齐:等价关系与商集(第一章)、ZFC 公理表与有序对编码(第二章)、序数与超限归纳(第三章)、对角线法与 2ℵ0(第四章)、Zorn 引理(第五章)。本章不用新的公理,只把旧公理用到原本不敢用的地方——这正是本章的标题含义:ZFC 不只是关于集合的数学,它就是数学。
★★★ 装配线第一工位:自然数。困难在于「从无到有」——ZFC 的宇宙里原本没有数,只有集合与隶属关系 ∈。冯·诺依曼(1923)的方案堪称天才:让每个数自己就是一台计数器——把 n 造得恰好有 n 个元素,而且这些元素恰好是比它小的那些数。数既是名词,又是自己的账本。
这个定义立即兑现它的承诺:每个 n 的元素恰是 0, 1, …, n − 1,个数恰为 n;且 n ∈ s(n)、n ⊆ s(n),隶属关系与「小于」重合——数的大小次序不再需要另外发明。但要宣布「这就是皮亚诺笔下的自然数」,三条公理必须逐条重验:
三条公理的来源各有深意:(P1)(P2)靠的是无穷公理与正则公理——「从无造有」与「不许循环」;(P3)最深刻,归纳原理不是天赋直觉,而是「最小归纳集」里那个「最小」的推论:凡归纳集都装着 ω,反过来说,ω 里没有任何「归纳够不着」的多余元素。归纳从此不再是信念,而是定理。
还差一步:加法与乘法。中学的定义是递归的(a + 0 = a,a + s(b) = s(a + b)),而「递归定义合法」这件事正是第三章超限递归定理在 ω 上的特例——ZFC 内一步到位。交换律、结合律等可用归纳原理逐条证明(第一章的等价关系、本章习题会练)。至此,自然数连同它的全部算术,在 ZFC 内落户。下一工位:减法欠的账。
★★★ 自然数的第一个不便是减法不封闭:3 − 5 在 ℕ 内无解。负数的历史上人类等了两千年才把它当「数」;ZFC 的装配线上它只是一道工序。思想:「差」这个信息本身不需要负号来装——一个自然数对 (a, b) 就能携带它,读作 a − b。但 (3, 5) 与 (1, 3) 装的是同一个差,多余的表示必须商掉。
[a, b] + [c, d] := [a + c, b + d], [a, b] · [c, d] := [ac + bd, ad + bc].
验货第一关:~ 是等价关系。自反与对称显然。传递:设 a + d = b + c 且 c + f = d + e。两式相加得 a + d + c + f = b + c + d + e,由自然数加法的消去律(第三章已证)同时消去 c + d,得 a + f = b + e,即 (a, b) ~ (e, f)。∎
验货第二关:运算代表元无关(完整验证)。换代表元只需逐个进行,故只需验证:若 (a, b) ~ (a′, b′)(即 a + b′ = a′ + b),则换元前后运算结果等价。加法:需 (a′ + c) + (b + d) = (a + c) + (b′ + d)。两边都是 (a′ + b) + (c + d) 与 (a + b′) + (c + d) 的重排,由 a′ + b = a + b′ 即相等。∎
乘法:需 (ac + bd) + (a′d + b′c) = (ad + bc) + (a′c + b′d)。把待证等式左右重排,等价于证 (ac − a′c) + (bd − b′d) = (ad − a′d) + (bc − b′c)(把各项按 a′ 归边;这里「−」只是记法上的移项)。由假设 a + b′ = a′ + b:两边乘 c 得 ac − a′c = bc − b′c;两边乘 d 得 ad − a′d = bd − b′d。两式相加正是待证式。∎
验货第三关:旧数系嵌入。映射 n ↦ [n, 0] 保持加法与乘法(直接代入定义验证),且是单射——自然数在整数里找到了自己的老位置。第四关:序。定义 [a, b] ≤ [c, d] ⟺ a + d ≤ b + c;良定义性仿照乘法用消去律验证(本章习题课第 2 题)。逐条验过 ℕ 的算术定律后,ℤ 成为交换环——第一条完整的代数结构在此出厂。
回头看这道工序的结构:先找携带信息的对象(数对),再用等价关系把冗余表示粘掉,最后逐关验证运算。这个「商构造」模板下一节立刻复用——有理数只是再商一次。
★★★ 整数解决了减法,除法又欠新账:3 ÷ 5 在 ℤ 内无解。装配线立刻复制上一道工序——只是这次数对读作「比」:整数对 (a, b)(b ≠ 0)代表 a/b,冗余表示用等价关系商掉。
[a, b] + [c, d] := [ad + bc, bd], [a, b] · [c, d] := [ac, bd].
等价关系与良定义(完整验证)。自反、对称显然;传递:ad = bc 且 cf = de,前式乘 f、后式乘 b,得 adf = bcf = bde,由 d ≠ 0 消去得 af = be。∎
加法良定义:设 (a, b) ~ (a′, b′),即 ab′ = a′b。需 [ad + bc, bd] ~ [a′d + b′c, b′d],即两「分子」乘对方「分母」相等:(ad + bc)(b′d) − (a′d + b′c)(bd) = d2(ab′ − a′b) + (bcb′d − b′cbd)。第二括号内两项是同一乘积的换序,为 0;第一括号由假设为 0。∎
乘法良定义:需 ac·b′d = a′c·bd,即 (ab′)cd = (a′b)cd,由假设立得。∎
验货:嵌入与结构。ℤ ↪ ℚ:a ↦ [a, 1],保持四则与序,单射。序:0 < [a, b] ⟺ ab > 0,良定义性见例题课第 4 题。在四则与序全部逐条验过之后(交换、结合、分配、逆元、序与运算相容——清单见例题课),ℚ 登顶为有序域:加、乘、序第一次在同一个对象上会师。而且 ℚ 是最小的有序域:任何有序域都含 ℚ 的一份副本(下一节证)。
方法论小结。本章至此的节奏值得背下来:商构造三步曲——找对、粘冗余、验良定义。它的哲学是「存在先于唯一」:先允许许多表示(数对),再宣称它们是同一个对象(等价类)。数学里所有「坐标变换下的不变量」「规范等价类」都是这个模板的后裔。已在 ℤ 与 ℚ 上把模板跑了两遍——第三遍将在柯西序列上跑,那是通往实数的最后一站。
★★★ 有理数稠密——任何两数之间还有数——却处处漏风:√2 不是有理数(毕达哥拉斯学派已知),数轴上有一道道「无理的缝」。戴德金(R. Dedekind)1872 年在《连续性与无理数》中给出石破天惊的方案:缝本身就可以当数用。把「缝」精确化——不是问缺了哪个数,而是把「被这道缝分开的左侧」定义为实数。
切割的算术与序。序取包含:A ≤ B ⟺ A ⊆ B(左边的数小)。加法定义
A + B := {a + b : a ∈ A, b ∈ B}.
验证 A + B 是切割:非空、真子集显然;下闭:若 s = a + b ∈ A + B 且 t < s,则 t = (a − (s − t)) + b,而 a − (s − t) < a 属于 A(下闭),故 t ∈ A + B;无最大:若 s = a + b,取 a′ ∈ A、a′ > a(C3),则 a′ + b ∈ A + B 且更大。∎ 乘法对正切割有类似的定义(分符号讨论),从略。
完备性是最大红利。嵌入:q ↦ {p : p < q} 把 ℚ 埋进 ℝ。而 ℝ 自动完备:任何非空有上界的切割集合 𝒜,其并 ∪𝒜 仍是切割(下闭、无最大逐条验),且恰是 𝒜 的上确界——「上确界存在」这条分析学的命根子在集合论里是一条一行字的证明。这正是 §6.6 唯一性定理里要用的枢纽。
★★★★ 同是 1872 年,康托尔从另一头进攻实数:不问「缝在哪里」,问「逼近的队伍」。一个有理数列若彼此越靠越近,它就该有极限——哪怕极限不是有理数。那么干脆:实数就是极限本身,即队伍(柯西列),再把「同一极限的多支队伍」视为同一。
除法需要一条补充:柯西列若不趋于 0,则从某项起离开 0 有一段距离(取 ε 为半程),倒数列才是柯西列——「远离零」的列才有逆,这与 ℚ 里 1/b 要求 b ≠ 0 精神一致。嵌入用常值列:q ↦ [(q, q, q, …)],四则与序全部保持。序可由「某项之后恒正的列」刻画,完备性(每个柯西列在 ℝC 内有极限——它自己的等价类)由构造直接成立。
商掉零列的哲学含义:实数是逼近方案,不是逼近结果。1/3 不再是「那个数」,而是「任何以 1/3 为极限的有理数列」这个等价类——(0.3, 0.33, 0.333, …) 与 (1/3, 1/3, 1/3, …) 是同一个实数的两支队伍。康托尔与戴德金从两端各造了一个 ℝ:一个由缝组成,一个由队伍组成。它们是同一个对象吗?下一页给出裁决。
★★★★ 戴德金用缝造 ℝ,康托尔用队伍造 ℝC——两座工厂的产品贴着不同的标签出厂。本页证明它们是同一件产品,而且以最强的方式证明:实数在数学中只有一个户口。先立宪:
这页定理值得多读一遍它的哲学:戴德金切割里的「集合」与柯西序列里的「列」本是完全不同的集合论对象,但只要都满足「完备有序域」这条泛性质,它们就必然同构,而且同构法唯一。数学对象由它的性质(它与其他对象的相互作用)决定,而不是由它的材质决定——这是结构主义数学观的第一次实战胜利,后续每一次「泛性质定唯一」(积、商、闭包……)都是它的回声。
★★ 装配线继续向前。实数之后还有一整层楼:ℝ 上的多项式与函数、复数 ℂ、测度、拓扑、泛函分析——它们全都站在 ℝ 上,而 ℝ 站在 ℚ 上,ℚ 站在 ℤ 上,ℤ 站在 ℕ 上,ℕ 站在 ∅ 上。全部施工手段只有三种:序数化身、商、完备化(外加贯穿全程的递归与 Zorn)。本页把总图挂上墙。
每层楼的验货清单值得列成一张卡片:ℕ——归纳原理与递归定理(§6.1);ℤ——交换环:加法群、乘法半群、分配律(§6.2);ℚ——最小有序域(§6.3);ℝ——完备有序域,且唯一(§6.4–6.6);ℂ——代数闭的域特征 0(§6.8);再往上,Borel 集与康托尔集为测度与分形备料(§6.9–6.10)。每一层都不是凭直觉「显然存在」,而是逐关验收的定理——这就是「地基不是比喻而是施工」的字面意思。
集合论的观点。在这张图上,「数」不再是天赋的名词,而是被证明存在的定理:装配线每前进一步,都要向 ZFC 的公理表报账——无穷公理养出 ω,分离公理剪出等价类,幂集公理备齐切割与列,正则公理保证 ∈ 不打结,选择公理在大楼深处(§6.8 的 Zorn)承担吊装。数学城不是建立在集合论「旁边」,而是建造在集合论「里面」。
★★★★ Zorn 第五章备好了 Zorn 引理,本章开始实战。第一役选 Steinitz(1910)的经典定理——「每个域都有代数闭包」:它是 Zorn 引理的标准用法,也是装配线上 ℂ 那一层的施工许可。先立术语。
Zorn 在此的用法是一块可复用的模板:「局部有限 ⇒ 链并保持 ⇒ 极大即所求」。第五章的 Hamel 基与超滤子、这里的代数闭包,全走这条路。模板的核心检查点只有两个——链并是否仍留在集合族里(本例:域公理与代数性都可「局部继承」),以及「不达目标就能再长一格」(本例:不代数闭就能再添一根)。两个检查点都过,Zorn 就把极大元吊装到位。
唯一性部分同样是模板:两个闭包 E, F 之间逐段拼接同构、用 Zorn 把拼接种到极大——细节是习题课的操练。一句话记住本页:ℂ 不是「碰巧」代数闭的幸运儿,而是「每个域都配得上一座代数闭包」这条集合论执照的又一个持证者;而这份执照的效力,来自选择公理。
★★★★ 实数造好了,分析学进场。集合论为分析准备的第一副骨架是博雷尔集:从开集出发,用「取补、可数并、可数交」反复加工得到的所有集合。直觉先行:开集是「每点带一段邻域」的集合,闭集是它的补——但分析学很快就撞见更复杂的集合(函数连续点的集合、点态极限的归宿),需要一副完整的分级工具。
层级是真严格的。定义里允许 β < α 的层向上堆叠,会不会几层就塌成一层?答案是不会:Hausdorff(1916)与 Alexandrov(同年)独立证明——对每个可数序数 α ≥ 1,Σ0α ∪ Π0α 都真包含于 Δ0α+1,且总有集合落在 Σ0α 之外、补集也落在其外。层级是一座真塔,不是一层平房(陈述级;完整证明见 Kechris《Classical Descriptive Set Theory》1995)。直觉先行的版本:每上一层,等于「对下一层的东西做一次极限操作」,极限总会产生新的复杂度——这与后文康托尔集、以及第四章对角线「永远能再多一层」的精神一脉相承。
分析学为什么关心。三条理由:① 连续函数的账:连续函数开集的原像是开——但只要作一次极限,账本就升级:连续函数列的点态极限 f = lim fn 的水平集是 Fσ 型,Baire 第一类函数由此与 Σ02 锁定;② 连续点集:任意函数的连续点集是 Gδ(Baire 定理)——这解释了为什么「连续点」总显得「成片」;③ 可测性的门票:勒贝格可测集以 Borel 集为骨架,测度论的严格地基就铺在这座塔上(Lebesgue 1905:Baire 类函数恰穷尽 Borel 可测函数)。一句话:分析的每个极限过程,都在塔上留下一层住址;集合论把这幅住址图整理成了严格的地址系统。
★★★★ 老朋友回来报到。1883 年康托尔在研究三角级数时造出这个集合——它如今是分形几何的图腾,也是「测度、基数、拓扑各说各话」的最佳证人。构造三步:C0 = [0, 1];Cn+1 是把 Cn 每个闭区间的中间三分之一挖去;C = ∩Cn。它的三进刻画是钥匙:C = {Σ ak·3−k : ak ∈ {0, 2}}——挖中三分之一正是逐位禁用数码 1。
三本账互不干扰,是本页的深意:测度说 C「小」,基数说 C「大」,拓扑说 C「完备又稀疏」——三套标准各记各的账,集合论不选边。此外 C + C = [0, 2](习题课第 3 题):两段「尘埃」相加竟能填满区间——分形世界 第一次对直觉亮出獠牙。
★★★★★ 装配线在此转向深水区。背景一句话:Skolem(1922)发现,若 ZFC 一致,它就有可数模型——模型「内部」数不清的集合,「外部」数得清(Löwenheim–Skolem 定理)。这个悖论式的现象把一个词推到台前:可定义性——「数不清」是在哪个语言里数?哥德尔 1938/1940 的回应是把「可定义」层层堆叠,造出一座小宇宙。
内模型思想。L ⊆ V(每层只收「可定义」的子集,比幂集公理允许的少),但小宇宙不缺公理:(L, ∈) ⊨ ZFC。验证要点:分离与替换——公式在 L 里重新可定义,截出的子集落在下一层;幂集——对 L 内的集合 x,它在 L 里的全部子集在 Lα+1 层已齐备(α 为 x 的层级);无穷——ω ∈ L;正则——∈ 的良基性原样继承。这样一座「缩小的 ZFC 宇宙」称为内模型。它是装出来的小号宇宙,却一件工具不少。
本页定理的历史分量要说清楚:它证明了ZFC + CH 无矛盾(相对 ZFC)——CH 不能在 ZFC 内被驳倒。这是连续统问题六十年战役的上半场;下半场要等 25 年后的科恩(§6.12)。而 V = L 本身是一个可争议的额外公理(它否认可测基数,习题课第 4 题)——「宇宙究竟是不是 L」正是后文前沿的入口。
★★★★★ 哥德尔证明了 CH 驳不倒;要证它也证不出,得造一个 CH 为假的 ZFC 模型——而模型是「集合」,用 ZFC 自己的公理去造一个「更大的宇宙」谈何容易。科恩(Paul Cohen)1963 年的力迫法(forcing)完成了这个看似不可能的任务,并因此获 1966 年菲尔兹奖——迄今唯一授予数学基础的菲尔兹奖。本页只给思想图景;技术细节(名字、真值引理、稠密性论证) Kunen《Set Theory》(1980) 与 Jech《Set Theory》(2003)。
直觉:往宇宙加一个「未知集合」。地面模型 M ⊨ ZFC。想在 M 里加一个新实数 G ⊆ ω——一个 M 里「查无此人」的 0-1 无穷序列。麻烦在于:从 M 内部出发,任何「定义」出的集合都已在 M 里。科恩的办法是反过来:把新集合描述为「避开一切内部预谋」的东西——对 M 里每个能「抓住」子集的稠密要求族,G 都与之相遇(generic,泛型)。内部谁也定义不出它,于是它真的是新的。
力迫关系的语法。信息以条件传递:条件 p 是有限 0-1 串——关于 G 的有限情报(前几位是什么)。核心概念是力迫关系 p ⊩ φ(读「p 强迫 φ」):凡包含 p 的泛型滤子 G,都使语句 φ 在扩张 M[G] 中为真。关键的倒转在于:「p ⊩ φ」可以在地面模型 M 内部递归地判定——于是 M 的居民虽造不出 G,却能对 M[G] 里会发生什么开出全价账单(真值引理)。这套语法像一台在 M 内部计算的「可能世界预言机」。
加 ℵ2 个新实数。迭代力迫(或一次性加入 ℵ2 个相互泛型的 Cohen 实),每一步都保留先前结果并续写泛型;完成后 M[G] 里至少有 ℵ2 个互不相同的新实数,连续统不小于 ℵ2,而可数序数纹丝未动——CH 在 M[G] 中为假。逐条验证 M[G] ⊨ ZFC(分离、替换最费工,由真值引理与名字机制完成),得相对一致性 Con(ZFC) ⟹ Con(ZFC + ¬CH)。与哥德尔 1938 的 Con(ZFC) ⟹ Con(ZFC + CH) 合璧:CH 与 ZFC 互不裁决。下一页把这句话的精确含义拆开。
★★★★ 「CH 独立于 ZFC」这句话常被读成「数学家暂时不知道答案」。错。它是一个精确的、已被证明的数学定理,必须拆开来读。
「证明不存在」怎么能被证明?借哥德尔完备性定理(一阶语义与可证性重合)转译:ZFC ⊢ φ 当且仅当 φ 在 ZFC 的一切模型中为真。于是「ZFC ⊬ CH」等价于「存在 ZFC 的模型使 CH 假」,而科恩恰好造出了这样一个模型(在 ZFC 一致的前提下)。两条合起来:
Con(ZFC) ⟹ Con(ZFC + CH)(Gödel 1938/40), Con(ZFC) ⟹ Con(ZFC + ¬CH)(Cohen 1963/64).
注意两个诚实的脚注。其一,一切以 Con(ZFC)——ZFC 自身一致——为前提,而由哥德尔第二不完备定理,ZFC(若一致)不能自证一致:这份判决的效力附着在「ZFC 一致」这一全数学共享的信念上。其二,独立性是相对于公理组的:给 ZFC 添加新公理(如 V = L,或大基数)就可能裁决 CH——独立不是命题的绝对属性,而是「命题—公理组」关系的属性。
独立 ≠ 无意义。最好的类比是几何:平行公理悬置两千年,1830 年代罗巴切夫斯基与鲍耶造出非欧几何——此后「三角形内角和」不再是绝对真理,而是「在哪种几何里」的问题;欧氏与非欧各自自洽,几何学反而因此变大。CH 之于 ZFC 正是平行公理之于绝对几何:独立判决没有终结问题,而是把问题升格为一门新学问——研究公理系统的可能世界。下两页是这门学问的两种世界观。
★★★ CH 被判独立之后,一个问题从数学滑进哲学:CH 到底有没有真值?本页一瞥两大阵营(点到即止,立场不影响后文技术)。
哥德尔式的单一宇宙。柏拉图主义立场:集合论宇宙 V 唯一存在,CH 要么真要么假,独立只说明 ZFC 这套公理不完备,如同当年欧氏几何对平行公理的无知。哥德尔本人在 1947 年的科普文章《什么是康托尔连续统问题?》中倾向 CH 为假:直觉上实数应当「极其丰富」,不该止步于 ℵ1;他还期待新的直觉(如对大基数的直觉)会像非欧几何的发现一样补足公理。单一宇宙派的纲领因此明确:找更强的、内在地可信的新公理,把 CH 裁决出来。
Hamkins 的多元宇宙。力迫法的教益换一种读法:任何 ZFC 宇宙都能长出 CH 与 ¬CH 的后代,而且这过程可无限迭代、还可「回头」(某些模型间存在可逆的扩张)。Hamkins(2012《The set-theoretic multiverse》)主张:谈论「唯一的 V」是时代错置——「集合论宇宙」是复数名词。CH 在不同宇宙中有不同真值:不是无真值,而是像「直线有几条平行线」一样随宇宙而异。真理不消失,只是相对化到宇宙。
伍丁(Woodin)的立场演变是最好的注脚:他长期属单一宇宙派,1990 年代力主用 Ω-逻辑在「不受小力迫影响」的意义上把 CH 判为假;2010 年前后转而投入 Ultimate-L 纲领——若成功,将支持 CH 为真的一侧(§6.15)。一位顶尖学者的两次换向说明:这不是意气之争,而是技术纲领与哲学立场的相互牵引。两派共用同一套武器(内模型、力迫、大基数),分歧只在「这些工具最终会告诉我们什么」。
★★★★★ 独立性判决之后,集合论前沿的主战场转移到大基数:一些强到 ZFC 无法证明其存在(若 ZFC 一致)的巨大无穷。本页速写它的阶梯与它给 CH 投票的方式。
阶梯直觉。自下而上:① 不可达基数——「无法从 below 到达」的无穷基数(第五章已一瞥):不是可数个更小基数之并;② Mahlo 基数——不可达中的不可达,其下的不可达基数「密布」;③ 可测基数——κ 上存在 κ-完全的非主超滤(第五章超滤子的重兵器终于派上用场;Scott 1961 证明它与 V = L 不相容——见习题课);④ 强基数、Woodin 基数、⑤ 超紧(supercompact)基数——存在把 V 嵌入某内模型且覆盖任意大 λ 的初等嵌入。每一级的一致性都严格强于下一级:这是一座「一致性强度」的珠穆朗玛,登得越高,手里的一致性假设越重。
大基数如何给 CH 投票。直接票没有:Levy–Solovay(1967)证明小力迫不破坏可测基数,故可测基数与 CH、¬CH 都相容——大基数本身两边不得罪。但有间接票:力迫公理(如 PFA,其一致性由超紧基数推出)主张「宇宙对力迫极大化」,而 PFA 蕴含 2ℵ0 = ℵ2(Silver、Baumgartner 的工作;Todorcevic 的组合论证)。也就是说:在大基数加持下的「极大性原则」都把连续统推向 ¬CH 一侧的小连续统。这是当代多数工作者对 CH 的直觉「投票」倾向 ¬CH 的主要理由——但它是纲领与原则的投票,不是定理。
Ultimate-L:当前的诚实交代。Woodin 纲领的目标:造一座像 L 一样良序可定义、可计算的内模型,但不再裁掉大基数——而是容纳全部已知大基数;若 V 等于这个「终极内模型」,CH 将被裁决(Woodin 期望裁决为真)。截至写作时(2020 年代中)的诚实状态:部分里程碑已立(HOD 猜想的相关进展、超紧内模型计划的推进),但完整纲领未完成,核心构想的细节仍在建设与争论中。这是当代集合论最大的开放工程——它能否成功,将决定「CH 有没有客观真值」这场哲学之争的天平。
★★ 走出深水区之前,先把本章(也是 ZFC 头半个多世纪)的成绩单挂在墙上——四类成就,条目式清点。
① 形式化成绩:全部经典数学搬进了 ZFC。本章亲手搬了第一车:数系四件套(§6.1–6.6)、代数闭包(§6.8)、Borel 骨架(§6.9)、康托尔集(§6.10)。后续车辆无穷无尽:测度论与勒贝格积分、一般拓扑、泛函分析、乃至现代数论——Wiles(1995)证明费马大定理的论文虽以代数几何的语言书写,其逻辑骨架完全在 ZFC 内展开,未借用任何额外公理。「数学皆集合」从口号变成了可以查账的事实。
② 结构成绩:集合论成为标准数学语言。序数、基数、递归、超限归纳(第三章)、等价关系与商(本章 §6.2–6.3)、Zorn 引理(§6.8 的模板)——这些原本为解决基础危机而生的工具,如今写进了每一本代数、拓扑与分析教材:代数用 Zorn 证基的存在,拓扑用序数数维数,分析用完备化的柯西配方。
③ 判决成绩:独立性理论的两大里程碑。Gödel(1938/40)证 ZFC + CH 一致,Cohen(1963/64)证 ZFC + ¬CH 一致——六十年间基础领域唯一的量级成果,且工具(内模型与力迫)成为可复用的产业。判决名单此后加长:AC 之于 ZF、Whitehead 问题(Shelah 1974:独立)、Souslin 假设、以及一长串组合与拓扑命题——「撞上独立的墙」不再是理论恐惧,而是可实证的诊断。
④ 无感支撑:日常数学从未撞上 ZFC 的墙。这是最容易被忽视、也最深刻的一项:在全部主流经典数学中,没有一个定理被证明独立于 ZFC(被证明独立的都是 Whitehead 问题这类「点状」对象,且集中于依赖 AC 的区域)。公理表的日常存在感为零——不是因为它弱,而是因为它恰好够强:强到撑起全部分析与代数,又不至于强到替 CH 表态。地基的职责正是被遗忘;按这个标准,ZFC 交出的是满分答卷。唯一悬而未决的大案——CH 的当代命运——留给下一页。
★★★★ 康托尔 1878 年提出 CH,1938 年半场哨响(驳不倒),1963 年全场哨响(证不出)。但「独立」不是终点,而是研究纲领的起跑线。当前求解 CH 的几条路,本页逐一报出里程。
路一:内模型计划。哥德尔的 L 只收「可定义」子集,代价是裁掉了大基数。内模型计划(Mitchell–Steel,1990 年代起)要造一系列「容量更大」的内模型,逐步把可测、强、超紧基数请进门;Woodin 的 Ultimate-L(§6.15)是这条路的终点站——若成功,CH 在终极内模型中有确定答案,而「宇宙是否等于它」成为下一个可辩护的公理。
路二:力迫公理。与内模型相反方向的极大性纲领:主张宇宙「对力迫尽可能丰富」。代表是 Martin 极大原理(Martin's Maximum,简称 MM,1980s)与 PFA:它们一致性来自大基数,蕴含 2ℵ0 = ℵ2,即裁决 ¬CH。力迫公理在组合数学(Souslin 问题等)中战功累累,被视为「¬CH 一侧」最有战斗力的候选公理。
路三:Ω-逻辑。Woodin 设计的语义:只计「不受小力迫影响」的真理。若 Ω-猜想成立,则 CH 在 Ω-逻辑下可判(判为假)——这将把「独立」重新定义为「相对于过弱的证明概念」。Ω-猜想本身至今未决,是这条路的主要工程缺口。
留下的开放地图。四条路没有一条到达终点:内模型未成、力迫公理尚是候选公理而非自明真理、Ω-猜想未决、镖靶只是直觉。换句话说:1878 年的问题,在 150 多年后仍是一张活地图——内模型计划在写、大基数阶梯在攀升、多元宇宙在扩张。本章从 ∅ 出发,走到当代数学最深的未决问题面前;下一章(综合站)将收拢全程的行李,但记住此刻的位置:地图上没有句号,只有下一站。
本页任务。把 §6.2–6.5 的「验货清单」当场跑一遍:四道完整解答,一步不跳。做完这页,装配线上四道出厂检验就不再是纸面程序,而是手上的肌肉。
复盘。四道题分别对应装配线的四道检验:结构律(例 1)、边界条件(例 2)、代表元无关(例 3、例 4)。注意每道题里「免费赠品」的用法——消去律、有界性、下闭——它们都来自第三章到本章前文的存量,练习的意义正在于把「何时调用哪笔存量」练成本能。
本页任务。§6.8 的 Zorn 模板再跑两遍(代数之外用法的实战),§6.9 的层级做两道归属判定——「给一个集合,报出它的 Borel 住址」是分析学的日常功夫。
复盘。例 1 是 Zorn 模板的「代数换装」——把 §6.8 的「代数扩张」换成「真理想」,检查点逐字照抄;例 2、例 3 是层级塔的认路练习:先算聚点(拓扑账),再数并交(层级账)。这三套动作将在习题课再次出现。
本页任务。五道习题,覆盖装配线上半场;每题配提示(含答案要点或关键步)。建议先动手,再看提示。
习题 1(整数加法结合律)。★ 直接用数对定义证明:([a, b] + [c, d]) + [e, f] = [a, b] + ([c, d] + [e, f])。
提示。两边都展开成 [a + c + e, b + d + f]——只用到 ℕ 加法的结合与交换。答案要点:逐项相等,一步即得。
习题 2(整数序的良定义)。★★ 证明 [a, b] ≤ [c, d] ⟺ a + d ≤ b + c 与代表元选取无关。
提示。设 (a, b) ~ (a′, b′),需证 a + d ≤ b + c ⟺ a′ + d ≤ b′ + c。两边各加 b(或 b′)后用 a′ + b = a + b′ 换名,最后由 ℕ 加法的消去律(第三章)收尾。答案要点:两次「加同一个数 + 消去」,与 §6.2 乘法验证同型。
习题 3(∛2 的切割)。★★★ 设 A = {q ∈ ℚ : q < 0 或 q3 < 2}。证明 A 是切割,并给出「无最大元」的完整论证。
提示。下闭与真子集照 §6.4 的样板。无最大:设 q > 0、q3 < 2,令 δ = (2 − q3)/(3q2 + 3q + 1),用 (q + δ)3 = q3 + 3q2δ + 3qδ2 + δ3 与 δ ≤ 1 证明增量 ≤ δ(3q2 + 3q + 1) = 2 − q3。答案要点:δ 的分母恰是「把展开式各项系数」装进袋子——同一招式对任何 k 次根都成立。
习题 4(柯西列的基本功)。★★(甲)证明零列与有界列之积是零列。(乙)证明 xn = 1/n 是零列,并写出对 ε = 1/50 的显式 N。
提示。(甲)设 |bn| ≤ M;对 ε > 0 取 N 使 n > N 时 |an| < ε/M。(乙)1/n < 1/50 ⟺ n > 50,取 N = 50。答案要点:本题的(甲)正是例 3 里乘法良定义的「半边」,务必独立走通。
习题 5(康托尔集的居民登记)。★★★ 判定 1/3、1/4、1/2 是否属于康托尔集 C,并给出三进展开证据。
提示。三进记数:1/3 = 0.13 = 0.0222…3——取全 0/2 写法,故 1/3 ∈ C(端点永不被挖);1/4 = 0.020202…3——数码全为 0/2,1/4 ∈ C(它不是端点,恰说明 C 比端点集大得多);(乙)1/2 的三进展开唯一为 0.111…3(每位都是 1,无法改写成只含 0/2 的形式),且 1/2 落在第一轮挖去的开区间 (1/3, 2/3) 内——故 1/2 ∉ C。答案要点:二义展开中「有一支全 0/2」就在 C 里。
本页任务。下半场的五道题:把独立性、Freiling 论证、康托尔集的代数与 L 的边界亲手摸一遍。
习题 1(独立性判决的逻辑)。★★ 已知 Con(ZFC) ⟹ Con(ZFC + ¬CH)(Cohen)与完备性定理。证明:在 Con(ZFC) 假设下,「ZFC ⊢ CH」不成立。
提示。反证:若 ZFC ⊢ CH,则 ZFC 的每个模型都满足 CH;而 Cohen 造出的模型(由 Con(ZFC) 存在)满足 ¬CH——矛盾。答案要点:独立性判决的形式结构永远是「模型存在性 + 完备性定理」的二段论证。
习题 2(Freiling 镖靶论证的完整复原)。★★★★ 设 Sym 为命题:对每个函数 f : ℝ → [ℝ]≤ℵ0(每点配一个至多可数的随从集),存在 x, y 使 x ∉ f(y) 且 y ∉ f(x)。证明:Sym 等价于 ¬CH。
提示。(⟸)设 ¬CH,超限递归选 xα(α < ω1)避开此前所有随从之并——每个并集至多可数,小于连续统,选得出;到第 ω1 步并集基数 ℵ1 < 2ℵ0,仍可取 x* 避开全体,则 (x*, xα) 对一切 α 互不命中。(⟹)设 CH,枚举 ℝ = {rα : α < ω1},令 f(rα) = {rβ : β < α}(可数);任两点中序号小者属于序号大者的随从——Sym 失败。∎ 答案要点:Freiling 的「直觉」与「定理」在此分家——定理证的是等价性,直觉投的是哪边「看起来该真」。
习题 3(康托尔集的和)。★★★★ 证明 C + C = [0, 2],其中 C + C = {x + y : x, y ∈ C}。
提示。包含 ⊆ 显然(C ⊆ [0, 1])。对 ⊇:任取 z ∈ [0, 2],写 z = Σ zk·3−k(zk ∈ {0, 1, 2};z = 2 用 1.222…3 写法)。令 2zk ∈ {0, 2, 4} 拆成 ak + bk 且 ak, bk ∈ {0, 2}(0 = 0+0,2 = 0+2,4 = 2+2)。则 x = Σak3−k、y = Σbk3−k 都在 C 中且 x + y = 2z;z 取遍 [0, 1] 时 2z 取遍 [0, 2]。∎ 答案要点:逐位无进位拆分是分形算术的标配。
习题 4(L 与大基数的边界)。★★★ Scott(1961)证明:若存在可测基数,则 V ≠ L。结合 §6.11 与 §6.15 回答:若集合论界一致接受「存在可测基数」,这对(甲)V = L 的地位、(乙)CH 的地位各有什么影响?
提示。(甲)V = L 被直接否决——它容不下可测基数;(乙)没有直接影响:Levy–Solovay(1967)表明可测基数与 CH、¬CH 均相容。答案要点:「大基数裁决结构,不裁决连续统」——这句话概括了当代方法论的一半。
习题 5(泛型集为什么必须是新的)。★★★ 直觉 + 陈述级论证:为什么力迫构造出的 G ⊆ ω 不可能是地面模型 M 的元素?
提示。泛型的定义要求 G 与 M 中每个稠密要求族相遇;特别地,对每个 s ∈ M 的「从第 n 位起补一位」的稠密集,G 都要回应——若 G ∈ M,则 M 内可定义稠密集 {p : p 与 G 某处冲突},而 G 无法与自己冲突的族相遇。答案要点:新 = 与一切内部预谋相遇;这就是「外部」的集合论定义。
本章十七节分成三段战役:装配线(§6.1–6.7)从 ∅ 造到 ℝ 并证明唯一;工具役(§6.8–6.10)把 Zorn、Borel、康托尔集就位;深水区(§6.11–6.17)从 L 与力迫走到大基数与 CH 的当代命运。依赖关系一图收拢:
跨章接口。本章向内调用:第二章公理表、第三章序数与递归、第四章对角线、第五章 Zorn 与超滤子;向外输出:完备有序域(分析学)、Zorn 模板(代数学)、Borel 层级(描述集合论)、L 与力迫(数理逻辑)。若沿任一出口继续深造,本章的证明即是那门学问的第一课。
本页任务。把上半场(§6.1–6.10)的手册页折好带走:每一级的构造、验证与收获,压缩成一张可背的卡片;下半场(前沿)在下一页。
| 层级 | 构造 | 关键验证 | 收获(泛性质) |
|---|---|---|---|
| ℕ | 序数化身:0=∅,s(n)=n∪{n}(§6.1) | 皮亚诺三条完整重验(无穷公理、正则公理、最小归纳集) | 归纳与递归合法 |
| ℤ | 商:ℕ×ℕ,(a,b)~(c,d)⟺a+d=b+c(§6.2) | 传递用消去律;加乘良定义逐项验证 | 交换环;减法封闭 |
| ℚ | 商:ℤ×ℤ*,ad=bc(§6.3) | 加法差 = d2(ab′−a′b);乘法 = (ab′)cd | 最小有序域 |
| ℝ(路 A) | 戴德金切割:下闭、无最大、非空真(§6.4) | A+B 是切割;sup = 并 | 完备有序域 |
| ℝ(路 B) | 柯西列 / 模零等价(§6.5) | 有界性养乘法;三角不等式养加法 | 完备有序域 |
| 唯一性 | sup 搭桥(§6.6) | ℚ 嵌入唯一 → 稠密 → 同构唯一 | ℝ 有唯一户口 |
| ℂ | 代数闭包:Zorn 于代数扩张(§6.8) | 链并代数;极大即闭 | Steinitz 1910 |
| Borel 塔 | 开闭出发逐层可数交并(§6.9) | 不塌层 = Hausdorff 1916 定理 | 分析的地址系统 |
| 康托尔集 | 挖中三分之一;三进数码 {0,2}(§6.10) | 测度 (2/3)n→0;基数 2^ℵ0;完备无处稠密 | 三套标准三本账 |
方法论三模板(本章可复用的内功)。① 商构造三步曲:找携带信息的对 → 等价关系粘冗余 → 运算代表元无关(§6.2–6.3,柯西完备化是它的变体);② Zorn 模板:局部有限 → 链并保持 → 极大即所求,两个检查点(§6.8、例题课二);③ 泛性质定唯一:结构由它与其他对象的作用决定(§6.6)。
本页任务。把下半场(§6.11–6.17)的前沿地图折好带走:每个概念一句定位、每份判决一个年份、每条路线一个现状。
| 条目 | 一句话定位 | 年份与现状 |
|---|---|---|
| 可构造宇宙 L | 「可定义子集」逐层堆叠的内模型;良序可定义、层数可数 | Gödel 1938/40:V=L ⟹ AC 与 GCH |
| 力迫法 | 地面模型内算「扩张后会发生什么」的预言机;泛型集避开一切内部预谋 | Cohen 1963:Con(ZFC) ⟹ Con(ZFC+¬CH) |
| 独立性 | ZFC ⊬ CH 且 ZFC ⊬ ¬CH——证明不存在性的定理,以 Con(ZFC) 为前提 | 1938 + 1963 合璧,已结案 |
| 哲学一瞥 | 单一宇宙(CH 有客观真值)vs 多元宇宙(CH 随宇宙而异);Woodin 两次换向 | Gödel 1947 / Hamkins 2012,进行中 |
| 大基数阶梯 | 不可达 → Mahlo → 可测 → 强 → Woodin → 超紧;一致性强度逐级攀升 | Scott 1961:可测基数与 V=L 不相容 |
| 对 CH 的投票 | 大基数不直接裁决(Levy–Solovay 1967);力迫公理 PFA ⟹ 2^ℵ0 = ℵ2,倾向 ¬CH | 是纲领的投票,不是定理 |
| Ultimate-L | 容纳全部大基数、良序可定义的终极内模型;若成功则 CH 可判 | Woodin 2000s–,未完成 |
| CH 四条路 | 内模型计划 / 力迫公理 / Ω-逻辑 / Freiling 镖靶(直觉投票,等价于 ¬CH) | 全部在路上(Freiling 1986) |
易错三坑。① 把「独立」读成「无意义」或「无真值」——独立是「相对于公理组的证明不存在性」,添加公理(V=L、力迫公理、大基数)就能裁决;平行公理之于几何是同一个故事。② 把大基数的「投票」当「判决」——Levy–Solovay 保证可测基数与 CH、¬CH 都相容,大基数裁决的是结构(如 V=L 之死),不裁决连续统。③ 忘记前提——一切判决都附着在 Con(ZFC) 上,而第二不完备定理禁止 ZFC 自证一致:地基的稳固是全体数学的公共信念,不是数学内部的定理。
阅读指南(按进入顺序)。① Cohen《Set Theory and the Continuum Hypothesis》(1966)——力迫法的第一手叙述;② Kunen《Set Theory》(1980)——力迫与内模型的标准教材;③ Jech《Set Theory》(第三版,2003)——百科全书式手册;④ Kechris《Classical Descriptive Set Theory》(1995)——Borel 层级与描述集合论;⑤ Hamkins《The set-theoretic multiverse》(2012)与 Woodin 关于 Ultimate-L 的综述——哲学与前沿的两端。读法建议:先 ① 后 ②,带着本章 §6.12 的思想图景对照技术细节;§6.9 想深造的直接进 ④。
一言收束本章。ZFC 用一章的篇幅从 ∅ 造出了实数、闭包、层级与分形,又用两页宣告了自己最著名问题的独立——它能造出整座数学城,也诚实地标出了自己地图的空白处。空白处正是下一代的地图。
p183
在本章之前,「自然数存在」「实数存在」是每个数学人携带的信念——笛卡尔靠它做梦,克罗内克为它发怒(「上帝造了自然数,其余是人造的」)。本章之后,这两句话变成了定理:自然数存在,因为无穷公理加上分离公理能装配出最小归纳集;实数存在,因为幂集公理能备齐全部切割、等价关系能把柯西列剪成类。ZFC 把「存在」这个词从哲学里买断,改写成两条可操作的标准:给得出构造(在公理内),付得起代价(不推爆一致性)。数学对象的「存在」从此不再是「在某个柏拉图天国里坐着」,而是「在 ZFC 的流水线上有工位、有出厂检验单」。
但 ZFC 同时交出一张诚实的账单:它自己造的对象里,有的它管不了真值——CH 是 ZFC 合法居民,真值却不在 ZFC 的辖境内。于是「存在」分成两层:模型内的存在(这个对象在 ZFC 的某个模型里出现)与元理论的存在(这个命题在模型间恒真、恒假或随模型漂移)。力迫法不是制造了新的不确定性,而是第一次让「不确定性本身」成为可计算的数学对象——科恩的预言机算的正是「换一个宇宙,什么会变」。
所以本章最深的一课或许是:数学的「存在」是一个层级概念。自然数与实数在最底层——任何 ZFC 模型都有它们,且构造唯一(§6.6 的唯一性定理);CH 在最顶层——每个宇宙自带一个答案。中间层(大基数、内模型)则是一场进行中的谈判:人类的直觉投票、纲领的成败、公理的竞选。集合论没有取消「真」,它把「真」做成了地形图——平原上人人同意,高原上各建营地。
留下的自问:当写下「存在一个使 P 成立的集合」时,断言属于哪一层——是流水线上的构造,还是随宇宙漂移的气候?如果 Ultimate-L 纲领成功,CH 从顶层掉进底层,对「数学真理」的感觉会变吗?——更尖锐地:如果一个命题的「真」取决于人类选择哪条公理,它还是「真」吗?
挑战任务。装配线已经教了三套施工法(序数化身、商、完备化)——现在轮到当工程师:亲手造两个「非标准数系」,各给分步引导。两个任务都不需要新公理,只需要把 §6.2–6.3 的模板抄对地方。
任务 A(有序域 ℚ(√2))。在 ℚ × ℚ 上定义运算:(a, b) + (c, d) = (a + c, b + d),(a, b)·(c, d) = (ac + 2bd, ad + bc)——这正是「a + b√2」的乘法展开。分步引导:① 验证乘法交换、结合(对照例 1 的分配律算法);② 找出加法单位、乘法单位、以及非零元的逆(提示:(a, b) 的逆是 (a/(a2 − 2b2), −b/(a2 − 2b2)),注意分母何时为零);③ 定义序:(a, b) > 0 当且仅当 a + b√2 > 0 在实数意义上成立——并用 (a + b√2)(a − b√2) = a2 − 2b2 把它翻译成只含 a, b 的判据;④ 终极检验:证明 x2 + 1 = 0 在这个域内无解(提示:它是有序域——借用 §6.6 之前的事实:有序域中平方非负)。
任务 B(对偶数——一个故意失败的域)。取 ℝ × ℝ,乘法改为 (a, b)·(c, d) = (ac, ad + bc)——这是「a + bε」的乘法,其中 ε2 = 0(ε 读作「无穷小」)。分步引导:① 验证加法交换群与乘法结合、交换、分配全部成立(它是一个交换环);② 找出破坏域公理的元素:ε 自己——证明 ε 无逆(若 εx = 1,写出 x = (c, d) 并比较分量,得 0 = 1 的矛盾);③ 证明非零对偶数 (a, b)(a ≠ 0)有逆 (1/a, −b/a2),并解释「哪些元素坏、坏在哪」的判据;④ 彩蛋:对光滑函数 f 计算 f(a + bε) = f(a) + bf′(a)ε——对偶数是「自动微分」的数学内核,一个逆元都出不起的环,在计算机科学里养活了一个产业。
提示与验收标准。任务 A 的第 ② 步最易错:a2 − 2b2 = 0 只在 (a, b) = (0, 0) 时发生(√2 的无理性在此入账)——这句话务必写进证明。任务 B 的第 ② 步是「反例教学」:找出第一条失效的公理,就找到了「域」与「环」的分界线。两任务的完整解答中,凡引用 ℕ、ℤ、ℚ 的运算定律处,标注出处(第三章、本章 §6.2–6.3)——构造的合法性全靠这些存量。
实验目的。实数在理论上由无穷对象(切割、柯西列)定义,程序里只能用有理数模拟——但这恰好能验证全部「有限可验」的部分:切割的三条件与加法、夹逼逼近、显式模数 N(ε)、模零等价、康托尔集的长度蒸发。全部运算用精确分数 Fraction,无浮点误差。核心代码如下(完整脚本 exp_c6.py 可独立运行):
from fractions import Fraction as F
# -- ① 戴德金切割:√2 的切割用谓词表示 A = {q : q<0 或 q2<2}
def A(q): return q < 0 or q * q < 2
def B(q): return q < 0 or q * q < 8 # 2√2 的切割
qs = [F(n, 8) for n in range(-24, 25)] # −3 到 3,步长 1/8
add_ok = all(any(A(a) and A(q - a) for a in qs) == B(q) for q in qs)
print('切割加法 A+A = 2√2 切割(逐点一致):', add_ok)
# 夹逼:q 在切割内时,牛顿步 (q+2/q)/2 从上方逼近 √2
q = F(1, 1)
for i in range(4):
q2 = (q + 2 / q) / 2
print(f' q = {q} ≈ {float(q):.9f} 在切割内: {A(q)} 牛顿步2−2 = {float(q2*q2-2):+.2e}')
q = q2
# -- ② 柯西列:Taylor 部分和,显式模数 N(ε)
def fact(k):
r = 1
for i in range(2, k + 1): r *= i
return r
def s(n): return sum(F(1, fact(k)) for k in range(n + 1))
E = s(30) # e 的高精度近似
def N_of(eps): # 余项界:e − s_n < 1/(n!·n)
n = 1
while F(1, fact(n) * n) >= eps: n += 1
return n
for eps in (F(1, 100), F(1, 1000000)):
n = N_of(eps)
print(f' eps={float(eps)}: N={n}, e−s_N = {float(E-s(n)):.3e} < eps: {E-s(n) < eps}')
# -- ③ 模零等价:1/n 与 (n+1)/n2,差 = 1/n2 是零列
for eps in (F(1, 100), F(1, 10000)):
N = 1
while F(1, N * N) >= eps: N += 1
print(f' eps={float(eps)}: N={N}, 抽查违例数: '
f'{sum(abs(F(1,n)-F(n+1,n*n)) >= eps for n in range(N+1, N+101))}')
# -- ④ 康托尔集:第 n 步 2n 个区间,总长 (2/3)n → 0
def cantor(n):
ivs = [(F(0), F(1))]
for _ in range(n):
nxt = []
for a, b in ivs:
t = (b - a) / 3
nxt += [(a, a + t), (b - t, b)]
ivs = nxt
return ivs
for n in (1, 3, 6, 20):
t = F(2, 3) ** n
print(f' n={n}: 区间数 {2**n}, 总长 {t} ≈ {float(t):.6f}')
def in_C(x, k=12):
return any(a <= x <= b for a, b in cantor(k))
print('1/3 ∈ C:', in_C(F(1,3)), ' 1/4 ∈ C:', in_C(F(1,4)), ' 1/2 ∈ C:', in_C(F(1,2)))
程序要点。① 切割用谓词(判断函数)而非集合表示——无穷集合在程序里的合法化身;切割加法 A + A 的逐点验证正是例 2 定理的计算版。② 模数 N(ε) 来自严格余项界 e − sn < 1/(n!·n)(几何级数放大可证),不是数值猜测。(1 + 1/n)n 的单调逼近列由同一 E 校准。
实验报告要求。① 贴出切割加法与夹逼迭代的输出,并指出夹逼序列从哪一步起「在切割外」(答:牛顿步第一次落点 3/2);② 给出 N(1/10000) 的值并手验余项界;③ 用实验三的两组数据解释「完备化只认极限不认速度」的含义;④ 报出 (2/3)20 的精确分数并给出「长度蒸发」的一句话结论;⑤ 附加:把挖「中三分之一」改成挖「两侧各四分之一」(保留中间一半),程序总长将趋于多少?改动 t = (b − a) / 3 一行即可验证猜想。
依乎天理。《庄子·养生主》(战国,庄周,约前 369—前 286)讲庖丁为文惠君解牛:手触肩倚、足踩膝抵,「砉然向然,奏刀騞然,莫不中音」。文惠君惊叹技何至此,庖丁答:「臣之所好者道也,进乎技矣。」他解释自己下刀的法门:「臣以神遇而不以目视,依乎天理,批大郤,导大窾,因其固然」——顺着牛体天然的纹理与空隙下刀,不硬砍筋骨交错之处。又自陈:「良庖岁更刀,割也;族庖月更刀,折也。今臣之刀十九年矣,所解数千牛矣,而刀刃若新发于硎」——好刀匠一年磨一刀(在割),普通刀匠一月磨一刀(在砍),庖丁的刀用了十九年解了数千头牛,刀刃还像刚从磨刀石上取下来。
集合论正是这把刀。ZFC 的全部锋刃只有一个字:∈——隶属。一门手艺(数学)历经两千年,刀换了几百把:几何用公设、代数用算律、分析用极限的含混直觉,每换一次营地就要重新磨刀(三次危机:无理数、无穷小、悖论)。集合论做的事情是把「牛」整个摊开在案上:数(本章 §6.1–6.6)、函数、空间、乃至「证明」本身,全部还原为 ∈ 的纹理——数是集合的集合,序是集合的构造方式,极限是集合的等价类。此后一切下刀都顺着同一副骨架:批大郤(商构造把冗余粘掉),导大窾(完备化把缝隙填平),因其固然(泛性质定唯一)。刀不卷刃的秘诀与庖丁相同:不硬砍——不问「数是什么」这种蛮问题,只问「它在集合的纹理中如何被造」。十九年不解牛,换成年代:从康托尔 1874 年的第一篇集合论论文算起,一个半世纪过去,这把刀解过了费马大定理那样的牛,刀刃若新发于硎。
郭象的注脚。西晋郭象(252—312)注《庄子》,于「彼节者有间,而刀刃者无厚;以无厚入有间,恢恢乎其于游刃必有余地矣」一句下见出养生与用世共通的道理:有间者可乘,无厚者可久——刀刃「无厚」,才能在间隙里游刃。公理恰是数学里的「无厚」:它不含任何具体内容(∅ 不像任何东西),所以能进入一切结构之间而不磨损。文惠君听完庖丁的话说「善哉!吾闻庖丁之言,得养生焉」——走完本章,或许也能说:闻集合论之言,得造数焉。手艺与道的距离,从来只隔一个「依乎天理」。
| 条目 | 内容 | 出处 |
|---|---|---|
| 冯·诺依曼自然数 | 0=∅,s(n)=n∪{n};ω=最小归纳集 | §6.1(1923) |
| 皮亚诺重验 | P1 归纳集之交;P2 正则公理禁 ∈ 循环;P3 最小性 | §6.1 |
| 整数 | (ℕ×ℕ)/~,(a,b)~(c,d)⟺a+d=b+c;乘 (ac+bd, ad+bc) | §6.2 |
| 有理数 | (ℤ×ℤ*)/~,ad=bc;加 (ad+bc, bd);乘 (ac, bd) | §6.3 |
| 戴德金切割 | 非空真、下闭、无最大;加法 (a+b);sup=并 | §6.4(1872) |
| 柯西完备化 | 柯西列/零列;有界性养乘法;常值列嵌入 | §6.5(1872) |
| 唯一性定理 | 完备有序域同构唯一;ℚ 嵌入唯一→稠密→sup 搭桥 | §6.6 |
| 代数闭包 | Zorn 于代数扩张;链并代数、极大即闭 | §6.8(Steinitz 1910) |
| Borel 层级 | Σ01=开,Π01=闭,逐层可数交并;不塌(Hausdorff 1916) | §6.9 |
| 康托尔集 | 三进数码 {0,2};测度 0;基数 2ℵ0;完备无处稠密 | §6.10(1883) |
| 可构造宇宙 L | Lα+1=Def(L_α);良序可定义→AC;分层计数→CH | §6.11(Gödel 1938/40) |
| 力迫法 | 条件有限串;p ⊩ φ 内部可判定;泛型集避开稠密族 | §6.12(Cohen 1963) |
| 独立性判决 | Con(ZFC) ⟹ Con(ZFC+CH) 且 Con(ZFC+¬CH) | §6.13 |
| 大基数投票 | 可测基数与 CH/¬CH 均相容(Levy–Solovay 1967);PFA ⟹ 2ℵ0=ℵ2 | §6.15 |
| Ultimate-L | 容纳大基数的终极内模型;若成则 CH 可判——未完成 | §6.15–6.17(Woodin) |
使用提示。构造卡(前九行)的每一格都对应一次「四道出厂检验」:等价关系、运算良定义、嵌入、泛性质——复习时先背检验清单再看具体对象。前沿卡(后六行)的每一格都对应一个年份与一份文献(Gödel 1940 / Cohen 1966 / Kunen 1980 / Jech 2003)——引用时年份与人名照实写。易错点集中两处:整数乘法定义的来历((a − b)(c − d) 展开)、康托尔集端点的二义展开(有一支全 0/2 即属 C)。下一站是综合站:年表、人物谱与全书的总图在那里等着。
全书六章各立一塔:第一章立语言之塔(集合的代数与 §1.15 之后的公理化思路),第二章立公理之塔(ZFC 的九根柱石,§2.17 把朴素定理严格重证),第三章沿序数之塔攀升(§3.6 三歧性、§3.8 超限递归、§3.14 ω1),第四章画基数之塔(§4.6 康托尔定理、§4.13 连续统假设、§4.16 独立性),第五章悬起选择之天平(§5.4–5.8 等价环、§5.13 Vitali),第六章开动数系装配线(§6.1–6.5 从空集造出实数,§6.11–6.13 走进 L 与力迫)。综合站不做新的攀登,只做一件事:让六座塔合成一座城。
本站动线。先回头(p189–191):一张年表把 1874–1963 的十六个刻度钉在时间轴上,一份人物谱让十二位建造者显影,一篇札记把无穷的观念史放回中西对照的长河。再登高(p192–193):全书概念总图把六章的依赖关系画成一座城,方法决策树把「证明工具的选型」画成一棵可查的树。后动手(p194–196):两个综合实验真跑程序——对角线机器、康托尔配对、序数算术;一个终极挑战在有限宇宙里亲手重建小 ZFC。最后收束(p197–201):八道综合习题配逐题评讲,两页全书小结,一张终极速查表。
读法约定:综合站各页都标了回望的章节号。若某处卡住,按图索骥回到原塔补课,再回来继续走——这座城没有单行道。
★★ 九十年,十六个刻度。前半段(1874–1899)是康托尔的独奏;中段(1901–1923)是危机与重建的三部曲;后半段(1931–1963)是哥德尔与科恩的两次判决。本页逐年回放,细节见各章。
1874 康托尔:超越数存在。《论所有实代数数集合的性质》证明代数数可数而实数不可数——超越数不仅存在,而且「远多于」代数数。这是无穷第一次被当作可比较的对象,第一版不可数证明用的是区间套而非对角线(§4.5)。
1878 一一对应思想成型。《集合论的一个贡献》正式把「等势」(存在一一对应)立为比较无穷大小的唯一标准,并首次陈述:实数与自然数之间不存在一一对应,但实数与平面上的点可以配对——连续统假设的雏形在此(§4.13)。
1883 序数与良序的系统引入。《一般流形论的基础》提出超限序数与良序原则,把「第无穷个数」变成合法的数学对象。康托尔为实无穷辩护:无限不只是潜无限的过程,更是完成了的整体——哲学战线自此开火。
1891 对角线法与数学学会。短短两页的论文给出对角线论证:幂集严格更大,且此法对任何集合重演(§4.5–4.6)。同年康托尔创立德国数学家协会并任首任主席——为数学共同体修桥的人,也造出了最锋利的手术刀。
1895–97 《贡献》两篇与布拉利-福尔蒂悖论。《关于超穷集合论的两个贡献》系统化基数与序数理论;1897 年布拉利-福尔蒂发表「最大序数」悖论——序数理论自身开始发烫。
1899 康托尔致戴德金的信。康托尔区分「一致的多重体」与「不一致的多重体」:所有序数的系统 Ω 与所有基数的系统不能是集合,否则「最大序数」与「最大基数」的推理会自相矛盾——康托尔悖论萌芽,比罗素早两年,但只在书信里(§1.15)。
1901 罗素悖论。罗素在写作《数学原理》的过程中发现:由所有不属于自身的集合组成的集合,属于自己当且仅当不属于自己。三行字击穿了朴素集合论的概括原则,也击中了弗雷格刚付印的系统(§1.15)。
1904 策梅洛:良序定理与选择公理。《每一个集合都能被良序》给出证明,其中「从每个非空子集里各选一个代表」被明文标出——选择公理第一次以公理身份登场,随即引来波莱尔、贝尔、勒贝格等巴黎学派的激烈反对(第五章)。
1906 罗素类型论成形。罗素以「类型阶梯」自救:个体、个体的集合、集合的集合各居一层,「属于」只许跨层使用。为修补恶性循环,他付出的代价是可归约性公理——这套复杂机器后来被更简洁的 ZFC 取代。
1908 策梅洛公理系统;罗素与怀特海的《数学原理》动工。策梅洛发表《集合论基础研究 I》,七条公理拦住已知悖论;同年罗素发表类型论的成熟版本《基于类型论的数理逻辑》,二人合著的《数学原理》(1910–1913)随之铺开——公理化时代正式开幕(第二章)。
1922 弗伦克尔与斯科伦补上替换公理。策梅洛的系统对「{ω, ω+1, ω+2, …}」这样的像集无能为力;弗伦克尔与斯科伦分别提出替换公理模式,斯科伦并把公理彻底一阶化——ZF 骨架定型(§2.7)。
1923 冯·诺依曼序数。二十岁的冯·诺依曼重新定义序数:序数就是「由更小序数组成」的传递集,3 = {0, 1, 2}。良序的阶梯从此有了严格的通用坐标系,序数算术有了精确的承载物(§3.8)。
1931 哥德尔不完备定理。任何包含算术的一致、可公理化的理论都存在不可判定命题,其自身的协调性也无法在内部证明。公理化方法的边界第一次被严格划出——但它同时也是「独立性」这一概念的技术前提(§4.16)。
1935–38 哥德尔的 L:AC 与 CH 相对一致。哥德尔构造可构造宇宙 L:在其中选择公理与广义连续统假设全部成立。1938 年论文宣布:只要 ZF 一致,ZFC + GCH 就一致——半个世纪的争吵先得到一半答案(§6.11)。
1940 《连续统假设的一致性》出版。普林斯顿的专著把 L 的构造以可满足性的精确语言定本。同一时期哥德尔开始相信:连续统在「真正的」集合论里或许干脆是假的——他的直觉比技术早了二十多年(§6.15)。
1963 科恩:力迫法判决 CH 独立。科恩发明力迫法,从 ZFC 出发构造出 CH 为假的模型:连着哥德尔的方向,CH 在 ZFC 内既不能证也不能驳。这是不完备定理之后第一个「落到实处的独立命题」,1966 年为此颁发菲尔兹奖(§6.12–6.13)。
十六个刻度背后站着十二个人。年表是把思想钉在时间上,本页把思想还给人。十二位建造者,国籍、性情、结局各异,却共享同一场与无穷的缠斗——按生年排开,恰好是一张集合论的传承图。
康托尔(1845–1918)。生于圣彼得堡,终身执教哈勒。他给无穷排出了完整的层级,却换来克罗内克的封杀与自身的抑郁反复。临终前一年,希尔伯特替他宣判:「没有人能把我们从康托尔创造的乐园中驱逐出去。」
戴德金(1831–1916)。《连续性与无理数》(1872)用「分割」重建实数,《数的性质与意义》(1888)用系统(集合)定义自然数——后者直接启发了康托尔与皮亚诺。他与康托尔保持三十年通信,是康托尔孤独岁月里最重要的回声。
弗雷格(1848–1925)。《概念文字》(1879)发明现代量词逻辑,《算术基础》(1884)立志把算术化归逻辑。1902 年收到罗素的信,悖论击穿了他系统的第五基本定律;他在附言里承认大厦动摇,仍毕生坚持逻辑主义。
罗素(1872–1970)。1901 年发现悖论,与怀特海合写《数学原理》试图用类型论重建数学;工程浩大而终被 ZFC 的简洁取代。晚年在数理哲学之外成名——1950 年获诺贝尔文学奖。
策梅洛(1871–1953)。1904 年以良序定理引入选择公理,1908 年竖起第一套公理系统。他性格孤直,因与哥廷根同僚不合而离开学界;ZFC 中的 Z,是他留给数学的全部姓名。
弗伦克尔(1891–1965)。1922 年补上替换公理,同年写出最早的集合论专著之一。他自认组织者而非开山者——ZF 里排在 Z 后面的那个字母,他自己都觉得愧领。
斯科伦(1887–1963)。1922 年把公理彻底一阶化,并带回勒文海姆–斯科伦定理这枚「反常炸弹」(可数模型能「装下」不可数的实数理论)。他对公理化的哲学意义终生持保留态度,却亲手把 ZFC 打磨成今天的形状。
冯·诺依曼(1903–1957)。1923 年以传递集重定义序数,随后创立类理论(NBG 的前身)。集合论只是他二十多岁的一段开场:此后转向算子代数、博弈论、数理经济与计算机体系结构。
哥德尔(1906–1978)。1930 年完备性定理、1931 年不完备定理、1938–1940 年 L 与相对一致性——五年三击。后半生在普林斯顿与爱因斯坦散步为伴,相信「每个数学命题的真值终可被更好的公理裁决」。
科恩(1934–2007)。泛函分析出身,1963 年自创力迫法证明 CH 独立,1966 年获菲尔兹奖。他自称动手前的模型论知识「少得恰好不受成见束缚」——独立性的第二次判决来自一个外行。
塔斯基(1901–1983)。华沙逻辑学派的核心:1933 年用「不可在对象语言内定义真」重建语义学,奠定模型论。他与哥德尔互相敬重而风格相反——哥德尔向内挖悖论,塔斯基向外搭舞台。
乌拉姆(1909–1984)。1930 年前后把测度概念搬上大基数,可测基数的「放大无穷」自此进入视野(§4.17)。二战后参与曼哈顿计划并普及蒙特卡罗方法——从无穷的测度到随机的模拟,两头的峰他都登过。
西方:从「不许有」到「必须分」。亚里士多德在《物理学》第三卷立下两千年之规:无穷只能是潜在的——数永远可以再加一,但「全体自然数」这个完成了的对象不存在;实无穷被逐出数学。伽利略在《两门新科学》(1638)里第一次撞见麻烦:自然数与平方数一一对应,「多」却又不「多」——他在《对话》里借沙格列陀之口承认「无穷的量超出我们的理解力」。这道裂缝一直等到康托尔:1874 年之后,一一对应不再是否定的论据,反而成为给无穷分级的度量;实无穷由非法变成合法,且不止一个。至于动机,康托尔晚年书信里写得分明:他把超穷数看作「从神的思维中流出的」阶梯,无穷的层级恰是「绝对无限」与人间的分界——神学的关切没有拖累数学,反而逼他把「数不尽的数」一路数到 ℵ1、ℵ2 之外。
中国:写在实际操作里的无穷。《庄子·天下》载惠施「历物之意」:「至大无外,谓之大一;至小无内,谓之小一」——一正一负两个方向的无穷,与宇宙论尺度的两极遥遥相对。同篇又有辩者命题「一尺之棰,日取其半,万世不竭」:无限可分的潜无穷图景,与亚里士多德的立场几乎同调,却是用一根具体的木棰讲出的。《墨经·经上》则给出更紧的定义:「穷,或有前不容尺也」——「穷」就是前进到无处可再容纳一尺之棰;《经说上》补「穷:或不容尺,是也」,把极限式的「到达」讲成了可检验的判据。佛经东传又添一层:《华严经》以「一毛孔中,无量佛刹」表重重无尽的互摄,汉译惯用「恒河沙数」作不可数之量的代词——那正是第四章札记里「比 ℵ0 更大的数」在信仰语言里的投影。
对照的收获。两条传统在同一个命题上分了岔:「无穷能不能当作一个完成了的整体来谈论?」希腊与中国的主流回答都是「不能」,于是无穷停留在修辞、譬喻与操作(日取其半)之中;康托尔的回答是「能,而且能比较大小」,条件是把「谈论」改写成一一对应的严格语言。中西文献的共同教训则更朴素:伽利略的平方数、惠施的「大一」、墨家的「不容尺」,都是好的直觉等到了它的形式语言——集合论不是打败了这些直觉,而是终于配得上它们。
全书六章不是并列的塔,而是一条有方向的流水线:先立语言(第一章),再立宪章(第二章),然后沿序数爬高(第三章)、按基数分层(第四章),用选择公理接通全部「存在性捷径」(第五章),最后回到空集把数系装配出来(第六章)。箭头 A → B 表示「B 依赖 A」;节点内标 § 号,卡住时按号回塔。
三处横跳值得专记。① 第三章的 ω1(§3.14)直接喂养第四章的不可数层级(§4.11 吸收律);② 第五章的良序定理(§5.4)同时反哺第二、四章——「每个集合都有基数」要等 AC 才闭合;③ 第六章的独立性结论(§6.13)回头改写了第四章 CH 的身份:从「待判决」变成「永不判决」。
证明一道题,一半的功夫花在选工具上。本页把全书的证明方法画成一棵决策树:从「要证的结论是什么」出发,按分支走到具体工具,节点上标的是原章节——树是查的,不是背的。
选型的三条经验。① 成本阶梯:显式构造最便宜,Zorn 次之,直引 AC 再次,两个模型最贵;一道题若用了后者,回头总该问一句「能不能换成前者」——Vitali 集(§5.13)与向量的基(习题 5)是两个方向的标本。② 对角线的适用域:凡能「假设全部列出、然后造出一个不在表里的」的对象——实数、函数列、超滤子、图灵机的枚举——都用同一把刀;认出这个形状比背结论重要。③ 独立的真正含义(§6.13):不是「暂时不知道」,而是「两个都协调的模型」;说 CH 独立时,必须同时拿出 L(1938)与力迫模型(1963)。
自检:合上书复述五个分支各自的「第一反应」。第一反应对了,全书的工具箱就真正归了。
实验目的。把第四章的两台主引擎——对角线法(§4.5)与康托尔配对(§4.13 的姊妹件)——装进一个可复现的程序里跑通。全部代码纯 Python 3、无第三方库;完整脚本见 qa/exp_big1.py,本页摘其核心三段,运行输出与 qa/exp_big1_out.txt 一致。
第一段:对角线机器。线性同余发生器生成 10×10 的 0-1 方表(可复现),取对角线逐位取补——补序列必与每一行不同,因为第 i 位恰好翻转:
def bits_table(n, seed=20261013):
state, rows = seed, []
for i in range(n):
row = []
for j in range(n):
state = (state * 1103515245 + 12345) % (2**31)
row.append((state >> 16) & 1)
rows.append(row)
return rows
rows = bits_table(10)
diag = [rows[i][i] for i in range(10)] # 取对角线
anti = [1 - d for d in diag] # 逐位取补
assert all(anti[i] != rows[i][i] for i in range(10))
diff = sum(any(row[j] != anti[j] for j in range(10)) for row in rows)
print('d* 与 10 行逐一比对:全部不同 =', diff == 10)
运行输出(摘):对角线 d = 1 0 0 1 0 0 1 1 0 1,补序列 d* = 0 1 1 0 1 1 0 0 1 0,与 10 行全部不同。这正是康托尔定理的机械版:无论表多长,「补对角」总能造出一个漏网者——而且造法与列表方式无关。
第二段:康托尔配对验证。π(a, b) = (a+b)(a+b+1)/2 + b 把自然数对压成单个自然数;程序在 N = 1..30 上双重验收:
def pi(a, b): return (a + b) * (a + b + 1) // 2 + b
def pi_inv(n):
s = (isqrt(8 * n + 1) - 1) // 2
b = n - s * (s + 1) // 2
return s - b, b
for N in range(1, 31):
sq = [pi(a, b) for a in range(N+1) for b in range(N+1)]
assert len(set(sq)) == len(sq) # [0,N]2 上单射
tri = sorted(pi(a, b) for a in range(N+1) for b in range(N+1-a))
assert tri == list(range((N+1)*(N+2)//2)) # 三角块恰映到初始段
print('N=1..30:单射与三角块验收全部通过')
第三段:给 ℚ 编码。配对稍加放大就能收编有理数:先把整数用「锯齿」z(p) = 2p(p ≥ 0)、z(p) = −2p − 1(p < 0)折返成自然数,再令 code(p, q) = π(z(p), q−1),最后只收录既约分数。运行输出前 20 个:
0, -1/1, 1/1, -1/2, -2/1, 1/2, -1/3, 2/1, 1/3, -1/4, -3/1, -2/3, 1/4, -1/5, 3/1, -3/2, 2/3, 1/5, -1/6, -4/1
实验报告要求。① 贴出第一段的 d 与 d*,并把 n 换成 16 复跑,确认补序列仍全异;② 用逆映射 π−1 手工还原 42 与 100 对应的数对;③ 回答:第三段的枚举顺序由 π 决定,为什么「按分母分层」的朴素枚举(1/1, 1/2, 2/1, …)必须筛掉非既约分数才不重复?两种枚举的「漏检率」有何本质不同(对角线 vs 分层)?
实验目的。把第三章的抽象阶梯落成可运行的代币:冯·诺依曼序数(§3.8)用嵌套集合造数,康托尔范式(§3.11)用系数表做序数四则。完整脚本见 qa/exp_big2.py;本页摘核心引擎与验证输出,与 qa/exp_big2_out.txt 一致。
第一段:冯·诺依曼自然数。第 n 个序数就是前 n 个序数的集合——n = {0, 1, …, n−1}。程序连造七个并验证三条结构性质:
N = []
for n in range(7):
N.append(frozenset(N)) # n = {0, 1, ..., n-1}
assert all(N[n] in N[n+1] for n in range(6)) # n ∈ n+1
assert all(N[n] <= N[n+1] for n in range(6)) # n ⊆ n+1
assert all(N[n+1] == N[n] | {N[n]} for n in range(6)) # n+1 = n ∪ {n}
print('嵌套集合造数完成:2 = {0,{0}},3 = {0,{0},{0,{0}}}')
第二段:康托尔范式引擎。小于 ωω 的序数用系数表 [c0, c1, …, ck] 表示(α = Σ ci·ωi)。加法的要诀只有一句:低阶项被 β 的首项一口吞掉,同阶首项系数才合并;乘法按 β 的范式逐项分配:
def add(a, b):
if not b: return list(a)
if not a: return list(b)
eb, la = len(b) - 1, len(a) - 1
if eb > la: return list(b) # 如 1 + ω = ω
out = list(a[eb+1:]) # α 中指数高于 eb 的项
tail = list(b[:eb]) + [a[eb] + b[eb]] # 同指数合并,低阶取 β
return trim(tail + out)
def mul(a, b):
d = len(a) - 1
res = []
for e in range(len(b) - 1, -1, -1):
c = b[e]
if c == 0: continue
if e == 0:
for _ in range(c): res = add(res, a)
else: res = add(res, [0]*(d+e) + [c]) # α·ωe·c = ωd+e·c
return trim(res)
用这台引擎逐条核验第三章的反直觉三连——运行输出(摘):
ω + 1 = ω + 1 ; 1 + ω = ω ; ω+1 ≠ 1+ω: True 2 · ω = ω ; ω · 2 = ω·2 ; 2·ω = ω: True ; ω·2 > ω: True (ω+1)·2 = ω·2 + 1 ; (ω+1)2 = ω2 + ω + 1 (ω2·2 + ω·3 + 7) + ω = ω2·2 + ω·4
注意最后一行:加上 ω 之后 ω·3 变成 ω·4,而 7 被吞得无影无踪——加法不交换,低阶项不保值,这正是序数与基数的分水岭(§4.11 吸收律的另一副面孔)。
第三段:超限归纳与 HF 切片(脚本内)。归纳步对 n = 0..10 连跑验证 1+2+…+n = n(n+1)/2;HF 宇宙切片 V0 ⊆ V1 ⊆ V2 ⊆ V3 的元素计数为 0、1、2、4,并验证 V3 = 𝒫(V2) 与传递性——为下一页的终极挑战备好零件。
实验报告要求。① 用引擎手算并程序复核 (ω+2)·2 与 (ω·2)·2,解释为什么一个是 ω·2+2 而另一个是 ω·4;② 修改 mul 支持右因子 ω2,验证 2·ω2 = ω2;③ 回答:Vn 的元素个数是 2 的几层迭代?Vω 为什么装得下全部自然数却装不下 ω 自己?
任务。公理是干什么的?读定义不如开一个小宇宙亲手试。取 HF 宇宙(遗传有限集,§2.8 正则公理的天然模型)的有限切片:令 V0 = ∅,Vn+1 = 𝒫(Vn)。本挑战把 V2、V3 当作一个微型宇宙,逐条检验公理的「有限版本」——完整可跑脚本见 qa/exp_big3.py,输出存 qa/exp_big3_out.txt。
分步任务。① 枚举:写出 V2 = {∅, {∅}} 与 V3 = 𝒫(V2) 的全部元素(4 个),确认 V2 ⊂ V3 且 V3 传递(x ∈ y ∈ V3 ⇒ x ∈ V3)。② 外延:在 V3 内验证「两集合相等 ⟺ 元素相同」——有限世界里外延性就是逐项清点。③ 配对:对 a, b ∈ V2 的全部 2×2 种取法,验证 {a, b} ∈ V3。④ 并:对 x ∈ V3 验证 ∪x ∈ V3(例:∪{∅, {∅}} = {∅})。⑤ 分离:对 a ∈ V2 与几条性质 φ,验证 {x ∈ a : φ(x)} ∈ V2。核心骨架(与 qa/exp_big3.py 一致,可独立运行):
V0 = frozenset(); V1 = frozenset([V0])
V2 = frozenset([V0, V1]) # 宇宙 U = V_2
V3 = frozenset([V0, V1, frozenset([V1]), V2]) # P(V2),4 个元素
assert all(frozenset([a, b]) in V3 for a in [V0, V1] for b in [V0, V1])
def union(s):
out = frozenset()
for t in s: out = out | t
return out
assert all(union(x) in V3 for x in V3) # 并公理的有限版
props = [lambda x: True, lambda x: x != V0, lambda x: x == V0]
assert all(frozenset(x for x in a if phi(x)) in V2
for a in [V0, V1] for phi in props) # 分离公理的有限版
print('外延 · 配对 · 并 · 分离:四条有限版全部通过')
讨论题(挑战的正文)。① 无穷公理在此必然失败:V2 里连 {∅, {∅}, {{∅}}, …} 的影子都没有——精确指出:有限版本里「存在归纳集」这条要求断在哪里?② 替换公理的微妙:取定义函数 f(x) = {x},它在 V2 上把 V2 的像送进 V3——为什么「像集留在同一层」在有限切片上做不到,在 HF 全宇宙 Vω 上却做得到?③ 反过来的眼光:正则公理(§2.8)说每个非空集合有 ∈-极小元;在 V3 里手工核对每一条。这道挑战的真正教益:公理不是禁令清单,而是对宇宙封闭性的逐条验收——验收单在手,任何宇宙(有限、HF、可构造 L、力迫扩张)都可用同一张表复查。
习题 7-1(外延判别)。判断下列集合等式哪些对一切集合成立:(1) 𝒫(A) ∪ 𝒫(B) = 𝒫(A ∪ B);(2) 𝒫(A) ∩ 𝒫(B) = 𝒫(A ∩ B);(3) A − (B ∪ C) = (A − B) ∩ (A − C);(4) ∪(𝒫(A)) = A。
提示。每条先找反例再看证明:试 A = {1}, B = {2} 查 (1);(4) 用 A = ∅。答案要点:只有 (2)(3) 恒真,(1) 漏掉 {1,2},(4) 在 A = ∅ 时给 ∪∅ = ∅ 恰好成立但 A = {{1}} 型要小心——∪𝒫(A) = A 其实恒真?逐项验证后下结论(评讲见 p198)。
习题 7-2(Kuratowski 反解)。有序对 (a, b) = {{a}, {a, b}}。证明:由给定的二元集族可唯一反解出 a 与 b;并求 {{1}, {1, 2}} 与 {{{1}}, {{1}}} 各是哪个有序对。
提示。先证 {a} = {a, b} ⟺ a = b:唯一性由「单元素元 = 第一分量」读出。a = b 时对退化成 {{a}}。第二例里二元素重合——它就是 ({1}, {1})。
习题 7-3(序型识别)。把下列序数写成康托尔范式并按大小排序:ω + ω2,ω2·2 + ω·3,(ω+1)·2,ω·2 + 1,ω3,1 + ω2。
提示。复用实验(二)的引擎心算:ω + ω2 = ω2(低阶被吞)、(ω+1)·2 = ω·2 + 1、1 + ω2 = ω2。排序后注意 ω·2 + 1 与 ω2 的大小要靠首项指数比。
习题 7-4(S–B 应用)。用 Schröder–Bernstein 定理(§4.8)证明 |(0, 1)| = |[0, 1]| = |ℝ|,各给出两个方向的单射(不许直接引用已知双射)。
提示。[0,1] → (0,1) 的单射别用 x/2 + 1/4(它丢端点吗?不丢,但要验单射);ℝ → (0,1) 用 arctan 折算。S–B 只问单射存在,不问好看。
习题 7-5(Zorn 应用)。用 Zorn 引理(§5.7)证明:每个向量空间 V ≠ {0} 都有基。写出「偏序集、链、上界」三要素各是什么。
提示。偏序集取线性无关组的包含偏序;链的并仍是线性无关组(有限线性组合只动到有限个成员——关键一步);上界即并。极大元是基的反证:若 v 不在生成范围里,把它加进极大组仍无关。
习题 7-6(对角线设计)。证明全体函数 f : ℕ → ℕ 的集合不可数。再设计对角线:证明「ℕ 的所有无限子集」不可数。
提示。第一问:假设列成 f0, f1, …,定义 g(n) = fn(n) + 1。第二问:把子集换成指示函数即可化归第一问;或直接造 A = {n : n ∉ An 且 n ∈ An ∪ …} 的变体——注意「无限子集」要求对角对象补成无限。
习题 7-7(独立含义辨析)。下列说法哪些正确?(a) CH 已被证明为假;(b) CH 独立意味着 ZFC 有矛盾;(c) 在 ZFC 中既不能证 CH 也不能证 ¬CH;(d) 力迫模型里 CH 是假的,所以那个模型「不对」;(e) 若 ZFC 一致,则 ZFC + CH 与 ZFC + ¬CH 都一致。
提示。回看 §6.13「独立的含义」:独立 = 两模型齐备,不是不知道、不是矛盾、也不分对错。答案要点:只有 (c)(e) 正确。
习题 7-8(数系构造验证)。在第六章的构造里,整数是 ℕ × ℕ 对 (a, b)(代表 a − b)的等价类,加法定义为 (a, b) + (c, d) = (a+c, b+d)。验证:该定义与代表元选取无关(良定义),并求 (3, 1) 与 (5, 4) 所在等价类相加的结果代表的整数。
提示。良定义:若 (a,b) ~ (a′,b′)(即 a+b′ = a′+b),验证 a+c+b′+d = a′+c+b+d。(3,1) 代表 2,(5,4) 代表 1,和为 (8,5) 代表 3——与 2+1 一致即验收通过。
习题 7-1 评讲。(1) 假:取 A = {1}, B = {2},则 {1,2} ∈ 𝒫(A ∪ B) 但 {1,2} ∉ 𝒫(A) ∪ 𝒫(B)——幂集不保持并。(2) 真:X ∈ 𝒫(A) ∩ 𝒫(B) ⟺ X ⊆ A 且 X ⊆ B ⟺ X ⊆ A ∩ B。(3) 真:De Morgan 律逐元素展开。(4) 真——这是本题的陷阱:对每个 x ∈ A 有 {x} ∈ 𝒫(A) 故 x ∈ ∪𝒫(A);反向每个成员都躺在 A 的某个子集里,当然在 A 里。常见错误:把 (4) 与 𝒫(∪𝒜) ⊇ ∪𝒜 型混淆后凭直觉判假;做完必须「试探一个反例,找不到就老老实实证恒真」。
习题 7-2 评讲。唯一性:设 (a, b) = (c, d),即 {{a}, {a, b}} = {{c}, {c, d}}。对任何 a 都有 a ∈ {{a}, {a, b}} 的每个成员……规范走法:{a} 与 {a,b} 的并给出 {a, b},其中「单元素成员的唯一元素」读出 a;若二成员不同,二元素成员里除 a 外那个是 b;若相同则 a = b。反解结果:{{1}, {1, 2}} 是 (1, 2);{{{1}}, {{1}}} 的两个成员实为同一个集合,即 ({1}, {1})——「第二分量等于第一分量」的退化对。常见错误:忘记验证 a = b 时对会坍缩成单元素集族,从而反解规则要分情况。
习题 7-3 评讲。康托尔范式:ω + ω2 = ω2(低阶首项被吞);1 + ω2 = ω2 同理;(ω+1)·2 = ω·2 + 1(乘两次,进位只到首项指数);其余照抄。排序:ω·2 + 1 < ω2(首项指数 1 对 2)< ω2·2 + ω·3 < ω3,其中两处相等的重复项归并。故全序为:ω·2+1 < ω2(= ω+ω2 = 1+ω2)< ω2·2+ω·3 < ω3。常见错误:把 ω + ω2 想当然写成 ω2 + ω——交换律是序数算术里最先阵亡的直觉。
习题 7-4 评讲。四支单射:① (0,1) → [0,1] 取包含映射;② [0,1] → (0,1) 取 x ↦ x/2 + 1/4(像落在 [1/4, 3/4],单射显然);③ ℝ → (0,1) 取 x ↦ (arctan x)/π + 1/2;④ (0,1) → ℝ 取包含。S–B 两次动用:②①合流得 |(0,1)| = |[0,1]|;③④合流得 |ℝ| = |(0,1)|。常见错误:想找一个「好看的」双射(如把 0, 1 与数列 1/n 依次轮换)而卡住——S–B 的教益恰是只要两头有单射,双射的合成可以外包。
习题 7-5 评讲。三要素:偏序集取「线性无关组的全体,按包含排序」;链的上界取链成员之并——关键一步:有限个向量参与的线性关系只牵涉链中有限多个组,它们沿包含关系有最大者,故整个关系在这一个组里化解,并仍无关;V ≠ {0} 保证偏序集非空({v} 在场)。Zorn 交给极大组 M;若 M 不生成 V,取 v ∉ span(M),则 M ∪ {v} 仍无关,与极大性矛盾。常见错误:① 链的并的无关性只对「有限线性组合」成立,把无穷和混进来会前功尽弃;② 忘写偏序集非空——Zorn 引理的假设是全条件。
习题 7-6 评讲。第一问:设 f0, f1, … 列尽全体函数,令 g(n) = fn(n) + 1,则 g 与每个 fn 在第 n 位不同——不在表内,矛盾。第二问两条路:① 化归:无限子集经「配对编码」A ↦ {π(n, fA(n))} 与函数互通(π 是康托尔配对),函数不可数即子集不可数;② 直接对角:设无限子集列 An,逐段构造 B——第 n 段从未用过的自然数里取两个新鲜数,安排一个入 B 使 B ≠ An,并留一个「生长点」保证 B 无限。常见错误:对角对象 B 忘了验无限——「补对角」之后还要补「无限性」这一条。
习题 7-7 评讲。(c)(e) 正确。(a) 假:没有裁判判 CH 假;(b) 假:独立性恰以「ZFC 一致」为前提,与矛盾无关;(d) 假:力迫模型与 L 都是同一套公理的合法宇宙,模型无对错、只有命题在其中的真值。深层提醒:把「独立」读成「暂时不知道」是全章最顽固的误解——独立是被两个一致性定理证明了的永不知道(在 ZFC 之内)。
习题 7-8 评讲。良定义:设 (a, b) ~ (a′, b′),即 a + b′ = a′ + b。与 (c, d) 相加:两边各加一个 c+d,得 a+c + (b′+d) = a′+c + (b+d)——和的等价类不变。第二对换代表元同理,两步合起来定义与选取无关。(3,1) 代表 2,(5,4) 代表 1,(8,5) 代表 3,2 + 1 = 3 验收通过。常见错误:只验第一个代表元可换、漏掉第二个——良定义必须对每个参数的换代表都免疫。
六大件清点。全书的技术内容压缩成六件行李,每件配一句口诀——口诀是压缩包,展开仍是全章。
| 大件 | 核心技术 | 出处 | 一句话口诀 |
|---|---|---|---|
| 语言 | 属于关系;交并差补幂;关系映射;可数与不可数初遇;罗素悖论 | §1.1–1.15 | 万物皆集合,一句「属于」走天下 |
| 公理 | 外延、空集配对并、幂集、无穷、分离、替换、正则、选择;一阶化 | §2.1–2.17 | 直觉要过公理的关,公理要过悖论的关 |
| 序数 | 良序;三歧性与分类;超限递归;冯·诺依曼坐标;康托尔范式;ω1 | §3.6–3.14 | 数数数到无穷:先给位置,再谈大小 |
| 基数 | 对角线;康托尔定理;S–B;吸收律;ℵ 层级;CH 与独立;大基数 | §4.5–4.17 | 无穷有大小,对角线是尺 |
| 选择 | 良序定理;Zorn 等价环;基数可比;Vitali 集;独立性 | §5.4–5.17 | 「各挑一个」不是免费的,但等价地便宜 |
| 构造 | 冯·诺依曼自然数;整数有理数实数;康托尔集;L;力迫 | §6.1–6.15 | 从空集出发,把整座分析学造出来 |
三个必背的「电梯定理」。① 康托尔定理(§4.6):对一切 A 有 |𝒫(A)| > |A|——无穷没有最大,只有更高;② 超限递归(§3.8):在序数上定义对象是合法动作,极限处取并即成;③ 一致性双塔(§6.11–6.12):ZFC 一致则 ZFC+CH 与 ZFC+¬CH 各自一致——一塔在 L,一塔在力迫。
技术清单到此封箱。下一页换一副眼镜:这九十年不只建了一套工具,也改写了「数学是什么」的答案。
一、数学对象是被定义出来的,更是被公理裁定的。朴素集合论相信「一堆东西自然成堆」;罗素悖论教的一课是:对象的宇宙必须由公理守住边界。ZFC 九根柱石没有一条是「显然」的免费午餐——每一条都对应一次真实的溃坝(概括原则 → 分离与替换;「每类都可比较」→ 良序与选择)。公理化的精神不是保守,而是把直觉中的可信部分明码标价。
二、无穷不是一种,而是一座阶梯。康托尔之前,「无穷」是单数的抽象;之后它是复数的层级:ℵ0 < 2ℵ0 < 22ℵ0 < …,序数与基数各给一座坐标系。世界观的转变在于:无穷不再是「没完没了」,而是可以数、可以运算、可以互相比较的对象——潜无穷的动词变成了实无穷的名词。
三、「显然」要过公理的关,公理也有过不了的关。选择公理吵了六十年才凭等价环(§5.4–5.8)与 Vitali 反例(§5.13)谈妥条件;连续统假设吵得更久,最后由哥德尔与科恩共同宣判:在 ZFC 之内永远谈不拢。这是本书最深的世界观一课:数学命题分三种——可证的、可驳的、独立的;第三种不是无知,而是被两个一致性定理钉死的永久性悬置。
四、宇宙不止一个。L 里 CH 为真,力迫扩张里 CH 为假,两个宇宙共享同一套 ZFC。今日集合论者的工作台面正是「多元宇宙」:想知道某命题的真相,先问它在哪些宇宙里成立、由什么公理(大基数?力迫公理?)裁决(§4.17、§6.15)。地基学科最终给出的,是一张可能世界的地图,而不是唯一世界的手绘图。
五、回到一根木棰。「一尺之棰,日取其半,万世不竭」——庄子说的是潜无穷的谨慎;康托尔补上的是:取了万世之后,把全部取出的碎棰收进一个集合,问它有多长、有多少块、能否再分。集合论的全部工作,就是把「日复一日」的动词收藏进「已完成的整体」这个名词,再为这个名词建立算术。读毕全书,再看那根棰:它仍是万世不竭的,但从今天起,知道「不竭」两个字可以写成定理。
最后一问,留给合上书之后:在数学经验里,哪一条「显然」至今还没有过公理的关——打算为它标一个什么价?
| 条目 | 内容 | 出处 |
|---|---|---|
| 外延公理 | 元素相同的集合相等 | §2.2 |
| 空集·配对·并 | ∅ 存在;{a,b} 存在;∪A 存在 | §2.3 |
| 幂集公理 | 𝒫(A) 存在——对角线的土壤 | §2.4 |
| 无穷公理 | 归纳集存在,ℕ 有集合化身 | §2.5 |
| 分离模式 | {x ∈ A : φ(x)} 是集合——概括原则的驯化版 | §2.6 |
| 替换模式 | 集合在可定义映射下的像是集合 | §2.7 |
| 正则公理 | 非空集合有 ∈-极小元;禁 x ∈ x | §2.8 |
| 选择公理 | 两两不交的集合族可各选一元;⟺ 良序 ⟺ Zorn | §2.9 / §5.4–5.8 |
| 序数三定理 | 三歧性;分类定理(良序集彼此恰可比较);超限递归 | §3.6–3.8 |
| 康托尔范式 | α = ωβ1·c1 + … + ωβk·ck,唯一 | §3.11 |
| ω1 | 全部可数序数之上:第一个不可数序数 | §3.14 |
| 康托尔定理 | |𝒫(A)| > |A|;ℝ 不可数 | §4.5–4.6 |
| Schröder–Bernstein | 双向单射 ⟹ 双射 | §4.8 |
| 吸收律 | κ + λ = κ·λ = max(无穷且一方非零) | §4.11 |
| CH 与独立 | 2^ℵ0 = ℵ1?ZFC 内不可判定(L 1938;力迫 1963) | §4.13 / §6.11–6.13 |
| Zorn 引理 | 链皆有上界的非空偏序集有极大元;⟺ AC | §5.7–5.8 |
| 数系构造 | ℕ ⊆ ℤ ⊆ ℚ ⊆ ℝ:等价类逐步装配 | §6.1–6.5 |
| 可构造宇宙 L | 分层可定义;ZFC + GCH 一致 | §6.11 |
| 力迫法 | 扩充宇宙使目标命题为假;CH 独立 | §6.12 |
| 符号 | ∈ 属于 · ⊆ 含于 · ∅ 空集 · 𝒫 幂集 · ∪ ⋃ 并 · ℵ0 基数 · ω 序数 · κ, λ 基数变量 · α, β, γ 序数变量 · ⟺ 等价 · ⇒ 蕴含 · V_α 累积分层 · L 可构造宇宙 · Con(ZFC) 一致性 | §1.1 起 |
易错四坑(终检)。① 序数加法不可交换:1 + ω = ω ≠ ω + 1;② 基数算术可吸收、序数算术不吸收——先问自己在哪座塔;③「独立」不说「不知道」:两模型齐备才算;④ Zorn 引理三要素(偏序、链有上界、非空)缺一不可,验完才许动用。
下一步。续修的方向:模型论基础(可满足性与紧致性)、描述集合论(实数的可定义子集)、大基数层级(§4.17 的纵深)与力迫法的技术细节(§6.12 的完全展开)。这座城有城门,没有围墙——无穷的建筑学,工期永续。