这不是一本教材,而是一册入门书:全书只讲一件事——模型论,即「把公理系统画出来,看它到底在描述哪些世界」的学问。它回答的问题朴素而颠覆:一个公理系统说的是什么?它有多少种模型?哪些性质是所有模型共有的?凭什么说平行公设既不能证明也不能反驳?为什么「非标准自然数」这种怪物模型必然存在?从 Löwenheim(1915)与 Skolem 定下模型大小的规矩,到 Tarski 的判定机器(初等代数学与初等几何可判定)、Robinson 的非标准分析(1960,无穷小复活)、Morley 的范畴性定理(1962)、Shelah 的分类纲领,再到 Hrushovski 用模型论证明 Mordell–Lang 猜想(1996),模型论从「逻辑的分支」变成了代数几何与数论的主力工具。全书按章组织:绪论用「同一套公理、许多个世界」提炼主题;第一章建立语言与结构这套字母表;第二章用紧致性与 Löwenheim–Skolem 定理展示有限的信息如何约束无限的模型;第三章把欧氏、仿射、射影、罗巴切夫斯基、球面五种几何的公理系统与模型摆在一起,看模型如何替几何的公理「背书」;第四章开动 Tarski 的量词消去机器,把可判定性一步步做出来;第五章深入模型内部(类型、饱和、范畴性、稳定性);第六章用布尔值模型与力迫法给出连续统假设的独立判决,并一瞥现代模型论的全景;综合站用年表、人物谱、概念总图、实验与自查收束全书。
写作的三条约束(本书的自我要求)。① 具体模型先行:每个抽象定义先有一张具体的结构表——把一条公理翻译成点与线、把「可定义集」画成子集、把双曲几何放进 Poincaré 圆盘量一量、把力迫扩张想象成往实数轴上塞新数,再抽成定义。② 一步一图:凡能画的都画——结构示意图、模型大小的谱、五种几何的模型地形图、量词消去的投影图、泛型滤子的构造图。③ 自给自足:所需的集合记号、域与序的基本事实在书内随用随补;个别深刻结论(Morley 定理、力迫法的细节、应用模型论)给出精确陈述与证明路线,计算对拍在实验页随附。
页型节奏。每章以 导引 开篇(一页说清这一章要解决什么);主体是 讲义 页(定义、定理、证明,一步一图);每章配 例题 与 习题(末附提示);每章收在 地图(依赖关系)+小结+思想卡(把技术升成观念)+挑战与实验(动手核验);另有 〖札记〗格物札记做中西思想传统的对照。每页右上角标页码,页眉灰色小字标出所属章与页题。
难度标记。讲义页首行用 ★–★★★★★ 标出阅读难度:★ 高中基础即可,★★ 需要集合与域的基本功(书内自给),★★★ 需要一点抽象结构经验(等价关系、同态,书内自给),★★★★ 需要形式语义与拓扑的功夫(书内自给),★★★★★ 触及稳定性、力迫与应用模型论(第五、六章)。若只求理解主线,读绪论、第一章、第三章的五种几何、第六章的连续统假设即可;若求完整掌握,按章顺序逐页推进,并把每章习题做完。
三条线索贯穿全书:
① 明线——从公理到模型,再从模型回到公理:先看公理如何被一个个世界实现(绪论、第一章),再用紧致性造出反直觉的模型(第二章),然后让五种几何的公理各自拥有自己的模型、并借模型判出平行公设的独立性(第三章),进而把「理论能推出什么」变成可执行的判定算法(第四章),最后钻进模型的内部结构与力迫扩张,给出连续统假设的独立判决(第五、六章)——这正是模型论一百年从「几何的基础之争」长成「结构的分类科学」的轨迹。
② 暗线——真理是相对于模型的。「三角形内角和是两直角」显然吗?在球面上它大于两直角,在双曲平面上小于两直角。「自然数只有 0 与后继」显然吗?非标准模型里有比一切标准数都大的数。「实数轴上只有一个连续统的大小」显然吗?力迫法能造出 CH 失败的世界。分清「在某个模型内为真」与「在所有模型内为真」,是全书反复演练的判官功夫。
③ 接口——通往四个邻域。模型论是几何、代数、分析与逻辑的会客厅:与集合论(内模型 L 与力迫扩张,第六章)、代数学(实闭域、代数闭域与量词消去,第四章)、几何学(五种几何的公理系统与模型,第三章;o-极小与半代数几何,第四、五章)、数论与算术几何(Mordell–Lang 与第十问题的模型论面,第六章)四条战线直接相通。这些邻域的一阶逻辑、完备性、内模型与力迫法,在本册中被反复调用。
写法约定(TEX 标准):结构用花体 𝒜, ℬ, ℳ、论域用 A, B, M、语言记 L、理论记 T(变量斜体);满足 ⊨、可证 ⊢、初等等价 𝒜 ≡ ℬ、可定义集 φ(ℳ);量词 ∀ ∃、型的空间记 Sn(T)、连续统假设记 CH、广义连续统假设记 GCH。变量斜体,系统名与算子(ZFC、RCF、ACF、CAD、Mod、Th)正体;关键一步配图,直觉与证明逐章对照。
两千多年来,几何学家相信公理是不证自明的真理:欧几里得的五条公设被当作关于空间的绝对事实,谁若否定它们,就等于否定了理性本身。十九世纪的数学却接连送来三记重锤:平行公设可以被推翻而丝毫不动摇其余公理;逻辑定律可以容纳比一切标准自然数都大的「非标准数」;关于集合大小的一切直觉,都会被力迫法改写成另一个世界。三记锤子砸向的其实是同一句成见——一套公理只描述一个世界。
本册要讲的,正是与这句成见相反的事实。一套公理系统并不锁定唯一的世界,而是圈出一个世界的家族:家族里的每个成员都照着公理办事,却在公理没有过问的地方各显神通。把公理当作地图、把模型当作地图上的具体疆域,这门学问就叫模型论(model theory)。它的核心问题朴素而颠覆:一个理论到底在描述哪些世界?有多少种?哪些性质是所有成员共有的、哪些只是某个成员的特产?凭什么说某条命题既不能证明、也不能反驳?
本册的写法遵循一条主轴:先把一个理论画出来,再回答问题。每引进一个抽象概念,都先给它一张具体的结构表——把语言翻译成符号的清单,把「满足」翻译成结构里的一次查证,把双曲几何放进圆盘里量一量,把力迫扩张想象成往实数轴上塞进新数。抽象不是目的,抽象是让人得以同时看清许多个世界的那副眼镜。
图 0-1 是全书的缩影:左边一套公理,右边一群模型。公理不是许多条显然真理的清单,而是划分结构的一幅地图——它规定哪些世界可以登场,却把每个世界的具体形状留给模型自己。带着这幅图出发:此后每一章,都是在把这张对应表画得更精确、更锋利。
★ 先从一个熟悉的场景说起。中学课本把「群」定义为满足三条公理的对象:结合律、有单位元、有逆元。定义讲完,课本立刻给出例子——整数在加法下成群,非零有理数在乘法下成群,正方形的旋转与翻折也成群。三条公理没有提到「整数」「有理数」「正方形」中的任何一个词,可这三个毫不相干的对象偏偏全都合格。这就是本节要立下的第一个观念:模型是公理系统的具体实现。
定义里有两个词值得立刻掰开。具体:模型不是符号串,而是货真价实的对象——一个集合、一组运算、一种关系,可以在里面做计算、找反例、逐条验算。每一条:公理是模型必须逐条兑现的承诺,少兑现一条,就不算模型。三条群公理把整数、有理数、正方形的对称打包进同一个家族,靠的正是这份「逐条兑现」的合同。
公理没有说到的地方呢?模型可以自由发挥。整数加群有无穷多个元素,正方形对称群只有八个;非零有理数乘群里任意两元素总能相除,整数加群里却不一定。三条公理对这些差异一言不发,差异便留给模型自己决定。这条观察是模型论全部趣味的源头:同一条公理之下,藏着许多个互不相同、甚至互不同构的世界。
再换一套公理看一遍。把「小于」关系的公理写在纸上:传递,且任意两元素或相等、或一方小于另一方。(ℕ, <) 满足它,还有一个最小元 0;(ℚ, <) 满足它,却没有最小元,稠密得任意两点之间都塞得进第三个点,与 (ℕ, <) 不同构;(ℝ, <) 再添一层完备性。三套结构共享同一张公理表,性格却天差地别。判断一条命题是否成立,必须先问「在哪个模型里」——这句话将在第五章化为一整套「类型」的学说。
★★ 上一节把模型讲成了公理的实现,可「公理」本身还是模糊的:它究竟是一串符号,还是一条真理?模型论的第一次分家,就分在这里——一门学问只有两条腿,才能走得远。
第一条腿是语法(syntax)。把语言想成一套字母表:常量符号、函数符号、关系符号是单词,逻辑联结词 ¬ ∧ ∨ → 与量词 ∀ ∃ 是变格规则,括号是标点;用它们层层拼装出的公式,就是这套语言里合法的句子。语法只关心符号的形状与拼装规则,不关心符号指向什么。证明也是一个纯粹的语法动作:从公理出发,按推理规则逐行写下公式,最后一行就是被证明的定理,记作 T ⊢ φ。整个过程中符号始终只是符号——一台不懂数学的机器也能核对每一步是否合规。
第二条腿是语义(semantics)。给语言里的每个符号指派一个具体含义——常量指向某个元素、函数符号指向某个运算、关系符号指向某种关系——就得到一个结构 𝒜。公式在这时才有真假:𝒜 ⊨ φ 读作「φ 在结构 𝒜 中为真」。语义关心的是结构与公式之间的符合,而非符号的排列。
两条腿各自能走,问题却出在它们会不会走岔:语法说「可证」的,语义是否「为真」?语义说「处处为真」的,语法是否「可证」?哥德尔在 1929 年的博士论文里给出了答案——对一阶逻辑,两条腿完全同步。
这条定理的重要性怎么强调都不过分:它把「证明」这一有限、机械、可查的动作,与「真」这一涉及可能无穷多个模型的性质正式画上等号。从此要证明某命题不可证,只需造一个模型让它为假——证明的不可能,变成了模型的可能存在。这正是本册全部招式的总开关,下一节就用它来裁决两千年的平行公设悬案。
★★ 完备性定理一颁布,历史上最著名的悬案立刻有了判词。这场悬案的主角,是欧几里得《几何原本》的第五条公设——平行公设。
两千年的一根刺。前四条公设简短而自明:两点定一线、线段可延长、可画圆、直角皆相等。第五条却拖沓别扭:若一条直线落在两条直线上,使得同侧内角之和小于两直角,则两直线在该侧延长后必相交——用今天的话说,就是过直线外一点,有且只有一条直线与之平行。历代学者都觉得它不像公理、更像定理,于是前赴后继地想从其余四条把它推出来。萨凯里 1733 年的长篇尝试最接近成功也最接近真相:他假定过一点至少两条平行线,一步步推出种种奇怪却自洽的结论,眼看矛盾即将出现,他终于放弃——而他所推出来的那些结论,其实是另一个几何的定理。
三份独立的手稿。1820 年代,高斯在私人信件里承认自己早已接受非欧几何,却因惧怕喧哗而不敢发表;1830 年前后,罗巴切夫斯基与波尔约先后公开宣布:把平行公设换成过一点有无穷多条平行线,其余公理原封不动,可以造出一个逻辑上自洽的新几何。这是数学史上破天荒的一次——公理不再因其「显然」而被接受,而是因其「能被某个世界实现」而被接受。
模型登场。自洽的断言终究要有落脚点。1868 年,贝尔特拉米找到了关键一步:在欧氏三维空间里有一种叫伪球面的曲面,其上的测地线恰好满足双曲几何的全部公理——只要欧氏几何自洽,双曲几何就自洽。1871 年克莱因与 1882 年庞加莱进一步给出盘模型:把双曲平面装进一个欧氏圆盘,圆内每一点都是一个位置,直线是与边界正交的圆弧;盘上的度量被重新定义,使得过直线外一点的无穷多条圆弧都与该直线不相交(图 0-4)。这些模型把「双曲几何自洽」归约成了「欧氏实数系自洽」。
两千年悬案就此尘埃落定。判词只有一句,却改写了公理的地位:一条公理既不能证明也不能反驳,当且仅当存在两类模型,一类让它为真、一类让它为假。模型的贫富,就是公理的命运——第三章将把这套判决法做成一份完整的五几何地形图。
★★ 一套关于语言与模型的学说,为什么不在二十世纪初就繁盛,反而等到二十世纪五十年代之后才大爆发?答案藏在「工具成熟」与「对象出现」这两件事之间的时间差里。
地基早在二三十年代铺好。洛文海姆 1915 年、斯科伦 1920 年给出了关于模型大小的第一条定理;哥德尔 1929 年证明完备性,顺手把紧致性定理一并交出:一组公式若任意有限子集都有模型,则整组也有模型。这条定理的威力在于「以有限驾驭无限」——它允许从一个无穷模型里造出各种反直觉的新模型。地基既成,学风却未至:当时的学术中心仍把数理逻辑当作数学的外围。
第一波:与代数合流(1950 年代)。塔斯基转向实闭域与代数闭域,用量词消去把初等代数学与初等几何的可判定性一举拿下;模型不再只是逻辑学家的玩具,而成了代数结构的显微镜。模型论从此与代数、几何、数论结下数十年的友谊。
第二波:造出陌生的世界(1960 年代)。鲁宾逊 1960 年用紧致性从实数系统里造出非标准实数——里面住着比任何正实数都小、却大于零的真正无穷小;三百年前莱布尼茨的无穷小论证,在模型论手里复活为严格数学。同一时期,莫利 1962 年证明范畴性定理,第一次揭示「一个理论能有多少种模型」本身就有深刻的结构定律。
第三波:分类纲领与跨学科应用(1970 年代至今)。谢拉赫自 1970 年代起建立稳定性理论,试图给全部一阶理论排出一张分类谱系——理论能被分门别类,正如群能。到了 1996 年,赫鲁晓夫斯基用模型论工具证明了数论中 Mordell–Lang 猜想的一个关键情形,模型论第一次在一个看似毫不相干的领域里解决了悬而未决的问题。
三波浪潮背后是同一条逻辑:一门学问的爆发,靠的是它终于能回答别人答不了的问题。模型论用「造模型」这一手,把逻辑的严格性送到了代数、分析、数论的门口——这正是本册要带人走完的路。
★★ 观念讲完,该摊开地图了。全书六章是一条不断加码的远征路线:先把字母表学会,再握紧两件法宝,然后走遍几何的疆域、造出判定机器、钻进模型内部,最后抵达独立性的巅峰。
第一章(语言与结构)建立模型论的字母表:一阶语言的常量、函数、关系符号;结构的论域与解释;项、公式与自由变元;满足关系 ⊨ 的精确定义。学完这一章,任何一条数学命题都能被翻译成规范的公式。
第二章(紧致性与 Löwenheim–Skolem)握紧两件法宝:紧致性定理,把一个理论拆成有限片段逐一检验;上行与下行 Löwenheim–Skolem 定理,控制模型的大小。两件法宝合起来,就能造出非标准自然数这类怪物模型。
第三章(几何的公理与模型)把欧氏、仿射、射影、罗巴切夫斯基、球面五种几何的公理系统与它们的模型摆在同一张桌上,用模型替公理背书,并亲手复核平行公设的独立性判决。
第四章(量词消去与可判定性)开动塔斯基的机器:把公式里的量词逐个消去,把「判定一条命题真假」化归为「代入检验」。实闭域与初等几何的可判定性由此落地。
第五章(类型、饱和与范畴性)钻进模型内部:类型描述一个元素可能有的全部性质,饱和模型把所有可能性一次性装下,范畴性定理则回答「一个理论能有几种模型」。
第六章(力迫、连续统假设与现代模型论)抵达巅峰:用布尔值模型与力迫法造出连续统假设失败的世界,给出它相对于 ZFC 的独立性判决,并一瞥现代模型论的全景。最后,综合站用年表、人物谱与概念总图收束全书。
路线图上还有一行小字值得单独记住:每一章的实验页都会让程序参与——穷举小模型、对拍满足关系、在有限结构上验证一条公式的真假。模型论是少数几门「小世界里可以亲手穷尽全部模型」的数学;计算让抽象定理变得可见、可触、可对拍,也让每一次判决都能被独立复核。
★★ 模型论的历史是一条「先有工具、后有对象」的曲线:定理早早到位,学派却姗姗来迟。本页用八个年份把这条曲线串起来。
1915 · Löwenheim。洛文海姆证明:一个可数语言里可满足的一阶句子,必有可数模型。这是关于「模型能有多大」的第一条定理,也是「以有限符号驾驭无限结构」的第一次示范。
1920 · Skolem。斯科伦把上述结果推向理论并给出更简洁的证明,还敏锐地指出其中的悖论味:ZFC 若自洽,就有一个可数模型,可它内部却证明着不可数集的存在——模型的「可数」与内部的「不可数」指的并非同一件事。
1929 · 哥德尔完备性。哥德尔证明一阶逻辑的完备性:语法可证与语义为真完全同步。次年,紧致性定理随之而出,模型论的造模型工厂正式开工。
1930 年代至 1948 · 塔斯基。塔斯基给出真概念的严格定义(1933),随后用量词消去证明初等代数学(1948)与初等几何可判定——「存在一套机器,判定任意命题真假」第一次成为定理。
1950 与 1960 · 鲁宾逊。1950 年,鲁宾逊建立模型完全性理论,为日后「模型论」这个名称铺路;1960 年他用紧致性造出非标准实数系,让无穷小在严格数学里重生,也为非标准分析奠基。
1962 · 莫利。莫利证明范畴性定理:若一个可数理论的某个不可数模型大小上只有一种模型,则它在一切不可数大小上都只有一种。这条定理由此催生了「模型计数」这门学问。
1978 · 谢拉赫。谢拉赫在《Classification Theory》里建立稳定性理论,把全部一阶理论按「能有多少种模型」排成谱系——模型论从定理的堆积,长成了一门分类科学。
1996 · 赫鲁晓夫斯基。赫鲁晓夫斯基用模型论工具证明 Mordell–Lang 猜想的一个关键情形,展示模型论能反向解决代数几何与数论的难题,应用模型论由此成为显学。
八个节点里最值得记取的,是它们的时间分布:前四个(1915–1948)几乎只关乎逻辑自身,后四个(1950–1996)却在代数、分析、几何、数论之间来回穿梭。工具成熟用了三十年,走向世界用了五十年——读这本册子,就是沿着这条曲线再走一遍。
本页任务。把绪论的行李清点一遍:哪些观念必须带走,哪些词必须会讲,哪些问题留作路标。
观念清单。① 公理不是显然真理,而是划分结构的一幅地图:它圈出一个世界的家族,不锁定唯一世界;② 模型是公理系统的具体实现:语言符号被指派具体含义,公理在结构里逐条成立;③ 语法与语义两条腿:可证 ⊢ 与为真 ⊨ 由哥德尔完备性定理(1929)正式接轨;④ 模型决定命运:平行公设不可证,靠的是庞加莱盘这个反例模型;⑤ 模型论在二十世纪后半叶爆发,因为它的造模型手段终于能回答代数、分析、数论里别人答不了的问题。
说法清单(会讲才算过关)。① 用一句话解释「理论 T 的模型 ℳ」;② 说清 T ⊢ φ 与 T ⊨ φ 的区别;③ 复述完备性定理,并说明它为什么能让「不可证」用「造模型」来证明;④ 讲出平行公设独立性的模型论证明梗概;⑤ 举出双曲几何的一个具体模型(庞加莱盘),并说明其平行线为何有无穷多条。
| 里程碑 | 年份 | 贡献 | 本册细讲处 |
|---|---|---|---|
| Löwenheim–Skolem | 1915 / 1920 | 模型大小的上界与下界 | 第二章 §2.6–2.8 |
| 哥德尔完备性 | 1929 | 可证 ⟺ 处处为真 | 第一章 §1.9、第二章 §2.2 |
| 塔斯基量词消去 | 1948 | 初等代数与几何可判定 | 第四章 §4.3–4.6 |
| 鲁宾逊非标准分析 | 1960 | 无穷小在模型论里重生 | 第二章 §2.9 |
| 莫利范畴性定理 | 1962 | 不可数模型的数目定律 | 第五章 §5.6 |
| Hrushovski 应用 | 1996 | 模型论解数论难题 | 第六章 §6.8 |
行李点清,出发。第一章的第一句号令是:先学会读一张结构表,再谈它描述哪些世界。
绪论把全书的主题立成三句问话:一个公理系统说的是什么?它有多少种模型?哪些性质是所有模型共有的?要回答这三问,先得有一套能同时描述「公理」与「世界」的语言。本章的任务就是造出这套字母表——它只有两个主角:语言(符号与公式)与结构(符号所指的那个世界)。学会了它们之间的翻译,模型论的一切技术才有立足之处。
本章的行进是一张四阶地图,每一阶都给下一阶备料:
第一阶(§1.1–§1.4)——语法与语义。先说清一阶语言的签名 σ 由常量、函数符号、关系符号组成;再把签名「翻译」成一个具体的结构 𝒜 = (A; …);接着定义项、原子公式、公式、自由变元与句子;最后把「公式在结构中为真」写成一条可逐条检验的递归定义——满足关系 ⊨。四节合起来,就是模型论的读表认字课。
第二阶(§1.5–§1.9)——理论与模型。把一堆句子捆成理论 T,把「T 的模型」捆成模型类 Mod(T);再引入结构之间的三种关系——同构 ≅、嵌入、初等嵌入;然后是子结构与扩张、同态与商结构;最后回答本章最有分量的一问:一门语言「能看见」结构里的哪些子集,即可定义集。
第三阶(§1.10–§1.12)——参数与分类。允许公式用上参数,得到可定义闭包 dcl 与代数闭包 acl;把存在量词读成投影,得到语义的几何图像;再把理论按「可满足、一致、完备、范畴」四个维度排座次,为第二章的 Löwenheim–Skolem 定理埋下接口。
第四阶(§1.13–§1.15)——实例与方法论。把图、序、群、环、域、向量空间逐一写成结构表;再把五种几何塞进同一个签名,为第三章正装出发;最后说明为什么「换一门语言,就换一副理论的面貌」。
读本章只需带三件行李:集合的记号、一点函数与关系的经验、以及「把话说全」的耐心。行李齐备时,先认识一下本章的两位常驻嘉宾。
常驻嘉宾:群 (ℤ, +, 0) 与序 (ℚ, <)。它们一硬一软:前者有运算,最适合检验项与函数符号的语义;后者只有比较,最容易把「可定义集」的多寡看得清清楚楚。此后每一节都会请它们出场一次,与它们混熟,本章的技术就有了抓手。
★ 一门理论要能被公理化,先得有一张词汇表。一阶语言的词汇表分成两半:一半是逻辑符号,任何理论都相同;另一半是非逻辑符号,由理论自己携带。把这后一半写下来并注明每个符号「吃几个参数」,就得到签名。
逻辑符号是固定的一份:可数多个变量 x1, x2, x3, …;连接词 ¬ ∧ ∨ → ↔;量词 ∀ ∃;等号 =;以及括号。它们不随理论改变,因而从不写进签名。常量符号可以看作零元函数符号——它不吃参数、直接吐出一个人——把常量单列只是为了书写顺眼。
签名即词汇表。举几门熟悉的学问为例:
| 理论 | 签名 σ | 意图 |
|---|---|---|
| 群 | {·(2), e, −1(1)} | 乘法、单位、求逆 |
| 序 | {<(2)} | 一个二元比较关系 |
| 无向图 | {E(2)} | 一条边的邻接关系 |
| 环 / 域 | {+(2), ·(2), 0, 1} | 两种运算与两个常量 |
| 向量空间 | {+(2), 0} ∪ {λ·(1)}λ∈K | 加法 + 一族标量乘法 |
| 几何 | {I(2), ≡(4)} | 关联 + 线段合同 |
最后一行的几何签名值得多看一眼:I(p, l) 读作「点 p 落在直线 l 上」,≡(p, q, r, s) 读作「线段 pq 与线段 rs 合同」。欧氏、仿射、射影、罗巴切夫斯基、球面五种几何共用这一个签名,差别只在公理——这正是第三章的主戏,此处先记下这个名字。
本节只立了词汇表,还没规定这些词怎么用。下一节让符号「落地」:给每个符号指定一个具体对象去解释,就得到结构。
★ 签名是一张空表格,结构是把它填好的成品。填表的动作称为解释:常量符号指向一个元素,函数符号指向一个运算,关系符号指向一个子集。
𝒜 = (A; c𝒜, f𝒜, R𝒜)c∈C, f∈F, R∈R.
集合 A 称为 𝒜 的论域(域)记 |𝒜| = A,它的基数 |A| 也称结构的基数,记 |𝒜|。有限论域的结构叫有限结构,否则叫无限结构。约定:等号 = 是逻辑符号,在任何结构里都解释为「真的相等」,不写进签名,也不允许被重新解释。
注意关系与函数的分工:n 元函数符号与 (n+1) 元关系符号都对应 An 上的数据,但函数要求每个输入恰有一个输出,关系则允许「有」与「没有」两种自由。群运算 · 是函数,图的邻接 E 是关系——这一字之差,日后会开出两套不同的模型论工具。
一张结构表。把签名逐行填上解释,结构就一目了然。以 σ环 = {+, ·, 0, 1} 上的整数环为例:
| 符号 | 类型 | 解释 𝒜 |
|---|---|---|
| + | 二元函数 | 整数加法 + : ℤ2 → ℤ |
| · | 二元函数 | 整数乘法 · : ℤ2 → ℤ |
| 0 | 常量 | 整数 0 |
| 1 | 常量 | 整数 1 |
于是 𝒵 = (ℤ; +, ·, 0, 1),基数 |𝒵| = ℵ0;把 ℤ 换成 ℚ 得 (ℚ; +, ·, 0, 1),同一个签名;再添一个关系符号 <,得 (ℚ; +, ·, <, 0, 1),是扩张后的签名上的结构。所有这些都是「同一个签名的一族世界」——这正是全书反复出现的主题。
至此「世界」有了,却还没有「话」。下一节制造句子。
★★ 拿到签名与结构之后,要说出「关于这个结构的话」。话分两级:先把符号拼成指称对象的项,再把项拼成可以判真假的公式。两级都是递归定义,这保证了一句话总有有限的长度、可以被机械地拆开检验。
自由变元与句子。公式里出现的变元分两种:被量词 ∀x 或 ∃x 管住的叫约束出现,其余叫自由出现。一个变元的自由出现指它还需要外部「填值」;约束出现则由量词自己遍历论域取遍一切元素。把 φ 中所有自由出现的变元收集起来,记 Free(φ);若 Free(φ) = ∅,则 φ 是一个句子(又称闭公式)。句子不依赖任何外部赋值,可以独立地对一个结构判真伪——它是理论的基本单位。
公式的构造像搭积木,每一步都有唯一的外形,因而可以画成一棵语法树:叶子是变量与常量,内结点是函数符号,枝上是连接词与量词。语法树是「机械地读一句话」的凭据,也是下一节递归定义满足关系的骨架。
语法到此完备。下一节给它装上语义:规定一棵语法树在某个结构里何时为真。
★★ 现在到了本章的心脏:把「φ 在 𝒜 中为真」写成一个可逐条检验的定义。做法与语法树同构——先给项定值,再沿树自下而上定义满足。
量词条款里的 s(x ↦ a) 是全部机关所在:∀ 要求把 a 遍历 整个论域 A,∃ 只要求找到一个。因此量词的强度取决于论域大小——同一个句子在有限结构与无限结构里可以有完全不同的真值,这正是第二章模型大小理论的起点。
引理 1.9 有一个立竿见影的推论:句子的真值不依赖任何赋值。既然 Free(φ) = ∅,任何两个赋值都「在自由变元上一致」,故 𝒜 ⊨ φ[s] 的真值与 s 无关。于是对句子可以简写 𝒜 ⊨ φ,读作「𝒜 是 φ 的模型」——下一节的两位主角就此登场。
★★ 有了句子,就可以把「一门理论」与「它描述的世界」这两个概念精确化。理论是句子的集合,模型是满足全部句子的结构;两者之间是一条双向翻译的通道。
两个定义一正一反:Mod 从句子集走到结构类,Th 从结构走到句子集。把同一门语言的全体句子记为 Sent(σ),则 Th(𝒜) ⊆ Sent(σ) 而 Mod(T) 是一类 σ-结构——两者是同一个「满足」关系的两种读法。
两个例子。① 群公理 Tgrp(结合律、单位元、逆元三条句子)的模型类正是全体群——一个理论管住一整类代数对象,这是模型论与抽象代数第一次握手。② 结构 (ℤ, +, 0) 的 Th 记录了整数加群能被一阶语言说出的每一条性质;而 Th(ℚ, <) 则描述稠密无端点的线性序。两类句子天差地别,却由同一套语法规则生成。
值得注意的是 Th(𝒜) 一般「很大」:只要语言是可数的,它便是可数无穷多的句子。理论不必有限——公理可以有无限多条,这一点下一节与第二章都要反复用到。
★★ 两个结构什么时候「长得一样」?最严的标准是同构:存在一一对应,把常量、函数、关系原封不动地搬运过去。次一等的标准是嵌入:把一个结构装进另一个,结构原封不动而外观可以更小。还有一等介于两者之间的关系——初等嵌入,它只管句子。
条件③ 是双向的:关系不仅被保持,也被反映。把③ 的单向版本(∈ R𝒜 ⟹ ∈ Rℬ)与①② 合起来,加「h 单射」,就叫嵌入(强同态);同构不过是满的嵌入。嵌入把 𝒜 嵌进 ℬ,𝒜 是 ℬ 中一个「结构相同」的副本。
三者的力量阶梯是:同构 ⟹ 初等嵌入 ⟹ 嵌入。同构保全部结构数据,初等嵌入只保「能用一阶句子问出来的一切」,嵌入还要更弱些。反过来,两个结构若一样地满足所有句子,称 初等等价 𝒜 ≡ ℬ。
定理 1.16 的逆不成立,反例极简单:(ℚ, <) 与 (ℝ, <) 都是稠密无端点的线性序,满足同一批句子(即 ≡),但一个可数、一个不可数,不可能同构。这说明初等等价看不见「大小」——第一章埋下的这颗钉子,第二章的 Löwenheim–Skolem 定理会把它锤成大梁。
★★ 同构是把两个结构并排比较,子结构则是把一个结构装进另一个。装法有松紧两档:只要求函数不跑出去,是子结构;若连「能不能问出差别」都一样,就是初等子结构。
条件② 意味着「子」不是随便取子集:A 必须对函数封闭,还要包含全部常量。特别地,若语言里没有函数符号与常量符号(例如纯序语言 {<}、纯图语言 {E}),则任意非空子集都是子结构——这让序与图成为最便于做例子的两门语言。
松一档:初等子结构。子结构只看原子层面的数据是否一致,初等子结构要强得多:不但 A ⊆ B,而且对每个公式、每个来自 A 的参数组,两者判定完全一致。
判别初等子结构有一个实用准则(第三章与第五章会用):Tarski–Vaught 判别法——若 𝒜 ⊆ ℬ,且每当 ℬ 中存在某个 ā ∈ A 的见证 b 使 ℬ ⊨ ∃y φ[ā, b] 时,A 中也必有这样的见证,则 𝒜 ≼ ℬ。要点是:存在量词的见证「跑不出去」,其余条款由子结构与归纳自动满足。
★★★ 同构要求双向保结构,嵌入要求单射,再松一档就得到同态:只要求「结构从前传到后」,不要求反映、不要求单射。同态把一个结构压扁成另一个,最典型的压法叫商;与之相反的操作是归约——把冗余的符号丢掉。
同态像与商结构。同态 h 的像 h(A) 对函数封闭、含全部常量,因而配上 ℬ 的解释限制就是一个子结构——同态把「源」压成「目标里的一个副本」。商结构则是另一种压法:在同一个论域内部,把等价的元素认作一个。
同余的关键是「良定义」:把 f𝒜/≡ 定义在等价类上,必须保证类中任何代表算出的结果落在同一个类里——这正是同余条件② 的用途。群论里的范例:G/N 只有在 N 是正规子群时才是群,而「正规」正是「陪集等价是同余」的代数说法。模型论不过是把这条熟悉经验搬到了一般签名上。
★★★ 到此为止的结构都是「整体」比较。本节把镜头推进到结构内部,问一个更细的问题:给定一门语言,它能在结构里「指认」出哪些子集?答案就是可定义集,它是模型论最核心的对象。
关系与函数也可定义:n 元关系 S ⊆ An 可定义,即存在公式使之等于 S;函数 g : An → A 可定义,即它的图 {(ā, g(ā))} 作为 (n+1) 元关系可定义。一句话:语言能「看见」的,就是它可定义的那些子集、关系与函数。
② 的论证值得一读:语言里只有 <,没有常量,因此在单变元 x 上能写出的原子公式只有 x = x(恒真)。所有不合参数的公式都是它的布尔组合,故只能得到 ∅ 或 ℚ。(第四章会给出系统的量词消去证法。)对照①,可见同一门「序」的语言贫弱,加了 +, · 与常量后就骤然富强。
封闭性质。可定义集对布尔运算封闭:¬ 对应补,∧ 对应交,∨ 对应并。更进一步,∃ 对应投影:由 n+1 元可定义集 φ(𝒜) ⊆ An+1,公式 ∃xn+1 φ 定义的恰是它在最后一个坐标上的投影。这条几何画像下一节将单独成页。
至此,语言「看得见什么」有了定义。但它看不见的部分靠什么补?——靠参数。下一节给公式装上「可指名道姓的元素」。
★★★ 上一节的可定义集只能用「逻辑符号+签名」写公式,像一台没有名字可唤的机器。若允许公式里直接点名结构中的某些元素,可定义的范围就宽了——这正是参数的用处,也是 dcl 与 acl 两个闭包算子的舞台。
参数让同一形状的公式「随地点而变」:在 (ℚ, <) 中,无参数公式只能定义 ∅ 与 ℚ,但取参数 a ∈ ℚ 后,x < a 就定义了左下闭射线 (−∞, a)。参数把「语言看得见什么」从固定画面升级为可移动的镜头。
★★★ 可定义集的定义抽象,画成图却极为直观:存在量词就是投影。把 n+1 个坐标里最后一个「压平」到前 n 个坐标上,得到的正是 ∃ 所定义的集合。本节把这条几何画像说清楚,它将在第四章变成可判定性的引擎。
命题 1.33 给出可定义集的生成语法:从原子公式定义的集合出发,反复施行补、并、交(对应 ¬ ∨ ∧)与投影(对应 ∃),得到的恰是全体可定义集。量词于是不再是「模糊的遍历」,而是一个具体的几何操作——把高维区域投到低维。
通往「消去量词」。如果一门理论的每个公式都等价于一个无量词公式(即只由原子式经布尔运算拼成),那么在它里面投影的结果总能被「压平」回无量词层——判定一个句子的真伪就退化为有限步的算术核对。这正是 Tarski 判定初等代数学与初等几何的路线,第四章会把它完整走一遍;此处记住一句口号即可:量词消去=投影能被语言自己描述。
★★★ 一门理论能有多「整齐」?模型论用四个维度给它排座次:有没有模型(可满足)、有没有内在矛盾(一致)、能不能对每个句子表态(完备)、以及在某个基数上模型是否唯一(范畴)。这一节的分类法,是第二章、第五章全部大定理的坐标系。
四个刻度并不平行:完备 ⟹ 一致 ⟹ 可满足(在第一章里「一致 ⟹ 可满足」还是印象,需要第二章的完备性定理才能兑现),而范畴性是最后一维,管的是「某个大小上模型唯一」。两个例子把这些刻度钉牢:
★★ 抽象的定义要落回熟悉的学问才算数。本节把图、序、群、环、域、向量空间逐一套进「签名+公理+模型类」的模具,做成一排结构表。这张表是本章的成果清单,也是全书反复回访的地标。
| 理论 | 签名 σ | 公理(一阶句子) | 模型 |
|---|---|---|---|
| 无向图 | {E(2)} | ∀x¬E(x,x);∀x∀y(E(x,y)→E(y,x)) | 无自环的无向图 |
| 偏序 | {<(2)} | ∀x¬(x<x);传递;反对称 | 偏序集 |
| 线序 | {<(2)} | 偏序 + ∀x∀y(x<y∨x=y∨y<x) | 全序集 |
| 群 | {·(2), e, −1(1)} | 结合律;∀x(x·e=x);∀x(x·x−1=e) | 群 |
| 环 | {+(2), ·(2), 0, 1} | 加法交换群;乘法结合;两条分配律 | (幺)环 |
| 域 | {+(2), ·(2), 0, 1} | 环 + 1≠0 + 交换 + ∀x(x≠0→∃y(x·y=1)) | 域 |
| K-向量空间 | {+(2), 0}∪{λ·(1)}λ∈K | 加群 + 每条标量公理(一个句子) | K 上的向量空间 |
读这张表要抓住三个现象。其一,公理都是一阶句子。「每个非零元有逆」写成 ∀x (x ≠ 0 → ∃y (x · y = 1))——量词只遍历元素,不遍历子集或函数,这正是「一阶」的含义。其二,同一签名可以有很多理论。环签名上加了 1 ≠ 0 与可逆性两条,就从环升格为域;扩张语言或加公理,都在缩小模型类。
向量空间的语言值得单独一提。它的签名随基域 K 而变:每个标量 λ ∈ K 都是一个一元函数符号 λ·,把向量 v 送到 λv。当 K 无限时签名无限,但这不碍事——模型的公理里每条标量律仍只需一个句子。向量空间的理论是完备且(对固定维数)范畴的,这一族例子将在第五章充当「稳定理论」的样板。
★★★ 几何是模型论的母亲:平行公设之争逼出了「公理—模型」这一对概念。本节把五种几何装进同一个签名,看它们如何仅凭公理的差别分成五片地貌——这是第三章的预习,也是全书最戏剧性的一幕的布景。
把 I 与 ≡ 的公理分组,可分三批。关联公理:两点确定唯一直线,∀p∀q(p ≠ q → ∃!l(I(p,l) ∧ I(q,l)));每线至少两点。合同公理(Hilbert 式):线段的搬移与传递,以及三角形全等的 SAS 条款。平行公设:这一条是唯一「因地而异」的——换一个版本,世界就换一副面孔。
| 几何 | 签名 σgeo | 平行公设(或替代条款) | 典型模型 |
|---|---|---|---|
| 欧氏 | 同上 | 过线外一点恰有一条平行线;+连续性 | 平面 ℝ2 |
| 仿射 | 同上(弱化 ≡) | 过线外一点恰有一条平行线(不设合同) | 仿射平面 |
| 射影 | 同上 | 任意两线恰交一点;无「平行」 | 射影平面 |
| 罗巴切夫斯基 | 同上 | 过线外一点有无穷多条平行线 | Poincaré 圆盘 |
| 球面 | 同上 | 任意两「直线」交于两点;无平行线 | 球面 S2 |
这张表藏着一个惊人的事实:五种几何共用一门语言,只是各自挑选了不同的平行条款。于是,把欧氏几何的其余公理(关联+合同+连续性)保留下来、只把平行公设换成双曲版本,得到的仍是一个自洽的系统——这套公理有模型(Poincaré 圆盘),而它里面「三角形内角和等于两直角」为假。这正是平行公设独立于其余公理的模型论证明:既然存在反例模型,就不能从其余公理推出它。
最后留一句本章与第三章的接头暗号:几何是点的集合,公理筛选合格的点集,平行公设的独立性靠「另造一个模型」来证明。这套「造模型—看真值—判独立」的三段式,正是全书方法论的主干。
★★★ 本章最后一节要给全章一个「世界观」的收束。同一个结构,配不同的语言,会呈现出完全不同的理论面貌:可定义集的多寡变了,能问出的问题变了,甚至连「这门理论是否可判定」都变了。语言不是中立的工具,它是理论的取景框。
可定义集随语言膨胀。在 (ℚ, <) 里,无参数可定义子集只有 ∅ 与 ℚ(§1.9 例 1.27);一旦把语言扩成 (ℚ; +, ·, <, 0, 1),可定义的子集骤然变多:每个多项式不等式 p(x) > 0 都定义一段或几段区间,一切半代数集都成为可定义集。语言越富,看得见越多——这句口号在本书第四、五章会被反复量化为「可定义集的复杂度」。
为什么多加两个函数符号就有此差别?直觉是:+, · 让语言可以谈论「编码」。有了加乘,一个公式能通过哥德尔编码指涉自身,说谎者悖论式的自我指涉随之登场;而只有后继的语言太贫,连「把一句话写成数」都做不到。可判定性的崩塌正来自这种表达力的膨胀。第四章的 Tarski 机器将与这条界线正面相遇。
全章到此收束。字母表已经造好:语言给词,结构给世界,满足关系把两者接上,模型类与可定义集给出理论的地形。下一章将动用第一个大定理——紧致性,看有限的信息如何约束无限的模型。
第 1 题(用语言说话)。在无向图语言 σ = {E(2)} 中:① 写出表达「恰有 3 个元素」的句子;② 写出表达「没有孤立点」的句子;③ 写出表达「三角形含至少一条边」的句子。
解。① 恰有 3 个元素:「存在 x, y, z 两两不同,且一切元素都在其中」,即 ∃x∃y∃z (x≠y ∧ y≠z ∧ x≠z ∧ ∀w(w=x ∨ w=y ∨ w=z))。② 无孤立点:∀x∃y E(x,y)。③ 三角形含至少一条边——注意「三角形」在关系语言里不是一个对象,必须展开为「三点两两相邻」:∃x∃y∃z (x≠y ∧ y≠z ∧ x≠z ∧ E(x,y) ∧ E(y,z))——只要求三条边里的两条,最省力地表达「有一个含边的三角形」。∎
第 2 题(逐条验真)。设 𝒜 = (ℤ, <),赋值 s(x) = 1。判定 𝒜 ⊨ ∃y (y < x)[s] 与 𝒜 ⊨ ∀x∃y(y < x)。
解。第一句:按存在条款,需找 a ∈ ℤ 使 𝒜 ⊨ (y < x)[s(y ↦ a)],即 a < s(x) = 1。取 a = 0,成立,故第一句在 s 下为真(它含自由变元 x,故真值依赖 s)。第二句无自由变元,是句子:对每个 x ∈ ℤ 都能找到更小的 y(整数的无最小元性质),故为真。注意对照 (ℕ, <):同一句子在其中为假,因为 0 没有前驱。∎
第 3 题(定义整除与素数)。在 (ℕ; +, ·, 0, 1) 中写出定义 x | y 与「x 是素数」的公式,并说明 0、1 的出现是必要的。
解。整除:Div(x,y) := ∃z (y = x · z)。素数:Prime(x) := (x ≠ 0 ∧ x ≠ 1) ∧ ∀y∀z(x = y·z → (y = 1 ∨ z = 1)),即「大于 1 且只能被 1 与自身整除」。常量 0、1 必需:否则「y = 1」无法写出(若不设常量,只能用 ∃u(u = u) 之类绕路,且无法指名「唯一的不动点」)。这也印证了签名设计的重要性:少一个常量,语言就少一种表达能力。∎
第 4 题(序结构里的可定义集)。在 (ℚ, <) 中,取参数 a ∈ ℚ,写出定义 (−∞, a)、{a} 的公式;并说明为什么不含参数时只有 ∅, ℚ 可定义。
解。(−∞, a) = {x : x < a} 由原子公式 x < a 定义;{a} = {x : x = a} 由 x = a 定义。无参数情形:语言中无常量符号,单变元 x 上可用的原子公式只有 x = x(恒真,因为 < 需要两个不同变元才有内容),故一切公式都是它的布尔组合,取值只能是 ∅ 或 ℚ。参数一进来,镜头就被「提到」了指定高度 a,可定义集随之丰富。∎
第 1 题(群论不判定交换律)。证明:交换律 ∀x∀y(x·y = y·x) 既不能被群公理推出,也不能被它反驳——即它与群公理独立。
解。独立性靠「造两个模型」证明。① 取 𝒜 = (ℤ; +, 0, −)(加法写成 ·):它是群,且交换律为真。② 取 ℬ = (S3; ∘, id, −1),三个元素上的置换群:它是群,但两个相邻对换不交换((12)(23) ≠ (23)(12)),交换律为假。两模型都是群公理的模型,却对同一句子真值相反,故该句子独立于群公理。∎
第 2 题(有限结构被一个句子刻画)。设 𝒜 是有限 σ-结构。证明存在一个 σ-句子 σ𝒜,使对任意 σ-结构 ℬ 有 ℬ ⊨ σ𝒜 ⟺ ℬ ≅ 𝒜。(这解释了为什么有限结构的行为与无限结构如此不同。)
解。先给每个 a ∈ A 造一个「名牌公式」χa(x),再用它们「拼出整张结构表」。设 A = {a1,…,an},构造:① 「恰有 n 个元素」的句子;② 对每对 i ≠ j,句子 c ≠ d 形式的区分;③ 逐一描述每个常量指哪个 ai、每个函数把哪组输入送到哪个输出、每个关系在哪些元组上成立(正反面都写)。把这些有限条合取起来得 σ𝒜。任何 ℬ ⊨ σ𝒜 必与 𝒜 基数相同且「结构表逐格一致」,可见 ℬ ≅ 𝒜;反之同构的 ℬ 由同构不变性满足 σ𝒜。∎(这条结论与「基数是无限时可以躲开一切句子」形成尖锐对比,见第二章。)
第 3 题(自同构与可定义元素)。证明 (ℚ, <) 没有 0-可定义的元素,即 dcl(∅) = ∅。
解。若 a ∈ ℚ 由无参数公式 φ(x) 定义(即 {a} = φ(ℚ)),则一切自同构都必须固定 a。但 (ℚ, <) 的自同构极多:任取 a < b,都有保序双射把 a 送到 b(在 (−∞, a)、(a, b)、(b, ∞) 三段上分别做保序同构)。于是没有元素被所有自同构固定,dcl(∅) = ∅。∎ 这条推理是模型论里「自同构不动点 ⟺ 可定义」原则的雏形。
第 4 题(稠密序排除有限模型)。句子「有端点」能把有限序与 (ℚ, <) 分开吗?写出 DLO 中表达「无端点」的句子,并说明它为什么排除了全部有限模型。
解。无端点 = 无最小元且无最大元:∀x∃y(y < x) ∧ ∀x∃y(x < y)。在有限全序里必有最小元与最大元,故这句在所有有限序中为假,只有无限序能满足;再配上稠密性(∀x∀z(x < z → ∃y(x < y ∧ y < z))),就得到稠密无端点线性序这一完备理论。∎
习题 1-1(写签名)。为下列理论各写一份签名并注明元数:① 偏序;② 群;③ 无向图;④ ℤ 上的有序阿贝尔群;⑤ ℚ 上的向量空间。⑥ 其中哪一个签名与「环」的签名相同?
提示。① {<(2)};② {·(2), e, −1(1)};③ {E(2)};④ {+(2), 0, <(2)}(逆元由 + 与 0 定义出,可不设);⑤ {+(2), 0} ∪ {λ·(1)}λ∈ℚ。⑥ 域与环签名相同,都是 {+(2), ·(2), 0, 1}——差别只在公理。
习题 1-2(结构表)。把 𝒜 = (ℤ; +, ·, <, 0, 1) 填成一张结构表(符号/类型/解释),并指出它与 (ℚ; +, ·, <, 0, 1) 是否同构,理由为何。
提示。五个符号五条解释,逐行照定义 1.2 填。不可同构:ℤ 里句子「每个元素都有前驱」∀x∃y(y < x) 为假(0 无前驱),ℚ 里为真——不同构可由「一个句子真值不同」来判定,这是本章最常用的一招。
习题 1-3(自由变元)。判断下列公式哪些是句子,并列出自由变元:① ∀x(x · y = y);② ∃y∀x(x < y);③ (x < y) ∧ ∀z(y < z);④ ¬∃x(x = x)。
提示。只有②④ 是句子。① 自由变元 {y}(量词管的是 x);③ 自由变元 {x, y}(z 被约束);②④ 无自由变元。要点:同一变元在不同出现处可一自由一约束,须逐处看量词辖域。
习题 1-4(满足的计算)。设 𝒜 = (ℤ; +, ·, 0, 1, <),赋值 s(x) = −1。逐条依定义 1.8 计算 𝒜 ⊨ ∃y(x · y = 1)[s] 的真值。
提示。先算项 x · y 的值:把 y 依次指派到 ℤ 中元素。要找 a 使 (−1)·a = 1,即 a = −1——存在,故为真。若把 s(x) 改成 2,则需 2a = 1 无整数解,为假。要点:真值随赋值而变,因为 x 自由。
习题 1-5(可定义集)。在 (ℕ; +, ·, 0, 1) 中,写出定义下列集合的公式:① 偶数;② 完全平方数;③ 三元组 {(x,y) : x < y}(不含 < 符号,用算术表达)。
提示。① ∃y(x = y + y);② ∃y(x = y · y);③ 用「存在非零差」:∃z(z ≠ 0 ∧ x + z = y)——这把序关系「翻译」成了算术,说明同一个集合可由不同语言的不同公式定义。
习题 1-6(数同构类)。列出 3 个元素上一切无向图的同构类,并指出其中有几个满足「无孤立点」。
提示。3 点上无向图的同构类按边数分:0 条边(3 孤立点)、1 条边、2 条边(相邻两边的「角」与两条独立边,共 2 个类)、3 条边(K3)。合计 4 个同构类。满足「无孤立点」的是「两条相邻边」(中心点连着两端)与 K3——共 2 个。此题的收获:同构类计数是「地形」的第一层刻度。
习题 1-7(嵌入不等于初等)。举出两个结构 𝒜 ⊆ ℬ 使 𝒜 不是 ℬ 的初等子结构,并写出一条在 ℬ 真、在 𝒜 假的句子。
提示。取 𝒜 = (ℕ, <),ℬ = (ℤ, <)。句子 ∃x∀y ¬(y < x)(有最小元)在 𝒜 真、在 ℬ 假——注意方向:需要「在 ℬ 真而 𝒜 假」的句子时,改用 ∀x∃y(y < x)(无最小元),它在 ℬ 真、𝒜 假。判别初等子结构要两个方向都核。
习题 1-8(商结构)。设 (ℤ; +, 0) 上的等价关系「a ≡ b ⟺ n | (a − b)」。验证它是同余关系,写出商结构 ℤ/nℤ 的论域与加法解释。
提示。同余条件②:若 a ≡ a′、b ≡ b′,则 (a+b) − (a′+b′) = (a−a′) + (b−b′) 仍被 n 整除,故加法良定义。论域是 {0̄, 1̄, …, (n−1)̄} 共 n 个类;解释 [a] + [b] := [a+b]。要点:商结构的存在性完全依赖「同余」,这道验证不可省。
习题 1-9(语言决定面貌)。同一个论域 ℤ,分别配语言 {+} 与 {+, ·}:说明为什么在前者里「x = 0」可定义(给出公式),而在后者里可定义集更多,并各举一个只在后者可定义的集合。
提示。(x = 0) := ∀y(x + y = y),只用 + 即得(0 是加法单位元,唯一)。只靠 + 能定义的子集受限于「线性」,例如 {x : ∃y(x = y+y)}(偶数)已是最复杂的一类;加上 · 后,{x : x 是平方数} 与「整除」都可定义——语言越富,看得见的越多(§1.15)。
习题 1-10(选做·元数学)。由习题 1-2 的例题结论(有限结构可被一个句子刻画),说明:为什么不可能用一个句子集合把「(ℕ, <) 的所有有限前缀」一次性排除干净?(提示:考虑紧致性,第二章将证明。)
提示。先埋钉子:设有一族句子 Θ 表达「序是有限的」。任何有限序都满足 Θ 的任意有限子集(取足够大的有限序即可),但无限序 (ℕ, <) 满足整个 Θ 吗?——这正是紧致性定理要裁决的:若 Θ 的每个有限子集都有模型,则 Θ 有模型,且可造出「看似有限、实则无限」的模型。第二章会把它证成「有限性不可一阶表达」这一著名结论。
本章的概念网是一条自下而上的阶梯:签名 → 结构 → 项与公式 → 满足 → 理论与模型类 → 结构间的操作 → 可定义集与参数 → 量词即投影 → 理论分类 → 代数与几何实例 → 语言的选择。每一层只调用它下层已经备好的东西,因此整张地图可以按依赖顺序一次走通,不必回头。本页把全部依赖画成一张图,随后两页按「语法与语义」「模型与构造」分头清点。
三个关口。地图上有三处最容易卡住的地方。① 项与公式的递归生成(§1.3):亲手把「x · y = 1」写成一棵树,才能看清「自由变元」到底指什么。② 满足的递归条款(§1.4):存在量词那一条要引入「子赋值」,它是全章技术含量最高的一步,也是「量词即投影」(§1.11)的伏笔。③ 可定义集与参数的登场(§1.9–§1.10):从「无参数」到「带参数」,镜头由固定变为可移动,dcl 与 acl 的差别正是「唯一」与「有限」的差别。
两条主干。左主干是语法侧:符号如何拼成项与公式;右主干是语义侧:结构如何把一个公式判成真或假。⊨ 是两条主干唯一的接口——它左边是符号串,右边是结构,中间横着一条真值。书中反复出现的动作全部发生在这条接口上:Th 与 Mod 是接口的两个方向,≅、↪、≺ 是接口两侧的比较,独立性判决则是「拿同一条句子去两个模型上分别问一次」。
一条捷径。若只求抓住主线,可以沿中央一列直下:签名 → 结构 → 公式 → 满足 → Th/Mod,再到 §1.12 的四个刻度;左右两列的「结构操作」与「可定义集」留作第二遍精读。§1.13 与 §1.14 的两张结构表是全章的结算单,读到那里再回头把前面的定义核对一遍,理解会一次到位。
通向外部的接口。① 满足的递归条款与紧致性 → 第二章的主菜;② 可定义集与量词即投影 → 第四章的量词消去机器;③ Th(𝒜) 与 acl → 第五章的类型与代数闭包;④ 语言的选择与可判定性 → 第六章「加一个符号就改变理论命运」的更极端样本;⑤ 几何签名 σgeo → 第三章五种几何的模型地形。本章是全书的地基:往后每一章都要回到这张图上来取工具。
本页任务。把第一章的语法与语义部分清点一遍:五个卡片、三条对比、三个坑。记号一律沿用正文,凡带 §号者可在相应节次回查。
卡片一:签名与语言(§1.1)。语言分两层:逻辑符号(¬ ∧ ∨ → ↔ ∀ ∃ = 与变元)人人相同;非逻辑符号即签名 σ,由常量、函数符号与关系符号组成,每个符号带一个元数,元数记在右上角,如 E(2)、·(2)。换一个签名,就换一整套词汇。
卡片二:结构(§1.2)。σ-结构是把每个符号落到实处的一份解释表:𝒜 = (A; c𝒜, f𝒜, R𝒜)——论域 A 是集合,常量落到元素、n 元函数落到 An → A、n 元关系落到 An 的子集。基数 |𝒜| 就是论域的大小 |A|。同一签名下可以有互不相同的许多结构。
卡片三:项、公式、句子与自由变元(§1.3)。项由常量与变元出发、经函数符号反复嵌套而成;原子公式形如 R(t1,…,tn) 或 t1 = t2;公式由原子公式经 ¬ ∧ ∨ → 与 ∀x ∃x 递归生成。自由变元是没被任何量词辖住的变元;没有自由变元的公式叫句子,其真值与赋值无关。
卡片四:满足 ⊨ 的递归条款(§1.4)。固定赋值 s 后逐条定义:原子公式按项的值与关系核对;¬ ∧ ∨ → 按真值表;存在条款 𝒜 ⊨ ∃x φ[s] 当且仅当存在 a ∈ A 使 𝒜 ⊨ φ[s(x ↦ a)],全称条款对偶。把自由变元按 a 指派后为真,记作 𝒜 ⊨ φ[ā]。
卡片五:Th(𝒜) 与 Mod(T)(§1.5)。Th(𝒜) = {φ : 𝒜 ⊨ φ} 是一个结构说出的全部句子;Mod(T) = {𝒜 : 𝒜 ⊨ T} 是一门理论的全部模型。两者方向相反:T 变大则 Mod(T) 变小,结构变富则 Th(𝒜) 变大。两门理论互相等价,当且仅当它们有相同的模型类。
三条对比要牢记。① 符号 vs 解释:同一个 + 在 (ℤ; +) 与 (ℚ; +) 里指的不是同一件事;公式本身不承载真假,落到结构里才判真伪。② 语法 vs 语义:写下一个句子是有限步的符号操作,判定它的真假要遍历结构。③ 自由 vs 约束:句子的真值只取决于结构,带自由变元的公式的真值还取决于赋值。
易错三坑。① 看漏自由变元——∀x(x · y = y) 里 x 被约束、y 自由,它不是句子;② 把结构当成符号串——结构是集合与运算,公式才是符号串;③ 混淆两个「大小」:|𝒜| 说论域有多大,符号的元数说它吃几个参数,二者毫无关系。
本页任务。清点第一章的模型与构造部分:六个卡片、三个必背战例,最后交棒给第二章。
卡片六:同构、嵌入、初等嵌入(§1.6)。三个逐级放松的要求:同构 𝒜 ≅ ℬ 是保持全部符号解释的双射;嵌入 𝒜 ↪ ℬ 只要求把 𝒜 原样放进 ℬ(原子公式与它的否定都保);初等嵌入 𝒜 ≺ ℬ 要求每个句子在两侧真值一致。层级为 ≅ ⟹ ≺ ⟹ ↪,反向都不成立。同构不变性是最常用的一招:同构的两个结构满足完全相同的一批句子。
卡片七:子结构与扩张(§1.7)。𝒜 ⊆ ℬ 要求 A ⊆ B、𝒜 的运算在 A 上封闭、关系取限制。任给子集 X ⊆ A,把 X 用 𝒜 的函数符号反复加工,得到含 X 的最小子结构,称生成子结构。初等子结构的判据(Tarski–Vaught)留待第二章兑现。
卡片八:同态、商结构与归约(§1.8)。同态只正向保原子公式(真者仍真),不保否定,故弱于嵌入;商结构要求等价关系是同余(与每个函数、关系相容),才能把运算与关系搬到商集上;归约 𝒜+↾σ 只保留部分符号,丢掉符号也就丢掉了可定义集。
卡片九:可定义集与两个闭包(§1.9、§1.10)。公式 φ(x1,…,xn) 在 𝒜 中定义的集合 φ(𝒜) = {ā ∈ An : 𝒜 ⊨ φ[ā]} 叫可定义集;允许公式里点名参数集 A0 的元素,得参数可定义。两个闭包算子:dcl 收「被参数唯一指出」的元素,acl 收「被挤进有限解集」的元素,且 A0 ⊆ dcl(A0) ⊆ acl(A0),两者都单调、幂等。
卡片十:量词即投影(§1.11)。在末尾坐标上的投影 π 把 An+1 的集合压到 An。于是 (∃y φ)(𝒜) = π(φ(𝒜)),而 (∀y φ)(𝒜) = An ∖ π(An+1 ∖ φ(𝒜)),即「补·投影·补」。可定义集的生成语法由此得:从原子集出发,反复施行补、并、交与投影。
卡片十一:理论刻度与模型地形(§1.12–§1.15)。四个刻度:可满足(有模型)⊇ 一致(不推矛盾)⊇ 完备(每句表态);κ-范畴另立一维,量的是某一基数上模型是否唯一。DLO 完备且 ℵ0-范畴,ACFp 在每个不可数基数上范畴。实例是一排结构表:图、偏序、线序、群、环、域、向量空间;五种几何共用签名 σgeo,只靠平行条款分片。语言的选择决定理论面貌:扩张语言不会丢掉原有的可定义集,只会添上新的(§1.15 命题 1.44)。
三个必背战例。① (ℚ, <):无参数可定义集只有 ∅ 与 ℚ,dcl(∅) = acl(∅) = ∅,是「空镜头」的标本。② (ℕ; +, ·, 0, 1) 与 (ℤ; +, 0):前者能写整除与素数,后者连平方数都写不出——同一论域配不同语言,可定义集天差地别。③ 群签名上的 (ℤ; +, 0, −) 与 (S3; ∘, id, −1):一交换一不交换,同一条交换律句子真值相反,独立性由此判出。
通往第二章。本章把字母表造齐:语言给词、结构给世界、⊨ 把两者接上、Th 与 Mod 给出理论的正面与背面。下一章动用第一个大定理——紧致性,看有限条句子如何约束无限大的模型,并用它造出非标准自然数与无穷小。行李清单:签名、结构、满足条款、可定义集、≅ ↪ ≺——五件全带,紧致性的工厂才开得动。
本章最深的教训,全部定义都指向同一句话:真理是相对于模型的。一个句子本身没有真假,它只在某个结构中被判成真或假。「三角形内角和等于两直角」在欧氏平面上为真,在球面上为假,在双曲平面上不仅为假、还差出一个具体的角亏。「每个自然数都由 0 反复取后继得到」在标准自然数里为真,一旦搬进第二章要造的非标准模型,就立刻为假。同一个句子,不同的世界,不同的判决——这是本章交出的第一件、也是最难接受的一件行李。
但这绝不是「怎么都行」的相对主义,相对性有一条硬边界。一旦结构固定,真值就唯一确定,而且可计算、可复核——满足关系是一台逐条递归的机器,输入公式与赋值,输出真假。同构不变性更把这份确定性收紧:真值只依赖于结构的样子,与它被起了什么名字、以什么方式实现无关。相对的是「评判的场所」,不相对的是「在场所内评判的规则」。
这条观念一旦立住,全书的方法论就活了。独立 = 造两个模型,让同一条句子一个真一个假;不可公理化 = 没有一个句子集能恰好圈出这类结构;相对一致 = 造一个模型作为见证。于是数学命题的真被分成三层:在理论 T 内可证(语法)、在 T 的一切模型中为真(语义)、在某个模型里为真(局部)。分清这三层,是模型论的判官功夫,也是避免把「某个世界的事实」误当成「所有世界的规律」的唯一办法。
留一个自问:如果每一条命题的真都必须先指明「在哪个模型里」,那么「数学命题绝对为真」这句话还剩下多少分量?也许答案不在于有没有绝对真理,而在于能否说清「相对于什么」。带着这个问题读第二章——那里会用有限的信息造出一个无限的世界,让相对性第一次成为一件可以动手做出来的工程。
任务。选一门已熟悉的初等理论,亲手画出它的「模型地形图」:横轴是不出同构类的世界,纵轴是这些世界的势,箭头是结构之间的嵌入。图不必漂亮,但每一格都要有依据可查。这道题没有标准答案,却有一个统一的验收方式:随手抽一格,都要能说清里面每个世界的来历。
备选理论(任选其一,难度递增)。① 等价关系的理论:签名 {E(2)},公理说 E 自反、对称、传递;② 稠密无端点线性序 DLO:签名 {<(2)};③ 群的理论:签名 {·(2), e, −1(1)}。
六步路线。
两个开放问题(选答)。① 等价关系的理论,在不同基数上模型的同构类个数能否用一个函数一次说清?试着把它写成「基数为 κ 时同构类个数 = ?」的形式。② 群的理论是完备的吗?若不是,指出两族互不初等等价的群,并说明分歧出在哪一条句子(提示:交换律、元素的阶、扭元集)。
验收标准。地形图上任抽一格,都要能说出「为什么这一格里有这些世界」。凡超出本章工具的地方,允许只标注「此处需第二章紧致性或第五章类型」。这正是地图的作用:把已知与未知标在同一张纸上,未知的位置本身就是成果。
实验目的。把本章的语义机器装进程序:用几十行代码实现「项—公式—满足」的递归解释器,再让它去核对本章的三条结论——满足的递归条款、量词即投影、独立性配方。全部代码只用 Python 标准库,无需第三方包,任何 Python 3 环境可直接运行。配套脚本与完整输出见本册实验附件(qa/exp_c1tail.py 与 qa/exp_c1tail_out.txt)。
实验一:一个有穷结构上的递归求值器。结构只需一张表:论域 A、常量解释、函数解释、关系解释。判定的核心是 sat 函数,它按定义 1.8 逐条分支——原子公式查关系,联结词按真值表,存在条款遍历论域找见证、全称条款遍历论域逐个核对。
# 项 t:('c',名) 常量 | ('x',名) 变元 | ('f',名,[子项])
# 式 f:('R',名,[项]) | ('=',项,项) | ('not',式) | ('and',[式…])
# | ('or',[式…]) | ('imp',式,式) | ('ex',名,式) | ('all',名,式)
def ev(t, A, s): # 在结构 A、赋值 s 下求项的值
if t[0] == 'c':
return A['const'][t[1]]
if t[0] == 'x':
return s[t[1]]
return A['func'][t[1]]([ev(u, A, s) for u in t[2]])
def sat(f, A, s): # A ⊨ f[s],逐条对应定义 1.8
k = f[0]
if k == 'R':
return A['rel'][f[1]](tuple(ev(u, A, s) for u in f[2]))
if k == '=':
return ev(f[1], A, s) == ev(f[2], A, s)
if k == 'not':
return not sat(f[1], A, s)
if k == 'and':
return all(sat(q, A, s) for q in f[1])
if k == 'or':
return any(sat(q, A, s) for q in f[1])
if k == 'imp':
return (not sat(f[1], A, s)) or sat(f[2], A, s)
if k == 'ex': # 存在条款:论域里找一个见证
v, body = f[1], f[2]
return any(sat(body, A, dict(s, **{v: a})) for a in A['dom'])
if k == 'all': # 全称条款:论域里逐个核对
v, body = f[1], f[2]
return all(sat(body, A, dict(s, **{v: a})) for a in A['dom'])
# 三元素线序 A3 = ({0,1,2}; <)
A3 = {'dom': [0, 1, 2], 'const': {}, 'func': {},
'rel': {'<': lambda ab: ab[0] < ab[1]}}
print('解释器就绪:项与公式都是嵌套的 Python 元组')
把它用在三元素线序 A3 = ({0, 1, 2}; <) 上,三条句子的判决依次是:「有最小元」真、「无最大元」假、「稠密」假(三个元素排不下一对中点)。换到无限序,前两条的真值随即翻转——真值随模型而变,正是 §1.4 的要点。
实验二:量词即投影。在 A6 = ({0, …, 5}; ·) 上取公式 x · y = 6,先枚举它的解塔 {(2, 3), (3, 2)},再把解塔分别投影到两条坐标轴,最后用 sat 直接算 ∃y φ 与 ∃x φ 的解集:两组结果逐点相等(都得 {2, 3})。这就是命题 1.33 的机器兑现——存在量词不是「模糊的遍历」,而是一次可以打印出来的投影。
实验三:交换律独立于群公理。取两个群:ℤ/6ℤ 的加群与三个字母的置换群 S3。逐条验群公理(结合律、单位元、逆元),两者都过;再验交换律,前者过、后者不过——S3 中两个相邻对换的复合并不交换。一真一假,即证交换律与群公理互相独立(§1.15 的独立性配方)。
实验四:3 点无向图的同构类。枚举 3 个点上全部 23 = 8 个标号图,用「全部置换下的字典序最小边集」作为规范形,数出 4 个同构类;再对每个类验句子「无孤立点」,得 2 个类为真——与习题课的计数一致。同构类计数是模型地形的第一层刻度。
实验报告要求。① 贴出四段实验的完整输出;② 把实验三的 S3 换成 S4,说明交换律依然为假,并指出哪些 Sn 才交换;③ 回答:实验二里把 6 换成 7,投影结果会变成什么?为什么结论只与整除有关、与「体积」无关?④ 指出自己的解释器在哪一条条款上最容易写错(提示:存在条款对赋值字典的复制——若直接改写 s 而不复制,量词会污染外层赋值)。
希腊的公理链条。欧几里得的《几何原本》成书约在公元前三百年,它从五条公设、五条公理出发,把当时的几何知识编成四百多条命题的演绎链。它的要害不在结论,而在「每条结论都有出处」——这正是本册「结构」概念的祖型:一组初始符号与初始命题(签名与公理),配上一套可检验的推理规则,就能生成一整片可对话的世界。这份方法一千九百年后东传:一六〇七年,利玛窦与徐光启在北京合译《几何原本》前六卷,「几何」一词自此进入汉语;一八五七年,伟烈亚力与李善兰续译后九卷,全帙方才完整。
中国的算法链条。《九章算术》成书约在公元一世纪,全书分九章、二百四十六题,按「问—答—术」编排:每题的「术」是一段可执行的操作序列——方田讲面积、粟米讲比例、衰分讲配分、勾股讲测量。它少谈「为什么」,多讲「怎么做」,却把每个做法都放进一串算题里反复兑现。刘徽于二六三年为它作注,提出「析理以辞」,第一次为算法补上理由;他用割圆术算到圆内接正三千零七十二边形,得圆周率约三点一四一六。稍后祖暅提出的「幂势既同,则积不容异」(祖暅原理),与欧洲的卡瓦列里原理同旨却早了近千年。更早的战国《墨经》已在讨论「故」「理」「类」,是汉语文献里最早的推理学说。
两股传统合成一台机器。希腊的公理提供「结构」,中国的算法提供「模型」;本册反复出现的动作——写下一张结构表、在它上面验算一条句子、再造另一个结构把这条句子判反——恰好把两股传统拧成一股:公理说清「哪一个家族」,算法说清「家族里的哪一个」。平行公设的独立性与祖暅原理的构造,其实是同一件事的两种说法:前者用「另造一个模型」作出判决,后者用「另给一个构造」完成兑现。二者的共同要求都是「可复核」——希腊要每一步都被公理担保,中国要每一术都被算例核对。
札记的注脚。把《几何原本》与《九章算术》并读,会看到两种传统对「证明」的态度判然不同,却对「可复核」这件事同样认真。本册的写法自觉地把这股绳拧紧:每个抽象定义先配一张结构表(学希腊),每条结论再配一次算例与对拍(学中国)。读到这里,若能把第一章的全部定义在两张结构表上各跑一遍,就已经把两种传统都过了一遍手。
| 条目 | 内容 | 出处 § |
|---|---|---|
| 签名 σ | 常量、函数符号、关系符号的清单,各带元数 | §1.1 |
| 一阶语言 | 固定的逻辑符号 + 随理论而变的非逻辑符号 | §1.1 |
| 结构 𝒜 | 论域 A + 解释 c𝒜, f𝒜, R𝒜 | §1.2 |
| 基数 |𝒜| | 论域的大小 |A| | §1.2 |
| 项 | 常量与变元经函数符号递归嵌套 | §1.3 |
| 原子公式 | R(t1,…,tn) 或 t1 = t2 | §1.3 |
| 公式 / 句子 | 原子式经 ¬ ∧ ∨ → ∀ ∃ 生成;无自由变元者为句子 | §1.3 |
| 自由变元 | 未被任何量词辖住的变元 | §1.3 |
| 满足 ⊨ | 固定赋值后逐条递归判定;𝒜 ⊨ φ[ā] | §1.4 |
| 量词条款 | ∃ 找域中见证,∀ 逐个核对(子赋值) | §1.4 |
| Th(𝒜) | {φ : 𝒜 ⊨ φ},结构说出的全部句子 | §1.5 |
| Mod(T) | {𝒜 : 𝒜 ⊨ T},理论的全部模型 | §1.5 |
| 同构 ≅ | 保持全部符号解释的双射;保同构不变性 | §1.6 |
| 嵌入 ↪ / 初等嵌入 ≺ | 原样放入 / 逐句真值一致;≅ ⟹ ≺ ⟹ ↪ | §1.6 |
| 子结构 / 生成子结构 | 子论域 + 封闭 + 关系限制;含 X 的最小子结构 | §1.7 |
| 同态 / 商 / 归约 | 只正向保原子式 / 需同余方能商 / 丢掉部分符号 ↾σ | §1.8 |
| 可定义集 φ(𝒜) | {ā : 𝒜 ⊨ φ[ā]};允许点名参数得参数可定义 | §1.9–1.10 |
| dcl / acl | 唯一可指名 / 有限解集;A0 ⊆ dcl ⊆ acl | §1.10 |
| 量词=投影 | ∃ 对应 π;∀ 对应「补·π·补」 | §1.11 |
| 四刻度 | 可满足 ⊇ 一致 ⊇ 完备;κ-范畴另立一维 | §1.12 |
| 语言的选择 | 扩张语言只增可定义集,不改旧的可定义集 | §1.15 |
实例小卡。① (ℤ; +, ·, <, 0, 1) 与 (ℚ; +, ·, <, 0, 1) 不同构——句子「无最小元」在后者真、前者假。② DLO(稠密无端点线性序):完备且 ℵ0-范畴,唯一可数模型是 (ℚ, <)。③ ACFp(特征 p 的代数闭域):每个不可数基数上范畴。④ K-向量空间:签名随标量集而变,固定维数上范畴。⑤ 五种几何共用签名 σgeo = {I(2), ≡(4)},只靠平行条款分片。
易错三坑。① 把带自由变元的公式当句子(真值依赖赋值);② 把 |𝒜|(论域大小)与符号元数(吃几个参数)混为一谈;③ 以为「语言越富,旧的可定义集会被弄丢」——扩张语言只会添新的,不会删旧的(命题 1.44)。
下一步。字母表已经造好:语言给词、结构给世界、满足把两者接上、Th 与 Mod 给出理论的正面与背面。第二章进入引擎室——紧致性定理,看有限条句子如何约束无限大的模型,并造出非标准自然数与无穷小。行李清点:签名、结构、满足条款、可定义集、≅ ↪ ≺——五件全带,造模型工厂才开得动。
第一章交代了「语言—结构—满足」这套字母表:理论 T 是句子的集合,结构 ℳ 是它的一个世界,ℳ ⊨ T 表示这个世界兑现了全部公理。本章换一个更尖锐的问题——有限多句证词,能锁住什么样的世界?
紧致性定理(Gödel,1930)给出的答案反直觉:只要理论 T 的每个有限片段都还有模型,那么整本 T——哪怕它由无穷多条公理组成——也一定有模型。于是「每一份有限的证词都被某个世界兑现」这句听起来很弱的话,竟然禁止了整本 T 落到无模型的地步。这道从有限审查通向无限对象的桥,是本章全部奇迹的发源地。
本章的路线是一条四段上升的阶梯,每一级都踩着前一级:
第一阶(§2.1–2.2)——立定理。先给「有限可满足」一个精确的定义,再把紧致性定理完整证一遍:借 Gödel 完备性定理把「不可满足」翻译成「可推出矛盾」,再用「证明是有限的」这一步收口。证明不长,但它把无限多句公理的生死,押在了一次对有限字符串的清点上。
第二阶(§2.3–2.7)——应用爆发。紧致性一旦到手,立刻造出反直觉的模型:比一切标准自然数都大的非标准数、只差一个无穷小才算相等的超实数;再与 Löwenheim 1915 与 Skolem 1920 的下降定理会合,逼出「ZFC 若有模型就有可数模型,而它在内部仍证明存在不可数集」这一 Skolem 悖论。
第三阶(§2.8–2.11)——比较模型。有了各族模型,就要给它们排序:初等等价 ≡ 与初等扩张 ≺ 定义「看上去一样」;初等链与 Tarski–Vaught 判别法提供认证手段;最后清点「一个理论能有几号模型」——势的谱与范畴性。
第四阶(§2.12–2.17)——反向与实例。把紧致性反过来用,证明「有限域」「无挠群」「良序」都无法用有限多条公理刻画;再回到具体世界:算术的非标准模型、稠密线性序 DLO 的完全性、以及用模型证明几何相对一致性的方法——第三章的入口。
读本章要带两件行李:第一章的语言与满足记号(⊨、结构、公式、可定义集),以及一点「把句子当对象来清点」的耐心——紧致性的证明里,主角从来不是某个具体的数,而是一叠有限的句子。行李齐备时,现在上第一级台阶。
常驻标本:自然数与非标准自然数。结构 𝒩 = (ℕ, +, ·, <, 0, 1) 将在 §2.3 被紧致性撑出一个「多长了一条尾巴」的兄弟,在 §2.14 露出非标准模型的完整面目,在 §2.17 与几何一致性遥相呼应。它小到人人熟悉,又大到足以承载本章全部反直觉的构造——需与它保持熟络。
★★ 本章全部力量的源头,是一个听起来软绵绵的概念:一个理论,只要它的每一份有限片段都被某个世界兑现,就叫「有限可满足」。本节把这个词磨利,并指出它与「可满足」之间那道看似致命的缝。
一个方向的缝是闭合的。若 T 可满足,取那个共同的模型 ℳ,它当然也满足每个有限片段——所以可满足 ⟹ 有限可满足。反方向呢?「每份证词各有各的证人」听起来比「所有人指认同一个证人」弱得多,凭什么能推出后一句?这正是紧致性定理的内容。
第一号标本。取语言含一个常元 c 与关系符号 <,考虑句子集
T = { c > 0, c > 1, c > 2, c > 3, … }
这里的 n 是项 1 + 1 + ⋯ + 1(n 个 1)的缩写。任取有限子集 T0,它只包含有限多句,句中出现的 n 有最大值 N;把 c 解释成 N + 1(在一个含大数 N + 1 的算术结构里),T0 全部为真。所以 T 有限可满足。可是在标准自然数 ℕ 里,没有任何数能大于一切 0, 1, 2, …——在标准世界内部,T 无解。有限证词的账全平,整本账却悬着:缝就在这里。
与有限结构的对照(预告)。如果把目光限制在「有限结构」这个世界里,有限可满足与可满足确实分道扬镳:上面的 T 在有限结构中也有限可满足,却没有任何有限模型。这句话将在 §2.12 长成「有限模型论里紧致性失效」的整节讨论,并召唤出 Ehrenfeucht–Fraïssé 博弈。此处先记住:紧致性是「无限模型」的特权。
本节的收获可以压成一句:有限可满足是一个关于有限清点的性质,可满足是一个关于存在的性质;把两者接上的那座桥,下一节搭。
★★★ 本节给出紧致性定理的完整证明。证明的骨架只有两句话:「不可满足」等价于「能推出矛盾」(完备性),而「推出矛盾」只用到有限多条公理(证明是有限串)。两句话一接,无限就被有限锁住了。
证明。「⟹」已由 §2.1 给出(共同模型即每个有限片段的模型)。下面证「⟸」。分三步。
为什么这不循环。或许担心:完备性定理本身就是一条重定理,用它证紧致性算不算取巧?不算——完备性刻画的是语法与语义的吻合,紧致性刻画的是「有限片段决定整体」,两者互不蕴含、各有用处。为让证明站得更稳,下面把「一致理论必有模型」这一关键引理(完备性证明的核心引擎)摊开,把它当作一台独立可用的机器。
构造梗概。向语言添入可数多个新常元 c0, c1, … 得 L+;把 L+-句子排成一列 φ0, φ1, …。逐步扩张 T:每当轮到 ∃x ψ(x),就先添入「见证公理」∃x ψ(x) → ψ(c)(c 是尚未用过的新常元),再按「能添 φ 就添、否则添 ¬φ」的规则(Lindenbaum)保持一致,最终得到极大一致的 Henkin 理论 T* ⊇ T。取全体 L+-闭项作论域,把关系符号按「T* 可证」来解释,得到的项模型满足 T*,从而满足 T。Henkin 见证保证每个存在句都有项作见证,Lindenbaum 保证每个句子非真即假,故项模型良定义。∎(要略)
两路合流。有了引理 2.3,定理 2.2 也可直接走:T 有限可满足 ⟹ T 一致(否则有限子集 T0 ⊢ ⊥,由可靠性无模型);再由引理 2.3,T 有模型。两条证明路殊途同归,前者借用完备性这个成品,后者拆开看引擎;择一记忆,但两条都值得走上一次——这正是「有限清点锁住无限」这一思想的两种展开方式。
紧致性还有一条反方向的说法,将在后文反复使用:若 T 的每个模型都满足 φ,则存在有限 T0 ⊆ T 使 T0 的每个模型都满足 φ(否则把 ¬φ 并入 T 仍有限可满足,与紧致性抵触)。这条「有限析出」的形式,是 §2.13 判定「不可有限公理化」的利器。
★★ 定理到手,先别急着欣赏,用它造几个怪物。本节给出紧致性造模型的三步配方,并立刻兑现出本章第一件反直觉的产物——非标准自然数。
三步配方。想造一个「比现有结构更大更怪」的模型,只需:
标本一:装不下的尾巴。把上述配方用在 Th(ℕ) = Th(ℕ, +, ·, <, 0, 1) 上,添加句子 c > 0, c > 1, c > 2, …。所得模型 𝒩* 满足 Th(ℕ) 的每一句话,故与 𝒩 初等等价(§2.8);可它的论域里多出一个元素 c,大于一切标准数 0, 1, 2, …。这样的模型叫 𝒩 的非标准模型,c 叫非标准数。注意 c 不是「某个很大的自然数」——它比每一个标准自然数都大,标准自然数全体在它面前被一次越过。
标本二:有任意大的有限,就必须有无限。在某语言里写下「论域至少含 n 个元素」的句子 φn(用 n 个两两不等的常元表达),并取 T = {φ1, φ2, φ3, …}。任意有限子集只要求「至少含 N 个元素」,一个足够大的有限结构即可兑现;故 T 有限可满足,由紧致性有模型——但任何有限结构都装不下「至少含一切 n 个元素」的要求,所以这个模型必为无限。「任意有限大」被紧致性一举抬升成「无限」,这是它的标志性戏法。
配方为何屡试不爽。三步配方之所以万能,是因为它只依赖紧致性一条性质,而紧致性只依赖「有限片段」——凡能用「足够大 / 足够接近 / 足够多」这类永远可以取更极端的条件描述的愿望,都能被它兑现为模型。§2.4 用它造超实数,§2.13 反过来用它拦截有限公理化,§2.14 用它给算术画出整片模型地形。一个工具,正反两用——这是本章的第二次「换角」。
★★★ 十七世纪的微积分脚下踩着「无穷小」这个幽灵:它时而不为零(可作除数)、时而又为零(可被舍去)。Cantor 的实数理论把幽灵逐出了分析,直到 1960 年 Robinson 用紧致性把它了回来——这一次它有了严格的身份:非标准实数 *ℝ 里的元素。
历史一分钟。Leibniz(1670–1680 年代)发明微积分时,用「无穷小量」dx 表述求导:dy/dx 是两个无穷小之比。Berkeley 主教 1734 年嘲讽它们是「消逝量的鬼魂」——一会儿是 0 一会儿又不是,逻辑上讲不通。整个十九世纪,Cauchy、Weierstrass 用极限 ε-δ 语言重写分析,把无穷小换成「任意小但有限的量」。幽灵被驱逐了 150 年。Skolem 1934 年造出算术的非标准模型(正是 §2.3 的标本一);Robinson 在 1948 年前后的代数工作中注意到,同样的紧致性手法可以给实数造出一个含无穷小的兄弟;1960 年他正式宣布非标准分析成立:无穷小有严格基础,Leibniz 是对的。
怎样造出无穷小。取实数结构 ℛ = (ℝ, +, ·, <, 0, 1) 的一个非标准模型 *ℛ = (*ℝ, +, ·, <, 0, 1):引入新常元 c,添加句子「0 < c < 1」、「c < 1/2」、「c < 1/3」……(每个有限片段只需把 c 取成足够小的正实数即可兑现,故有限可满足)。由紧致性,*ℛ 存在,其中 c 的正实数值比 一切正实数都小——这就是一个无穷小(infinitesimal)。*ℝ 的论域比 ℝ 大:每个实数 r 周围都黏着一圈「r + 无穷小」,还有比一切实数都大的无穷大元素。
转移原理。非标准分析的全部威力浓缩为一条转移原理(transfer principle):任何用一阶语言写出的关于 ℝ 的句子,在 ℝ 中为真当且仅当在 *ℝ 中为真。理由正是 *ℛ ⊨ Th(ℛ)——*ℝ 是 ℝ 的非标准模型,两者的全部一阶性质重合(§2.8 将把这条重合命名为「初等等价」)。于是经典定理自动搬运到非标准世界,而无穷小、无穷大这些新居民只在「点集 / 超限」层面的论述中出场——它们不在实数的标准论域里,却被同一个理论合法地承认。
无穷小的复活改变了什么。有了它,导数的定义可以写得像 Leibniz 当年那样干净:f′(x) = st((f(x+dx) − f(x))/dx),其中 dx 是无穷小、st 取「标准部分」(把无穷小抹掉)。极限的 ε-δ 语言被 dx 的代数运算替代,直观回来了、严格性没丢。Keisler 1976 年的非标准微积分教材、以及 Robinson 学派对紧算子、测度论、组合数论的诸多重写,都建立在这条转移原理上。三百年前被嘲讽的「鬼魂」,如今成了一门学科的合法居民——这正是本章思想卡所要说的事:真理是相对于模型的,换个模型,被放逐的概念就能复活。
下一节起,我们把镜头从「造出更怪的模型」转向「造出更小的模型」——Löwenheim–Skolem 下降定理将告诉我们:任何有无限模型的理论,都有一个可数模型,足够小,小到能装进一本账。
★★★ 紧致性把模型越造越大;本节反其道而行,证明任何有模型的理论都有一个足够小的模型。这条定理由 Löwenheim(1915)提出、Skolem(1920)改造成现在通用的形式,是模型论最早的元定理之一,也是「站在模型外面看模型」这件事的第一次正式登场。
证明(Skolem 壳层法)。取 ℳ ⊨ T(由可满足性)。若 ℳ 本就可数,已毕;否则我们要在 ℳ 内部挖出一个可数的初等子模型。核心工具是「把存在句的见证一劳永逸地钉住」。分三步。
于是 𝒩 ⊨ T(初等子模型满足同一批句子),且 |𝒩| ≤ ℵ0。∎
两点提醒。① 这条定理说的是「有可数模型」,不是说「所有模型都可数」——ℳ 本身可能很大,我们只是在它内部挖出一个小小的替身。② 定理对可数语言成立;一般情形是 |ℳ| ≤ max(|L|, ℵ0),即模型大小被语言大小卡住。下一节就用它演出模型论最著名的悖论。
★★★ 把下降定理用在集合论上,会撞出一个刺眼的矛盾:ZFC 若一致,就有一个可数模型;可 ZFC 自己又能证明「存在不可数集」。一个小得可数的世界里,怎么住得下一个不可数之物?本节解开这个结——它是本章乃至全书最重要的一课。
悖论的搭建。设 ZFC 一致(这是全书默认的假设)。由 §2.5 的下降定理,ZFC 有一个可数模型 𝒩 = (N, ∈𝒩),故 |N| ≤ ℵ0。另一方面,ZFC 能证明 Cantor 定理,其推论「存在不可数集」是 ZFC 的定理,于是 𝒩 ⊨ ∃x「x 不可数」。取见证 a ∈ N,使 𝒩 ⊨「a 不可数」。可 a 是 N 的子集,而 |N| ≤ ℵ0——外部看来 a 至多可数。同一件事,里外两说:外面可数,里面不可数。
和气的解法。「a 不可数」在 ZFC 内部是精确的公式:不存在从 a 到 ω 的双射。注意这句话里的量词「不存在」指的是「在 𝒩 的论域 N 里不存在」。外面之所以说 a 可数,是因为在 𝒩 之外存在一个双射 f: a → ℕ(把 a 的外部可数性实现出来)。可这个 f 是站在 𝒩 肩膀上看出来的东西,f ∉ N——𝒩 自己没有本事把它列为元素。于是里外两种说法并不冲突:𝒩 里没有双射(所以 𝒩 认为不可数)与 外面有双射(所以我们认为可数)可以同时成立。
「绝对性」这一课。一个概念若在所有模型里解释一致,就叫绝对的(absolute)。原子公式与有限布尔组合大体绝对,可「∃」「∀」一加上去,量词的范围就随模型缩胀,绝对性随即失效。「可数」=「存在到 ω 的双射」,量词域是模型本身,故势绝不绝对。这不是悖论,而是模型论给数学上的第一堂谦卑课:同一个集合,可以在一个世界里不可数,在另一个世界里可数;「不可数」不是刻在集合身上的印记,而是相对某套世界的判决。Skolem 当年以此质疑集合论的「绝对」框架,今日我们把它读成模型相对主义的标准教材。
有一处细节值得补记:𝒩 认为 ω𝒩 与 a 的「不可数性」是各自独立认定的,外部还可能发现 ω𝒩 本身只是一个非标准序(§2.14 会讲)。这提示:连「自然数」这一最朴素的对象,其身份也是相对于模型的。
★★★ 下降定理说模型可以变小;补上另一半 —— 模型也可以任意变大,大到位列一切基数。两半合起来给出一条惊人的结论:一阶理论管不住自己模型的大小。
证明。先造「至少 κ 那么大」的模型。取 κ 个互不相同的新常元 {cα : α < κ},在 T 上添加句子「cα ≠ cβ」(一切 α ≠ β),记新理论 T′。任取 T′ 的有限子集,其中只出现有限多个 cα;因 T 有无穷模型 ℳ,把有限多个常元解释成 ℳ 中互不相同的元素即可兑现。故 T′ 有限可满足,由紧致性有模型 ℳ′,且 |ℳ′| ≥ κ(诸 cα 两两不同)。再把 ℳ′ 沿 §2.5 的洗法下降一次:取 κ 个元素作起点、闭包成初等子模型,得势恰为 κ 的模型(κ ≥ λ 保证闭包撑得住 κ 个元素)。∎
两半合璧。设 T 是无穷语言中的理论,考虑它的模型大小谱 Spec(T) = { |ℳ| : ℳ ⊨ T }(这里只记录无限基数,有限情形另议)。下降与上升定理合推得:
一个醒目的推论。若 T 有一不可数模型,则它有可数模型(下降);若 T 有无穷模型,则它有任意大的模型(上升)。两条一夹,得到:没有哪个一阶理论能恰好刻画「可数无限」这一大小——凡承认可数世界者必认更大的世界。想用一阶公理把模型钉死在某个基数的努力,注定失败。§2.11 会看到,钉不住的只是「大小」;钉得住的是「形状」——范畴性说的正是后一件事。
谱的另半张脸。有限模型的部分不服从这条尾巴律:可以有一阶理论「只有有限模型」(如有限域的公理,或某个基数上的有限结构),其谱支离破碎。本章后段(§2.12)专门处理这件事——有限世界是紧致性的盲区。至此,已握紧本章的主旋律:一阶逻辑善于约束形状,疏于约束大小。
★★ 有了各族模型,就要给它们排座次。「哪些结构看起来一样」有两档答案:句子层面一样(初等等价),以及更细的、逐元素的对应(初等扩张)。本节交出这两把尺子。
三条立即的关系。① 同构 𝒜 ≅ ℬ 蕴含 𝒜 ≡ ℬ(换名不改变句子真假)。② 𝒜 ≺ ℬ 蕴含 𝒜 ≡ ℬ(取无自由变元的公式即得)。③ 反过来都不成立:初等等价比同构粗得多,≺ 也比 ⊆ 更挑剔。
一个反例。(ℕ, <) ⊆ (ℤ, <) 却不初等:ℕ 满足「存在最小元」∃x∀y(x ≤ y),ℤ 不满足;这条句子的参数为空,属 A,故 ≺ 失败。可见「子结构」远不足以成为「初等子结构」——后者要求每一句带参公式都同真同假,量词不能偷偷越出子模型的围墙。§2.9 的 Tarski–Vaught 判别法,正是检验这堵墙的实用工具。
本节的收获可压成一句:≡ 管句子,≺ 管元素;越往下越细。下一节给出判定 ≺ 的实用武器——Tarski–Vaught 判别法,并把「初等链」这一造大模型的标准工序补齐。
★★★ 本节补齐两件工具:验证 𝒜 ≺ ℬ 的 Tarski–Vaught 判别法(完整证明),以及缔造大模型的标准工序——初等链的并。前者是 §2.5 下降定理的心脏,后者是 §2.11 范畴性论证的脚手架。
证明。要对一切公式 ψ 与 ā ∈ A 归纳地确立 𝒜 ⊨ ψ(ā) ⟺ ℬ ⊨ ψ(ā)。
证明。固定 n,用 Tarski–Vaught 验证 𝒜n ≺ 𝒜。取 φ(x, ȳ) 与 ā ∈ An,设 𝒜 ⊨ ∃x φ(x, ā)。取一个见证 b ∈ A;则 b ∈ Am 对某 m ≥ n。因 𝒜m ≺ 𝒜(证明中我们正归纳地建立它;对 m 用链的初等性递推),𝒜m ⊨ ∃x φ(x, ā),取 b′ ∈ Am 见证;再由 𝒜n ≺ 𝒜m(初等链的后段),拿到 b″ ∈ An 使 𝒜n ⊨ φ(b″, ā),从而 𝒜 ⊨ φ(b″, ā)。Tarski–Vaught 命中,故 𝒜n ≺ 𝒜。∎(可对 n 作归纳使构造严格)
两件工具的用处。Tarski–Vaught 把「初等」这件难查的事,化简为一条只关于存在句见证的条件:只要子模型的围墙挡住了「量词越墙抓人」,它就是初等的。初等链则给出一条上升通道:数列般堆叠初等扩张,极限仍保持初等。二者合起来,让人能像搭积木一样精确控制模型的大小与形状——§2.10 的势的谱、§2.11 的范畴性,都建立在这套积木术上。
★★ §2.7 画出了大小谱的尾巴,却没有回答一个更细的问题:给定一个完备理论,它在某个基数上究竟能坐几个模型?本节把「大小」与「数量」两件事分开,给出模型论最早的定量结论。
先锁死大小的可选择范围。设 T 是可数语言的完备理论,且有一个无限模型。
证明。若 ℳ ⊨ T 有限且 |ℳ| = n,则句子「恰有 n 个元素」在 ℳ 中为真;由完备性它是 T 的定理,于是每个模型都有 n 个元素,与无限模型矛盾。故无有限模型。至于大小的存在性:先由下降定理取可数模型(κ = ℵ0 已兑现),再由上升定理对任意 κ ≥ ℵ0 造出势恰为 κ 的模型。∎
再把「数量」单拎出来。对完备理论 T 与基数 κ,令 I(T, κ) 表示 T 的势为 κ 的模型的同构类个数。大小的存在性解决后,真正微妙的是 I(T, ℵ0)——可数模型的个数。
(ii)的直观读法:可数模型的个数可以有 1 个、3 个、4 个、……、可数多个、乃至连续统多个,偏偏不能恰好 2 个。这条「无 2 定理」是模型论最早的计数惊奇之一:数量的分布被理论的结构强行约束。至于介于 ℵ0 与 2ℵ0 之间的中间值能否出现,即著名的 Vaught 猜想,至今未决——它是本册最后一章仍将回望的悬案。
一个对照。稠密线性序 DLO 的 I(T, ℵ0) = 1(§2.16 将证明全部可数稠密线性序都同构于 ℚ);而非标准算术的邻域里,可数模型可以多到 2ℵ0 个。同一台紧致性机器,造出的模型数量可以天差地别——数量的多寡,取决于理论把「形状」钉得多死。这把我们径直推向下一节的主题:范畴性。
★★ §2.7 说一阶逻辑钉不住模型的大小;本节说,它钉得住模型的形状。当某一基数上的全部模型都同构时,理论就锁定了那一档大小的世界——这叫范畴性。
Morley 定理把「不可数范畴」变成理论本身的性质,可简称「范畴的」。它的价值在于:要验证一个理论在一切不可数大小上都只有唯一的模型,只须在某一档(例如 ℵ1)上做一次检查。这条定理是模型论走向「分类理论」的起点,也是 Morley 获证「不可数范畴理论必完备」的关键一步。
证明思路。设 φ 是句子。若 φ 在某个可数模型 ℳ 中为真、在另一个 ℳ′ 中为假,则把「φ 为真」的模型与「¬φ 为真」的模型分别沿初等链扩张,各得可数模型而不可能同构(它们在 φ 上取值不同),与 ℵ0-范畴性矛盾。故任一 φ 在全体模型中取值一致,T 完备。∎
「钉住形状」与「钉不住大小」并不冲突。DLO 在每个不可数基数上都有模型(上升定理),且在每一档上都唯一——于是它的每个不可数模型形状相同、大小各异。范畴性钉住的是同构类,不是基数。(ℚ, <) 与 (ℝ, <) 初等等价、却不同构,正是「同一形状、不同大小」的最小见证。这条对照值得抄进速查表:一阶逻辑不控制大小,但可以完全控制结构。
至此「势」与「形状」两个问题都已交代。但还有一片天地没被本章的机器照顾到——有限世界。下一节转向它,看清紧致性在有限论域中如何失效,以及为什么有限模型论要另起炉灶。
★★★ 本章所有精彩结论都建立在「无限模型」之上。一旦把目光收进有限世界,紧致性、下降、上升三件利器同时落空。本节说清落差从何而来,并预告填补它的新武器。
证明。任取有限子集 {φn1, …, φnk},设最大下标为 N;一个含 N 个元素的(任意语言)有限结构满足全部这些句子。而若某个有限结构 ℳ 满足整本 T,取 n > |ℳ|,则 φn 在 ℳ 中为假——矛盾。∎
这正是 §2.1 埋下的那颗种子:有限可满足与可满足之间的缝,在「只看有限结构」的世界里真的张开了。紧致性说「有限片段有模型 ⟹ 有模型」,但那个模型可以是无限的;当被允许的模型被限制为有限时,这条推理就断了。
证明。反设 σ 如此。取 T′ = {σ} ∪ {φn : n ≥ 2}。任取有限子集,它只含 σ 与有限多个 φn,取一个足够大的有限结构即可兑现——故 T′ 有限可满足。由紧致性,T′ 有模型 ℳ;它满足一切 φn,故 ℳ 无限,于是 σ 在 ℳ 中应为假——与 ℳ ⊨ σ 矛盾。∎
落差之后的新工具。既然紧致性缺席,有限模型论改用局部推理:一个句子若能表达的,必定对某些「足够相似」的有限结构一视同仁。度量相似度的标尺是 Ehrenfeucht–Fraïssé 博弈(EF 博弈):两位玩家轮流在结构里挑元素,k 轮之内第二玩家若能维持一个部分同构,就说明两结构「k 步内分不清」。凡能用 k 个量词说出的性质,都在 k 轮游戏中守恒。本书第六章将正式介绍 EF 博弈;本章只借它说明一件事:「有限性」「连通性」「偶数大小」这类性质之所以不可一阶定义,正是因为总有一对结构让任何有限轮数的游戏都分不出胜负。
最后记一笔对照:无限世界里,「大小」自由、「形状」可钉;有限世界里,「形状」反而更受制于组合的有限性——这正是有限模型论成为独立学科的原因,也解释了为什么它的方法(博弈、计数、0-1 律)与本册主线如此不同。下一节,我们把紧致性反过来用,正式判定哪些类无法被有限多条公理刻画。
★★★ 前面几节用紧致性造模型,本节用它的逆否拦模型:凡是需要「无穷多个条件」才能刻画类,就绝不可能用有限多条公理代替。这是一台判定「不可有限公理化」的通用机器。
通用招式。设 K = Mod(T),其中 T = {τ1, τ2, …} 是无穷多条「逐条设防」的公理。若 K 能被单句 σ 公理化,则 σ 与 T 定义同一个类,特别地 σ ⊨ τn 对每个 n 成立;但紧致性的反向形式只允许有限析出,于是必存在有限 T0 ⊆ T 也定义 K。一旦证明「任意有限片段都定义不出 K」,不可有限公理化即告成立。
证明。反设 T 公理化良序类(含全序公理)。在新语言中添常元 c0, c1, …,添加句子 c0 > c1 > c2 > ⋯(每句形如 ck > ck+1)得 T′。任取有限子集,只涉及有限多个 ck,把 ck 解释成 (ℕ, <) 中足够大的递降数即可兑现——故 T′ 有限可满足。由紧致性,T′ 有模型 ℳ:它是全序(满足 T),却含一条无穷递降链 c0 > c1 > ⋯,故不是良序——与 ℳ ⊨ T 矛盾。∎
证明。设单句 σ 公理化有限域类。考虑 T = {域公理} ∪ {φn : n ≥ 2} ∪ {σ},其中 φn 仍表「至少 n 个元素」。任取有限子集,取一个足够大的有限域(如 𝔽2m)即可兑现,故 T 有限可满足;由紧致性得模型 ℳ。它满足一切 φn,因而是无限域;又满足 σ,故应为有限域——矛盾。∎
证明。记 Axiomp := ∀x(xp = 1 → x = 1)(p 取遍素数)。「无挠」= Mod({Axiomp : p 素数}),是无穷多条逐条设防。若有限多条够,设只用素数集 P0 上的诸 Axiomp;取素数 q > 一切 p ∈ P0。在循环群 ℤq 中元素阶只能是 1 或 q,故 ℤq ⊨ Axiomp(一切 p ∈ P0)——它骗过了全部设防,却不是无挠群(含阶 q 元)。所以有限多条公理必失败。∎
三个类的等级。「有限域」与「无挠群」是可(无穷)公理化、但不可有限化的例子;「良序」更极端——它连用一个句子集来公理化都做不到,是「不可公理化」的最强形态。三者合看,即可看出本章的第三次「换角」:同一台紧致性,正着用造模型、反着用拦公理,是模型论里最高产的一招。
★★★ 把 §2.3 的配方用在算术上,就得到本章最著名的怪兽——自然数的非标准模型。它满足与标准自然数完全相同的一阶句子,却在标准数之后拖出一条长尾巴。本节把这条尾巴的解剖图画清楚。
构造。取 Th(𝒩)(标准结构 𝒩 = (ℕ, +, ·, <, 0, 1) 中的全部真句子,含全部一阶归纳法实例),引入新常元 c,添加句子
c > 0, c > 1, c > 2, c > 3, …
任取有限子集,把 c 解释成一个足够大的标准自然数即可兑现,故整本理论有限可满足;由紧致性,它有模型 𝒩*。
尾巴的解剖。由 𝒩 ⊨ Th(𝒩) 与 𝒩* ⊨ Th(𝒩) 知道两者满足同一个理论;又「每个非零元有前驱」是 Th(𝒩) 的句子,故 𝒩* 中一切由 c 生成的元素 c, c ± 1, c ± 2, … 都非标准。标准自然数在 𝒩* 中构成一个初始段(有元 < 标准数者仍标准),其后则是一座由无穷多个「整数块」ℤ 组成的稠密序——整体序型可写作 ω + (ℤ · η),其中 η 是稠密无序(ℚ 的序型)。
怪兽也是算术家。由于 𝒩* ⊨ Th(𝒩),标准世界里一切一阶可表达的算术事实在 𝒩* 中同样成立:素数分解、中国剩余定理、二次互反律(凡能在 Th(𝒩) 里写下的版本)都在。非标准数因此是「合格的算术工作者」,只是它们的数轴比标准的长。
非标准数的奇偶。「c 是偶数还是奇数」这个问题没有绝对答案:由紧致性可分别造出 𝒩* ⊨ 2 | c 与 𝒩* ⊨ 2 ∤ c 的模型(往理论里各添上对应句子,有限片段都能由足够大的标准数兑现)。这与 Skolem 悖论里「可数/不可数」的处境同源:性质是否绝对,取决于它是否被模型世界内部的量词锁住。Skolem 1934 年首次造出这类模型,它既是非标准分析的先驱(§2.4),也是「一阶逻辑钉不住标准模型」的最早警报。
★★★ §2.4 已把超实数 *ℝ 请上了台,本节补上它的正经造法,并当场用无穷小算一次导数,让人看清「幽灵」如何在严格的代数里干活。
造法一:超积(ultrapower)。取 ℕ 上的一个非主超滤子 𝒰(存在性靠选择公理),考察全体实数序列 ℝℕ,用「按 𝒰 几乎处处相等」作等价关系,商掉得论域 *ℝ = ℝℕ/𝒰。运算与序按坐标逐点定义。Łoś 定理保证:一个句子在 *ℝ 中为真,当且仅当它在「𝒰-几乎处处的」坐标上为真。特别地,把每个实数 r 对应到常值序列,ℝ 就嵌入 *ℝ,且 *ℝ ≡ ℝ。
造法二:紧致性(§2.3 的配方)。往 Th(ℝ) 里加入常元 c 与句子 0 < c < 1/n(n = 1, 2, …),有限可满足,由紧致性得模型——其中 c 的正实数值小于一切正实数,正是无穷小。两条路殊途同归:超积给出一个「标准」的非标准模型,紧致性保证它必定存在。
f(x + dx) − f(x)dx = (x + dx)2 − x2dx = 2x · dx + dx2dx = 2x + dx.
两边取标准部分:f′(x) = st(2x + dx) = 2x。整个推导只是代数:展开、除以 dx、抹掉无穷小。最后一步「取标准部分」是唯一需要解释的动作,而它有精确定义(定义 2.27)。Leibniz 当年的 dy/dx 与「消逝量」的直觉,在此有了不带矛盾的落点。
为什么这值得郑重其事。非标准分析不是文字游戏:它把 ε-δ 语言里层层嵌套的量词,压成「取一次标准部分」的单步操作,使许多证明(尤其是紧算子、测度、组合数论里的)变得短而透明。Robinson 1966 年的《Non-standard Analysis》与 Keisler 1976 年的非标准微积分教材,是把这套语言推向课堂的两块界碑。对本章而言,它最重要的意义是:被 Cantor–Weierstrass 逐出分析的无穷小,正是紧致性定理一手请回来的居民。下一节转入一个更朴素、也更能展示「形状被钉死」的实例——稠密线性序。
★★★ 本节解剖一个能把本章所有工具串起来的最小实例:稠密线性序 DLO。它完备、ℵ0-范畴,唯一的可数模型就是 (ℚ, <)——一个理论把「形状」钉得纹丝不动的样板。
证明要点。对公式作归纳,关键在消去存在量词。设 φ 是无量词的,形如「x 落在某些参数规定的开 / 闭区间交织中」。∃x φ(x, ā) 为真当且仅当:这些约束彼此相容(没有 x < x 这类自相矛盾)、且若上下界都出现则不违反稠密与无端点(下界 < 上界,或恰有一侧无界)。这一条件只谈参数之间的大小关系,不含 x——于是得到无量词式。∎
证明。设 σ 是句子。由量词消去,σ 与一个无量词句子 σ0 等价。语言 {<} 没有常元,闭项只有变元,故无变元的无量词句子只能是 ⊤ 或 ⊥ 的布尔组合,即恒真或恒假。于是 DLO ⊨ σ 或 DLO ⊨ ¬σ,无第三种可能——完备。∎
证明(往返法)。设 𝒜, ℬ 是两个可数 DLO,枚举 A = {a0, a1, …}、B = {b0, b1, …}。逐步构造部分同构 p0 ⊆ p1 ⊆ ⋯:第 2n 步处理 an,把它的位置(相对已有有限点集的序关系)在 ℬ 中实现出来——由稠密无端点总能在 B 中找到落点;第 2n+1 步反向处理 bn。稠密性保证任何「夹在两数之间」的要求都可满足,无端点性保证「比一切已选点都大 / 小」也总能满足。有限步后各步的部分同构单调增长,其并 p = ⋃n pn 是 A → B 的双射且保序——同构。∎
串起全章。DLO 一个实例就演示了本章四件主力:它是 §2.16 的完备理论(量词消去)、§2.11 的 ℵ0-范畴理论、§2.8 的 (ℚ, <) ≺ (ℝ, <) 的舞台,也是 §2.7「大小自由」的见证(每档基数上都有 DLO 模型)。(ℚ, <) 与 (ℝ, <) 初等等价而不同构,则把「形状被钉死、大小不被钉死」这句话,落实成两个看得见摸得着的结构。
★★★ 本章最后一节把模型借给几何。欧几里得用了两千年想从其余公理证明平行公设,全告失败;真正的判决不是「证不出」,而是「造得出反例模型」。这套判决术就是相对一致性。
证明(Poincaré 圆盘模型)。在欧氏平面的单位开圆盘 D = {(x, y) : x2 + y2 < 1} 内,约定:「点」是 D 中的点;「直线」是与边界圆正交的圆弧(直径算特例)。逐条验证罗巴切夫斯基公理:两「点」确定唯一「直线」(过两点的正交圆唯一);等距、角度都有定义(用共形映射实现);关键的一条——过不在此「直线」ℓ 上的点 P,可作无穷多条与 ℓ 不相交的「直线」(它们在边界处收敛而不相交)。于是这个结构满足罗巴切夫斯基全部公理,而它完全是在欧氏圆盘里造出来的:只要欧氏几何有模型,罗巴切夫斯基几何就有模型。∎
判决书怎么读。定理 2.34 并未断言「双曲几何为真」,也未断言「欧氏几何为真」。它说的是:若欧氏几何无矛盾,则双曲几何也无矛盾,因此「平行公设」独立于其余公理——否定它不会招来矛盾。这正是模型论解决「公理独立性」问题的标准姿势:给一组公理一个反例模型,独立性的判决即告生效。它与 §2.13 的「不可有限公理化」互为表里:那台机器判定「写不出有限的刻画」,这台机器判定「写出来的公理推不出更多东西」。
通往第三章。Poincaré 圆盘只是五种几何(欧氏、仿射、射影、罗巴切夫斯基、球面)里的一种模型构造。第三章将把五套公理系统与各自的模型地形并排摆开,逐一用本节的相对一致性技术判出彼此的关系——球面几何、射影几何的对偶原理,都会有各自的模型证明。至于力迫法(第六章)那种更深刻的「相对一致性」,则是本节思想在集合论里的极限形态:它用「在模型里造模型」的手法,判决连续统假设的独立。本章的工具箱至此封口;下一站是两页例题课,把 §2.1–2.17 的手艺逐条演练。
四道题的共同方法:先问「这句话里量词能跑多远」,再决定答案是不是绝对的。可定义集、满足关系、初等等价,本质上都在清点量词的作用范围。
四道题的共同招式:造模型 (2-5、2-6) 与毁公理 (2-8) 是同一枚硬币的两面。要紧的是把待验证的愿望逐句写成公理,再用紧致性一次性提货或拦截。
习题 2-1(有限可满足的辨认)。语言含常元 c 与二元关系 R。令 T = {「R 是严格全序」} ∪ {「c 大于至少 n 个互不相同的元」:n = 1, 2, …}。判断 T 是否有限可满足、是否可满足,并说明若 ℳ ⊨ T 则 |ℳ| 必须是什么。
提示。任意有限子集只对 c 提有限多下界,取一个含 N + 1 个元的严格全序、把 c 放在最大处即可兑现——有限可满足。整本 T 也满足(§2.3 配方),且任一模型 ℳ 中 c 下方有任意多个元,故 ℳ 无限:|ℳ| ≥ ℵ0。
习题 2-2(初等等价的判定)。判断下列各组是否初等等价,给出判决句或同构:(a) (ℚ, <) 与 (ℚ, <) 的字典序平方?(b) (ℕ, <) 与 (ℕ, <) 去掉最小元后的尾段?
提示。(a) 字典序平方 ℚ × ℚ 仍是可数稠密线性序无端点,故 ≅ ℚ,当然 ≡。(b) ℕ 有最小元(句子 ∃x∀y(x ≤ y) 为真),尾段 ℕ \ {0} 也有最小元但「恰有一个元素没有前驱」在 ℕ 中为真、在尾段中为假——用「唯一无前驱元」句分辨,故不初等等价。
习题 2-3(可定义集)。在 (ℤ, +, <, 0) 中,用公式定义集合「偶数」「非负整数」,并说明「平方数」是否可定义。★★★
提示。偶数:∃y(y + y = x);非负:∃y(x = y + y ∨ x = y + y + 1)(即 x 可写成 2y 或 2y + 1 而 y ≥ 0——需先定义非负,可循环地用「有 x 的元 ≥ 0」表达,注意顺序)。平方数在 (ℤ, +, <, 0) 中不可定义:乘法不能由加法 + 序 + 0 还原,Presburger 算术里平方集不是有限个等差数列之并。要点:可定义性取决于语言。
习题 2-4(满足关系的手算)。在 (ℚ, <) 中判断:(i) ∀x∃y(x < y);(ii) ∃x∀y(x ≤ y);(iii) ∀x∀y(x < y → ∃z(x < z ∧ z < y))。
提示。(i) 真(无上界,取 y = x + 1);(ii) 假(ℚ 无最小元);(iii) 真(稠密性)。三条合看:(ℚ, <) 满足 DLO 的「无端点 + 稠密」,恰是 §2.16 的公理。
习题 2-5(区分两结构)。在语言 {<} 中找出一个句子,使它在 ((0, 1) ∩ ℚ, <) 为真、在 (ℝ, <) 为假——或说明为何找不到。★★
提示。找到:「有最小元」∃x∀y(x ≤ y) 在 ((0, 1) ∩ ℚ, <) 为真(0 是)... 严格说 0 ∉ (0, 1) ∩ ℚ,故该结构无最小元——改用 ([0, 1] ∩ ℚ, <)。标准技巧:把区间端点的存在性写成「有最小元」「有最大元」,即可彼此分辨;若两结构都无端点则需更细的句子(如可数性不能一句表达,见 §2.12)。
习题 2-6(造无穷小)。用紧致性证明:存在实数结构的一个模型 *ℛ,其中有一个元素 ε 满足「0 < ε < r」对一切正实数 r 成立。
提示。取 Th(ℝ) 加常元 ε 与句子 0 < ε < 1/n(n = 1, 2, …,1/n 是项 1/n 的解释)。任取有限子集取 ε = 1/(N + 1) 兑现,由紧致性得模型;其中 ε 小于一切正实数,即无穷小。注意 ε 所在的模型 *ℛ ≡ ℛ,故转移原理自动成立。
习题 2-7(不可有限公理化)。证明:结构类「(A, f) 中 f 是无不动点的置换」不可有限公理化——若不成立,指出需要无穷多条公理的理由。
提示。公理为「f 单射」+「∀x(f(x) ≠ x)」。后者是单条句子,故该类其实有限可公理化——本题是「陷阱题」,提示并非「看起来需要无穷多条」就一定不行。真正的不可有限化例子见 §2.13 的有限域与无挠群。分类关键:看该条件能否被单句量词式表达。
习题 2-8(下降定理的直接应用)。设 T 是可数语言中可满足的理论。证明 T 有一可数模型,且若 ℳ ⊨ T 不可数,则 ℳ 含一个可数的初等子模型 𝒩 ≺ ℳ。
提示。把 §2.5 的 Skolem 壳层走一遍:X0 取常元解释加一个可数子集,按全部 Skolem 函数封闭,得可数子结构 𝒩;Tarski–Vaught 条件由闭包保证,故 𝒩 ≺ ℳ。要点:可数语言 ⟹ 可数多个 Skolem 函数 ⟹ 闭包仍可数。
习题 2-9(势与悖论)。说明为什么「ZFC 有可数模型」与「ZFC ⊢ 存在不可数集」不矛盾。写出「a 不可数」作为 ZFC 公式的展开,并指出其中量词的范围。
提示。「a 不可数」= ¬∃f(「f 是双射」∧「dom f = a」∧「ran f = ω」),量词「∃f」只扫过模型 𝒩 的内部 —— 𝒩 内没有这样的 f,故 𝒩 判 a 不可数;但外部(含 𝒩 之外的函数)存在这样的 f,故外部判 a 可数。量词域的差别即悖论的全部。
习题 2-10(选做·相对一致性)。在 (ℚ, <) 中构造一个「稠密线性序无端点」的模型,使它同时对某固定常元 c 满足「c 小于一切标准有理数」。由此说明「ℚ 的序理论」与「含无穷小的序理论」的关系。★★★
提示。取 DLO 加常元 c 与句子 c < q(q ∈ ℚ,逐句加入);有限子集在 (ℚ, <) 中取足够小的有理数兑现,故可满足。所得模型仍有稠密线性序结构,但 c 位于标准有理数之外——是「非标准序」。结论:含无穷小元素的有序域/序理论可相对 (ℚ, <) 一致,正是 §2.15 与 §2.17 相对一致性思想的序论版。
本章的概念网有一根清晰的主干:有限可满足 → 紧致性 → 模型构造(大 / 小 / 怪)→ 模型的比较(≡、≺、谱、范畴性)→ 反向应用(不可有限公理化)与实例(算术、实数、DLO、几何)。下页图把依赖关系画全。
通向外部的接口。① 紧致性 → 第三章的相对一致性(几何公理的独立性判决);② 量词消去(DLO 的证明 → 第四章 Tarski 机器的预演);③ 势的谱与范畴性 → 第五章类型、饱和、稳定性;④ Skolem 悖论与「绝对性失效」→ 第六章 L 与力迫法(相对一致性在集合论里的极限形态);⑤ 非标准模型 → 数论与分析的模型论与专题读本。本章是全书的技术枢纽:往前,第一章给的字母表在此变成句子;往后,第三、四、六章都要到这里来取工具。
卡片一:有限可满足(§2.1)。T 有限可满足 ⟺ 每个有限子集有模型。它是「有限清点」的性质;可满足是「存在共同模型」的性质。可满足 ⟹ 有限可满足,反之即紧致性。在有限结构世界里反之不成立(§2.12),缝由此显形。
卡片二:紧致性定理(§2.2)。有限可满足 ⟺ 可满足(Gödel 1930)。证明骨架:① 不可满足 ⟹ 可推出矛盾(完备性);② 推出矛盾只用有限多条公理(证明是有限串);③ 可靠性把矛盾搬回语义。反向形式:若 T 的每个模型满足 φ,则有限 T0 ⊆ T 的每个模型满足 φ——这是 §2.13 的拦模机。
卡片三:模型存在引理(§2.2)。一致理论有模型(Henkin 1949)。构造:Lindenbaum 补成极大一致 + 添 Henkin 见证 ∃x ψ(x) → ψ(c) + 取项模型。它是完备性证明的引擎,也是紧致性「另一条证明路」的支点。
三条对比要牢记。① 语法 vs 语义:⊢ 是有限符号操作、⊨ 是结构中的真;完备性说二者吻合,紧致性说前者只碰有限、后者管到无限。② 有限 vs 无限:本章全部威力都来自「有限片段」与「无限模型」两个词的对撞。③ 绝对 vs 相对:一句话的真假不取决于「真相」,而取决于它在哪个模型中被评判——§2.6 的 Skolem 悖论是这条对照最锋利的样本。
易错三坑。① 把「有限可满足」误当「可满足」——中间隔着紧致性,有限结构世界里隔着可能跨不过的沟;② 用完备性证紧致性时忘记「证明是有限的」这一步——少了它,紧致性无从落地;③ 引理 2.3 的 Henkin 见证常元必须逐步新取,重复使用会让模型构造崩塌。
卡片四:模型大小与形状(§2.7、§2.10、§2.11)。下降定理:有可数模型(|ℳ| ≤ max(|L|, ℵ0));上升定理:有任意大模型(κ ≥ max(|L|, ℵ0))。合之:一阶理论只设大小的下界,铺满其上的一切基数。完备理论每档都有模型,但形状可被范畴性钉死(Morley 定理:不可数范畴 → 一切不可数范畴)。
卡片五:比较模型(§2.8、§2.9)。≅ ⟹ ≺ ⟹ ≡,反向皆不成立。𝒜 ≺ ℬ 判据(Tarski–Vaught):对一切 φ(x, ā)(ā ∈ A),若 ℬ ⊨ ∃x φ 则有 b ∈ A 见证。初等链:𝒜0 ≺ 𝒜1 ≺ ⋯ ⟹ 𝒜n ≺ ⋃𝒜n。
卡片六:反向与实例(§2.12–2.17)。紧致性反向用:有限域、无挠群不可有限公理化;良序连(有限或无穷)句子集都不可公理化。实例:算术非标准模型(序型 ω + ℤ·η)、超实数 *ℝ 与转移原理、DLO 完备且 ℵ0-范畴(唯一可数模型 (ℚ, <))、Poincaré 圆盘证明双曲几何相对欧氏一致。
三个必背战例。① *ℛ = (ℝ, +, ·, <, 0, 1) 的非标准模型 *ℝ:含无穷小 ε、无穷大 Ω,转移原理把标准句子原样搬运;② (ℚ, <) ≺ (ℝ, <):初等扩张而不同构,初等等价的最干净样本;③ Th(ℕ) 的非标准模型 𝒩*:c > 0, 1, 2, …,序型 ω + ℤ·η,既满足全部标准算术,又拖一条非标准尾巴。三个例子分别代表「超实数」「等价不同构」「非标准算术」三种非标准现象。
通往第三章。本章反复出现的 (ℚ, <)、平行线的数目、模型的势与形状,都是几何预告。第三章把五种几何的公理系统并排摆开,用本章的相对一致性技术逐个判决它们的独立性与相互关系。行李带齐:紧致性、L-S、≡ 与 ≺、Tarski–Vaught、势的谱——五件套全上,几何的模型地形才走得通。
本章最深的一课,是把「真」从句子身上摘下来,安到模型身上。习惯里总以为一句话非真即假,像一枚硬币的正反;模型论说的是:这枚硬币一面刻着「在 ℳ 中为真」,另一面刻着「在 𝒩 中为假」,而「真」本身并不贴在句子上。§2.6 的 Skolem 悖论把这件事推到刺眼处:一个可数模型可以在内部证明「存在不可数集」,站在它外面的人却把它数得清清楚楚。这不是矛盾,是量词范围的界线——「不可数」由 ∃、∀ 判决,而量词只在论域内扫过,模型之外的见证无处安放。正如「这里很大」离开了度量就没有意义,「不可数」离开了模型也没有意义。
相对性有三副面孔,本章逐一亮过。其一,大小相对:Löwenheim–Skolem 两半合璧,一阶理论只能规定「从哪档基数起有模型」,规定不了「只到哪档为止」(§2.7)——可数模型于是能装下内部不可数的对象,任意大的模型也永远等在那里。其二,形状相对:形状反倒钉得住,DLO 的唯一可数模型就是 (ℚ, <)(§2.16);可同一个形状在每一档大小上都站着一个替身,(ℚ, <) ≺ (ℝ, <) 初等等价而不同构(§2.8),于是「≅ 管名字、≺ 管元素、≡ 管句子」三把尺子各量各的。其三,概念相对:「有限」「良序」「可数」这些词一旦写进一阶语言,就不再绝对——§2.12 证明「有限」不可一阶定义,§2.13 用同一台机器判出「有限域」「无挠群」「良序」不可有限公理化。三副面孔看下来,公理的意思被改写了:它不是世界的画像,而是世界的准入证。
紧致性于是读作一句格言:有限的信息锁不住无限的世界。每一份有限的证词都能被某个小世界兑现,只说明这套公理书写不出矛盾;要想逼出唯一的世界,一阶语言没有这个本事(除非像 DLO 那样先把形状钉死)。消极说完,积极的一面同样贵重:正因为量词被关在模型里,模型内部的推理才自洽,无穷小才能在 *ℝ 里当合法居民(§2.15),非标准数才能名正言顺地做算术(§2.14);也正因为「在模型里造模型」这条手法,相对一致性才成为判决独立性的武器——把反例模型造出来,待判的公理就独立了(§2.17 的 Poincaré 圆盘)。
留一个自问:当说一条定理「为真」,究竟在哪一层说话?在标准自然数 𝒩 里为真?在 Th(𝒩) 的每个模型里为真?还是在未经点明的默认模型里为真?本章的每个构造都在提醒:把默认的模型说出来,是谈论独立性与一致性的第一步。第三章要把这一课搬到几何上——「三角形内角和等于两直角」在欧氏平面上为真,在球面上大于两直角,在双曲平面上小于两直角。届时回到这张卡片,看清是谁在说话、在哪一层说话。
任务。挑一门理论,为它画一张模型地形图——把三张图层叠在一起:大小层(哪些基数上有模型,即 §2.7 的谱 Spec(T))、形状层(每一档基数上站着几个互不同构的模型,即 I(T, κ),§2.10–2.11)、可定义层(语言能在模型内部画出哪些子集,即量词消去后的形状,§2.16)。三层画全,理论与模型的关系就一眼可读了。候选理论任选一门,也可自拟:稠密线性序 DLO(只需 {<} 一个符号,最平易)、无挠群(最尖锐,用 §2.13 的反向机器判它不可有限公理化)、算术 Th(𝒩)(最丰饶,非标准模型的故乡,§2.14)。
路线图(以 DLO 为例)。① 大小层:DLO 在每个无限基数 κ ≥ ℵ0 上都有模型(上升定理,§2.7),却没有有限模型(「稠密」蕴含至少三元)——谱恰是全部无限基数。② 形状层:往返法证明任意两个可数模型同构,故 I(DLO, ℵ0) = 1;再由 Morley 定理,每一档不可数基数上也只坐一个形状(§2.11)。③ 可定义层:量词消去(定理 2.30)把任何公式压成参数间不等式的布尔组合,故可定义集恰是有限个点与开区间的有限并。三层叠好,一眼便能读出:(ℚ, <) 与 (ℝ, <) 住在同一「形状」格、不同「大小」格。
进阶任务(无挠群:把反向机器也画进图里)。用 §2.13 的机器证明「无挠群」不可有限公理化;再指出地形图上「有限大小」单独一列里,每个素数 q 都贡献了一个循环群 ℤq——它骗过了任意有限多条设防,却站在「非无挠」的区域。这个对照说明:地形图不是画一次就定稿的,它随「用有限还是用无限多条公理来刻画」而变形。
开放问题(可上手,尚未定案)。① Vaught 猜想:对可数语言的完备理论,I(T, ℵ0) 能否取 ℵ0 与 2ℵ0 之间的值?把它当作地形图上的一处空白:§2.10 已确认除 2 之外的低值都能出现,中间值则是悬了六十余年的问题。② Th(𝒩) 的形状层:它的可数模型多到 2ℵ0 个(§2.14 的邻域已作预告),按序型把它们排序(ω + ℤ · η 的各种变体),看看「同构类」这一层究竟有多厚。③ 自选一门理论(推荐特征 p 的代数闭域 ACFp),把三层画完,并回答:它的可定义集长什么模样?
验收标准。地形图要能被别人当查表用:给出任意一个模型(如 (ℚ, <)、(ℝ, <)、ℤq),在图上指出它的坐标,并说出它为什么待在那里。图画得对不对,以「能否由本章的定理逐格导出」为准。
实验目的。本章的结论都是元定理——断言「全体模型」如何如何,没法在纸上逐个验算。但每一条都留下了一个可以有限核对的影子:紧致性可以看成「片段越取越长、证人越站越高」;往返法的心脏是「稠密与无端点保证落点存在」;相对主义则是「同一句话在不同解释下取值不同」。本实验只用标准库,把这四个影子跑一遍,让人亲手看见定理的程序化对拍。
实验一:紧致性的有限影子。定义句子 φn 为「论域至少含 n 个元素」。任取有限片段 {φ1, …, φN},取一个恰含 N 个元素的结构即可兑现;而任何势为 m 的模型总在句子 φm+1 上失手。程序逐档打印这两种事实,可以看到:证人越站越高,而封顶永远不出现。
from fractions import Fraction
from itertools import combinations
def at_least(n, m):
"""句子「论域至少含 n 个元素」在势为 m 的模型中真假。"""
return m >= n
# [1] 紧致性的有限影子:φ_n = 「至少 n 元」
for N in (3, 6, 8):
print('片段 {φ_1,…,φ_%d}:用 %d 元模型兑现' % (N, N))
for m in (5, 12, 20): # 任何有限势都撑不住整族
n = m + 1
print('势 %d:句子 φ_%d 为 %s' % (m, n, at_least(n, m)))
# [2] 非标准数的三步配方:c > 0, c > 1, c > 2, …
for N in (2, 5, 9):
c = N + 1
assert all(c > n for n in range(1, N + 1))
print('片段 {c>0,…,c>%d}:取 c = %d 全部为真' % (N, c))
# [3] DLO 往返法:稠密 + 无端点 ⟹ 落点总存在
S = [Fraction(0), Fraction(1, 2), Fraction(1), Fraction(3, 2)]
for x, y in combinations(S, 2):
lo, hi = min(x, y), max(x, y)
assert lo < (lo + hi) / 2 < hi
print('S 的 %d 对元素:每对之间都能找到第三点' % len(list(combinations(S, 2))))
# [4] 同一句话、两个模型:σ = 「< 是传递的」
dom = list(range(6))
trans = lambda R: all((not R(x, y)) or (not R(y, z)) or R(x, z)
for x in dom for y in dom for z in dom)
print('通常序:σ =', trans(lambda x, y: x < y))
print('循环后继:σ =', trans(lambda x, y: (x + 1) % 6 == y))
实验二:非标准数的三步配方。把 §2.3 的配方写成函数:片段 {c > 0, …, c > N} 把 c 解释成 N + 1 即全部为真;而对每个标准数 m,总能挑出一句 c > n 让它失手。两行输出合起来,正是「有限可满足、标准世界却无模型」的机器版证词。
实验三:DLO 往返法的落点检查。用 fractions.Fraction 精确表示有理数:任取两点 a < b,中点 (a + b) / 2 必严格介于其间(稠密),任何有限点集之外总能取到更大的点(无端点)。程序对全部两两组合逐一核对,六对全中——这正是往返法里「落点永远存在」那句断言的有限影子。
实验四:同一句话、两个模型。取语言 {<} 在同一个六元论域上的两种解释:通常序与循环后继。句子「< 是传递的」在前者取真、在后者取假(0 < 1 且 1 < 2,却无 0 < 2)。这一组输出最直白地兑现了本章思想卡:符号本身没有真假,真假属于解释。
运行结果(节选)。「有限片段 {φ1, …, φ8}:用 8 元模型兑现」;「势 20 的模型:句子 φ21 为 False → 失手」;「标准数 (m, n) = (0, 1) 处失手」;「S 的 6 对元素逐一检查(6/6)」;「通常序:σ = True,循环后继:σ = False」。完整输出存于 qa/exp_mt_c2_out.txt,脚本为 qa/exp_mt_c2.py。
实验报告要求。① 贴出四组对拍的输出行,逐条注明它对应哪一条定理;② 把实验一的家族从 φ1 扩到 φ40,观察「最大的能兑现片段」如何随势增长而永不封顶;③ 实验四里把循环后继改成「相差 2 的模 6 关系」,重跑并说明传递性是否回来;④ 写一句结论:四组输出中哪一组最直接地对应「真理是相对于模型的」。
希腊一脉:从公设到定理的自上而下。欧几里得《几何原本》(约公元前 300 年)开篇摆出五条公设与五条公理,此后四百余个命题皆由它们推出——这是人类第一次把一整门知识编成「公理—定理」的链条。亚里士多德《后分析篇》更把这种编法提炼为方法论:一门科学要有第一原理(定义与公理),推理靠三段论。此后两千年,西方数学的抱负就是「把一切推到公理」:牛顿的《自然哲学的数学原理》(1687)以「公理或运动定律」立篇,斯宾诺莎的《伦理学》(1677)用「公理—命题—证明」写哲学。公理观的内核是:真理自上而下传递,越靠近公理越无疑。可这套理想的命门恰在此处——平行公设两千年证不出来。真正解开僵局的是模型:19 世纪罗巴切夫斯基(1829)与鲍耶各自造出「过直线外一点有两条平行线」的世界,Poincaré 圆盘再给它一个干净的模型(§2.17)。要判决一条公理,得先造一个世界;这一步把「自上而下」翻成了「以内验外」。
中国一脉:从问题到方法的自下而上。《九章算术》(约成书于公元 1 世纪,汉代)不设公理,全书以「问—答—术」为体,二百四十六题分九章,每题给出算法;「术曰」之后是操作步骤,照着算即可。刘徽《九章算术注》(263 年)为「术」补上道理,留下「析理以辞,解体用图」的名言;他用割圆术从圆内接正多边形逼近圆,正一百九十二边形得圆周率约 3.14,正三千零七十二边形得 3.1416。这套传统的长处在「可执行」:给出方法就给出结果,无需先备齐公理。与公理派相比,它是构造与逼近的传统——真理可以从一次次具体构造里长出来。同期的《墨经》另有定义与论证的火花:《经上》「圜,一中同长也」,把圆定义为「到一个中心等距的点的全体」,与欧几里得的定义遥相呼应;名家惠施说「至大无外,谓之大一;至小无内,谓之小一」(见《庄子·天下》),已把「大得没有边缘」与「小得没有内部」当作可谈论的对象。
两脉汇于模型。公理派问的是「这套公理能推出什么」,构造派问的是「这个对象怎么造出来」;模型论恰好把两问合成一问:要判断一条句子是否被公理推出,就去造一个模型,看看它是否在那里失败。本章的紧致性、Löwenheim–Skolem、相对一致性,全是「造世界以判公理」的工具;而 §2.13 的不可有限公理化,则是「刻画要有限、真理要无限」两股力量正面相撞的地方。回看惠施那句话:「至大无外」与「至小无内」,在 *ℝ 里各有一个正经名字——无穷大 Ω 与无穷小 ε。公理观有东西方两条来路,模型论把它们拧成一股绳:公理负责提问,模型负责回答,而答案永远是「相对于某个世界」的。
| 条目 | 内容 | 出处 |
|---|---|---|
| 有限可满足 | 每个有限子集都有模型 | §2.1 |
| 紧致性定理 | 有限可满足 ⟺ 可满足(Gödel 1930) | §2.2 |
| 模型存在引理 | 一致理论必有模型(Henkin 1949) | §2.2 |
| L-S 下降 | 必有可数模型;|ℳ| ≤ max(|L|, ℵ0) | §2.5 |
| Skolem 悖论 | 可数模型内部证明「存在不可数集」 | §2.6 |
| L-S 上升 | 有势恰为 κ ≥ max(λ, ℵ0) 的模型 | §2.7 |
| 大小谱 | 尾段全满:只设下界、不设上界 | §2.7 |
| 初等等价 ≡ | 满足同一套句子 | §2.8 |
| 初等扩张 ≺ | 带参公式在子模型内同真同假 | §2.8 |
| Tarski–Vaught | 存在句见证不出围墙 ⟹ ≺ | §2.9 |
| 初等链 | ⋃n 𝒜n 是每一环的初等扩张 | §2.9 |
| Vaught 计数 | I(T, ℵ0) ≤ ℵ0 或 2ℵ0,且 ≠ 2 | §2.10 |
| 范畴性 / Morley | 一档不可数范畴 ⟹ 全不可数范畴 | §2.11 |
| 有限模型论落差 | 紧致性在有限结构失效;EF 博弈补位 | §2.12 |
| 不可有限公理化 | 良序 · 有限域 · 无挠群 | §2.13 |
| 非标准算术 | 序型 ω + ℤ · η | §2.14 |
| 超实数 *ℝ | 无穷小与无穷大 + 转移原理 | §2.4 / §2.15 |
| DLO | 完备、ℵ0-范畴,唯一可数模型 (ℚ, <) | §2.16 |
| 相对一致性 | 造反例模型以判独立性(Poincaré 圆盘) | §2.17 |
三张模型卡(必背标本)。① 超实数 *ℝ:含无穷小 ε 与无穷大 Ω,一阶句子与原 ℝ 同真同假,转移原理把标准定理原样搬运(§2.4、§2.15)。② (ℚ, <) ≺ (ℝ, <):初等扩张而不同构,「同一形状、不同大小」的最小见证(§2.8、§2.16)。③ 非标准算术 𝒩*:含 c > 0, 1, 2, …,序型 ω + ℤ · η,满足全部标准算术又拖一条非标准尾巴(§2.14)。
易错三坑。① 把「有限可满足」直接当成「可满足」——中间隔着紧致性,且在只准有限结构的世界里跨不过去(§2.12);② 用下降定理时忘了它的两个前提——语言可数、结论只说「存在可数模型」,并不排除模型本身很大,一般式是 |ℳ| ≤ max(|L|, ℵ0);③ 在 Skolem 悖论里把「内部不可数、外部可数」当成矛盾——真正要分清的是量词的作用域(§2.6),「势」从来不是绝对性质。
下一步。本章工具箱至此封口,行囊里应有五件:紧致性、Löwenheim–Skolem(升降两半)、≡ 与 ≺、Tarski–Vaught 与初等链、势的谱与范畴性。第三章把欧氏、仿射、射影、罗巴切夫斯基、球面五种几何的公理系统与各自的模型地形并排摆开,用本章的相对一致性技术逐个判决平行公设的独立性——紧致性、L-S、相对一致性三件工具会在那里再次出场。
绪论与第一章立下了模型论的语言(结构、满足、可定义集),第二章用紧致性与 Löwenheim–Skolem 造出了反直觉的模型。本章回到模型论诞生的现场——几何。十九世纪的几何基础之争逼出了整个模型论:非欧几何若真有模型,平行公设的独立性便有了铁证。本章把五种几何的公理系统与它们的模型并排摆开,逐一核对公理、逐一指认模型。
「五种几何」指射影几何、仿射几何、欧氏几何、罗巴切夫斯基几何(双曲)与球面几何。它们不是五门互不相干的学问,而是一层层「忘掉」或「回」某些结构的同一门学问:射影最松(只问点与线的关联),仿射加上平行,欧氏再加上距离与角度,双曲只把欧氏的一条平行公理换成它的反面,球面则在正曲率的曲面上重建度量。五套公理就是五片世界的宪法,而模型就是这些宪法所治理的疆域。
本章的四级阶梯。第一阶(§3.1):公理系统的三个元数学问题——一致性、独立性与完备性;核心武器是「用模型证相对一致性」。第二阶(§3.2–§3.4):欧氏几何,希尔伯特五组公理逐条列全,坐标平面作为它的模型,直到 Tarski 把它彻底一阶化为一门完备且可判定的理论。第三阶(§3.5–§3.9):忘掉距离得仿射几何,回无穷远点得射影几何,并看到 Desargues 定理如何对应结合的除法环、Pappus 定理如何对应交换域。第四阶(§3.10–§3.17):把平行公理换成罗巴切夫斯基公理,用 Klein 盘、Poincaré 盘、伪球面三副面孔把双曲几何的模型全部摆出,再收在球面几何与五几何对照表上。
读本章只需三件行李:向量与坐标的基本操作、域与序的基本事实、一点「画图—验证」的耐心。行李不全时可回看第一章末页的预习提示;行李齐备时,记住本章反复兑现的一句话:一个公理系统描述的不是一片世界,而是许多片;哪些定理在所有世界都真,才配称这个系统的真容。
★★ 在把五种几何摆开之前,先立定三把尺子。一个公理系统一旦写成,元数学立刻追问三件事:它自相矛盾吗(一致性)?它的每条公理都省不掉吗(独立性)?它能判定每一个命题吗(完备性)?模型是回答这三问的通用仪器。
模型如何替公理背书。三条推理线全用「造模型」这一招。要证 T 相对一致,就给 T 造一个模型(由更可信的理论提供);要证 A 独立,就造两个模型:一个满足 T、一个满足 T − A 加 ¬A;要证 T 完备,等价于证明任意两个模型初等等价(𝒜 ≡ ℬ,第四章将用「量词消去」实现)。十九世纪几何家手里没有「初等等价」这个词,却把这三招用到了极致——尤其是第二招,罗巴切夫斯基与 Beltrami 用它把平行公设钉成了「独立」。
理由。设 ℳ ⊨ T1。按解释把 T2 的符号逐一读作 ℳ 中已定义的物件,得到 ℳ 的一个「影子结构」 ℳ+;T2 的每条公理在解释下变成 T1 的定理,故在 ℳ 中为真,于是 ℳ+ ⊨ T2。矛盾永不出现,因为一旦 T2 矛盾,T1 的模型也会矛盾。∎
三把尺子里,本章用得最多的是独立性。因为它正是当年几何家们最想弄清的事:平行公设(欧几里得第五公设)究竟是其余公理的推论,还是一条可有可无的独立补丁?答案要等把双曲几何的模型真正造出(§3.11–§3.13),才能一锤定音。
★★★ 欧几里得《原本》的公理体系沿用了两千二百年,却始终藏着一个漏洞:它默认了「点、线、之间」这些词的含义靠直觉领会,从未写清。希尔伯特 1899 年的《几何基础》(Grundlagen der Geometrie)把这个漏洞补上:把「点、直线、平面、在……上、在……之间、合同」全部当作未定义词,只用公理约束它们的行为。本页逐组列全。
关于「五组二十条」。今日通行的编号下,五组共 3 + 4 + 6 + 1 + 2 = 16 条子句;1899 年初版把若干条目拆得更细,文献每以「五组二十条」概括这套体系。差异只在拆并,不在内容——本书按通行编号逐条列全。
本页的意义不止于「列清单」。希尔伯特把「未定义词 + 公理」这套写法带进几何之后,几何的对象不再是特定的点线图形,而是一切满足公理的结构——这正是模型论的语法。下一节就给这套公理配上它的标准模型。
★★★ 有了公理,接下来要问:谁满足它?最熟悉的一张答卷是坐标平面 ℝ2。本页把它摆上台,说明为什么 ℝ2 是一个模型,以及在什么意义上它还是「唯一的」模型。
要点。I1、I2 由「过两点的一次方程存在唯一」保证;II3 由 ℝ 的序是稠密线性序保证;III6(SAS)由余弦定理保证;IV 由「两不平行直线恰交一点、过点作平行线唯一」保证;V1(阿基米德)由 ℝ 的阿基米德性保证;V2 由 ℝ 的完备性(戴德金分割)保证。∎
把「ℝ」换成别的域会怎样?这是模型论式的追问:公理里只用到「点的坐标在某个有序域中」,并没有点名 ℝ。若取一个更小的域 F,坐标平面 F2 照样能验证前四组公理——只要 F 是有序毕达哥拉斯域(正元有平方根、两平方和仍是平方,保证垂线可作、长度可算)。例如全体实代数数构成的域 ℝalg 就是一个可数的有序毕达哥拉斯域:ℝalg2 满足 I–IV 与 V1,却不满足 V2(它不是完备的)。
希尔伯特的反向一笔。更妙的是他如何得到这个坐标域:不预设数,而是用几何定义运算。在一条固定的直线上取两个定点作「0」与「1」,用平行投影定义线段的加法与乘法(图 3-3、图 3-4),便能证明这些运算满足域公理、构成一个有序域,而点的坐标正是这个域的元素。几何公理长出代数,代数又反过来为几何提供模型——这条双向车道是模型论最早的范例。
一句话收束本页:ℝ2 是欧氏几何的一个模型;而由公理反推坐标域,则说明满足 I–IV 的模型有整整一族(各不相同的有序毕达哥拉斯域上的平面),直到 V2 才把这族收拢成一个。模型的多寡,正是公理强弱的量尺。
★★★★ 希尔伯特的公理是「数学语言」写的:它谈线段、三角形、点集,还用到二阶的完备性。Tarski 在 1926–1930 年代做了一件更彻底的事:把欧氏几何压进一阶逻辑——只用「点」一种对象,只留两个关系符号,写成有限条公理加一个公理模式。这门理论叫初等欧氏几何 EG。
连续性的公理模式(一阶完备性)是:对任意一阶公式 φ(x),若它非空的且可被某条线段的长界住,则上确界存在。它把希尔伯特的二阶完备性「一阶化」——这是 EG 能写成有限符号集的关键,也是它可判定的前提。
在实闭域上解释。EG 的标准模型是实闭域(RCF,§4 将展开)上的平面 ℝ2:取 β(x,y,z) 为「y 是 x 与 z 的仿射组合且系数介于 0、1 之间」,取 xy ≡ zw 为平方距离相等 (xx − yx)2 + (x_y − y_y)2 = (...)。这些条件都是 RCF 里的一阶可定义关系,于是 EG 的公理在 ℝ2 中逐条为真。
这就是几何与一阶逻辑的接口:希尔伯特让几何有了公理,Tarski 让这些公理能被机器逐字审读。完备性说 EG 的模型之间没有一阶可分辨的差别;可判定性说这门几何的每个是非问题都有机械答案。五点几何中,唯有欧氏几何(以及其上展开的实闭域理论)拿到了这对性质——对照表(§3.17)会把这一栏填满。
预告:Tarski 的判定机器(量词消去)是第四章的主角。本章只需记住两条结论——EG 完备、可判定——以及它们的位置:它们是「模型论替几何背书」这条主线上最锋利的一件成品。
★★ 从欧氏几何往回退一步:若把合同公理第三组整个抽掉,只留关联、顺序与平行,剩下的世界长什么样?得到的是一门更松的几何——仿射几何。它的动词只有一个:平行投影。
一个动作看清一切:剪切。把正方形沿水平方向拉伸或推斜,得到的是平行四边形。在这个过程中:平行保持(原来的两对平行边还是两对平行边)、共线保持、中点保持;但角度不保持(直角变钝角或锐角)、长度不保持、面积改变(但「两个图形面积之比」保持)。所以「是平行四边形」是仿射性质,「是矩形」「是正方形」不是仿射性质。
x ↦ A x + b,
其中 A 是可逆的 n × n 矩阵(线性部分),b 是平移向量。全体仿射变换构成群 AGL(n, k) ≅ kn ⋊ GL(n, k)——平移群被线性群拧着,像半直积的花卷。仿射几何与欧氏的关系:理论扩张的方向。欧氏几何 ⊃ 仿射几何,是「忘掉结构」的方向:欧氏的定理集里,凡只用关联与平行的那些,就自动成为仿射几何的定理;而「三角形内角和为 π」「相似三角形对应边成比例」这类用到了角的命题,则在仿射世界里失去了意义。反过来,欧氏几何是仿射几何的一个扩张:在仿射结构上再加一个「距离」或「合同」的原始概念,便回到欧氏。这种「加一层结构 = 扩张理论,忘一层结构 = 约化理论」的图景,本章会反复出现。
本页的收获可以凝成一句话:仿射几何 = 欧氏几何减去度量。而下一个动作更激进——连「平行」也要推翻,让所有直线都相交。那就是射影几何(§3.7)。
★★★ 仿射几何自己的公理系统长什么样、它的模型又是谁?本页两面作答:公理靠「关联 + 平行 + Desargues」,模型则是任意域上的仿射空间。
域上的仿射空间:模型正式登场。取一个域 k(如实数域 ℝ、有理数域 ℚ、有限域 𝔽q),令 𝔸n(k) = kn:点就是 n 元数组,直线是一维仿射子空间,即一切形如
a + t v (a, v ∈ kn, v ≠ 0, t ∈ k)
的点集。两条直线平行 ⟺ 它们的方向向量线性相关。这就是仿射平面/空间的标准模型。取 k = 𝔽2、n = 2,得到只有 4 个点的最小仿射平面(六个线对分三组平行线);取 n = 3,得「3×3 方点阵」的 9 点仿射平面——第一章实验三里的那个。与射影的关系先埋一句。仿射空间缺的正是「无穷远」那一层;把每个方向补上一个无穷远点,仿射平面就升格为射影平面(下节)。于是「随便一个域 k」给出的模型族,将在射影世界里以 PG(2, k) 的面貌再次出现——而 k 是域还是更一般的除环,恰好对应 Desargues 与 Pappus 两道门(§3.8)。
把这一节与上一节并读:公理说「满足这些条件的结构是什么」,模型说「这些条件确实有谁满足」。Desargues 公理和域坐标是同一枚硬币的两面——这枚硬币在射影平面里会看得更清楚。
★★★ 仿射几何有一条不体面的差别对待:平行的两条直线「不相交」,其余的都相交。射影几何做的事,是给每条方向补上一个「无穷远点」,让这个例外消失——从此任意两条直线必交于一点。
三条性质一句话讲清。① 任两点定一线:两个射影点张成唯一的二维子空间。② 任两线交于一点:两个不同的二维子空间交于一维子空间(线性的「维数公式」逼出来的)。③ 非退化:存在四点、无三点共线。这三条恰好是一组极简的射影平面公理(§3.8)。
证明要点。仿射直线是 PG(2,k) 中不过 H 上那个点的直线;方向相同 ⟺ 方向向量线性相关 ⟺ 与 H 的交点重合。∎
为什么值得这样做?因为射影平面上没有「平行」这个例外,许多命题变得更整齐:每一个关于点线关联的陈述,把「点」与「线」互换后仍然成立(对偶原理)。仿射平面里「过一点的诸直线」与「一条线上诸点」不对称;射影平面里它们完全对称。射影几何因而成为最「少例外」的那门几何——也正因如此,它的公理最弱,而模型最富(§3.9 将看到它甚至容得下不满足 Desargues 的病态平面)。
射影几何的好处是「整齐」,代价是丢掉了「介于」与「平行」(长距离、方向都成了相对概念)。这门取舍换来的回报是:射影平面把五种几何串成了一条链——双曲几何的 Klein 模型(§3.11)正是坐在射影盘里的。
★★★★ 射影平面可以完全脱离向量空间来公理化。公理一旦只谈点线关联,就冒出一个尖锐的问题:这些关联公理能否推出 Desargues 定理与 Pappus 定理?答案是否定的——而「否定的程度」恰好由坐标结构(除环 / 域)刻画。
解读。Desargues 对应「结合的除法环」,即坐标的乘法满足结合律;Pappus 再进一步,逼出乘法交换(由 Pappus 可推出 Desargues)。于是「纯关联的几何命题」被翻译成了「坐标环的代数公理」——这是模型论最漂亮的一类翻译:几何公理 ↔ 代数结构。
标准模型 PG(2, k)。取交换域 k,PG(2, k) 是点线数相等的「对称」结构:点、线个数都是 q2 + q + 1(q = |k|),每条线含 q + 1 个点,每点的线数也是 q + 1。这正是第一章的射影平面:PG(2, 𝔽2) 是 Fano 平面 (7,7,3,3,1),PG(2, 𝔽3) 是 (13,13,4,4,1) 的 Witt 型设计。反过来,任何 λ = 1 的对称设计都是一张射影平面——第一章与第三章在此接上。
这条对应:关联公理 → 除环坐标(Desargues)→ 交换域坐标(Pappus)。它是「几何的公理强度 ↔ 代数的结构强度」的第一份精确词典,第五章讲稳定性时还会以另一种面貌重逢。
★★★★ §3.8 说得干脆:Desargues 对应除环坐标。那么能不能造一个射影平面,它满足关联公理 P1–P3,却不满足 Desargues?若能,就证明了 Desargues 不是关联公理的推论——这是独立性问题的又一个漂亮战例。
造法一:自由射影平面。从「四点无三点共线」(一个四边形)出发,反复执行两条填空规则:(i) 若两点还没被一条线连着,就补上这条线;(ii) 若两线还没交于一点,就补上这个交点。每一步都只补充「公理强制存在」的对象,绝不额外添加巧合(不把三点凑成共线)。这条无休止的填空程序生出一张无限射影平面,称为自由射影平面。其关键性质是:除了被规则强制的关联,它不承认任何多余的关联——于是在其中挑出 Desargues 构形所需的十个点后,那三条本应共线的边交点可以刻意摆成不共线。Desargues 在此落空,而 P1–P3 全部为真。
最小规模与边界。阶数(每条线上的点数减一)小于 9 的射影平面全部是 Desargues 的;阶 9 是第一批非 Desargues 平面出现的地方(共有若干张互不同构的 9 阶平面)。这解释了为什么第二章 §2.10 要把 Singer 循环差集归入「Desargues 型」——循环单传递是一种极强的一致性,它把结构锁得足够死,Desargues 想不成立都难。
方法论小结。证明「公理 A 不推出命题 φ」的通用路子,是构造一个满足 A 而 ¬φ 的模型。自由平面是这一招的极限版本:它把「只保留公理强制的东西」推到极致。当年几何家正是用同类手法,把平行公设钉成独立的——只不过那需要一个更庞大的模型:一整个双曲平面。
★★★ 两千年来,几何家一直想做成一件事:从欧氏其余公理推出第五公设(平行公设)。萨凯里(Girolamo Saccheri,1733)走的正是反证之路——先假设平行公设的反面,再看能否逼出矛盾。他一连推出了许多「怪异的」定理:三角形内角和小于两直角、过一点有无穷多条平行线。这些结论本身并不可怕,可怕的是它们彼此之间并不矛盾。萨凯里以为是自己没把反证做完,真相却是:反面根本没有矛盾可推。
这段替换的历史并不平顺。罗巴切夫斯基(N. I. Lobachevsky)1829 年在喀山发表了这套几何,鲍耶·亚诺什(J. Bolyai)1832 年独立得到同样的结论,高斯则私下承认自己早已确信此事、却始终未曾公开——与「多数人认定的显然之真」决裂,代价太高。三人先后走到同一扇门前,说明这扇门不是巧合,而是逻辑把不肯将就的人一步步逼到那里的。
三条之中,前两条把分岔摆到了明处:欧氏几何里内角和恒为 π、处处是矩形,双曲几何里内角和恒小于 π、一个矩形也找不出。第三条最颠覆:在欧氏平面上随手可做的「按比例放大」,到双曲平面上失效了——形状决定大小。这条性质后来成了狭义相对论速度合成、地图投影与网络几何的常用语言,双曲平面正是「指数膨胀」最自然的底布。
但「推不出矛盾」远不等于「真的没有矛盾」。要证明双曲几何不自相冲突,唯一可靠的路子是造模型:在欧氏空间里找一个具体对象,把「双曲点」「双曲直线」解释成它里面的东西,让每条双曲公理化为一条欧氏定理。这正是接下来三页的任务——一个模型胜过一千次徒劳的反证。
★★★★ 贝尔特拉米 1868 年发现,拼装双曲几何的零件早就藏在射影几何里。这一发现让双曲几何第一次有了「实体」,也让平行公设独立的判决进入倒计时。本页讲最直接的一个模型——Klein 盘(Beltrami–Klein 射影盘)。
它为什么行得通。把开圆盘看成射影平面(§3.7)的一块:圆盘 = 射影平面去掉一条无穷远线,而「弦」正是射影直线落在盘内的部分。于是「任两点定一线」自动成立(射影直线必与盘相交),「过线外一点有无穷多条不相交的弦」也自动成立——双曲的关联公理由射影的关联公理继承而来。关键的一步是距离:Klein 盘上的双曲距离要靠交比定义。
d(A, B) = 12 | ln AP · BQAQ · BP | ,
其中 AP 等指欧氏弦长。这个 d 使每条双曲公理在盘内为真,且曲率恒为 −1。为什么对。该式只依赖四点的交比 (A, B; P, Q),而交比在射影变换下不变——于是凡是把盘映到盘、把边界映到边界的射影变换(即双曲等距),都自动保持 d。当 A 趋向边界点 P 时 d 发散,故边界即「无穷远」。∎(要点版)
这个模型的脾气。Klein 盘的优点是直线真的直,它就是欧氏直线段,关联与平行一眼可见;缺点是不保角——两条双曲直线在盘内的欧氏夹角并不等于双曲夹角,图形越靠边界越被压扁。想直接在盘上读角,就得换到下一页的 Poincaré 盘。
Klein 盘道出一件深刻的事:双曲平面可以被射影平面「解释」。只要射影几何一致,双曲几何就一致。更干净的「一致性担保」在下一页的 Poincaré 模型里,因为那里连角都是现成的。
★★★★ 换一副眼镜,双曲平面就露出温和的一面。Poincaré 在 1882 年前后给出两个模型,它们都保角——双曲角度与欧氏角度肉眼一致。更重要的一层:这两个模型把「双曲几何相对欧氏几何一致」证得像算式一样干脆。
d(z, w) = 2 · artanh |z − w||1 − z w̄| ,
其中 z, w 视为复数。半平面模型是它的「平移版」:取上半平面 ℍ = {z : Im z > 0},直线取垂直于实轴的半圆或竖直线,距离为d(z, w) = arcosh ( 1 + |z − w|22 Im z · Im w ) 。
为什么保角这么要紧。保角意味着「直角」「角平分线」「等角三角形」在模型里一目了然,画图验证不必换算。它也揭出双曲几何与复分析的血缘:上半平面上的分式线性变换 z ↦ (az + b)/(cz + d)(a, b, c, d ∈ ℝ, ad − bc > 0)正是双曲等距群,它们的作用把双曲几何、模形式与椭圆函数连成一气。
一致性,还是相对一致性?要把这点说清:Poincaré 模型证明的是「若欧氏几何一致,则双曲几何一致」——一种相对担保。它把双曲几何的担子卸给欧氏几何,欧氏几何的担子又卸给实数算术;整条链的尽头是算术的一致性,那正是希尔伯特 1900 年第二问题追问、哥德尔 1931 年证明「无法在算术内部自证」的那个对手。
★★★★ 前面两个模型都住在「平面」里,靠人为定义的度量。有没有一种双曲平面,其度量是与生俱来的——像球面之于球面几何那样?贝尔特拉米 1868 年找到了第一件:伪球面。而更完整、更趁手的整体模型,是闵可夫斯基空间中的双曲面。
ℍ2 = { (x, y, t) : t > 0, t2 − x2 − y2 = R2 } 。
它是双叶双曲面的一叶。把闵可夫斯基度规限制到 ℍ2 上,所得黎曼度量正是曲率 −1 的双曲度量——整体嵌入,无奇点。这就是狭义相对论里的「双曲面模型」。四个模型的关系一图理清。Klein 盘(§3.11)是双曲面在射影下的「影子」,Poincaré 盘(§3.12)是它经球极投影到圆盘的结果,伪球面是它被剪下一块、压进欧氏三维空间的样子,双曲面则是它本来的完整面貌。四者描述的是同一个双曲平面,只是站在不同的观看位置。
这三页合起来完成了本章最关键的一次交付:双曲几何有了模型,所以它一致(相对欧氏);又因为它与欧氏共享前四组公理、只在平行公理上相反,所以平行公理是独立的。两千年的公案就此判决,判决书由模型书写。下一页先把「模型替公理背书」这件事本身总结清楚。
★★★ 最后一种几何住在曲面上,而且是最熟悉的那张曲面——球面。它把「直线」解释为大圆,于是三角形的内角和大于 π;它是正曲率的镜像,与双曲的负曲率遥相呼应。
A + B + C = π + SR2 即 S = R2(A + B + C − π) 。
这就是 Girard 定理:内角和的盈量(与 π 之差)乘上 R2 恰是面积。R 越大,同样角盈对应的面积越大。取赤道八分体三角形,三个角都是 π/2,盈量 π/2,面积 4πR2/8 = πR2/2。相对一致性又一例。球面几何的一致性同样由模型担保:球面 S2 就嵌在欧氏空间 ℝ3 里,其全部结构与度量都由欧氏几何给出。于是「球面几何相对欧氏几何一致」与「双曲几何相对欧氏几何一致」用同一套模型论证完成——这正是下一页要总结的「模型替几何背书」。到此,五种几何的公理与模型都摆齐了,剩下的是把它们并排铺好,看清模型如何背书一致性、如何判决独立性。
★★★★ 双曲几何有了 Poincaré 盘,就再也不怕「自相矛盾」的指控了。但模型的作用不止于此——它把「一致性」这个元数学概念,变成一次可以逐条核对的翻译。本页把前三页用过的招法升格为一条一般协议,并让它沿一条链条一路传下去。
理由。取 T1 的任一模型 ℳ,按翻译规则读出 T2 的符号,得到 ℳ 上的一个「影子结构」 ℳ+。翻译把 T2 的公理变成 T1 的定理,故这些公理在 ℳ 中为真,于是 ℳ+ ⊨ T2。T2 若矛盾,其否定式便处处为真,而它已在 ℳ+ 中为假——矛盾反噬,说明 T1 也不一致。∎
这条链能做什么、不能做什么。它能做的是「搬卸」:把一门几何的一致性,搬到另一门更可信的理论上去,从而只要信任链的另一端,就能安心使用这一端。它不能做的是「自证」:链条再长,总得有一个不靠解释、直接认下的起点。希尔伯特 1900 年的第二问题正是要算术自己证明自己的一致,而哥德尔 1931 年证明这做不到。模型论把一致性变成了互助,却改不了「无人能自证清白」这条铁律。
另有一点值得点透:相对解释是一把双刃的尺子。它既能为几何背书(双曲相对欧氏一致),也能替几何翻案(造出反例模型从而判决独立性)。下一页就用它办一件两千年的旧案。
★★★★ 悬念已经积了整章:平行公设究竟是其余公理的推论,还是一条独立的补丁?§3.1 说过,独立性要的证据是两个模型——一个让它为真,一个让它为假,而其余公理在两个模型里都成立。现在两件证据都已备齐,本页开庭宣判。
证明。造两个模型。(i) 真模型:坐标平面 ℝ2(§3.3)满足 T0,且过直线外一点恰有一条平行线,故 ℝ2 ⊨ T0 + IV。(ii) 反模型:Poincaré 圆盘(§3.12)满足 T0,且过直线外一点有无穷多条不相交直线,故 D ⊨ T0 + ¬IV。若 IV 是 T0 的推论,则凡满足 T0 者必满足 IV,圆盘将被排除——与 (ii) 矛盾。故 IV 独立。∎
这个证明的形状值得反复端详:它全程没有做一次「从公理推导」的苦工,只做了两次「检查模型」的点验。判平行公设的生死,不需要从欧几里得推导到罗巴切夫斯基,只需要造出圆盘、量一量平行线的条数。模型论把「独立性」这类元数学难题,压缩成了「找到一张满足条件又违反结论的对照表」。
与 §3.9 是同一招。判 Desargues 独立于射影关联公理,用的是自由射影平面与 Moulton 平面;判平行公设独立于其余几何公理,用的是 Poincaré 盘与欧氏平面。两次判决、同一手法:要证明 A 不推出 φ,就造一个满足 A 而违反 φ 的模型。这也是第五章讲范畴性、第六章讲连续统假设独立性时反复调用的同一条原理。
页末补一句精确的边界:本定理判的是「平行公设相对其余欧氏公理独立」。它并不回答「双曲几何本身是否绝对一致」——那仍要靠 §3.15 的传递链,最终停在算术的界碑前。独立性与一致性是两把尺子,模型同时是它们的工尺。
★★★ 五片世界已经走遍。本页把它们压进一张对照表:每门几何的签名(用什么原始概念)、公理要点、标准模型,以及它在元数学上的命运(可判定?完备?)。这张表是本章的结算单,也是第四章判定机器的出发点。
| 几何 | 签名(原始概念) | 公理要点 | 标准模型 | 元数学性质 |
|---|---|---|---|---|
| 射影 | 点、线、在……上 | 任两点定一线;任两线交一点;非退化 | PG(2, k),k 为除环 / 域 | 公理最弱、模型最富;含非 Desargues 平面 |
| 仿射 | 点、线、在……上、平行 | 关联 + 平行 + Desargues | 𝔸n(k)=kn | 可坐标化 ⟺ Desargues;域交换 ⟺ Pappus |
| 欧氏 | 点、线、介于、合同 | 希尔伯特五组(含平行 IV) | ℝ2;一般地实闭域上的平面 | 一阶理论 EG 完备且可判定(Tarski) |
| 双曲 | 同上,仅换平行公理 | IV 换成「过点至少两条平行线」 | Klein 盘 / Poincaré 盘 / 双曲面 | 相对欧氏一致;可解释,故亦可判定 |
| 球面 | 点、大圆、球面角 | 两点不总定一线;两线交于两点 | 单位球面 S2 | 椭圆几何的双重覆叠;内嵌于 ℝ3 |
读表三要点。其一,结构越厚、模型越窄:射影公理最弱却能容下病态的非 Desargues 平面,欧氏公理最强、模型族被连续性与实闭性收拢到 ℝ2 一族。其二,元数学命运各异:只有能被一阶翻译进实闭域的理论(欧氏 EG、双曲几何)继承完备性与可判定性;射影平面的关联公理太弱,「是否存在非 Desargues 平面」这类存在性命题超出简单的一阶判定。其三,一致性的担子层层传递:双曲、球面都借欧氏背书,欧氏借实数算术背书——一座由模型搭起的桥,桥墩扎在算术里。
这张表还留了一个接口给第四章:Tarski 判定机器要消去的,正是欧氏这一行里那些带量词的公式。下一章的机器开动时,可以看到这一行的「完备且可判定」是怎么被造出来的。
题 3-1(用 EG 语言写「介于」)。在 Tarski 的语言 L = {β, ≡} 中(§3.4),写出「z 落在以 x, y 为端点的线段上」的一阶公式,并说明它在 ℝ2 中的真假。
解。线段含端点,故公式为 β(x, z, y) ∨ β(z, x, y) ∨ β(z, y, x) ∨ z = x ∨ z = y。前三个析取项覆盖 z 严格介于的情形(z 在 x 与 y 之间,或 x, y 分别与 z 之间),后两项补上端点。在 ℝ2 中,把 β 读作「仿射组合系数落在 [0,1]」,该公式恰刻画闭线段。要点:「线段」「共线」这些词不是原始词,而是用 β 与 ≡ 一阶可定义的。
题 3-2(可定义集:有序域上的区间)。在结构 𝒜 = (ℝ, +, ·, <, 0, 1)(即实闭域 RCF)中,用无量词公式定义开区间 (0, 1) 与闭区间 [0, 1]。
解。开区间:φ(x) ≡ (0 < x) ∧ (x < 1);闭区间:φ(x) ≡ (0 ≤ x) ∧ (x ≤ 1),其中 u ≤ v 是 (u < v) ∨ (u = v) 的缩写。两者都是无量词(甚至无变量)公式,正是量词消去(§4)期望把一切公式化归的目标形态。可定义集的用处:一个几何/代数对象能被语言「指认」为子集,才谈得上用模型论去研究它。
解。① 可定义:φ(x) ≡ ∃y(x = y + y)。② 可定义:∃t(x = t + t) ∧ ∃s(y = s + s) 需更精细——正确写法用 ∃u(y = u + u ∧ x = u + u) 刻画 y = 2x。微妙处:(ℤ, +) 的「2」不是常量,须用「两倍」的加法方程表达。③ 不可定义:Presburger 定理指出 (ℤ, +) 的可定义集恰是周期集(半线性集),平方数集增长率非线性、无最终周期,越出可定义范围。
三题合看。题 3-1 演示「几何词汇可被一阶定义」,题 3-2 演示「定义集就是无量词公式的解集」,题 3-3 演示「定义能力有边界」——并非任何集合都能被语言指认。三件事正好对应本章主线的三个层次:语言(写得出)、结构(读得懂)、元数学(划得出边界)。把这页当作一张体检表:拿到一个新的结构,先问它的语言能写出什么,再问它读得出哪些子集,最后问这条边界落在何处——这三问走完,一个结构的脾气也就摸清了。
题 3-4(小仿射平面的公理核对)。取 𝔽2 上的仿射平面 𝔸2(𝔽2):点集 = 𝔽22(共 4 点),线 = 一切形如 {a + tv : t ∈ 𝔽2} 的集合。核对公理 A1–A4,并数出线与平行类。
解。点共 4 个:(0,0), (0,1), (1,0), (1,1)。每条线含 2 点,共 4×3/2 = 6 条线。A1:任两点确定一方向向量 v ≠ 0,唯一确定一条线。A2:过线外一点,作与已知线同方向的线恰有一条。A3:例如 (0,0), (0,1), (1,0) 不共线。A4:每条线含 2 点。平行类:6 条线按方向分 3 组,每组 2 条平行线——方向向量在 𝔽22 中有 3 个非零类。答:4 点、6 线、3 个平行类,是满足公理 A1–A4 的最小仿射平面。
题 3-5(用模型证明独立性)。证明:射影平面的关联公理 P1–P3 不推出「任两直线必交于一点」之外的度量性命题,具体地,证明「每个三角形内角和为 π」不能由仿射公理 A1–A4 推出。
解。造两个模型。(i) 真模型:欧氏平面 ℝ2 满足 A1–A4,且每个三角形内角和为 π。(ii) 反模型:把 𝔸2(𝔽3)(9 点仿射平面)配上「图距」——注意仿射公理根本不提长度与角,故可在其上任意指定「三角形内角和」记法。取一个由三条线围成的三角形,令其「内角和」读作 3π/2(人为约定,因为仿射结构不约束角度)。A1–A4 在此模型全真,而「内角和为 π」为假。故后者不由 A1–A4 推出。要点:仿射公理缺少度量概念,任何依赖度量的命题都无法被它决定——独立性的根源是签名里没有那个原始概念。
解。取盘内一条正交圆弧 l 与线外一点 P。过 P 可作无穷多条与 l 不相交的正交圆弧:它们在边界圆上的两个端点落在 l 端点所夹的区间内,圆盘内两支弧永不相交。故双曲平行公理的「至少两条」在盘中成立,且实为无穷多条。核对:「任两点定一线」由「过盘内两点的正交圆唯一」保证;「直线可无限延长」由弧的两端趋向边界(无穷远)保证。逐条一核,双曲关联公理全部落到欧氏的圆几何定理上——这就是相对解释的兑现。
三题合看。题 3-4 是「造小模型、逐条点验」,题 3-5 是「造反模型、判决独立」,题 3-6 是「给翻译、传递一致」。本章所有元数学结论的证明,形状都不出这三者之外:要么数一个模型,要么摆两个模型,要么建一条翻译链。把这三招练熟,第四章的判定机器与第六章的力迫法都会显得熟悉起来。
习题 3-1(签名辨认)。把下列各几何的原始符号分类为常量、函数符号或关系符号,并说明哪些符号属于「度量」,哪些只属于「关联」:① 射影平面的 I(点在线上);② 仿射平面的 ∥ 与 I;③ 欧氏几何的 β 与 ≡;④ 球面几何的「大圆」谓词。
提示。① 只有一元/二元的关联关系 I,无度量。② 关联 I 与等价关系 ∥,仍无度量。③ β 三元关系(介于)、≡ 四元关系(等距)——后者是唯一的度量符号。④ 「C 是大圆」是一元谓词,但「球面角」要为度量另设符号。要点:签名的薄厚决定理论的强弱,欧氏的签名比射影厚一层。
习题 3-2(写公式)。在 EG 语言 L = {β, ≡} 中,写出「三点 x, y, z 共线」与「z 是线段 xy 的中点」的一阶公式。
提示。共线:β(x,y,z) ∨ β(y,z,x) ∨ β(z,x,y)。中点:β(x,z,y) ∧ xz ≡ zy,其中 xz ≡ zy 是 ≡(x,z,z,y) 的缩写。注意「介于」保证了中点唯一,这正是度量符号发挥作用之处。
习题 3-3(判断满足)。设 𝒜 = (ℚ, <)。判断下列语句在 𝒜 中真假,并给出理由:① ∀x∃y(x < y);② ∃x∀y(x ≤ y);③ ∀x∀y(x < y → ∃z(x < z ∧ z < y))。
提示。① 真——无最大元。② 假——无最小元(ℚ 无端点)。③ 真——稠密性。三句都是稠密线性序的定义性语句,𝒜 与 (ℝ, <) 对它们给出相同的真假,这正是二者初等等价的初兆(§4)。
习题 3-4(可定义集的布尔组合)。在 (ℚ, <) 中,用一阶公式定义集合 {x : 0 < x < 1} 与 {x : x < 0 ∨ x > 1},并说明为什么这两个集合之间无法只用序关系区分「1/2 与 2 谁更靠中间」。
提示。取常量 0, 1(或把它们写成可定义的临界点),前者为 0 < x ∧ x < 1,后者为 x < 0 ∨ 1 < x。稠密线性序的量词消去(§4)表明:可定义集恰是有限个区间的布尔组合,「更靠中间」不是序语言的表达项。要点:可定义集的范围由语言限死,换语言才能换视野。
习题 3-5(同构保真)。设 f : 𝒜 → ℬ 是结构同构。证明:对任意语句 φ 有 𝒜 ⊨ φ ⟺ ℬ ⊨ φ。
提示。对公式的复杂度做归纳(§1 的满足定义):原子公式由同构保关系与函数而保;布尔联结词逐项传递;量词步用 f 的双射性把见证来回搬运。结论:同构是语句真假的不变量——这也解释了为什么「同构意义下的模型」才配称同一门几何的模型。
习题 3-6(造 Fano 平面)。取点集 {1, …, 7},线取 {123, 145, 167, 246, 257, 347, 356}。验证 P1–P3 三条射影关联公理,并数出每线点数与每点线数。
提示。P1:任两点恰在一条线中——可逐对排查。P2:任两线恰交一点。P3:四点无三点共线,例如 {1,2,3,4} 中任三不共线。每线 3 点、每点 3 线,共 7 点 7 线,即 PG(2, 𝔽2)。它是一个 Desargues 平面(可被 𝔽2 坐标化)。
习题 3-7(判独立性:矩形)。证明「存在矩形」不能由希尔伯特前四组公理(关联、顺序、合同、连续)推出。
提示。造两个模型。真模型:欧氏平面 ℝ2 满足前四组且存在矩形。注意「前四组」不含平行公理 IV:取 Poincaré 圆盘(满足关联、顺序、合同、连续但违反 IV),其中内角和恒小于 π,故四角和为 2π 的矩形不存在。两模型一真一假,命题不独立——注意此处借用的是双曲模型违反「矩形存在」,与平行公理 IV 的独立性同源。
习题 3-8(相对一致性:球面)。写出「球面几何相对欧氏几何一致」的相对解释,并指出它把哪条球面公理译成了哪条欧氏定理。
提示。把「球面点」译成 ℝ3 中满足 |x| = 1 的向量;「大圆」译成球面与过原点平面的交线(一个可定义子集);「球面距离」译成 arcsin 形式的弧长。于是「任两点(非对径)定一大圆」化为「过原点的平面由两向量唯一确定」这条线性代数事实。逐条一译,球面公理全落到欧氏定理上,一致性由 ℝ3 背书。
习题 3-9(对照表应用)。依据 §3.17 的对照表,判断三句话:① 「三角形内角和为 π」在仿射几何中是否为定理?② 在射影几何中能否谈论「平行」?③ 双曲几何的模型为什么比欧氏多?
提示。① 不是——仿射签名不含度量,内角和无从谈起。② 不能——射影公理取消了平行(任两线必交),平行是仿射层的概念。③ 因为双曲只替换了一条公理(平行公理),其余结构不变;同时它可被多种方式嵌入欧氏空间(射影、共形、内蕴),每一条嵌入路径给出一个模型。模型的多寡反映的是「结构约束的松紧」,不是「理论正确与否」。
习题 3-10(选做·追踪判定性)。已知一阶双曲几何可解释进实闭域 RCF,而 RCF 可判定(§4)。试说明:为什么一阶双曲几何也继承可判定性?解释的传递在这里扮演什么角色?
提示。相对解释把双曲语言译成 RCF 语言,于是「双曲语句 φ 可证」等价于「RCF 中某个翻译语句可证」。RCF 有判定算法,故双曲语句的判定可被归约执行。角色:解释犹如一台翻译机,把别处的可判定性搬过来。这正是 §3.15「模型替几何背书」从一致性延伸到可判定性的表现。
本章十七节不是平行罗列,而是一条从「公理是什么」走到「模型能判什么」的构造线。本页把整章的依赖关系与两条构造线路画出来:实线表示「定义或证明需要」,虚线表示「构造/解释的传递方向」。
怎样读这张地图。图的纵向分三层:最上是元数学层(一致性、独立性、完备性三问),中间是模型层(ℝ2、EG、仿射空间、射影平面、罗氏盘、球面),最左是公理层(希尔伯特五组)。读图的方法是自上而下:先看三问提出什么要求,再看每门几何的公理处在哪一层,最后看它的模型能否兑现要求。凡是模型能兑现的,相应的公理就「有主」;凡是模型兑现不了的,那里就冒出一条独立公理或一个待判的悬案。整张图因此既是知识地图,也是「下一步该证明什么」的任务清单。
两条构造线路。其一,「加结构」线:射影(只问关联)→ 仿射(加平行)→ 欧氏(加度量)→ 双曲(换平行公理)。每加一层结构,公理多一条、模型少一族,独立性也随之出现;这条路是「从最松到最紧」的收紧之路。其二,「造模型」线:从坐标平面出发,逐个造出仿射空间、射影平面、Klein 盘、Poincaré 盘、伪球面与球面,再用这些模型去背书一致性与判决独立性;这条路是「把抽象公理落到具体世界」的实现之路。两条线一收一放,恰是本章的呼吸——公理每收紧一分,模型就多一份可核对的依据。
通向外部的接口。① EG 与 RCF 的量词消去 → 第四章判定机器;② 射影平面的除环坐标 → 第五章模型分类与代数的会合;③ 相对一致性链的尽头(算术自证)→ 哥德尔不完备与第六章力迫的独立判决;④ 双曲模型的内蕴度量 → 综合站的曲面几何实验。本章是全书的几何地基,四条接口向下贯通后三章。
本页任务。把 §3.1–§3.4 的「语法与语义」装备浓缩成四张卡片,供随时翻阅。
卡片一:元数学三问。一致性——理论有模型(相对一致性靠相对解释:把 T2 的符号译成 T1 中可定义的物件,使 T2 的公理成为 T1 的定理);独立性——一条公理 A 独立,当且仅当存在「满足其余公理而 ¬A」的模型;完备性——语言内每个问题都有答案(任意两模型初等等价即可),与一致性互不推得。
卡片二:希尔伯特五组。关联 I1–I3(两点定一线、非退化)、顺序 II1–II4(直线的「之间」)、合同 III1–III6(长度与角,III6 即 SAS)、平行 IV(Playfair 形式)、连续 V1–V2(阿基米德 + 完备性)。前四组去掉 IV 称「绝对几何」,是欧氏与双曲共享的地基;IV 一换,世界分岔。
卡片三:坐标域认领。平面满足 I–IV ⟺ 同构于某有序毕达哥拉斯域上的坐标平面;再加 V1 得 ℝ 的子域;再加 V2 得 ℝ。于是全公理的模型只剩坐标平面 ℝ2(同构意义下)。希尔伯特更用平行投影从几何「长出」域运算——双向车道的最早范例。
卡片四:Tarski 的 EG。把欧氏几何压进一阶逻辑:论域只有点,符号只有 β(介于)与 ≡(等距),直线、角皆一阶可定义;连续性是公理模式。标准模型是实闭域 RCF 上的平面。结论(Tarski):EG 对 ℝ2 完备且可判定——几何命题有了机械裁判。
一句话回望。本片的主线是「把公理写清、把模型对上」:元数学三问提供追问的框架,希尔伯特把几何的公理写清,坐标域与 Tarski 把公理接上代数与逻辑。语法负责「说」,语义负责「指」——两者在 ℝ2 上握手,也在双曲盘上分道扬镳。模型的全部戏份,都在下一片(模型与构造篇)里展开。
本页任务。把 §3.5–§3.17 的模型与构造浓缩成五张卡片与一张对照表,收束全章。
卡片五:仿射与射影。仿射=欧氏减去度量,不变量为共线、平行、介于、线段比;公理 A1–A4 加 Desargues,模型是任意域 k 上的仿射空间 𝔸n(k)。射影=把无穷远点请回来,任两点定一线、任两线交一点;模型是 PG(2, k)。Desargues ↔ 除环坐标,Pappus ↔ 交换域(Veblen–Wedderburn)。
卡片六:非 Desargues 平面。自由射影平面(只补强制的关联)与 Moulton 平面(折断负斜率直线)都满足 P1–P3 却违反 Desargues,故 Desargues 独立于关联公理。判独立性的通用手法:造满足 A 而违反 φ 的模型。
卡片七:双曲的四副面孔。Klein 盘(弦即直线、交比距离、不保角)、Poincaré 盘与半平面(正交圆弧、保角、给出相对一致性)、伪球面(Beltrami 1868,局部嵌入、带尖点)、闵可夫斯基双曲面(整体嵌入、无奇点)。四模型同构,差别只在观看位置。
卡片八:球面与椭圆。球面几何以单位球面 S2 为模型、大圆为直线;Girard 定理:面积 = R2·角盈。对径点使「两点定一线」失效,故它是椭圆几何的双重覆叠,内嵌于 ℝ3 因而相对欧氏一致。
卡片九:两条判决。平行公设独立于其余几何公理(欧氏平面 vs Poincaré 盘);Desargues 独立于射影关联公理(PG(2,k) vs 自由平面)。判决书由两个模型合写,一真一假即独立。
| 几何 | 标准模型 | 定理特征 | 元数学结论 |
|---|---|---|---|
| 射影 | PG(2, k) | 任两线交于一点 | 公理最弱,含非 Desargues 例 |
| 仿射 | 𝔸n(k) | 过线外点唯一平行线 | Desargues ⟺ 除环可坐标化 |
| 欧氏 | ℝ2 | 内角和 = π | EG 完备且可判定 |
| 双曲 | Poincaré 盘 | 内角和 < π | 相对欧氏一致 |
| 球面 | S2 | 内角和 > π | 椭圆几何的双重覆叠 |
本章与下一章的转场。本章把五种几何的公理与模型逐一摆齐,也把「模型替公理背书、替定理判真」这条规矩立稳。但或许已注意到:Tarski 那句「EG 完备且可判定」在本章只是一句结论,机器本身尚未开动。第四章要做的,就是把这台机器拆开、装好、让它转起来——量词消去如何一步步挪走 ∃ 与 ∀,判定算法如何落到柱形代数分解上。几何的账已经记清,接下来交给算术。
本章走完五种几何,最深的一课只有一句话:真理是相对于模型的。「三角形内角和是两直角」在欧氏平面上是铁律,在球面上变成「大于两直角」,在双曲平面上变成「小于两直角」——同一句陈述,三片世界三种命运。谁都别说自己手里那句「显然为真」是纯粹的真理,它多半只是「在某一类模型里为真」。把「在某模型内为真」与「在所有模型内为真」分开,是本章反复演练的判官功夫。
两千年前,几何家把公理当成「不证自明的真理」;希尔伯特 1899 年把点、线、在……上这些词一律当作未定义记号,只用公理约束它们的行为。这一步把公理从「真理」降格成了「地图」:地图不宣称世界长什么样,它只划定一类世界。既然地图可以有许多份,公理的长短就成了地图的精度——射影最粗(只画关联),欧氏最细(连度量都画上)。地图越细,能被它指着走的世界就越少;地图越粗,能塞进去的古怪世界就越多,自由射影平面那种连 Desargues 都不肯承认的病态世界,正藏在最粗的那张图里。
模型论的全部威力都从这条降格里长出来。既然公理是地图、模型是世界,那么「这套公理是否自相矛盾」就变成「这张地图有没有指着哪怕一个世界」——造一个模型即为一致性背书;「这条公理能不能被推出」就变成「有没有一张世界绕开它、其余照旧」——一真一假两个模型即为独立性判决。平行公设两千年的悬案,正是被 Poincaré 盘画出来的那一片世界一锤定音。罗巴切夫斯基与鲍耶当年承受的排斥,本质上不是数学错误,而是「多数人认定的显然之真」不肯让位给「另有一片世界同样自洽」。
更耐人寻味的是「形状决定大小」这一类分岔。欧氏平面上放大图形轻而易举,双曲平面上却做不到;球面上两线必交两点,欧氏平面上两平行线永不相遇。这些差异不是谁对谁错,而是地图与世界之间的配对约定不同。每一门几何都只在它自己的模型里称王,出了这片疆域便寸步难行。那么留下一个问题:面对一句「显然为真」的断言,如何判断它是所有模型共有的定律,还是只在某一片世界里成立的巧合?——这条追问,将从本章一路穿到第五章的范畴性与第六章的力透(力迫)判决中去。
任务。任选一门理论(可以是本章的五种几何之一,也可以是自己的领域,例如「群论」「线性序」「图论」),为它画一张「模型地形图」:横轴是签名(原始概念的多少),纵轴是模型族的大小,标出加一条公理后模型族如何收窄,以及哪条公理边界上出现了独立现象。
分步引导。第一步,写清签名:这门理论用哪些常量、函数符号、关系符号?把「度量类」与「关联类」符号分开(§3.1 的练习)。第二步,列出公理:逐条写出,并标出每条公理「砍掉」或「保留」了哪一类模型。第三步,找两个极端模型:一个最「规矩」的(如坐标模型),一个最「病态」的(如自由构造的模型),用它们判决每条可疑公理的独立性。第四步,画收窄线:从最松的公理集画到最紧的,每加一条公理画一道窄口,把「模型族剩多少」标在图上。
可上手的两个具体问题。其一,线性序的地形:签名取 {<},公理给「严格全序」。此时模型有 (ℚ, <)、(ℤ, <)、(ω, <) 等等,大小悬殊。试加「稠密」公理与「无端点」公理,画出模型族如何收窄;再问:(ℚ, <) 与 (ℝ, <) 是否满足同一批语句?(答:满足——二者初等等价,这正是「同一地形里的两个世界」。)其二,给群论画地形:签名取「乘法 + 单位元 + 逆」,公理给群公理,再逐条加交换、有限、可解、单群等条件,标出每加一条后模型族如何从「所有群」收窄到「某类群」,并指出哪一步开始出现「不可判定的独立命题」(答:有限群与一般群的分界处就有,如「每个群是否可解」不是一阶可判定的)。
加分题。把模型地形图与 §3.17 的五几何对照表并排,观察一个规律:元数学性质越好的理论(可判定、完备),其模型族往往越「窄」且越「整齐」——欧氏 EG 就是范例。反过来,模型族极宽的射影关联几何,元数学性质反而最弱。试解释这背后的直觉:约束越强,越容易被机器判定;约束越弱,越容得下意外,机器就越为难。
实验目的。用一段可运行的程序,把「三角形内角和」在欧氏、球面、双曲三片世界里的三种命运算出数值,亲眼看见「同一句定理、三种真值」。全部代码只用 Python 标准库 math,无需第三方包。
实验思路。三片世界各给一个三角形的数据,用各自的度量与余弦定理算内角和:欧氏平面用向量夹角;单位球面用球面余弦定理(边长 = 球心角);双曲平面用 Poincaré 圆盘模型的距离公式配双曲余弦定理。三者算出后再对照 π。
import math
def dist(p, q): # Poincaré 圆盘上的双曲距离
t = abs(p - q) / abs(1 - p * q.conjugate())
return 2 * math.atanh(min(t, 0.9999999999))
z = [0j, 0.4 + 0.1j, 0.1 + 0.5j] # 盘内三点
def ang(x, y, w): # 对边为 x,y,w 处的角(双曲余弦定理)
return math.acos((math.cosh(y) * math.cosh(w) - math.cosh(x))
/ (math.sinh(y) * math.sinh(w)))
a, b, c = dist(z[1], z[2]), dist(z[2], z[0]), dist(z[0], z[1])
S = ang(a, b, c) + ang(b, c, a) + ang(c, a, b)
print('双曲内角和 =', round(S, 6), ' 角亏 =', round(math.pi - S, 6))
assert S < math.pi # 与欧氏、球面对拍
print('对拍:欧氏 = π;球面 > π;双曲 < π')
为什么值得让程序算一遍。本章的三种真值,在纸上只能靠一张示意图「相信」;交给程序算,才变成三行确凿的数字。数值实验的意义不在于替代证明,而在于把「内角和是两直角」这句话里的隐藏参数逼到明处——那句断言默认了「在一个欧氏平面里」,程序一旦换用双曲或球面的度量,同一句话立刻改了口气。让机器跑一次,比让人争论十次更能说明「模型决定真理」这条主线。
运行结果。本机运行输出:双曲内角和 ≈ 2.729924,角亏 ≈ 0.411668;断言 S < π 通过。对照组给出:欧氏平面内角和 = 3.141593(差 π 约 4×10−16,即数值误差),单位球面内角和 = 3.665191,角盈 ≈ 0.523599。三段数据把「= π、> π、< π」一字排开,正对应图 3-24 的三片世界。
实验报告要求。① 贴出程序的实际输出;② 把双曲部分的三点坐标换成更靠近圆盘边界的一组(例如把 0.4 + 0.1i 改为 0.8 + 0.1i),再跑一次,观察角亏如何随三角形「变大」而增大,并解释这与「双曲面积 = π − 内角和」的关系;③ 写出结论:为什么同一句「内角和是两直角」在三个模型里真假不同,却并不造成矛盾。(提示:矛盾只在同一个模型内才成立,「内角和为 π」这句话没有写清是在哪个模型里说的。)④ 进阶(选做):把欧氏部分也换成一般三角形(不取特殊位置),验证无论三点怎样摆放,内角和都稳定在 π 附近,误差只来自浮点运算。
与本章其他部分的关系。这个实验是 §3.15 与 §3.17 的数值版:§3.15 说 Poincaré 盘为双曲几何的一致性背书,实验则把「背书」翻译成一行行可复算的数;§3.17 的对照表列出三种几何的定理特征,实验则把「内角和」这一栏的四则运算真正做出来。做完实验再回头看那张对照表,可以发现表上的每一格都不再是抽象结论,而是一段能被机器验证的算术。
希腊:从公设到演绎的长链。公理化的传统在西方起步很早。亚里士多德《后分析篇》(约公元前 350 年)已把「证明」的起点规定为不加证明的基本命题;欧几里得《几何原本》(约公元前 300 年)把这一理想贯彻为五条公设与五条公理,从「两点之间可作直线」一路演绎出四百六十五条命题。此后两千年,公理被当作「不证自明的真理」,演绎被当作通往必然的独木桥。阿基米德公理、平行公设的争议、乃至十九世纪非欧几何的诞生,都是沿着这条长链向下追问的结果——直到希尔伯特把「自明」换成「约定」,长链的起点才被彻底重估。西方传统贡献给本章的,正是「公理是链环而非真理」这一转向。
中国:从算题到「析理」的另一条路。中国传统数学的骨架是《九章算术》(约成书于公元前 1 世纪至公元 1 世纪),它以九类共二百四十六道应用问题组织全书,长处在算法与算表,不设公理、不作演绎。但并非没有几何定义:战国时期的《墨经》已写下「圜(圆),一中同长也」(圆是到定点等距的点集)、「端,体之无序而最前者也」(端即不可再分的点);《周髀算经》(约公元前 1 世纪)记下「勾三股四弦五」的勾股关系。更能见方法自觉的是刘徽《九章算术注》(公元 263 年),他以「出入相补」为原理推导面积体积公式,并自称「析理以辞,解体用图」——这已是「用推理说明算法为何成立」的意识。东方的路数不是从公理向下演绎,而是从算例向上求理;目标同为可靠,路径恰成对照。
会通的一刻。明万历三十五年(1607 年),徐光启与利玛窦合译《几何原本》前六卷,把欧氏公理化传统第一次系统引入中文世界——「几何」一词即由此译定。此后三百年,公理、定义、证明这套语言逐渐与本土的算法传统交融,终于成就二十世纪中国数学的现代形态。回看本章的五种几何,公理体系其实是一种很晚近、也很局部的文化产物:希腊人发明了它,希尔伯特重铸了它,模型论则在二十世纪替它配上了「许多个世界」的地图。理解这份地图的来历,也就理解了「公理并非天经地义」这句本章箴言的分量。
本章十七节的内容压进一张表与三张卡。表的用法是「先查后想」:遇到一个几何命题,先在表里确认它属于哪片世界、用哪套签名、模型是谁,再去判断它在模型中真假。凡是表里找不到的命题,多半还没被本章覆盖,可从对应节次回溯。
| 条目 | 内容 | 出处 |
|---|---|---|
| 元数学三问 | 一致性(有模型)· 独立性(一真一假两模型)· 完备性(每句可判) | §3.1 |
| 相对一致性 | 把 T2 的符号译成 T1 中可定义物,公理化为定理 ⟹ Con(T1) → Con(T2) | §3.1 / §3.15 |
| 希尔伯特五组 | 关联 I1–I3 · 顺序 II1–II4 · 合同 III1–III6 · 平行 IV · 连续 V1–V2 | §3.2 |
| 坐标域认领 | I–IV ⟺ 有序毕达哥拉斯域上平面;加 V1 得 ℝ 子域;加 V2 得 ℝ | §3.3 |
| Tarski EG | 语言仅点 + β + ≡;连续性是公理模式;对 ℝ2 完备且可判定 | §3.4 |
| 仿射公理 | A1–A4 + Desargues ⟹ 除环 D 上 𝔸2(D);Pappus ⟹ D 为域 | §3.6 / §3.8 |
| 射影公理 | 任两点定一线 · 任两线交一点 · 非退化(P1–P3);模型 PG(2, k) | §3.7–3.8 |
| Desargues 独立 | 自由射影平面 / Moulton 平面满足 P1–P3 但违反 Desargues | §3.9 |
| 罗氏公理 | 过线外一点至少两条平行线(实为无穷多条);双曲内角和 < π | §3.10 |
| 四个双曲模型 | Klein 盘(弦、交比距离)· Poincaré 盘/半平面(正交圆弧、保角)· 伪球面 · 闵氏双曲面 | §3.11–3.13 |
| 球面几何 | 模型 S2,大圆为直线;Girard:面积 = R2(A+B+C−π) | §3.14 |
| 平行公设独立 | ℝ2 满足 IV;Poincaré 盘满足 ¬IV ⟹ IV 独立 | §3.16 |
| 参照人物年表 | Saccheri 1733 · Lobachevsky 1829 · Bolyai 1832 · Beltrami 1868 · Hilbert 1899 · Tarski 1948/1951 | §3.10–3.13 |
三张卡片备忘。模型卡——五门几何各配一张标准模型(射影 PG(2, k)、仿射 𝔸n(k)、欧氏 ℝ2、双曲 Poincaré 盘、球面 S2);公理卡——签名与公理的层级(射影最松、欧氏最紧);元数学卡——三把尺子(一致性看一个模型,独立性看两个模型,完备性看模型间初等等价)。三个易错点。① 相对一致性只是「若甲则乙」,不是绝对担保;② 「有模型」不等于「公理已完备」,独立性仍要另造反模型;③ 判独立性时,两模型必须都满足「除目标公理外的全部公理」,漏掉一条即证明无效。
接口一览(本章通向何处)。① EG 与 RCF 的量词消去 → 第四章 Tarski 判定机器;② 射影平面的除环坐标与 Desargues/Pappus 的对应 → 第五章模型分类与代数会合;③ 相对一致性链的尽头(算术自证)→ 哥德尔不完备与第六章力迫的独立判决;④ 双曲模型的内蕴度量与三个面积公式 → 综合站的曲面几何实验。四条接口向下贯通后三章,本章因此是全书的几何地基:在此学会了「画模型、比模型、用模型」,往后无论量词消去、饱和模型还是布尔值模型,做的都是同一件事——为理论寻找并审读它的世界。
前三章搭好了模型论的三件基础设施:语言与结构(第一章)、紧致性与 Löwenheim–Skolem(第二章)、五种几何的公理与模型(第三章)。第三章留下一个难堪的问题:欧氏几何的公理系统既一致,又(在完备性二阶意义下)指向唯一的那个世界,那么「某条几何命题能否从公理推出」这件事,能不能交给机器去判?Hilbert 在 1928 年把这个问题一般化为判定问题:是否有一台万能机器,输入一句话,就输出它在所有模型里是否都为真。1936 年 Church 与 Turing 一起给出了否定回答——一般的一阶逻辑不可判定。可恰恰在这里出现了一道裂缝:许多具体的理论是全盘可判定的,而把它们一一送进机器的那把钥匙,叫量词消去。
量词消去(quantifier elimination,简称 qe)的想法朴素得像修辞学:一个理论若能让「存在」与「任意」这两个词从公式里彻底消失,只剩对参量的直接比较,那么判定就退化成一次算术核对。本章的全部技术,都是围绕「怎样让量词消失、消失以后还剩什么」展开。
行进路线是一条四级的剥皮流水线:
第一阶(§4.1–4.4)——认识机器。先把「可判定」这个词说清楚(§4.1),再给出 qe 的定义与它作为「投影封闭性」的几何直觉(§4.2),然后交出判据与算法骨架(§4.3),最后在稠密线性序 DLO 上做一次完全手工的消去,把整台机器拆开看个明白(§4.4)。
第二阶(§4.5–4.9)——三台真机器与它们的副产品。代数闭域 ACF(§4.5,强极小性)、实闭域 RCF(§4.6,Tarski–Seidenberg 与柱形代数分解)分别给出可判定性;由 RCF 立刻得到Tarski 定理——初等欧氏几何可判定,几何定理可自动证明(§4.7)。再用 qe 反哺逻辑本身:qe 推出模型完全,模型完全配上素模型推出完全(§4.8–4.9)。
第三阶(§4.10–4.14)——几何与边界。o-极小结构把「可定义集是一维的」这句话变成一门几何学(§4.10–4.11);可判定性有尽头——Peano 算术不可判定、有限性的理论不可有限公理化(§4.12–4.13);判定算法本身也有代价,柱形代数分解的复杂度是双指数的(§4.14)。
第四阶(§4.15–4.17)——回报与现代面貌。消去法顺手解决了希尔伯特第 17 问题(§4.15),能判定具体的几何命题(§4.16),并长成了今天的实代数几何算法与 SMT 求解器(§4.17)。
读本章只需带三件行李:第一章的语言与结构、第二章的紧致性、一点多项式的常识(根、次数、实系数情形的符号变化)。行李齐备者可直接上第一级台阶;对「可定义集」这个词还生疏的,回看第一章 §1.5 的可定义性定义。
★★ 「可判定」是一个关于算法存在性的词,不是关于「能不能算出来」的工程量词。本节把它的边界画清楚:一般一阶逻辑不可判定,但递归公理化且完全的理论可判定——后者是本章所有具体定理的公共出口。
第一个出口:完全 + 可递归公理化。这条定理把「判定」化简成了「证明枚举」,是本章最常用的可判定性配方。
若理论 T 可递归公理化、一致且完全,则 T 可判定。
证明。设公理集可被算法枚举。要判定 T ⊨ σ,就并行跑两台枚举机器:机器甲枚举 T 的全部有限证明,一旦找到 σ 的证明就输出「是」;机器乙枚举 ¬σ 的全部证明,一旦找到就输出「否」。由完备性定理,证明与语义蕴涵等价;由 T 的完全性,σ 与 ¬σ 恰有一个被 T 推出,故两台机器必有一台在有限步内停机。合并即得判定算法。∎
反过来,若 T 可判定且可递归公理化,则「T ⊨ σ」这个集合是可计算的——于是可判定性常常等价于计算 Th(T) 这个语句集的能力。完全性提供「二选一必有胜者」的排中保证,这正是定理 4.2 的全部秘密:它不是构造出一台聪明的机器,而是把两台笨机器的赛跑凑成一台够用的机器。
反面:一般逻辑不可判定。1936 年 Church 与 Turing 分别证明:有效的一阶逻辑(即全体在全宇宙中有效的语句)是不可判定的。Turing 的路线是把停机问题编码进一阶公式;Church 的路线用 λ-演算。这一否定结果并不妨碍我们研究具体理论——恰恰相反,它把问题精确化为:哪些理论落进可判定的一侧?本章就是这张分界线的地形图。
本节的三个记号约定。此后一律写 Th(ℳ) 表示结构 ℳ 的完全理论(在 ℳ 中为真的全体语句),写 Th(T) 表示理论 T 的全体推论;「T 完全」指 Th(T) 对每个语句或肯定或否定。Th(ℳ) 永远完全——这将是 §4.8 把可判定性「搬」到结构上来的桥梁。
★★★ 量词消去不是「把公式写短」,而是「把公式写浅」:把一个任意深的量词塔压成零层,只剩原子公式的布尔组合。深度压低到什么程度?压到判定只需比较参量。本节给出定义与它真正的几何含义。
为什么「只需单变量」。设 φ 已化成无量词核拼起来的公式。把最内层写作 ∃x φ0(x, ȳ),其中 φ0 无量词。若能把它换成无量词公式 θ(ȳ),量词塔就矮了一层;再对新公式处理下一层,直到塔高为零。所以消去理论的整个工作量,都压缩成「一个变量的存在量词」这一种情况——这是 §4.3 算法骨架的第一块砖。
几何含义:投影封闭。在一阶语义里,公式 φ(x, ȳ) 在结构 ℳ 中定义集合 φ(ℳ) ⊆ Mn+1,而 ∃x φ 定义的正是它在第一个坐标上的投影 π(φ(ℳ))。于是「消去 ∃x 后仍可写成无量词公式」这句话的几何读法是:可定义集族对投影封闭。若 T 消去量词,则可定义集的投影仍可定义,且能由同样的原子层材料(等式、不等式)拼出——这让「先射影、再描述」变成一次代数运算。
把定义 4.3 与定理 4.2 接起来,就得到本章的标准工作流:先证 T 有 qe,再由 qe 证 T 完全(§4.8),最后由完全 + 可递归公理化得可判定(定理 4.2)。三步各有各的难:qe 是分析,完全性是逻辑,可判定性是计算。下面一节先给「怎样确认 qe 存在」的判据。
★★★ 证明一个理论有 qe,有两种典型打法:结构性地动手消(做出来),和用判据绕开手算(认定它存在)。本节给出最有用的判据——Tarski 检验,以及把消去压缩成「单变量合取」的算法骨架。
理论 T 具有量词消去,当且仅当:对任意两个模型 𝒜 ⊆ ℬ(𝒜 是 ℬ 的子结构,二者皆 ⊨ T)、任意无量词公式 φ(x, ȳ) 与任意 ā ∈ A,
判据为什么对(直觉)。设 T 有 qe,则 ∃x φ(x, ȳ) 等价于某无量词 θ(ȳ)。无量词公式的满足只依赖参量与函数、常量的计算——子结构对函数与常量封闭,所以 𝒜 与 ℬ 对同一 ā 算出同一真值:𝒜 ⊨ θ(ā) ⟺ ℬ ⊨ θ(ā),于是 ℬ 中的存在解也必在 𝒜 中兑现。反过来,若检验通过,可用「省去量词」的归纳法把每个 ∃x φ 换成其全体「见证条件」的无量词析取(技术细节见 Marker 教材),即得 qe。∎(方向一略)
算法骨架:三步压成一步。假设要对 ∃x φ(x, ȳ)(φ 无量词)作消去。
第三步之所以能奏效,是因为文字合取已经把 x 逼到一个很窄的位置:在序语言里它把 x 夹在若干上下界之间并避开若干点;在域语言里它要求 x 同时满足若干多项式等式与不等式。几何上,这恰是「把可定义集投影到一维」的动作。
本节的用法说明。实战中,判据(定理 4.5)常用于快速确认某理论有 qe(尤其适合用模型论性质——如「代数闭域是存在封闭的」——来验证);而算法骨架用于真正算出消去结果(尤其当需要算法而非仅存在性时,如 §4.14 的复杂度讨论)。两条路互补,缺一不可。
★★★ 稠密线性序是 qe 的「hello world」:语言只有 < 一个关系符号,原子公式只有 x = y 与 x < y 两种,单变量核的几何就是「区间与点」。本节把 DLO 的消去从头做一遍,一步不跳。
DLO 具有量词消去:每个公式都等价于一个只含 =, < 与参量的无量词公式。
证明(完整)。按 §4.3 的骨架,只需消去 ∃x C(x, ȳ),其中 C 是一串文字(原子或其否定)的合取。把 C 中所有含 x 的文字整理成四类(ti 为不含 x 的项,即参量或常量):
上界 U = {t : 「x < t」在 C 中},下界 L = {t : 「t < x」在 C 中},等式 E = {t : 「x = t」在 C 中},禁点 D = {t : 「x ≠ t」在 C 中}。
两种情形给出的都是无量词公式,且只含参量的比较,故 ∃x C 已被消去。骨架三步走完,定理成立。∎
手算示范(三个一看就懂的消去)。
(b) ∃x (x < y ∧ y < x) ↔ ⊥。L = {y}、U = {y},区间 (y, y) 空,得恒假——三分律的代数回声。
(c) ∃x (x ≠ y) ↔ ⊤。L = U = E = ∅、D = {y},区间是整条线,非空,故可真;无端点保证总可另取一点。
本页的方法论收获。DLO 的消去规则浓缩成一句话:「∃x 就是夹出一段非空的开区间」。这条规则之所以成立,全靠稠密与无端点两条公理;一旦去掉稠密(如 ⟨ℤ, <⟩),开区间非空也不再保证有整数点,规则失效——这提示了下一节的方向:不同的理论,第三步的规则各不相同,但骨架不变。
★★★ 域是模型论与代数会师的主战场。本节处理最容易的一门:代数闭域。它消去的凭据是 Hilbert 零点定理,它的副产品是一条极强的「一维几何」性质——强极小性。
ACF 具有量词消去:每个公式都等价于形如 p(x̄) = 0 的原子公式之布尔组合(p 为整系数多项式)。
证明路线。按骨架,只需消去 ∃x C(x, ȳ),C 是「多项式等式/不等式」文字的合取。把其中含 x 的等式整理为方程组 p1(x)=0, …, pk(x)=0(系数含参量),不等号 q(x) ≠ 0 只排除有限多个解。由域上多项式的性质:k 个一元多项式有公根,当且仅当它们的最大公因式不是常数。对含参量的多项式,用辗转相除把「最大公因式非平凡」写成系数(即参量)的多项式等式之析取;两个多项式的结式 Res(p, q) 就是这样一种消去 x 的工具,且它本身是系数的多项式。k 个方程的情形递推处理。整合上去,含参量的合取 ∃x C 的等价条件可写成参量的无量词公式。几何版就是 Chevalley 定理:代数集的投影是构造可定义集(constructible set)。∎(路线)
副产品:强极小性。「一维可定义集长什么样」的问题,在 ACF 里有最干净的答案。
在代数闭域 K 中,任何带参量的可定义子集 X ⊆ K 都是有限集或余有限集(补集有限)。更强地:对任意 n、任意模型、任意可定义集,其一维纤维都是有限或余有限——这正是强极小的定义。ACF 是强极小理论。
证明。由 qe,X = φ(K) 是一族一元多项式等式 p(x) = 0 的布尔组合。单个 p(x) = 0:若 p ≡ 0,解集是 K(余有限);若 p ≢ 0,解集至多 deg p 个点(有限)。而「有限或余有限」这两类集合对有限交、有限并、取补都封闭(如:余有限 ∩ 余有限 = 余有限;有限 ∩ 任意 = 有限;余有限的补 = 有限),故布尔组合仍是「有限或余有限」。∎
与完全性的接头。由 qe 得 ACF 模型完全(§4.8);但 ACF 整体不完全——特征 0 与特征 p 的模型各说各话。按特征分成 ACF0 与各 ACFp 之后,每一片都完全、可判定。这条「分片完全」的现象,是 §4.8 讲「素模型」时的标准范例。
★★★★ 把「序」与「域」捆在一起,就得到实数世界的一阶肖像——实闭域。它是本章技术含量最高、也最古老的一门:Tarski 1948 年给出消去,Seidenberg 1954 年给出更简洁的算法,Collins 1975 年把它变成可上机的柱形代数分解。
RCF 具有量词消去:每个公式都等价于形如 p(x̄) = 0 或 p(x̄) > 0 的原子公式之布尔组合。Tarski–Seidenberg 定理(几何形式):半代数集在任意坐标投影下的像仍是半代数集。
证明思路。仍归到单变量核 ∃x C(x, ȳ),C 是一串「pi(x) = 0」与「pj(x) > 0」的合取。关键工具是 Sturm 定理:给定实系数多项式(系数含参量 ȳ),它的实根个数、以及各区间上的符号分布,可以由Sturm 序列(p 反复求导与辗转相除得到的多项式列)在端点的符号变化数精确数出。而「C 在某处被满足」等价于「各方程的公根与各不等式的正解落在指定的相对位置」——这是一组关于参量的、由 Sturm 序列系数拼出的无量词条件(带 =, > 的布尔组合)。几何上即「投影把半代数集射成半代数集」。∎(路线)
从定理到算法:CAD。Tarski 的原始证明只说「消去结果存在」,未给出可用算法;真正的工程化要到 Collins 1975 的柱形代数分解(cylindrical algebraic decomposition,CAD):把 ℝn 递归地切成有限个「柱体」胞腔,在每个胞腔上所有涉及的多项式符号恒定,于是量词在胞腔层面变成有限组合,投影则化为胞腔的合并。CAD 让 qe 第一次真正上机(§4.14 讨论它的复杂度代价)。
★★★★ 本节兑现第三章的悬念:欧氏几何的「定理集」是可判定的。这台机器由 §4.6 的 RCF 消去驱动,Tarski 在 1948–1951 年间造出,史称 Tarski 定理——它是几何定理自动证明的开山之作。
初等欧氏几何的理论是可判定的;它完备,且与「平面 ℝ2 在这个语言中诱导的几何」初等等价。这为几何定理的自动证明奠定基础。
证明(完整思路:一次翻译 + 一次消去)。分两步走。
完备性同理:RCF 完全(§4.8)+ 翻译保真,得初等欧氏几何完全——任何几何命题,或可证或可否证,二者必居其一。∎
规模与代价的历史注脚。Tarski 的原始判定算法极慢(其复杂度无法用「初等函数」估计,见 §4.14)。真正实用化的几何定理自动证明,要等 1975 年 CAD 与中国学者吴文俊 1977 年提出的「吴方法」(用特征列与 Gröbner 基等代数工具)。但可判定性这一定性结论,早在 1948 年就被 Tarski 钉死——它是 §4.16 所有具体计算的逻辑地基。
★★★★ qe 的价值不止于「把公式变浅」。它是完全性与可判定性的传动轴:qe 一装上,就把「嵌入」升级成「初等嵌入」,再把「模型完全」与「素模型」焊在一起,吐出「完全」。本节把这根传动轴逐节拆开。
若 T 具有量词消去,则 T 模型完全:对任意两模型 𝒜 ⊆ ℬ,自动有 𝒜 ≺ ℬ(𝒜 是 ℬ 的初等子结构)。
证明(完整)。设 𝒜 ⊆ ℬ 皆 ⊨ T。要证对每个公式 φ(ȳ) 与每个 ā ∈ A:
定理 4.21 把「模型的包含」与「模型的初等等价」拉平了:在 qe 理论里,子结构就是初等子结构,包含关系不再制造语义落差。
设 T 模型完全,且 T 有一个素模型 𝒫——即 𝒫 ⊨ T 且 𝒫 可初等嵌入到 T 的每个模型中。则 T 完全。
证明。任取 𝒜, ℬ ⊨ T。由素模型假定,有初等嵌入 𝒫 ≺ 𝒜 与 𝒫 ≺ ℬ,故 𝒜 ≡ 𝒫 ≡ ℬ(初等等价是等价关系)。于是 T 的任意两模型初等等价——这正是「完全」的定义(Th(T) 对每个语句一致地取真值)。∎
为什么「素模型」不能省。素模型的存在是一件独立的、绝非自动的事。若 T 模型完全却没有素模型,它完全可能不完全——标准例子正是整个 ACF:它模型完全(代数闭域对嵌入封闭),但特征 0 的模型与特征 p 的模型互不满足同一批语句,故 ACF 不完全。之所以不完全,正因为 ACF 没有横跨所有特征的共同素模型——不能既嵌成 ℚ̄ 又嵌成 𝔽̄p。可是每一片 ACF0、ACFp 都有一个素模型(ℚ̄ 或 𝔽̄p,即素域在代数闭包里的像),于是每一片完全。这条例子的教训是:完全性的水位由「素模型覆盖多广」决定。
★★★★ 模型完全(A. Robinson 1956 年引入、1963 年系统化)是比 qe 更宽、更易验证的一类性质。本节给出定义、等价刻画与三条推论,最后用「模型伴随」把 DLO/ACF/RCF 统一起来。
以下三条等价:(i) T 模型完全;(ii) 每个公式 T-等价于一个存在公式(∃ 量词打头);(iii) 每个公式 T-等价于一个全称公式(∀ 量词打头)。
思路。(i)⇒(ii):把 φ(ȳ) 的全体「见证了 φ 的存在公式」之合取取作候选 θ,用模型完全的嵌入性证明 θ → φ。(ii)⇒(iii):对 ¬φ 用 (ii) 再取否定。(iii)⇒(i):设 𝒜 ⊆ ℬ,全称公式的真在子结构中「向下绝对」,故 ℬ ⊨ φ ⟹ 𝒜 ⊨ φ,即 𝒜 ≺ ℬ。∎(略)
与 qe 的关系:qe 严格强于模型完全。由定义,qe 把公式压成无量词(比存在公式更浅),故 qe ⟹ 模型完全。反之不真:存在模型完全却不具 qe 的理论。标准例子是 Presburger 算术 Th(⟨ℤ, +, <⟩)——它在语言 {+, <} 中没有 qe(必须补进同余谓词「x ≡ y (mod n)」才能消干净),却是模型完全的。所以「模型完全」是一道更容易通过的门。
本页的方法论收束。qe 是「做出来」,模型完全是「认出来」,模型伴随是「统一起来」。三者层次递减、适用面递增:遇到一个理论,先试模型伴随(可能直接命中),再验模型完全(Robinson 检验),实在不行才动手做完整 qe。下一节转向 qe 的另一侧回报——可定义集的几何。
★★★★ §4.6 的 qe 给出一句强得惊人的话:实数的一维可定义集只是有限个点与区间的并。把这句话从 RCF 抽象出来,就得到一门研究「温顺几何」的学科——o-极小性。它在模型论内部像分类工具的副产品,在外部却成了实代数几何的共同地基。
o-极小性是一句几何口号:可定义集都是一维的。任何可定义集,无论公式写得多复杂,在结构自身这条线上都只能摊成「若干个点加若干段」。这句话一旦成立,整套可定义几何就有了骨架。
设 ℳ 是 o-极小结构。则对任意有限多个可定义集 X1, …, Xk ⊆ Mn,都存在 Mn 的一个有限细胞分解 𝒞,使得每个 Xi 都是 𝒞 中若干细胞的并。细胞递归地定义为:M0 的唯一细胞是一个点;Mn-细胞是某个 Mn−1-细胞 C 上连续可定义函数 f 的图像,或夹在两条可定义函数图像之间、底在 C 上的开带。
为什么有用。细胞分解是一张「万能坐标系」:它把任意有限族可定义集同时切成同质的小块,于是定义集的维数、边界是否有限、可定义函数是否连续等问题,都可以逐块回答。这正是实代数几何「分解—计数—判别」的工作方式。
设 ℳ 是 o-极小结构,f : M → M 可定义。则存在把 M 分成有限个点与开区间的方式,使 f 在每个开区间上或者连续、或者严格单调(增或减)。特别地,可定义函数不能有「无限次振荡」——它至多有限次转弯。
证明思路。考察定义「f 在 x 处局部递增」与「局部递减」的两个集合,二者皆可定义。它们与「f 局部常数」的集合一起,由 o-极小性只能各自是有限个点与区间。余下的区间按递增、递减、常数三分类,再用 o-极小性排除无规则振荡。∎(略)
与实代数几何的关系。实代数几何研究的对象(半代数集)天然满足 o-极小性;o-极小性把这批对象的性质抽象成公理,从而能判定「哪些函数在多大范围内可用」。更广的 o-极小结构(如 ℝan、ℝan,exp)把解析函数、指数函数一并纳入,使实代数几何的边界扩展到温顺拓扑的领域。§4.17 会看到这套语言如何落进算法。
★★★★ 本节把 §4.10 的口号落到 RCF 上:证明 ⟨ℝ, +, ·, <⟩ 是 o-极小的,并从 qe 读出半代数集的全部形状。
在 ⟨ℝ, +, ·, <⟩ 中,每个可定义子集 X ⊆ ℝ 都是有限个点与区间的并。
证明。由定理 4.16 的 qe,X 可写成「p(x) = 0」与「p(x) > 0」(p 为实系数多项式)经布尔运算的组合。分别考察基本块:零点集 {x : p(x) = 0} 若 p ≢ 0 则至多 deg p 个点(有限),若 p ≡ 0 则是整条线(一个区间);正集 {x : p(x) > 0} 是一族开区间的并,个数不超过 deg p + 1(有限)。而「有限点 ∪ 有限区间」这类集合对有限并、有限交、取补都封闭:并显然;交靠端点比较;取补把 k 个点与 l 个区间重新拼成有限多个点与区间。故布尔组合的结果仍是有限个点与区间的并。∎
ℝn 中可定义的子集恰是半代数集(定义 4.15)。证明:半代数集按定义即「多项式等式与不等式的布尔组合」,显然可定义;反过来,任一公式经 qe 后是无量词的多项式等式或不等式的布尔组合,它定义的就是半代数集。两层包含合起来即得。∎
在 ℝ 上加入指数函数 exp 得到的结构 ℝexp = ⟨ℝ, +, ·, <, exp⟩ 是 o-极小的。
意义与注记。指数函数把 ℝexp 的模型论置于半代数集之外:例如 {x : exp(x) = x} 不是半代数集,却仍受 o-极小性的约束。Wilkie 用的是计数定理前身的模型论方法,后由 van den Dries 与 Macintyre 简化。关键边界:ℝexp 的 o-极小性已知,但 Th(ℝexp) 是否可判定至今是公开问题(Tarski 的指数函数问题)——见 §4.12。∎(注)
本节的收束。从 qe 出发,依次得到三条几何结论:一维可定义集是点与区间(o-极小);n 维可定义集是半代数集;半代数集可以细胞分解。三者合起来,就是实代数几何的模型论骨架——§4.17 的算法全部长在这根骨架上。
★★★★ 可判定性有一条河岸。本节把两岸都画清楚:一侧是已证可判定的理论,另一侧是不可判定的理论,岸上还有几块「至今不知归属」的灰色地带。此外要分清两个常被混淆的概念——不可判定与不可有限公理化。
边界的启示。Turing 与 Gödel 的否定结果从不宣告「一切判定研究就此终结」;相反,它把地图切成三种颜色:可判定、不可判定、未定。本章的任务,就是把其中最经典的一片绿色——初等代数与初等几何——涂满。
★★★★ 「加法可判定、乘法不可判定」——这是本章最富戏剧性的一条分界线。它把「乘一个变量」这个看似无害的操作,指认为可判定性崩塌的元凶。
理论 Th(⟨ℕ, +, 0, <⟩)(等价地 Th(⟨ℤ, +, <⟩))是可判定的。Presburger 1929 年用量词消去给出判定算法:关键在于把语言扩充进同余谓词 x ≡ y (mod n)(n = 2, 3, …),在此扩充语言中消去可完成。
消去的味道。要判定 ∃x C(x, ȳ),其中 C 是线性不等式与同余式之合取:先把 x 的系数通分对齐,再对「x 需落在某算术级数且落在某半直线内」这类条件,用中国剩余定理把多个同余式合并,并算出最小正解是否落进上界之内。结果的等价条件只含参量——于是 qe 成立、理论可判定。(对照 §4.4:DLO 用「区间非空」,Presburger 用「同余加线性界」——同一骨架,规则的算术版本。)∎(路线)
把乘法加入语言,得到 Th(⟨ℕ, +, ·, 0, 1, <⟩) 与 Peano 算术 PA:二者皆不完备(若一致),且其定理集不可判定。更极端地,Robinson 算术 Q(有限公理化、极弱)也已本质不可判定。
为什么乘法致命。一旦有 + 与 ·,就能用哥德尔编码把「图灵机运行」「一阶证明」这些计算概念逐一翻译成算术语句;于是停机问题、证明判定问题被编码进来。若算术定理集可判定,则停机问题可判定——矛盾。因此乘法是通用计算的一个足够强的表达力载体。相反,Presburger 算术(只有加法)太弱,表达不了通用计算,故逃过不可判定性。∎(思路)
本页的一记回马枪。RCF 与 Peano 算术用同一套符号 {+, ·, 0, 1, <},命运却截然相反:一个可判定、一个不可判定。差别不在语言,而在公理刻画的是哪种结构——离散的自然数与完备的实数,是两个宇宙。
★★★★ 「可判定」只保证存在算法,不保证算法跑得动。本节给出这条分界线的定量说明:RCF 的判定必然付出双指数的代价。
用柱形代数分解判定一个含 n 个变元、多项式次数不超过 d 的 RCF 公式,时间与空间复杂度为 d2O(n)——对变元个数 n 是双指数。Collins 的方案后来经 Hong、McCallum 等人改进,但量级仍是双指数。
存在一族 RCF 公式 φn(长度 O(n)),其最短的等价无量词公式的长度至少是 22Ω(n)。换言之,双指数不是算法的懒惰,而是问题本身的下界:消去后的结果真就要这么长。
直觉。Davenport–Heintz 的构造把「投影 n 次、每次翻倍」堆叠起来:每投影一个变量,描述结果所需的多项式次数就翻倍,于是输出规模呈双指数式爆炸。这与 §4.7 里 Tarski 原始算法的「非初等」复杂度同源。∎(直觉)
为什么下界比上界更致命。上界只说明「有一种算法够用」,下界却说明「任何算法都逃不掉」——Davenport–Heintz 的结果是对输出的约束:即便只要求给出等价的量词自由公式,它的长度本身就必须指数级巨大。于是双指数不是实现细节,而是问题的一道天然天花板:换更好的编程、换更快的机器,都推不动它。
本页的收束。复杂度给出本章的一条现实注脚:可判定性是定性的胜利(有机器),复杂度是定量的门槛(机器跑不快)。下一页转向 qe 最有名的「几何回报」——希尔伯特第 17 问题,那里「定性」的胜利已经足够。
★★★★ 量词消去最戏剧性的一次「外快」,出现在 Hilbert 1900 年提出的二十三个问题之中。第 17 问题问的不是逻辑,而是多项式:一个处处非负的实系数多项式,能不能写成平方和?Artin 1927 年的回答之所以能落地,靠的正是 §4.6 的实闭域理论。
设 f ∈ ℝ[x1, …, xn] 半正定。则 f 是有限多个有理函数的平方和:
证明思路(序理论)。关键工具是 Artin–Schreier 的实闭域理论。若 f 不是有理函数平方和,则可在分式域 ℝ(x1, …, xn) 上找到一个序,使 f 在该序下为负;把这个序的实闭包取出,就得到一个实闭域,其中存在一点使 f 取负值(转移原理)。这与 f 在 ℝn 上处处非负矛盾。与 qe 的关系:对每个固定的次数与变元数,「f 半正定」与「f 是有理函数平方和」都是 RCF 语句;由 §4.6 的 qe,它们的等价性原则上可被机器逐例判定。∎(思路)
一处历史细节。Hilbert 原问题问的是「半正定多项式」,Artin 的回答却把「多项式」放宽成「有理函数」——这个看似退让的改动恰恰是答案的关键:Motzkin 多项式证明「多项式」版本为假,「有理函数」版本为真,两版之间隔着一个分母。分母提供的自由度,正是序理论能施展的空间。
这一页的回报。Hilbert 第 17 问题本是一个纯粹的代数问题,Artin 却用「实闭域加序」这套模型论工具一刀解决。它示范了本章的主旋律:把一个看似分析的问题翻译成关于序与域的语句,再交给可消去的理论去处理。下一节把同一套翻译用到最古老的几何命题上。
★★★★ 本页把 §4.7 的「翻译加消去」流水线跑两遍,看它如何在具体命题上落地。两个例子都取自最古老的几何:Thales 的半圆定理与中垂线定理。
方法四步。① 把几何对象放进坐标平面;② 把每个几何关系翻译成多项式等式或不等式;③ 把待证命题写成一阶语句;④ 交给 RCF 的 qe,得到一个常系数无量词公式,核对真假。
题目。设 A = (−r, 0)、B = (r, 0) 是直径两端,C = (x, y) 是圆 x2 + y2 = r2 上异于 A, B 的点。证明 ∠ACB = 90°。
解。「∠ACB 为直角」等价于向量 CA 与 CB 的内积为零。翻译为多项式:
待证语句为 ∀x∀y ( x2 + y2 = r2 → x2 + y2 − r2 = 0 )。这条蕴涵式的后件与前件字面等价,消去后化为常真句,机器判为定理。几何内容一目了然:直角条件与圆方程本就同一件事。
题目。设 A = (0, 0)、B = (1, 0)。证明「到 A, B 等距的点」恰是 AB 的中垂线 x1 = 1/2。
解。等距条件为 xA2 = xB2,展开得 x12 + x22 = (x1 − 1)2 + x22,约去 x22 化为 2x1 = 1,即 x1 = 1/2。两个集合等式 {x : xA = xB} = {x : 2x1 = 1} 都是无量词的,机器逐点核对成立,命题是定理。
机器证明与人工证明的分工。本例里的两条命题,人工一望即知;但机器证明的价值在「一眼看不穿」的命题上——几十个点、几十条约束的构型,人工推导动辄上千步,机器却只需按同一套翻译与消去跑一遍。因此自动证明不是替人做「显然」的题,而是替人守住「显然之后」的那一段:它把几何推理的重担,从灵感转移到了算力。
为什么这算「证明」。机器并非在几何直观上「看图看出来」:它把命题翻成多项式语句,再经 qe 得到一句常真句,其真伪只依赖有限次算术核对。只要翻译保真(§4.7 第一步)、消去结果正确(第二步),结论就对一切实数坐标点成立——这是几何定理自动证明(ATP)的骨架。下一页看它长成什么样的现代算法。
★★★★ 「可判定」是 1948 年的胜利,「算得动」是此后半个世纪的工作。本节把 §4.14 的复杂度警示译成工程语言:现代实代数几何算法如何绕开双指数,长成今天的模样。
完整 qe 的代价是双指数(定理 4.44、4.45),因此实用系统分层:(i) 只求真值时用部分 CAD 与区间方法(数值包围加区间算术给出严格判定);(ii) 低次稠密问题用虚拟代入,常可得单指数级表现;(iii) 几何自动证明用吴方法与 Gröbner 基,绕开量词而直接判定多项式理想中的余式。
要点。这些算法都不推翻 Tarski 定理,而是在它保证的可判定性之内寻找更省的路:定性的存在性由 §4.7 担保,定量的效率由算法设计争抢。∎(格局)
本章讲义部分到此收束。后面四页转入练习:两页例题课先做「结构、满足、可定义集」与「构造模型、证明独立性」的手上功夫,两页习题课再把这些套路过一遍。此后是全章的地图、小结、思想卡、挑战与实验——把 §4.1 到 §4.17 拧成一根可复述的线索。
本页任务。练习三件事:在具体结构里判断语句真伪(满足关系)、把一个公式消成无量词式、写出它定义的可定义集。每题都给出完整解答。
题目。在 ⟨ℚ, <⟩ 中判断以下语句真伪:φ1 : ∀x∃y(x < y);φ2 : ∃x∀y(x ≤ y);φ3 : ∀x∀y(x < y → ∃z(x < z ∧ z < y))。
解。φ1 真:取 y = x + 1(有理数无上界)。φ2 假:ℚ 无最小元。 φ3 真:取中点 z = (x + y)/2(稠密性)。三条合看,⟨ℚ, <⟩ 恰满足 DLO 的「无端点加稠密」。
题目。消去 ∃x (x2 = 2) 与 ∃x (x2 = −1)(在 ⟨ℝ, +, ·, <⟩ 中)。
解。二者都是闭语句(无自由变元)。∃x(x2 = 2) 消去后是常真句:实数 √2 是见证,机器核对 2 ≥ 0 即可判真。∃x(x2 = −1) 消去后是常假句:由实封闭性,负元素无平方根。两条消去结果都不含量词,也不含变量。
题目。在 ⟨ℝ, +, ·, <⟩ 中,求公式 ∃x (x2 = y ∧ x > 0) 定义的可定义集。
解。当 y > 0 时有唯一正根 x = √y,见证存在;y = 0 时唯一根是 0,不满足 x > 0;y < 0 时无实根。故该集合为开射线 (0, +∞)——消去后就是无量词的 y > 0。
三题背后的统一视角。例 4.55 判的是「闭语句」(无量词可判),例 4.56 判的是「带量词的闭语句」(要先消去),例 4.57 求的是「带自由变元的公式」所定义的可定义集(消去后留下参量)。三者层层递进:从「一句话真不真」,到「一句话里的存在能不能兑现」,再到「一个公式划出了哪个集合」——这正是 §4.1 与 §4.2 的定义在具体结构里的三次显影。
手算与机器的一致性。例 4.55 的三条结论、例 4.57 的开射线,都可以直接用 DLO 与 RCF 的消去规则复核:前者对应「区间非空」的判定,后者对应「正根存在 ⟺ 参数为正」。手算之所以算得动,正因为在这么小的结构上,消去规则的第三步——单变量核——退化成了几句显然的比较。把「显然」彻底写清,就是本章的全部工作。
本页收束。三题各演示一环:判断满足(例 4.55)、做消去(例 4.56)、读可定义集(例 4.57)。三者串起来,正是 §4.1 到 §4.3 说的「自动化判定」的基本动作——后面所有理论都在把这些动作特殊化。
本页任务。用「找一个模型使命题真、再找一个模型使命题假」这条判据,独立地判决三条命题的相对独立性;顺带练习紧致性造模型与 qe 证完全。
题目。证明存在 ⟨ℚ, <⟩ 的模型,其中有一个元素 c 小于一切有理数。
解。取 DLO 的公理集,加入常元 c 与句子 c < q(q ∈ ℚ 逐句加入)。任取有限子集,只需在 ⟨ℚ, <⟩ 中取一个足够小的有理数解释 c,即可满足——故有限可满足。由紧致性得整体模型,其中 c 位于全部标准有理数之下,是「非标准」元素。
题目。证明 DLO 的稠密公理 ∀x∀y(x < y → ∃z(x < z ∧ z < y)) 不能由线序公理推出。
解。取模型 ⟨ℚ, <⟩:稠密公理真。取模型 ⟨ℤ, <⟩:它是线序,但 0 < 1 之间无整数,稠密公理假。两模型皆是线序却真值相反,故稠密性独立于线序公理。这与第三章「平行公设独立」用的是同一条判据:两个模型,一个真一个假,即为独立。
题目。证明「每个正元素有平方根」σ : ∀x(x > 0 → ∃y y2 = x) 独立于有序域公理。
解。模型 ⟨ℝ, +, ·, <⟩ 中 σ 真;模型 ⟨ℚ, +, ·, <⟩ 中有序域公理全真,但 x = 2 无有理平方根,σ 假。故 σ 独立于有序域公理。进一步:把 σ(连同奇次多项式有根的公理模式)并上,就得 RCF;由 §4.6 的 qe 它是模型完全的,由 §4.8 的传动链又是完全的、可判定的——独立的公理一旦补上,理论的「脾气」随之变好。
本页收束。三题共用一条判据——找到两个模型给出相反真值。它把「某公理能不能被其余公理推出」这个语法问题,翻译成「能否造出反例模型」这个语义问题;紧致性与 qe 则是两种最常用的造模型工具。三例分别落在序(稠密性)、域(实封闭)与算术(非标准元)三个战场,判法却是同一把刀。至此,第四章的正式内容全部走完。
习题 4-1(公理的辨认)。写出稠密线性序 DLO 的完整公理集(线序、稠密、无端点),并判断 ⟨ℤ, <⟩ 是否满足全部公理;若不满足,指出缺哪一条。★★
提示。线序三条(传递、三分)、稠密、无端点。 ⟨ℤ, <⟩ 线序与无端点皆真,唯稠密假:0 < 1 之间无整数。故它是线序而非稠密线性序。
习题 4-2(可定义性依赖语言)。在 ⟨ℤ, +, <, 0⟩(Presburger 语言)中,用公式定义「偶数」,并说明「平方数」是否可定义。
提示。偶数:∃y(y + y = x)。平方数不可定义:乘法无法由加法加序加零还原,Presburger 的可定义集是有限个等差数列之并,平方数集不具此形状。要点:可定义性取决于语言选了哪些符号。
习题 4-3(初等等价的判决)。判断 ⟨ℝ, +, ·, <⟩ 与 ⟨ℚ, +, ·, <⟩ 是否初等等价,给出判决句或证明其无。
提示。不初等等价。判决句:∀x(x > 0 → ∃y y2 = x) 在 ℝ 真、在 ℚ 假(x = 2 无有理根)。这说明 ℚ 不是实闭域,RCF 的公理把它排除在外。
习题 4-4(把几何命题写成语句)。用坐标语言写出「线段 ab 的中点 m 到 a, b 等距」这一命题的一阶语句结构,并说明它为何属于 RCF 语言。★★★
提示。把点写作实数对,中点条件 2m = a + b(向量等式)、等距条件 |m − a|2 = |m − b|2 都是多项式等式;整个命题是 ∀a∀b∀m( 中点条件 → 等距条件 ),全由 +, ·, < 与量词拼成,故落在 RCF 语言里,可交 qe 判定。
习题 4-5(DLO 的一次消去)。在 DLO 中消去 ∃x(x < y ∧ y < z ∧ x ≠ z)。
提示。按 §4.4 的情形二:L = {y}、U = {z}、D = {z}。区间 (y, z) 非空 ⟺ y < z,且被禁点是 z 落在区间外(右端点),不影响取点。故结果就是 y < z——与不带 x ≠ z 时相同。
本页三动作为何重要。满足关系的判断是「判定」的原子步骤;可定义性的辨认是「语言决定能说什么」的直接体现;一次消去则是整台机器最小的可运行单元。习题 4-1 到 4-5 把这三个动作各练过一遍,下一组习题(4-6 到 4-10)把它们拼成元数学结论。做题若卡住,先回看对应小节的定义,再回看 §4.3 的三步骨架——绝大多数障碍都出在把「公式」与「公式定义的集合」混为一谈:前者是符号串,后者是它在某个模型里划出的子集。
习题 4-6(造一个含无穷大的算术模型)。用紧致性证明:存在算术理论 Th(ℕ, +, ·, 0, 1, <) 的一个模型,其中有一个元素 c 大于一切标准自然数。
提示。取 Th(ℕ) 加常元 c 与句子 c > 0, c > 1, c > 2, …。任意有限子集只需在 ℕ 中取足够大的数解释 c 即可满足,故有限可满足;由紧致性得模型,其中 c 超越一切标准数——非标准算术模型存在。
习题 4-7(有限性不可一阶表达)。证明:不存在语句集 Σ,使其模型类恰为全体有限结构。★★★
提示。反设 Σ 成立,再加入句子 λn :「至少 n 个互异元」(n = 1, 2, …)。 Σ ∪ {λn} 每有限子集有模型(取足够大的有限结构),由紧致性有模型,其必无限,却又满足 Σ——矛盾。这正是 §4.12 的「不可有限公理化」手法。
习题 4-8(用 qe 证 DLO 完全)。用「qe 推出模型完全,模型完全加素模型推出完全」这条链,证明 DLO 完全。
提示。由定理 4.8,DLO 有 qe,故模型完全(定理 4.21);其素模型是 ⟨ℚ, <⟩(可嵌进任一稠密无端点线性序);由定理 4.22 得完全。同一链条对 ACF0、ACFp、RCF 各跑一遍,即得推论 4.23。
习题 4-9(ACF 的分片与整体)。证明 ACF0 与 ACFp 各自完全,而 ACF 整体不完全。
提示。分片:每片有 qe(同一 Tarski–Chevalley 定理)加素模型(ℚ̄ 或 𝔽̄p),故完全。整体:句子「1 + 1 = 0」在 ACF2 真、在 ACF0 假,故 ACF 不完全——特征是一道分片线。
习题 4-10(一加一乘的对照,选做)。说明为何 Th(ℕ, +, 0, <) 可判定,而 Th(ℕ, +, ·, 0, 1, <) 不可判定。★★★★
提示。加法侧:Presburger 用「同余加线性界」完成 qe,语言弱到编码不了通用计算。乘法侧:+ 与 · 足以哥德尔编码图灵机与证明,若定理集可判定则停机问题可判定,矛盾。要点:可判定性的崩塌来自表达力跨过了「能编码计算」这道门槛。
四类结论的公共工具。习题 4-6 与 4-7 用的是紧致性(一正一反两个方向),4-8 与 4-9 用的是 qe 与素模型,4-10 用的是「表达力跨过编码计算的门槛」。四者合起来,就是本章「元数学」部分的全套动作。掌握这四招,本章的定理便都有了可复述的证明骨架——而它们的共同前提,是分清「在某结构中为真」与「在所有结构中为真」。
本章的概念网有一根极清晰的主干:判定问题 → 量词消去(定义与判据)→ 三台可消去的机器(DLO · ACF · RCF)→ 由 RCF 直接得到 Tarski 定理 → 几何回报(Hilbert 第 17 问题、几何命题自动证明)与算法化(CAD、虚拟代入、吴方法)。侧线有两条:一条经「qe 推模型完全」通向完全性与可判定性;另一条经「o-极小」通向可定义集的几何学。下图把依赖关系画全。
三种读法。读本图可分三条路线。① 技术线(左列直下):判定问题 → 量词消去 → 三台机器 → Tarski 定理,回答「怎么判」;② 逻辑线(右下):qe → 模型完全 → 完全 → 可判定,回答「为什么判得出」;③ 回报线(左下与右下延伸):o-极小给可定义几何,Hilbert 第 17 问题与自动证明给代数与几何的果实,算法工程给可执行系统,回答「判出来能做什么」。三条线共用同一个枢纽——量词消去;抽掉它,其余全部散架。图中每一个方框都对应本章的一节或几节,可当作复习时的检索表:顺着箭头走一遍,便是一次完整的知识复述。
通向外部的接口。① 判定与可定义性 → 第一章的语言与结构(满足关系、可定义集);② 紧致性与造模型 → 第二章(非标准模型、不可有限公理化);③ 独立性判据 → 第三章(平行公设、五种几何的模型);④ o-极小与稳定性 → 第五章(类型、饱和、范畴性);⑤ 实代数几何算法与 SMT → 形式化验证与程序分析的工程实践。本章是「公理到模型」这门学问的计算出口:前面几章的模型论工具,在这里第一次汇成可以执行的判定程序。地图之外,还有一条读法:把本章每个定理都写成「输入是什么、输出是什么、代价多大」三栏,便得到一张天然的算法清单——§4.17 的分工格局正是从这张清单长出来的。
本页任务。把 §4.1 到 §4.9 的理论脉络压成五张卡片:判定问题、量词消去、判据、三台机器、完全性传动链。§4.10 到 §4.17 的模型与构造内容见下页。
卡片一:判定问题(§4.1)。理论 T 可判定 ⟺ 存在算法对任意语句 σ 判定 T ⊨ σ。配方:可递归公理化 + 完全 ⟹ 可判定(定理 4.2)。一般一阶逻辑不可判定(Church–Turing 1936),故问题化为「哪些理论落在可判定一侧」。
卡片二:量词消去(§4.2)。T 有 qe ⟺ 每个公式 T-等价于一个无量词公式。几何读法:可定义集族对投影封闭。只需消去单个 ∃x(作用在文字合取上),全称量词用 ∀ = ¬∃¬ 转化。
卡片三:判据(§4.3)。Tarski 检验(子结构判据):T 有 qe ⟺ 对模型 𝒜 ⊆ ℬ、无量词 φ 与 ā ∈ A,ℬ ⊨ ∃x φ(x, ā) ⟹ 𝒜 ⊨ ∃x φ(x, ā)——「存在解」不被扩张伪造。算法骨架三步:析取范式 → ∃ 分配 → 单变量核。
卡片四:三台机器(§4.4–4.6)。DLO:规则是「∃x ⟺ 区间非空」,靠稠密与无端点;ACF:规则是「公根 ⟺ 最大公因式非平凡」,靠结式(Tarski 1948,Chevalley),并给出强极小性(一维可定义集有限或余有限);RCF:规则由 Sturm 定理给出(Tarski 1948,Seidenberg 1954),几何形式即 Tarski–Seidenberg 投影定理,算法化即 CAD(Collins 1975)。
卡片五:传动链(§4.7–4.9)。qe ⟹ 模型完全(嵌入即初等嵌入);模型完全 + 素模型 ⟹ 完全;完全 + 可递归公理化 ⟹ 可判定。由 RCF 的 qe 直接得 Tarski 定理:初等欧氏几何可判定。三对模型伴随(DLO/ACF/RCF 分别是线性序/域/有序域理论的存在封闭补全)把三台机器统一成「存在封闭补全 ⟹ 模型完全 ⟹ 可消去 ⟹ 可判定」。
本页收束。语法与语义篇只有一句话:把量词剥光,判定就退化成算账。剥光的手艺因理论而异(DLO 靠稠密、ACF 靠结式、RCF 靠 Sturm),但骨架、判据与传动链是共用的。下页转向模型与构造:可定义集的几何(o-极小与半代数集)、可判定性的边界(Presburger 与 Peano)、以及消去法的算术与几何回报。五张卡片之外还有一条值得记牢的等价链:在可递归公理化的前提下,「完全」几乎就是「可判定」的同义词(定理 4.2),而「qe」是通往「完全」最省力的桥(定理 4.21)。记住这条链,不必每次从头推。
本页任务。把 §4.10 到 §4.17 的模型与构造内容压成五张卡片,并把全章收成一条可复述的线索。
卡片六:o-极小与可定义几何(§4.10–4.11)。结构 o-极小 ⟺ 每个可定义子集是有限个点与区间的并。RCF 的 qe 直接给出它是 o-极小的;由此得细胞分解(有限族可定义集同时切成同质细胞)与单调性定理(可定义函数至多有限次转弯)。ℝexp 也是 o-极小的(Wilkie 1996),但可判定性未知。
卡片七:可判定性的边界(§4.12–4.13)。Presburger 算术 Th(⟨ℕ, +, 0, <⟩) 可判定(Presburger 1929,qe 加同余谓词);加入乘法 Th(⟨ℕ, +, ·, 0, 1, <⟩) 与 Peano 算术即不可判定(Gödel 1931 加 Church 1936)。同时须分清不可判定与不可有限公理化(有限域类、特征 0 域类)两件独立的事。
卡片八:复杂度(§4.14)。RCF 判定的复杂度上界是双指数 d2O(n)(Collins 1975),且存在双指数下界(Davenport–Heintz 1988):最短等价无量词公式本身就要那么长。可判定性给「有解」,工程给「快解」,两者隔着一段双指数。
卡片九:几何回报(§4.15–4.16)。Artin 1927 用实闭域与序理论回答了希尔伯特第 17 问题:半正定的多项式必是有理函数平方和(Motzkin 多项式说明「多项式」一词不可换);「翻译加消去」还能直接判定具体几何命题(Thales 半圆定理、中垂线定理)。
卡片十:从判定到计算(§4.17)。完整 qe 太贵,实用系统分层:部分 CAD、虚拟代入、吴方法与 Gröbner 基;终点是 SMT 求解器与形式化验证。定性由 Tarski 定理担保,定量由算法设计争抢。
通往第五章。本章处理的是「一阶可定义性」的最干净情形——量词消去与可判定。第五章把镜头推近模型内部:型(模型里元素的「可能样子」)、饱和(模型把该有的型都实现)、范畴性(模型被势钉死)。本章的 o-极小、强极小与弱 o-极小,会在那里长成「模型论维数」与「稳定性层级」的一部分;而 qe 的投影封闭性,则成为「型空间是紧的、可数的」这类定理的技术内核。行李带齐:qe、模型完全、o-极小、三台机器——五章的解剖刀由此开刃。
本章从头到尾只做了一件事:把「真」从一句句子的身上,挪到「模型」的身上。判定问题问的不是「这句话真不真」,而是「这句话在所有模型里是不是都为真」(⊨);量词消去做的,则是把这个问题翻译成一串关于参量的算术核对。表面上是一套技术,骨子里是一次关于「真」的观念搬家。
搬家之所以要紧,是因为它把「显然」这个词拆成了两半。三角形内角和是两直角吗?在欧氏平面上是,在球面上大于,在双曲平面上小于——同一句话,三个模型,三种真值。自然数只有标准的那一串吗?非标准模型里还拖着一大截超标准元。「显然」只在某一个模型里显然;跨到别的模型,它就得重新取证。这正是本册暗线「真理是相对于模型的」在技术层的落地。
第四章的特别之处,在于它把这条观念变成了可执行的判官。当一门理论具有量词消去,判官就从「遍历所有模型」这种不可能的动作,退化成「核对有限条多项式等式与不等式」这种机械劳动。于是「所有模型里为真」第一次成了一个能算的问题。三类结论由此分道:可判定(DLO、ACF、RCF)、不可判定(算术、一般一阶逻辑)、未决(有理数域、指数实数)。地图被涂成三种颜色,而涂色本身就是本章的成果。三种颜色也提示了方法论:判定问题的难处不在「算」,而在「先分清哪些能算」——涂色先于计算,定性先于定量。
最后留一个自问:既然「真」随模型而定,那么当一门理论被证明可判定时,我们究竟得到的是关于符号的结论,还是关于某个「唯一正确的世界」的结论?——提示:可判定说的是「定理集可算」,它并不指定任何模型;模型是无穷多的,机器裁决的是它们共有的那部分真理。
任务。从本章出现过的理论中任选一门——DLO、ACF0、ACFp、RCF、Th(⟨ℕ, +, 0, <⟩)(Presburger)、Th(⟨ℤ, <⟩)——为它画一张「模型地形图」,并写出图注。地形图要同时回答四件事:
分步引导(以 RCF 为示范)。先列公理:有序域公理加「正元有平方根」加「奇次多项式有根」的公理模式。三个模型:ℝ(标准、势 2ℵ0)、实代数数域 ℝ ∩ ℚ̄(小、可数)、某个非阿基米德实闭域(怪:含比一切标准实数都大的元)。元性质:由 §4.6 有 qe,由 §4.8 模型完全,由 §4.9 完全,由定理 4.2 可判定;再提一句它非 o-极小以外的极小性——RCF 恰是 o-极小的(§4.11)。可定义集素描:一维可定义集是有限个点与区间之并,标注「o-极小」。
进阶(选做)。把地形图画成一张二维表:横轴是「模型」,纵轴是「待判命题」,格内填真值。若某一列有两行真值不同,就在表格旁注明「该命题独立」;若某一行全同,则它落在理论里(是定理或否定理)。这张真值表就是「模型地形」的最直白形式——它把语法(公理能推出什么)与语义(哪些模型存在)并排摆在同一页上。若某一格既非全真也非全假,那张表本身就回答了一个独立性问题,无需再读任何证明。做完这门理论,可再换一门复跑一遍四问,比较两张地形的疏密。
实验目的。量词消去给出的「无量词等价条件」是一条关于全体参量的断言,纸上无法逐一验算。本实验用最朴素的暴力对照,在具体模型(有理数与实数)里逐点核对:左式(带量词)的真值与右式(无量词)的真值是否处处一致;再做一次几何命题(Thales)的坐标核对,最后用两个模型演示「独立性」。全部代码只用标准库,任何 Python 3 环境可复现。实验不追求「证明定理」,只求把定理的有限影子逐例兑现,从而亲手体会「可判定」究竟意味着什么。
核心代码(脚本片段)。
from fractions import Fraction as F
import math
# [1] DLO 的消去:∃x (y < x < z) ⟺ y < z
ys = [F(-2), F(0), F(1, 3), F(1, 2), F(3, 2), F(2)]
zs = [F(-3), F(1, 4), F(1, 2), F(5, 3), F(7, 2), F(3)]
tot = good = 0
for y in ys:
for z in zs:
if y < z:
x = (y + z) / 2 # 稠密性:中点即见证
lhs = (y < x < z)
else:
lhs = False
tot += 1
good += (lhs == (y < z))
print('DLO 消去:样本 %d 组,一致 %d 组' % (tot, good))
# [2] RCF 的消去:∃x (x2 = y ∧ x > 0) ⟺ y > 0
ys = [F(-1), F(1, 4), F(1, 2), F(4, 9), F(1), F(2), F(9, 4)]
tot = good = 0
for y in ys:
lhs = False
if y > 0:
x = math.sqrt(float(y)) # 正根作为见证
lhs = (x > 0) and abs(x * x - float(y)) < 1e-12
tot += 1
good += (lhs == (y > 0))
print('RCF 消去:样本 %d 组,一致 %d 组' % (tot, good))
脚本另含两段:[3] 取 A = (−1, 0)、B = (1, 0)、C = (cos t, sin t),逐角度核对内积 CA · CB 恒为零;[4] 用特征 2 与特征 0 两个域,展示命题「1 + 1 = 0」的相反真值。整段脚本无需第三方库,复制到本地即可复现全部数字。
实跑结果(节录)。DLO 对拍 36 组全部一致;RCF 对拍 7 组全部一致;Thales 内积最大偏差约 2.2 × 10−16(浮点误差量级,理论值 0);「1 + 1 = 0」在 𝔽2 真、在 ℚ 假。
四段对拍各考什么。第一段考「序」语言里的消去:把「存在一个夹在中间的元」换成「两端有条件」;第二段考「域」语言里的消去:把「存在正平方根」换成「参数为正」;第三段考「几何」语言:把「角为直角」换成「内积为零」——三者恰是本章三台机器(DLO、RCF、坐标几何)的最小影子;第四段则是本章暗线的演示:同一句话在两个模型里真值相反。对拍的意义不在「机器算得对」,而在「可判定的断言真能被有限核对兑现」。
实验报告要求。① 贴出四段对拍的完整输出;② 把 RCF 对拍的样本追加 y = 3 与 y = 16,观察「左式 ⟺ 右式」是否仍成立,并解释正根为何总存在;③ 设计一次「失败对拍」:若把 [1] 的模型从 ⟨ℚ, <⟩ 换成 ⟨ℤ, <⟩,中点一般不再是整数——说明这对拍会如何失败,并指出这正对应「稠密性缺失使 DLO 的消去规则失效」(§4.4)。
两种开端:命题链与问题集。西方几何的源头是欧几里得的《几何原本》(约公元前 300 年):它先摆出定义、公设与公理,再从少数几条出发,用演绎把四百多条命题连成一条链。东方算学的源头之一是《九章算术》(约成书于公元 1 世纪,东汉):全书二百四十六题,分方田、粟米、衰分等九章,每题给出「问」「答」「术」——术即算法步骤,题与题之间靠算法家族联系,而非靠公理推导。前者是命题的体系,后者是算法的合集。两千年后回头看,这恰是「公理化」与「可计算」两条路线最早的雏形。
东方也有定义意识。把「中国没有公理传统」说成铁板一块并不公平。《墨经》(战国,约公元前 4 世纪)里已有一批精炼的定义与推理条文:「圜,一中同长也」(圆是到一个中心距离相等的图形),「平,同高也」(平是高度相同),「直,参也」(直是与三点共线相参验)。这与《几何原本》的定义条目在精神上相通——都是试图用更基本的词去界定一个几何概念。差别在于:《墨经》由此止步,未发展成层层递推的命题链;《几何原本》则由定义出发,一路推到底。定义的种子两边都埋下了,公理的枝干只长在一侧。
两条河的交汇。两条传统真正会师要到近代。明万历三十五年(1607),徐光启与意大利传教士利玛窦合译《几何原本》前六卷,首次把「公理—证明」的写法完整带入中文;清咸丰七年(1857),李善兰与英国传教士伟烈亚力补译后九卷,全书方始完备。再往后,希尔伯特 1899 年的《几何基础》把「公理系统」本身变成了研究对象——公理不再需要「显然」,只需一致与互相独立;而一个系统是否独立,判据正是「造出两个模型、一真一假」,也就是本册反复演练的那把刀。东方的「算法」传统与西方的「公理」传统,最终在本册的主题——「公理化与造模型」——处合流:公理给出一套规则,模型给出一个世界,算法则在两者之间穿针引线。
| 条目 | 内容 | 出处 |
|---|---|---|
| 可判定理论 | 存在算法判定 T ⊨ σ | §4.1 / 定义 4.1 |
| 完全 + 可递归公理化 | ⟹ 可判定 | §4.1 / 定理 4.2 |
| 量词消去 | 每式等价于无量词式;只需消单个 ∃x | §4.2 / 定义 4.3 |
| Tarski 检验 | 子结构嵌入不伪造「存在解」⟺ qe | §4.3 / 定理 4.5 |
| DLO | 稠密无端点线序;∃x ⟺ 区间非空 | §4.4 / 定理 4.8 |
| ACF | 代数闭域;公根 ⟺ 公因式非平凡;强极小 | §4.5 / 定理 4.11–4.12 |
| RCF | 实闭域;Sturm 定理给出消去;半代数集投影封闭 | §4.6 / 定理 4.16 |
| Tarski 定理 | 初等欧氏几何可判定、完全 | §4.7 / 定理 4.19 |
| 传动链 | qe ⟹ 模型完全 ⟹(加素模型)完全 ⟹(加可递归公理化)可判定 | §4.8–4.9 / 定理 4.21–4.23 |
| o-极小 | 一维可定义集 = 有限个点与区间之并 | §4.10 / 定义 4.29 |
| 细胞分解 · 单调性 | 有限族可定义集同时切成同质细胞;可定义函数分段单调 | §4.10 / 定理 4.30–4.31 |
| 可定义集 = 半代数集 | ℝn 中可定义集恰为半代数集;ℝexp 亦 o-极小(Wilkie 1996) | §4.11 / 定理 4.35–4.36 |
| 可判定性边界 | Presburger 可判定;Peano 不可判定;不可判定 ≠ 不可有限公理化 | §4.12–4.13 / 定理 4.37–4.42 |
| 复杂度 | CAD 上界 d2O(n);双指数下界(Davenport–Heintz 1988) | §4.14 / 定理 4.44–4.45 |
| 希尔伯特第 17 问题 | 半正定多项式 = 有理函数平方和(Artin 1927) | §4.15 / 定理 4.48 |
| 现代算法 | CAD · 虚拟代入 · 吴方法 · Gröbner 基 ⟹ SMT 与形式化验证 | §4.17 / 定义 4.52 |
模型小卡。DLO:⟨ℚ, <⟩、⟨ℝ, <⟩,可判定、完全、ℵ0-范畴。ACF0:ℚ̄、ℂ;ACFp:𝔽̄p——每片完全,整体不完全。RCF:ℝ、ℝ ∩ ℚ̄、非阿基米德实闭域,可判定、完全、o-极小。Presburger:⟨ℕ, +, 0, <⟩,可判定。Peano:⟨ℕ, +, ·, 0, 1, <⟩,不可判定。
易错三坑。① 把「不可判定」与「不可有限公理化」混为一谈——前者说的是定理集不可算,后者说的是模型类圈不出来,两件事互相独立(例 4.39)。② 证明 qe 时以为要处理任意多变量——其实只需消去单个 ∃x,其余靠布尔整理与归纳(§4.2)。③ 把 o-极小性的「可定义集是一维的」误读成「模型是一维的」——它说的是可定义集在结构自身的序上摊成点与区间,与模型的势无关。
一句话速记。把量词剥光,判定就退化成算账;剥光的手艺因理论而异,判据与传动链却是共用的——qe ⟹ 模型完全 ⟹ 完全 ⟹ 可判定。三条颜色线各就各位:能判的(DLO、ACF、RCF、Presburger)、不能判的(算术、一般一阶逻辑)、未决的(有理数域、指数实数)——这张地图就是第四章的全部收成。
第四章把「一个理论能推出哪些句子」交给了 Tarski 的机器,本章要问的是另一种问题:一个理论的许多模型,内部各自长什么样?同一个理论的全部模型共享一切定理,可是模型里元素的「处境」千差万别——在稠密线性序中每个点都夹在左右两点之间,在整数序中每个点却有紧邻的后继;在代数闭域中,一个元素对基域可以是代数的,也可以是超越的。把这些处境一次说清的对象,就是型(type)。
型是本章的主角。粗略地说,一个型是「模型里一个(或一组)元素可能的样子」的完整描述:它把该元素与已知参数之间一切能用语言表达的关系,不遗漏地装进一个集合。型一旦登场,模型的解剖便能层层展开:把所有型按自然的拓扑摆成一座空间(型空间),模型就显出「哪些型被它实现、哪些被它省略」的指纹;实现一切小型的模型叫饱和模型;饱和而结构整齐的模型叫齐次模型——它们恰是研究一门理论时的通用工作台。于是「同一理论的两个模型何时同构」第一次有了判据。
本章的行进路线同样是一条上升的阶梯。
第一阶(§5.1–5.5)——型与型空间。定义完全型与部分型,建立实现与省略,证明型空间是紧致、Hausdorff、全不连通的 Stone 空间,再把「实现所有型」的饱和模型与「同构唯一」的齐次模型立起来。这一阶的产物是判据:同一理论的两个足够大的模型何时同构。
第二阶(§5.6–5.10)——范畴性与分类。陈述并解释 Morley 定理(1962):可数语言的理论若在某个不可数势上范畴,则在所有不可数势上都范畴。为读懂它,依次引入稳定性、Morley 秩、免秩与分叉、强极小集——模型论意义的「维数」体系,最后以范畴性的谱定理俯瞰全程。
第三阶(§5.11–5.17)——实例与应用。把工具用到三个标本上:代数闭域(维数=超越次数)、实闭域(o-极小)、无限向量空间(不稳定);再看初等子模型格、饱和模型的构造、从型到可定义群,以及 Hrushovski 1996 年用模型论证明 Mordell–Lang 猜想这条战功。
随身行李只需三件:前一章的紧致性、量词消去与 o-极小是本章的常用器械;域与线性代数的基本事实(超越基、代数元与超越元)随用随补。若只求抓住主线,读 §5.1–5.6 与 §5.11(代数闭域)即可窥全豹;若要走进当代分类纲领,则 §5.7–5.10 与 §5.15–5.17 不可略过。
★★★ 本节给出本章的核心对象。「型」理解成一张体检表:它记录一个(或一组)元素相对已知参数的一切可表达的性质。一个元素在模型里的所有秘密,都装在这张表里。
型有「大小」之分。部分型是任意相容的公式集;若它不再能添加任何与之一致的公式,就叫完全型。完全型是「知无不言」的体检表——对每个公式 φ(x̄) 都恰好判定 φ 或 ¬φ。全部完全 n-型记作 Sn(A)(理论语境明确时也写 Sn(T))。
为什么对(直觉先行)。第一半:一句 ℳ ⊨ φ(b̄) 非真即假,故 tp(b̄/A) 对每个公式都作出了判定,是极大的相容集。第二半:若 p 与某元组的型一致,二者都极大,必相等;反之由相容性的定义即得。这段小论证说明:型就是「某个元组的全部真话」的抽象。
本节的最后一句话值得画线:型与元素的关系,不是「等于」而是「实现」。同一个型可以被同一模型的许多元素实现,也可以被一个模型彻底省略——「实现」这个动词,正是本章之后一切构造的枢纽。
★★★ 部分型是「说了一半的体检表」,完全型是「说满的体检表」。本节回答三个问题:部分型何时能补全?什么样的型被一切模型实现?什么样的型可以被彻底省略?
证明要点。这是紧致性定理的直接运用。把 p 与 Th(ℳA) 合并为一个公式集;由假设每个有限子集可满足,紧致性给出整体可满足,即存在 ℳ 的初等扩张与实现它的元组(必要时先取 ℳ 的饱和初等扩张,见 §5.15)。再把 p 用 Zorn 引理或逐条添加法扩成极大相容集,即得完全型。∎
主型(孤立型)。有些型特别「结实」:存在一个公式 φ(x̄) ∈ p,使得对一切 ψ ∈ p 都有 φ ⊢ ψ(模 T)。这样的 p 叫主型或孤立型,φ 是它的孤立公式。主型被 T 的每一个模型实现——因为总会有一个元组满足 φ,它便一口气满足整个 p。反之,非主型可以被省略,这正是省略型定理的赌注。
证明思路(Henkin 构造)。从可数多个常量中,逐一实现「可数多条句子」之外,另加一条纪律:每当面对新常量 c,都补写一句 ¬φ(c),把 c 从 p 的每个公式里排出去;非主性保证这永远不冲突(否则某个有限合取会孤立 p)。于是所造模型的每个元组都逃过 p。∎(完整版见 §5.15。)
说理小段。省略型定理的价值不在「造出怪模型」本身,而在它把「一个型是否被普遍实现」变成了「它是否被单个公式孤立」这样一个纯语法判据。当孤立公式不存在时,型可以被永远回避;当它存在时,型刻进了理论的血脉,人人必须认账。这条语法—语义的换算,是本章后半段一切分类判定的原型。
★★★★ 把所有完全型堆在一起,它们不是散沙,而天然带着一座拓扑。这座空间把「模型有哪些型」这件事画成几何图形——这正是本章把模型论与拓扑、代数联系起来的第一座桥。
紧致性=紧致性定理。取一族基开集 [φi]。若它们没有公共点,则没有完全型同时含全体 φi,即 { φi } 与 Th(ℳA) 不相容;由紧致性定理,已有有限子集不相容,故有限个 [φi] 已经盖住空间(或空交)。这恰是「任何开覆盖有有限子覆盖」的逆否命题。语言的紧致性,就是型空间的紧致性——同一件事的两种说法。
Hausdorff 性与全不连通。任取两个不同的完全型 p ≠ q,必有一个公式 φ 使 φ ∈ p、¬φ ∈ q(完全性的定义)。于是 [φ] 与 [¬φ] 是不相交的 clopen 集,分别含 p 与 q——Hausdorff。而且这一个 clopen 就把二者永远分开,故不可能存在连通的非平凡子集:全不连通。这样的空间恰是拓扑学中的 Stone 空间(紧、Hausdorff、有 clopen 基)。
为什么对。完全型对每个公式恰好容纳其一面,这正是超滤子的「对每个元素,恰含它或它的补」;容不下矛盾对应「不含空集」;对有限交封闭对应「含交」。反之,一个超滤子逐条读出来就是一个极大相容集。这就是 Stone 表示定理在模型论中的化身:型空间是布尔代数的 Stone 对偶。
例 5.11(计数)。取 T = Th(ℚ, <),参数集 A 有 m 个元素。型空间的点数恰为 2m + 1:每个参数本身给出一个「等于」型(孤立点),相邻参数之间以及两端共 m + 1 个「区间型」(非孤立点)。实验页将用程序把这 2m + 1 个型逐一枚举出来,亲眼核对计数公式。这张图:它把「型」变成了直线上可数、可视的点。
★★★★ 型空间画出了「可能的样子」的全景,现在问:一个具体模型实现了其中多少个?实现得越多,模型就越「满」、越难被进一步扩充——这就是饱和。饱和模型是本章及整门学科最常用的工作台。
证明要点(逐坐标)。只需从 1-型推出 n-型。对 p(x1, …, xn) 逐步实现:先取 a1 实现 p 在 x1 上的投影(1-型,可用);再取 a2 实现 p 在 x2 上的投影——注意此时参数集扩为 A ∪ {a1},其势仍 < κ,1-饱和给出 a2;如此 n 步后 (a1, …, an) 实现 p。∎
说理小段:为什么饱和有用。在一个不饱和的模型里,构造元素总要顾忌「这一步跨出去会不会掉出模型」;而在饱和模型里,任何一致的要求都能立刻兑现——只要不冲突,就有一个元素满足它。这把「构造」从「小心翼翼的施工」变成了「按需取用」,是本章之后所有「monster 模型工作法」的技术前提。饱和模型的存在性与唯一性,是紧随其后的两节。
★★★★ 饱和模型回答「哪些型被实现」,齐次模型回答「同一个型里的元素能不能互相搬运」。两者合在一起,就得到本章第一个大判据:同理论、同势的饱和模型彼此同构。
齐次性是一条「型即轨道」的原理:两个元素能被自同构互换,当且仅当它们有同一个型。这使型空间上的每个点都对应模型元素的一条轨道,模型的自同构群便与型空间联成一体。
证明(背—前进)。把 M 与 N 都枚举成长度为 κ 的序列。递归构造一对递增的初等映射链
逐步让定义域扫过 M、值域扫过 N。关键是每一步都能延拓:设当前 f 的定义域为 A,|A| < κ。前进时取 m ∈ M 尚未处理,考察 p(x) = tp(m/A)——这是 S1(A) 的一个点;把 p 经 f 搬到 N 上得型 pf(f 保公式,故仍是相容型),由 κ-饱和取 n ∈ N 实现它,令 f(m) = n;后退时对称地把 N 的新元素拉回 M,同样用饱和度。每一步后 f 仍保公式(因为新元素实现了相同的型)。κ 步后定义域、值域都扫遍,得到双射且保公式的同构。∎
monster 模型工作法。分类纲领里通常固定一个「足够大」的 κ̄-饱和、κ̄-齐次模型 𝕄,大到容纳研究中所用的全部小模型与小参数。在 𝕄 中工作的好处有三:任何一致的型都实现,不必再为「元素存不存在」操心;型相同的元素可由自同构互送,故「相对 A 的型」就是「相对 A 的自同构轨道」;小参数集之间的每个初等映射都能延拓成整体自同构。从本节起,凡出现 𝕄,都可把它当作「型空间的全景图」本身。
★★★★★ 本节是第五章的高峰,也是二十世纪模型论的分水岭:Morley 定理(1962)把「同构意义下的模型计数」从算术问题提升为一门分类科学。
定理的分量。范畴性本是「逐个势计数」的问题:ℵ1 上只有一个模型,凭什么保证 ℵ7 上也只有一个?Morley 定理断言:在可数语言里,一个不可数势上的唯一性会沿着整条不可数阶梯自动复制。这正是「一个例子定全局」的奇迹,也解释了它为何开启了整个分类纲领。
证明思路(三个台阶)。
附带产物。为证明定理,Morley 顺手锻造了两件此后独立成家的工具:ω-稳定(totally transcendental)与Morley 秩。它们让「理论有多复杂」第一次有了序数刻度,也把范畴性问题翻译成「型空间的几何结构」问题——这正是 §5.7–5.10 要展开的三件兵器。1970 年代 Baldwin 与 Lachlan 进一步证明其逆:可数完全理论不可数范畴,当且仅当它 ω-稳定且没有 Vaughtian 对。
★★★★★ 稳定理论是「型不太多」的理论。SheLah 的分类纲领把全部完全理论按稳定度排进一座大厦,而代数闭域、向量空间这些「好」结构都住在高层的稳定区。
不可分序列与 Ramsey。证明「无序性质 ⟺ 不稳定」的关键工具是不可分序列:序列 (āi : i ∈ I) 称为在 A 上不可分的,若任意两个同长的递增元组都有相同的型(相对 A)。Ramsey 定理的模型论化身给出:任何无限序列都含一个无限不可分子序列。有了它,型空间里的「顺序模式」便被整齐化,稳定性定理的形式化证明随之落地。
| 理论 | 稳定度 | 原因 |
|---|---|---|
| ACF(代数闭域) | ω-稳定 | 量词消去后型由超越次数决定 |
| 无限向量空间 | 稳定(强极小) | 可定义集只是一些点与余有限集 |
| DLO(稠密序) | 不稳定 | 小于号本身就是序性质 |
| RCF(实闭域) | 不稳定 | 序及其诱导的型增长过快 |
说理小段。为什么「型不多」如此要紧?因为分类的终极目标是「用不变量刻画模型」。型是模型可被描述的最小单位;型越少,可能的模型就越受约束。在 ω-稳定这一层,型由有限维的「独立基」决定,模型便由维数决定——这就是 §5.8 的免秩与分叉要兑现的承诺。
★★★★★ 线性代数用「线性无关」定义维数,域论用「代数无关」定义超越次数,模型论则用不分叉(non-forking)定义一般理论中的独立。本节把这套「维数语言」搭起来。
直觉先行。「分割」是「参数一动就自相矛盾」:把参数沿不可分序列平移,公式们再也无法共存,说明该公式对参数过度敏感,没有内容上的稳定基础。「分叉」是「用有限个这种敏感公式去覆盖」:一旦型分叉,它就承诺了太多只能在一处成立的信息,无法自由复制。不分叉则相反——它可以被任意搬运,是自由的、可扩展的。
为什么对称与传递是核心。这三条(存在、对称、传递)连同局部刻画,正好构成抽象「独立性关系」的公理组,与线性代数的线性无关、域论的代数无关共享同一副骨架。有了它们,才谈得上「基」:极大免分叉集的大小就是维数。稳定理论中这个维数不依赖基的选取,因此是模型的不变量。
说理小段。为什么「对称性」不易得?在一般(不稳定)理论里,独立性可能只单边成立,无法定义维数。稳定理论恰好能让独立性两端对称,代价是理论必须「型不多」。这解释了为何 Morley 定理的第一步要费力把范畴性翻译成稳定性——维数报账的前提,是理论足够温顺。
★★★★★ 把「维数」推向最纯粹的情形,就得到本章几何味最浓的概念:强极小集。它是模型论几何的起点,也是当代应用模型论在代数几何与数论中建功的技术底座。
强极小的几何。在强极小集 D 上定义代数闭包
为什么交换公理是灵魂。它说:「a 因为 b 才被锁定」——那么反过来「b 也因为 a 被锁定」。这条双向性正是「基可以任意替换元素」的全部秘密。线性无关、代数无关之所以都能定义维数,根本原因就是它们都满足交换公理;强极小集的几何地位,也在于它把这条公理推广到了任意理论的可定义集上。
说理小段。强极小集为什么成为应用模型论的主力?因为它把「可定义集的维数」变成了一张可计算的账:维数相加、相减、比较都有明确含义。在代数几何里,维数是对象的粗细;在模型论里,维数是从语言出发定义的,因而可以跨越不同的结构搬家——这正是 §5.17 中 Hrushovski 证明 Mordell–Lang 猜想时最依赖的一条腿。
★★★★★ Morley 定理(§5.6)证明了「某个不可数势上的唯一性会复制到一切不可数势」。本节把「唯一性」这个单点结论升级为一条完整的计数曲线:对每个基数 κ,数一数理论 T 有多少个基数为 κ 的模型。模型论的分类纲领,归根到底就是这张账本。
谱比「范畴与否」更细。I(T, κ) 可以取 1、ℵ0,或最大可能值 2κ(基数为 κ 的模型至多 2κ 个,这是硬顶)。三层范畴性由此排成阶梯:可数范畴(ℵ0-范畴)、不可数范畴(Morley 定理管辖的那一层)、以及最严的绝对范畴(一切无限势上都范畴)。可数层的判据与不可数层截然不同。
为什么四条等价。②⟺③:可数语言中只有可数多个公式,故型空间若无限,它作为可数紧 Hausdorff 空间必有非孤立点,即存在非主型;反之型有限时每个点都被单公式孤立。②⟺④:可数模型的齐次性使「同一自同构轨道」与「同一型」互为充要(背—前进,§5.5),故轨道数正是 |Sn(∅)|。①⟺②:两个可数模型之间的背—前进能否走通,只取决于型空间是否有限。
可数范畴与不可数范畴并不互相蕴含。稠密线性序 Th(ℚ, <) 两样都占(S1(∅) 只有一点),而代数闭域 ACF0 只在不可数层范畴——它在 ℵ0 上有可数多个模型(按超越次数分家),故 I(ACF0, ℵ0) = ℵ0。§5.11 将回到这个例子。
定理的分量。Morley 说「一处范畴 ⟹ 处处范畴」,Shelah 补上了另一半:「一处不范畴 ⟹ ℵ1 处已然爆满」。两条合起来,谱函数在不可数层上只剩两种极端形态:恒等于 1,或从一开始就顶格。「不温不火」的谱被彻底排除——这正是 Morley 定理能升格为「分类纲领」的算术底账。落在哪一档,答案同样干净:
说理小段。谱定理把「数模型」翻译成「理论温顺到什么程度」的语法性质:不可数范畴性等价于 ω-稳定加无 Vaughtian 对。§5.7–5.9 的稳定性、秩、强极小集,正对应账本里的每一栏。更上一层,绝对范畴的理论被 Cherlin–Mills–Zilber(1985)刻画为由「一个有限结构加上一个局部模的几何」决定;「局部模」正是 §5.16 将从型里取出的可定义群结构。
★★★★ 理论好不好,要看它能不能把「型」算清楚。代数闭域是第一个把型算到彻底透明的大样本:一个元素的型只由「它对基域代数还是超越」决定。本节把 §5.9 的强极小维数兑现为域论里的超越次数,完成一次漂亮的会师。
强极小。取一个元素 x。量词消去后,一个 A-可定义子集由形如 f(x) = 0 的等式(系数在 A 中)有限交并而成。单个 f(x) = 0 只给有限集(除非 f 恒等于 0,那才是全体),故任何可定义子集有限或余有限——ACFp 是强极小理论,§5.9 的机器全部适用。
代数闭包即代数闭包,维数即超越次数。在 ACFp 里,acl(A) 恰好等于 A 在 𝒦 中的代数闭包(域意义下的那个),交换公理(§5.9)则是「代数相关」对称性的化身。acl 给出的预几何维数,正是域论里的超越次数:dim(A) = tr.deg(k(A)/k)。上一节的抽象维数,在这里落了地。
说理小段。代数闭域把「维数决定模型」这条对应做到了教科书式的完美:超越基的大小就是模型的大小标签,§5.8 里抽象的「基等势、维数是不变量」在此还原成一句域论常识。它也提示不可数范畴与可数范畴确实分家:ACFp 在每一层不可数势上只有一个模型,却在可数层上挤着 ℵ0 个互不同构的模型。「不可数唯一」与「可数唯一」是两回事——这正是谱定理(§5.10)分层看待的原因。
★★★★ 代数闭域是「稳定而强极小」的模范。本节端出另一极的标本:实闭域。它不稳定(序符号本身就带序性质,§5.7),却依然温顺,温顺的名号叫 o-极小。这条属性绕开了稳定理论,另辟一条定义维数的路。
RCF 是 o-极小的。由量词消去,一维可定义集由多项式条件 f(x) = 0、g(x) > 0 之类布尔组合而成。多项式只有有限多个根,故「等号」给有限个点,「不等号」给有限段开区间,布尔组合仍是「有限点 + 有限区间」。例:x2 > 2 在 ℝ 上定义 (−∞, −√2) ∪ (√2, +∞);x3 − x = 0 只定义三个点 {−1, 0, 1}。
型长什么样。RCF 不稳定,故 §5.8 的「免秩、分叉」不再适用;但 o-极小把型读成了序型的局部行为。取 ℝ 作参数集,S1(ℝ) 的点除了「等于某个实数」这些主型之外,还夹着大量非主型:每个实数都可在其左右两侧各看作一个「缝隙」型的出处,再远些还有「比一切实数都大」与「比一切实数都小」两类无穷型。一维型空间把实直线层层加厚:实数点、点的左右邻域型、以及两端 ±∞ 的无穷型。
说理小段。RCF 与 ACF 的对立在模型论里是一场经典的对照实验:ACF 稳定却不带序,RCF 带序故不稳定,却以 o-极小换回秩序。两条路都能产出「维数」,但驱动的机器不同——一条靠「型少」的稳定性,一条靠「一维可定义集」的拓扑简单。§5.17 将看到,正是 o-极小这一支在数论与算术几何里(Pila–Wilkie)立下大功。稳定不是通向分类的唯一门票。
★★★★ 如果说代数闭域是「强」的模范,无限向量空间就是「朴素」的模范:它的型、维数、分类全都可以用一句话的线性代数说尽。看穿这个例子,§5.8 的「独立性 = 线性无关」就不再是比喻,而是恒等。
为什么强极小。先看可定义集长什么样。向量空间里一切运算都是线性组合,而标量都是可逆的一元函数,于是一元公式只能切出「有限集」或「全体」。把这一观察推广到任意参数集,得:V 的任一可定义子集有限或余有限——正是强极小(§5.9)的定义。
从模范到丛林。向量空间之所以好,是因为它的代数运算少到可以穷尽。一旦把一个「更富」的代数结构放进模型论的镜头,型空间立刻变得拥挤:群的结构可以编码大量信息,一般群论(乃至一般环论)里既生活着稳定的理论,也生活着不稳定的理论,而许多自然出现的理论,其型空间的复杂程度根本无法用一条「维数」整理。分类纲领因此有一条务实的分工:先把温顺(稳定、o-极小)的理论做全分类,再逐步向丛林推进。向量空间与代数闭域,就是这把梯子的第一、第二级台阶。
说理小段。把三个标本并排:ACF(稳定,带域结构)、向量空间(稳定,纯线性)、RCF(不稳定,带序)。前两个的模型完全由维数决定,第三个改用 o-极小的胞腔维数。模型论的一条主线在此显影:找对「维数」,理论就能被分类。下一节转向模型之间的组织方式——初等子模型格,把「一个模型」的解剖升格为「模型族」的地形。
★★★★ 前面几节解剖的是「一个模型」。本节换个视角,把同一理论的全部模型作为一个整体来组织:模型之间何时可以嵌入、初等子模型如何排成链与格,是饱和构造(§5.15)与 monster 工作法(§5.5)赖以成立的地形图。
普通子结构与初等子结构差别巨大:在 (ℝ, +, ·, <) 里,子结构 (ℚ, +, ·, <) 使「2 有平方根」取假、母结构取真,故 ℚ 不是 ℝ 的初等子结构。「初等」一词抹掉了这类分歧:凡在式中能问的问题,二者答案一致。
判别法的用处。只需检验「存在量词能被 M 中的元素见证」,就能断定全部公式的满足关系一致——这把「逐公式核对」压缩成「只查存在句」。它的具体化身就是 Skolem 函数:为每个存在句配一个挑选见证的函数,反复取闭包便得初等子结构。
为什么对。用 Tarski–Vaught 核对。设 ℳ ⊨ ∃x φ(x, ā),其中 ā ∈ M。ā 只含有限个元素,故落在某个 ℳβ 里;由 ℳβ ≺ ℳ 与存在句在 ℳ 中为真,见证 m 可取在 ℳβ 中,自然也在 ℳ 中。
组织模型的三件套。把上述工具摆在一起,同一理论的模型族便显出三层结构:链(沿着初等扩张向上攀,直到足够饱和)、格(固定参数集后,含该集的初等子模型对交封闭,而并则需取生成的初等子结构,即所谓 Skolem 闭包,于是形成格)、等价类(𝒜 ≡ ℬ 当且仅当二者有公共初等扩张,也当且仅当同理论)。这三层结构是下一节构造饱和模型的脚手架。
说理小段。为什么模型之间需要「初等」这层关系?因为只有初等子结构之间才谈得上「同一理论的两个局部」。普通子结构可能改变真假(ℚ 之于 ℝ),使比较失去意义;初等子结构把真假固定住,模型族才成为一个有序的、可用链与格来度量的大对象。把「模型」从孤立的标本变成「地形上的坐标」——这正是本章后半段一切构造的地基。
★★★★ §5.4 说饱和模型「每个型都实现」,§5.5 说同势饱和模型唯一。可一个理论究竟有没有饱和模型?本节把「实现型」变成一场可以走完的施工,靠紧致性保证每一步不塌。这套方法同时兑现 §5.2 欠下的省略型定理。
构造(紧致性 + 初等链)。
为什么需要大基数。第四步要同时保证两件事:κ 步后模型的大小仍是 κ,且「参数势 < κ 的型」数目也被 κ 控制。这要求 κ 正则且强极限,即 κ = κ<κ(等价于「λ < κ ⟹ 2λ < κ」)。这样的 κ 称为不可达基数。分类纲领里选用的 monster 模型,正是建立在一个这样的基数之上:它一次性地把「所有可能用到的型」安置妥当。
证明思路(Henkin 构造)。取一列新常量 c0, c1, …,同时维护两个要求:① Henkin 性——每当有相容的存在句 ∃x φ(x),就取一个新常量 c 并补写 φ(c),让见证落到具体元素上;② 排挤性——同一个 c,再补写一句 ¬ψ(c)(某个 ψ ∈ p),使 c 满足 φ 却不满足 ψ。两要求不冲突的关键正是非主性:对任意相容公式 φ,必存在 ψ ∈ p 使 T ⊬ φ → ψ——否则 φ 就孤立了 p。于是 φ(c) ∧ ¬ψ(c) 仍相容,紧致性允许两句同时补写。以可数多步穷尽全部「存在句 × 常量 × p 的公式」,所得 Henkin 理论的常量项模型可数,且每个元素都因某句 ¬ψ 逃出 p。∎
说理小段。这一节把本章的两件工具正式接上:紧致性负责「总能再补一笔」,初等链负责「把所有笔数攒成一个大模型」。省略型定理与饱和扩张定理是同一枚硬币的两面——前者用紧致性把元素「排挤」出某个型,后者用紧致性把元素「塞进」某个型。同一台机器,正着用与反着用,一个造出「瘦」模型,一个造出「满」模型。模型论对「存在性」的全部信心,都来自这条正反两用的紧致性通道。
★★★★★ 型空间不只记录「元素的样子」,还暗藏代数结构。在稳定理论里,把某种对称性下的一族型取出来,它们的「平移」会自动凑成一个群——这就是可定义群。本节走通「型 → 群」这条路,它是应用模型论的技术心脏。
可定义群是代数群的一般化:代数闭域里的代数群(GLn、加法群 𝔾a、椭圆曲线)都是可定义群;而可定义群还能(在纯逻辑意义下)出现在完全不含代数的结构里。一条基本事实把「群」与「型」焊在一起。先把关键的型定义出来:
为什么重要。泛型型把「群」这件纯代数对象翻译成「型空间里的一个点」。有了这个点,群论里的「一般位置」「几乎处处」这些直觉,就能用型论里的「泛型」「维数」精确重述。对稳定理论中的可定义群,群运算与型运算一一对应:相乘对应型的平移,求逆对应型的反转,子群对应型之间的闭包关系。
反向工程:群配置。定理 5.52 从群出发找型;反过来,型也能从零「长」出群。Hrushovski 的群配置定理给出:若在型空间里出现一个由若干「独立」与「不独立」关系构成的六元格局(三对共线、三条两两独立的轴),则可从这些型中定义出一个可定义群,并解释出该群作用在有关参数上。这把「型」提升为「几何的对象」,再从几何对象读回代数结构——是几何稳定性理论的成名之作。
说理小段。「从型到群」之所以震撼,是因为它把两件看似无关的事对上:型是描述性的(一个元素满足哪些公式),群是运算性的(元素之间怎样相乘)。定理说,在足够温顺的理论里,描述性结构会自动孕育出运算结构。这条通道的终点,是 §5.17 要展示的:用可定义群与几何,证明数论里关于整点与割点的深定理。
★★★★★ 本章的机器——型、饱和、稳定性、维数、可定义群——不是逻辑学家的玩具。二十世纪九十年代以来,它们被直接拿去证数论与算术几何里悬置多年的猜想。本节把两条战功摆在面前,作为全章的收官。
这条猜想的来历。Mordell(1922)证明了亏格 ≥ 2 曲线上整点有限;Lang 把它推广到阿贝尔簇上的一族点。数域情形由 Faltings(1983,Mordell 猜想)与 Vojta、Faltings 逐步攻克;而函数域情形久攻不下,最后由 Hrushovski 用模型论一举拿下。他实际证明的是更强的「Hrushovski 定理」——关于代数闭域上有限秩结构的 Manin–Mumford 型结论。
证明的模型论骨架。三步:① 把问题翻译成 ACF0 里的型与可定义集,用 §5.11 的强极小维数记账;② 用 §5.16 的群配置从型几何中取出可定义群(这里是阿贝尔簇的局部结构);③ 在这个可定义群上做「维数递降」,逐步把 X ∩ Γ 的维数压到零,得到有限个陪集。维数每降一次,就剥掉一层无关的平移。
o-极小为何管用。RCF 的可定义集只有有限点加有限区间(§5.12),其「胞腔分解」使可定义集的行踪极为规矩。Pila–Wilkie 把这条规律搬进算术几何:把要数的对象(如 j-不变量、挠点)嵌进一个 o-极小的环境,再用胞腔计数压住「非特殊点」的数量,剩下的便是猜想要找的那批特殊点。一个纯拓扑式的「形简单」条件,最终换来了数论的构造性结论。
回望第五章。从「型」出发,我们走过型空间、饱和、齐次、Morley 定理、稳定性、秩与分叉、强极小集、谱定理,再到可定义群与实际战功。这一整条链的每一环,都是同一个朴素问题的不同侧面:一个模型里,元素的「处境」有多少种,它们怎样被组织起来?下一章的力迫法将换一个方向发问——不是解剖既有的模型,而是用布尔值构造全新的模型。
本页三道例题分别演练「满足关系」「可定义集」「初等子结构」三件基本功。每道给出完整解答,读完自己把每一步与讲义中的定义对照一遍。
例 5.56(型空间计数与实现)。取 T = Th(ℚ, <),参数集 A = {a1, a2, a3} 且 a1 < a2 < a3。求 S1(A) 的大小,并指出哪些型在 ℚ 中被实现。
解。稠密线性序的型由「一个元素相对参数的位置」唯一确定:x 要么等于某个 ai,要么落在某两个相邻参数之间,要么在所有参数之外。共 2 · 3 + 1 = 7 个型:
① 三个「等于」型 x = a1、x = a2、x = a3——主型,被 x = ai 孤立;
② 四个「区间」型 x < a1、a1 < x < a2、a2 < x < a3、x > a3——非主型。
答。|S1(A)| = 7。由于 (ℚ, <) 是 ω-饱和的(§5.4 例 5.14),每个区间型都可由区间内的有理数实现,故 七个型全部被实现。∎
例 5.57(求可定义集)。在 ℝ 的语言 {+, ·, <, 0, 1} 中,求公式 φ(x) : x2 + x < 2 所定义的可定义集。
解。移项得 x2 + x − 2 < 0,因式分解 (x + 2)(x − 1) < 0。两根为 −2 与 1;二次式开口向上,故在两个根之间取负号。
答。φ(ℝ) = (−2, 1),一个开区间——它是 o-极小结构里「有限点加有限区间」的一个标本(§5.12)。∎
例 5.58(初等子结构判定)。判断 (ℚ, <) 是否为 (ℝ, <) 的初等子结构;再说明 (ℤ, <) 为什么不是 (ℚ, <) 的初等子结构。
解。首句用 Tarski–Vaught(定理 5.46)。取有限参数 a1, …, an ∈ ℚ 与公式 ∃x φ(x, ā) 在 ℝ 中为真。语言只有 <,可满足的 φ 只要求 x 落在某两个相邻参数之间或某端点之外——这样的区间非空即由稠密性含有理数,故见证可取在 ℚ 中。于是 (ℚ, <) ≺ (ℝ, <)。
次句给出反例:在 ℚ 中「存在元素严格介于 0 与 1 之间」为真(如 1/2),而在 ℤ 中为假。同一句存在句在母子结构里真假不同,故 (ℤ, <) ⊀ (ℚ, <)。
答。(ℚ, <) ≺ (ℝ, <) 成立;(ℤ, <) 因「0 与 1 之间有无元素」一句而失格。∎
复盘。三道例题分别落在本章的三个层次:型(例 5.56,型空间与实现)、可定义集(例 5.57,量词消去后的「形」)、模型之间的关系(例 5.58,初等子结构)。它们共用同一条判断链——先写清语言,再看满足,最后查关系。例 5.58 的反例尤其值得记住:一个存在句的真假差异,就足以否定初等性。
本页三道例题演练本章的另一半本事:用紧致性「造模型」,用模型「判独立」。造出的模型往往反直觉——非标准数、不可数模型,都是紧致性的产物。
例 5.59(非标准自然数)。证明:Th(ℕ, +, ·, <, 0, 1) 存在一个模型,其中含有比一切标准自然数都大的元素。
解。扩充语言,添加一个新常量 c,并考虑公式集
答。定义 Σ 后紧致性立得。这个模型称作 ℕ 的非标准模型(§2 已用过同一手法),其中的非标准元是算术里「不可数级别」的怪客。∎
例 5.60(一句独立性)。记 DLO 为稠密线性序理论(无端点)。证明「存在最小元」这句在 DLO 中既不可证也不可否证。
解。要证独立,需给出 DLO 的两个模型,一个使该句为真、一个为假。取 ℳ1 = (ℚ, <):稠密、无端点、无最小元,故「存在最小元」为假。取 ℳ2 = ({x ∈ ℚ : x ≥ 0}, <):它在正有理数上稠密、右侧无端点、且以 0 为最小元,故该句为真。两句模型都满足 DLO,却对这句话判决相反,说明 DLO 推不出它,也推不出它的否定。
答。「存在最小元」独立于 DLO:ℚ 与正有理数序各作一方反例。∎
例 5.61(造不可数模型)。证明存在势为 ℵ1、且初等等价于 ℕ 的模型。
解。两条路线。① 上行 Löwenheim–Skolem:Th(ℕ) 有无限模型 ℕ,故对任意大势 λ 都有势为 λ 的模型,取 λ = ℵ1 即得。② 紧致性直造:添加 ℵ1 个新常量 cα(α < ℵ1)与公理 cα ≠ cβ(α ≠ β),有限可满足性显然(ℕ 无限),紧致性给出一个至少有 ℵ1 个元素的模型;再下降(下行 Löwenheim–Skolem,定理 5.48)到势恰为 ℵ1。
答。该模型含不可数多个「非标准」级别的元素,却与 ℕ 满足完全相同的一阶句子——这就是「初等等价不蕴含同构」的实例。∎
复盘。三题一脉相承:紧致性是造模型的模具,反例是判独立的唯一凭据。例 5.59 与 5.61 都用「添加常量 + 无限多条约束」的同一模板,例 5.60 则示范了最朴素也最有效的独立性判法——造两个模型,让目标句一真一假。讲义里那些看似抽象的存在性定理,动手时都落在这几个固定动作上。
习题 5-1(写公式)。① 在语言 {<} 中写出公式表示「x 是最大元」;② 在语言 {+, ·, 0, 1} 中写出公式表示「x 是 0 的平方根」;③ 在语言 {+, ·, 0, 1} 中写出「x 是特征 0 域里的整数」(提示:一阶语言写不出这个集合,说明障碍在哪一步)。
提示。① ∀y(y ≤ x),其中 y ≤ x 是 y < x ∨ y = x。② x · x = 0(等价地说 x = 0,因整数无零因子)。③ 整数集需形如「x = n · 1 或 x = −n · 1」的无限析取,一阶语言只允许有限长公式,故 ℤ 在 (ℂ, +, ·, 0, 1) 中不可定义——这是「紧致性⇒非标准元」的另一面。
习题 5-2(满足关系)。判断下列各式的真假,并各给一句理由:① (ℚ, <) ⊨ ∀x∃y(y < x);② (ℕ, <) ⊨ ∃x∀y(x ≤ y);③ (ℝ, +, ·, <) ⊨ ∃x(x2 + 1 = 0)。
提示。① 真:无最小元,每个有理数都能再小。② 假(在 ℕ 的标准解释下是真:0 即最小元;题目若指 (ℕ, <) 则真,留意题面所取的解释——这是语义依赖于结构的第一次提醒)。③ 假:实数的平方非负,x2 + 1 > 0 恒成立;而在代数闭包 ℂ 中该句为真。
习题 5-3(可定义集)。在 ℝ 中求公式 x2 ≤ x 所定义的可定义集;再判断它是否「有限或余有限」(对照 §5.12 的 o-极小)。
提示。x2 − x ≤ 0 ⟺ x(x − 1) ≤ 0 ⟺ x ∈ [0, 1]。它是闭区间,仍是「有限点与有限区间的并」——符合 o-极小;但它既非有限也非余有限,故 RCF 满足 o-极小却不强极小。这一题正对照 §5.12 与 §5.9 的差别。
习题 5-4(型空间计数)。取 T = Th(ℚ, <),参数集 A 有 4 个元素(已排序)。写出 |S1(A)|,并指出哪些点在型空间中是非孤立点。
提示。公式 2m + 1 给 9 个型:4 个「等于」主型(孤立点)加 5 个「区间」型(非孤立点:两端各一个、相邻参数之间四个)。与图 5-18 的 m = 3 情形并读,可亲眼核对计数公式。
习题 5-5(等价与同构)。举出一对初等等价但不同构的结构,并说明「初等等价」为什么放不出「同构」。
提示。(ℚ, <) 与 (ℝ, <):二者都满足 DLO(稠密、无端点),故初等等价;但 ℚ 可数而 ℝ 不可数,基数不同,必不同构。根源是初等语言只能说「有限长」的话,管不到基数的整体差别——这正是 Löwenheim–Skolem 与紧致性反复利用的缝隙。
方法论小记。本页五题把「语言 → 结构 → 满足 → 可定义集」这条链走了一遍。记住三句话:公式的强弱取决于语言;真假取决于结构;同构与否,语言说了不算。下一课的习题转去模型构造与元定理,把它们当工具使。
习题 5-6(紧致性造模型)。证明:若一阶理论 T 有任意大的有限模型,则它有无限模型。
提示。给每个 n 添一句「至少有 n 个不同元素」,即 ∃x1…xn ⋀i<j xi ≠ xj。任取有限多条,由「任意大的有限模型」保证可满足;紧致性给出整体模型,其元素无限。这是「有限可满足 ⇒ 有模型」的最标准用法。
习题 5-7(Löwenheim–Skolem 的势)。证明:Th(ℚ, <) 在每一个无限势上都有模型。
提示。(ℚ, <) 是无限模型,用上行 Löwenheim–Skolem 造出任意大势 λ 的模型;再用下行 Löwenheim–Skolem(定理 5.48)把每一个 λ ≥ ℵ0 缩到恰好势 λ。特别地,Th(ℚ, <) 在不可数势上不被基数钉住——这正是谱定理(§5.10)要数的东西。
习题 5-8(省略型定理的应用)。在语言 {<, c0, c1, …} 中,令 T 断言 c0 < c1 < ⋯ 且为稠密无端点序。说明型 p(x) = { cn < x : n ∈ ℕ } 是非主的,故有可数模型省略它。
提示。非主性:任何单公式只与有限多个 cn 相关,而 p 要求大于全体,故无公式能孤立它。由省略型定理(定理 5.50)存在可数模型省略 p——直观上是让 cn 序列在模型内无上界。反之,添加「cn < x(全体)」并用紧致性,可得实现它的模型——同一型的两种命运。
习题 5-9(饱和与否)。证明 (ℚ, <) 是 ω-饱和的,而 (ℤ, <) 不是。
提示。ℚ:给定有限参数,每个「区间型」都被区间内某个有理数实现,图 5-18 已画清 |S1(A)| = 2|A| + 1 且每点有实现。ℤ:型「a < x < a + 1」(a ∈ ℤ)与 Th(ℤ, <) 相容(在初等扩张中可实现),却无整数实现——ℤ 有紧邻,缝隙被堵死。
习题 5-10(范畴性与独立性)。① 说明 ACFp 在不可数势上范畴而在 ℵ0 上不范畴;② 证明「稠密序无端点」加上「< 有最小元」在 DLO 中独立(提示参照例 5.60)。
提示。① 由 §5.11:不可数模型由超越次数决定(唯一),可数模型按超越次数分家(ℵ0 个同构类)。② 造两模型:ℚ(无最小元)与正有理数序(有最小元 0、右端无端点、稠密),两者都满足 DLO,故该句独立。这一题是本章全部「独立性判法」的缩影。
方法论小记。五道题对应四种元定理:紧致性(5-6)、Löwenheim–Skolem(5-7)、省略型(5-8)、范畴性(5-10),外加饱和的具体检验(5-9)。元定理不是用来背的,而是用来「造对象」的模具——每个构造都从「添加常量 + 有限可满足」这句口诀长出来。
第五章 17 节的概念依两条线铺开:一条是「型 → 空间 → 饱和 → 范畴性」的解剖线,一条是与之交织的「实例与构造」线。本页把两条线画成一张线路图,箭头 A → B 表示「B 的定义或证明用到 A」。
读图的顺序。从上排左上角起:型是原料,实现与省略给出型与元素的关系,型空间把所有型摆成一个拓扑对象;上排右段的饱和与齐次回答「哪些型被实现、同型的元素能否互相搬运」,构成第一个大判据的机关。中排从 Morley 定理起,向下经由稳定性、秩与分叉、强极小,把「范畴性」逐层翻译成「型不太多且有维数可算」,最后在谱定理处收束为「不可数层只剩两态」。下排是构造线:实例(代数闭域、实闭域、向量空间)用来检验解剖线的每件工具;子模型格与饱和构造提供搭模型的手艺;可定义群把型的几何变成代数;应用再把它们送进数论与算术几何。
通向外部的接口。① 型空间与超滤子 → 与相邻领域的布尔代数表示定理对接;② 饱和模型的构造(§5.15)→ 第六章 monster 模型与力迫扩张的工作台;③ 强极小维数与可定义群(§5.9、§5.16)→ 算术几何与 Mordell–Lang 的入口;④ o-极小(§5.12)→ 第四章量词消去机器在实数上的续写。本章是全书的技术枢纽:往前的紧致性、量词消去在此变浓,往后的力迫与应用在此起跑。
三条读图纪律。其一,实线看依赖,虚线看往返——带虚线的箭头(如「实例」到「稳定性」、「饱和构造」到「齐次」)表示两个方向互相使用:实例既检验理论,也启发新定义;构造既依赖齐次性,也为齐次性提供模型。其二,紫色框是出口——谱定理、可定义群、应用三格连着代数几何与数论,本章的抽象劳动在此换成外部战果。其三,遇到卡壳就回溯到型:全章一切定义都能顺着箭头退回 §5.1 的「型」;只要「型」清楚,整棵树就活了。
本页任务。把 §5.1–5.6 的「型与型空间、饱和与范畴性」浓缩成三张卡片,重点在语法对象(公式集、型)与语义对象(元素、模型)之间的一一翻译。
卡片一:型=语法与语义的接口。一个型是「极大相容公式集」(纯语法对象,Sn(A) 的一个点),同时又等于「某个元组的全部真话」(纯语义对象,tp(ā/A))。§5.2 的两条基本事实:部分型必可补成完全型(紧致性);主型必被每个模型实现,非主型可被省略(省略型定理)。「实现」是本章一切构造的枢纽动词。
卡片二:型空间是 Stone 空间。[φ] = { p : φ ∈ p } 取为基,得紧致、Hausdorff、全不连通的拓扑(§5.3)。紧致性=紧致性定理;全不连通=「对每个公式恰好判一面」。型与布尔代数 B(A) 的超滤子一一对应——这是 Stone 表示定理在模型论里的化身。直线上参数把空间切成若干缝隙,孤立点是主型、其余是割。
卡片三:饱和、齐次与范畴性。κ-饱和=「参数势 < κ 的型都实现」(§5.4);κ-齐次=「同型元组可由自同构互送」(§5.5)。二者合起来给出唯一性定理:同势的饱和齐次模型同构。由此 Morley 定理(§5.6)把「一个不可数势上的唯一」升级为「一切不可数势上的唯一」,其证明三台阶为:范畴性 ⇒ ω-稳定 ⇒ 无 Vaughtian 对 ⇒ 饱和 ⇒ 唯一。
三个必背判据。① 可数范畴性的 Ryll-Nardzewski:ℵ0-范畴 ⟺ 每个 Sn(∅) 有限 ⟺ 每型皆主型(§5.10)。② 不可数唯一性:κ-饱和 + κ-齐次 ⟹ 同势同构(§5.5)。③ Morley:一个不可数势范畴 ⟹ 一切不可数势范畴(§5.6)。
易错三坑。① 把「初等等价」当成「同构」——ℚ 与 ℝ 是反例;② 忘掉饱和需要「大基数」(不可达)支撑,误以为任意模型都饱和;③ 把非主型一律当成「没人实现」——非主型只是「可被省略」,仍可能被某些模型实现(§5.2 例 5.7)。
本页任务。把 §5.7–5.17 的「稳定性、维数与构造」浓缩成三张卡片,并给出全章的速度对照表。
卡片四:稳定性是一切「维数」的地基。没有序性质的理论称稳定(§5.7);稳定 ⟺ 型不多(|Sn(A)| ≤ |A| + |T| + ℵ0)。层级:ω-稳定 ⟹ 超稳定 ⟹ 稳定 ⟹ 一般。在稳定理论里,免分叉独立性(§5.8)满足存在、对称、传递、局部刻画四条公理,与线性无关、代数无关共用一副骨架;极大免分叉集的大小就是维数。
卡片五:强极小与模型论几何。可定义集 D 强极小=每个可定义子集有限或余有限(§5.9)。此时 acl 构成预几何,满足交换公理,给出拟阵与维数。三个标本各显其能(§5.11–5.13):ACF 维数=超越次数;向量空间 维数=线性维数;RCF 不稳定但 o-极小,改用胞腔维数。谱定理(§5.10)在不可数层上只剩「恒为 1」与「ℵ1 顶格」两态,由 Baldwin–Lachlan 定理给出「ω-稳定 + 无 Vaughtian 对」的判据。
卡片六:构造与接口。初等子模型格(§5.14)给模型族铺上链与格;紧致性 + 初等链造出饱和扩张并顺带证明省略型定理(§5.15);泛型型与群配置把型几何翻译成可定义群(§5.16);最后,Hrushovski 的 Mordell–Lang 证明与 Pila–Wilkie 的 o-极小计数,把整章技术送到数论前线(§5.17)。
| 条目 | 内容 | 出处 |
|---|---|---|
| 型/完全型 | 极大相容公式集;tp(ā/A) | §5.1–5.2 |
| 型空间 | Stone 空间;型 ↔ 超滤子 | §5.3 |
| 饱和/齐次 | 型全实现;同型元组由自同构互送 | §5.4–5.5 |
| Morley 定理 1962 | 一个不可数势范畴 ⟹ 全部不可数势范畴 | §5.6 |
| 稳定性 | 无序性质;型不超过参数 | §5.7 |
| 免秩与分叉 | 独立性公理:存在·对称·传递·局部刻画 | §5.8 |
| 强极小 | 可定义子集有限或余有限;预几何与维数 | §5.9 |
| 谱定理 | I(T,κ) = 1 或 2ℵ1(ℵ1 上定局) | §5.10 |
| 谱判据 | 不可数范畴 ⟺ ω-稳定 + 无 Vaughtian 对 | §5.6/5.10 |
| ACF/向量空间 | 维数=超越次数/线性维数 | §5.11/5.13 |
| RCF | 不稳定 · o-极小 · 胞腔维数 | §5.12 |
| 可定义群 | 泛型型唯一;群配置 | §5.16 |
| 应用 | Mordell–Lang(1996)/André–Oort | §5.17 |
全章的速度对照。型与型空间(§5.1–5.3)=两小时可通读;饱和与齐次(§5.4–5.5)=一天;Morley 定理与稳定性(§5.6–5.7)=一周;秩与分叉、强极小(§5.8–5.9)=两周;实例与谱定理(§5.10–5.13)=一周;构造、可定义群、应用(§5.14–5.17)=两周。若只求抓住主线,读 §5.1–5.6 与 §5.11 即可窥全豹;若求走进分类纲领,则 §5.7–5.10 与 §5.15–5.17 不可略过。
与下一章的转场。本章解剖的是「既有模型」。第六章换一个方向:不再问「一个理论的模型长什么样」,而是问「给定一个模型,能否构造出一个更大的、在其中某命题为真的新模型」。这件造模型的新武器叫力迫法,而它的地基正是本章的饱和模型与 monster 工作法。
本章最深的一课,可以用一句话说尽:真理是相对于模型的。「φ 是真的」这句话本身并不完整;正确的说法是「ℳ ⊨ φ」——φ 在模型 ℳ 中为真。同一句「∃x(x2 + 1 = 0)」在 ℝ 中为假、在 ℂ 中为真;同一句「存在最小元」在稠密序 ℚ 中为假、在正有理数序中为真。真值不是句子的属性,而是「句子—模型」这一对的属性。
型是这种相对性的精确度量。一个元素的「全部真话」,只有当模型给定之后才说得清:在 (ℚ, <) 里,所有有理数共享同一个型;在 Th(ℕ) 的非标准模型里,却多出一整批「比一切标准数都大」的元素,它们的话在标准模型里根本无处安放。换一个模型,型空间就换一副面孔——型空间是「模型可能说出什么话」的语法上限,而每个具体模型只兑现其中一部分。省略型定理进一步告诉我们:只要一个型不是主型,就总有模型把它省下。真话可以不被说出,这是模型的自由。
但相对性并非全然的虚无。在理论(句子集)这一层,依然存在与模型无关的绝对结构:稳定性、Morley 秩、维数、谱定理的两态,全都只由理论本身决定,不随模型浮动。模型是相对的,理论是绝对的;而型空间正是这两个层次之间那座精确的桥。本章的每一件工具——饱和、齐次、分叉、强极小、可定义群——都是在这座桥上通行的过路费与通行证。桥的两端,一头是符号(句法),一头是世界(语义);本章的全部工作,就是在桥上反复检查两种语言是否对得上。
留下一个问题:如果说「真」只在模型内有意义,那么数学家在证明定理时,凭什么自信这段推理在所有相关模型里都成立?——答案藏在推理的语法性里:只要推理的每一步都是有限的符号操作,可靠性定理(soundness)就保证它在一切模型中有效。相对的是真值,绝对的是推理。这一区分是逻辑学两百年来最硬的一块骨头,也是下一章「构造模型以判决独立性」的全部底气。
任务。任选一门理论,为它画一张「模型地形图」:横轴是基数 κ,纵轴是 κ 势模型在同构意义下的个数 I(T, κ),并在图上标注每个「海拔」对应的模型长什么样。这项训练的用意在于:把抽象的计数函数变成看得见的形状,一眼便能看出理论温顺与否。建议的靶子有三个,难度递增:① Th(ℚ, <)(稠密线性序);② ACFp(代数闭域);③ ACFp 或向量空间之外任选一门不稳定的理论(如 RCF)。
分步引导。
进阶(选做)。① 把 RCF 也画进来:它不稳定,故谱定理的「两态」不直接适用,说明需要在哪些势上另加分析;② 画 Th(ℤ, +, <)(离散序)的地形,并解释它与 DLO 地形为何在可数层就分道扬镳;③ 为一门稳定但非强极小的理论(如两个独立向量空间的直和)画地形,注意维数变成二维,台阶随之加密。
实验目的。让程序核对本章的三条结论:型空间的计数公式、向量空间的维数分类、代数闭域的型二分。全部代码可运行于任何 Python 3 环境,无需第三方库;真跑脚本与输出存于 qa/exp_mt5.py 与 qa/exp_mt5_out.txt。程序不会撒谎:断言跑绿,结论才算落实;断言报红,说明某条公式或某步推理需要重查——这正是「对拍」二字的分量。
实验一(型空间计数)。对 (ℚ, <) 枚举参数集 A = {1, 2, …, m} 上的全部 1-型,核对 |S1(A)| = 2m + 1,并逐个在 ℚ 中给出实现它的有理数(ω-饱和的直接验证)。
实验二(维数分类)。用一张表列出 ℚ-向量空间的维数与基数之对应:有限维非零空间与 ℵ0 维空间都是可数无限,故可数模型有 ℵ0 个同构类;不可数势 κ 上维数被 κ 钉死,故恰有一个模型。
实验三(ACF 的型)。数一数 𝔽2 上各次数的首一不可约多项式(它们与代数型一一对应),对照「代数型可数多 + 超越型唯一」的结论。
from fractions import Fraction
# ── 实验一:(Q,<) 的型空间,|S_1(A)| = 2|A|+1 ──
def dlo_types(m):
A = list(range(1, m + 1))
types = [('=', a) for a in A] # 「等于」型(主型)
types.append(('lt', A[0])) # x < a_1
for a, b in zip(A, A[1:]): # a_i < x < ai+1
types.append(('between', a, b))
types.append(('gt', A[-1])) # x > a_m
return types
for m in range(1, 6):
T = dlo_types(m)
assert len(T) == 2 * m + 1
print('|A| =', m, '-> |S_1(A)| =', len(T))
# ── 实验三:ACF_2 的代数型 = F_2 上的首一不可约多项式 ──
def pdeg(a):
return a.bit_length() - 1
def pmod(a, b):
db = pdeg(b)
while a and pdeg(a) >= db:
a ^= b << (pdeg(a) - db)
return a
def is_irr(f):
n = pdeg(f)
if n < 1:
return False
for d in range(1, n // 2 + 1):
for low in range(0, 1 << d):
if pmod(f, (1 << d) | low) == 0:
return False
return True
expect = {1: 2, 2: 1, 3: 2, 4: 3}
for n in range(1, 5):
cnt = sum(is_irr(f) for f in range(1 << n, 1 << (n + 1)))
assert cnt == expect[n]
print('次数', n, ':', cnt, '个首一不可约多项式(= 代数型个数)')
实验报告要求。① 贴出实验一 m = 1, …, 5 的计数结果,并与图 5-18 核对;② 把实验二的维数—基数表补到维数 6;③ 由实验三的数据说明「代数型可数多」的含义,并思考:若把 𝔽2 换成 ℚ,不可约多项式是否仍可数多?④ 改一句断言(例如把 expect 里次数 3 的个数改成 3),观察程序在哪一行报错——体会「断言即定理」的对拍价值。
希腊:把知识排成一条自上而下的链。欧几里得《几何原本》(约公元前 300 年)立五条公设与若干公理,此后每一条命题都由先前的命题推出来——这是人类第一次把一门学问组织成「公理—定义—定理」的链条。亚里士多德在《后分析篇》(公元前四世纪)里为这套做法提供了方法论:科学知识必须从不可证明的第一原理出发,经三段论逐步推出。这条传统的精神是演绎优先:先立下公认的起点,再让一切结论从起点「流」下来。「公理」在此意味着无可争议的真理起点。
中国:把知识排成一张自下而上的表。《墨经》(战国,公元前五至前三世纪)已经讨论「故」「理」「类」——理由、根据与类推,是极早的逻辑意识;但中国主流数学走的是另一条路。《九章算术》(约成书于公元一世纪)不问「从哪条公理推出」,而问「这类问题怎么算」:它给出二百四十六道题与对应的算法,形成问题—算法的体例;刘徽于公元 263 年作注,把这些算法背后的道理(如出入相补、极限式割圆)逐一补出。这套传统的精神是算法优先:从具体问题出发,把方法做厚、做准,公理化与演绎链退居其次。
两条河在二十世纪汇成一条。希尔伯特 1899 年的《几何基础》把「公理」从「真理起点」改造成「隐定义」:公理不再描述唯一的世界,而是划定一类世界的边界——满足公理者即为此理论的模型。这正是本章的立场:公理系统不指定唯一模型,它只确定「哪些世界算数」。塔斯基在 1930 年代为「真理」给出严格的语义定义,模型论随之诞生,「ℳ ⊨ φ」第一次有了精确含义。希腊的演绎链给出「怎么推」,中国的算法表给出「怎么算」;而模型论把两者收进同一个框架:先划出可能的世界的族(中国的「表」),再要求推理在这个族里处处有效(希腊的「链」)。
札记的注脚。本章反复出现的「模型」二字,其实是一句古老的箴言换了新装:先划出可能的世界,再谈世界里的是非。《九章算术》划出「这一类题」的世界,欧几里得要求「从公理到定理」的推理在所有这类世界里都成立——两者合起来,就是「理论 = 句子集、模型 = 世界实现」的现代图景。本册的写法——先列模型、再立定理、最后程序对拍——自觉地把两条河的水引进了同一片田。
| 条目 | 内容 | 出处 § |
|---|---|---|
| 型(type) | 关于参数 A 的极大相容 LA-公式集 | 5.1 |
| 部分型/完全型 | 任意相容集/不能再添公式者 | 5.1–5.2 |
| 实现/省略 | 元组满足全部公式/无元组满足 | 5.2 |
| 主型(孤立型) | 有单公式 φ ⊢ p;必被每个模型实现 | 5.2 |
| 省略型定理 | 可数语言中非主型总有可数模型省略 | 5.2/5.15 |
| 型空间 Sn(A) | Stone 空间:紧 · Hausdorff · 全不连通 | 5.3 |
| 型 ↔ 超滤子 | 与布尔代数 B(A) 的超滤子一一对应 | 5.3 |
| κ-饱和 | 势 < κ 的参数下每个型都实现 | 5.4 |
| 齐次 | 同型元组由自同构互送 | 5.5 |
| 唯一性定理 | 同势 κ-饱和 κ-齐次 ⟹ 同构 | 5.5 |
| Morley 定理 1962 | 一个不可数势范畴 ⟹ 全部不可数势范畴 | 5.6 |
| 稳定性 | 无序性质;|Sn(A)| ≤ |A|+|T|+ℵ0 | 5.7 |
| 稳定度层级 | ω-稳定 ⟹ 超稳定 ⟹ 稳定 ⟹ 一般 | 5.7 |
| 免秩与分叉 | 独立性公理:存在·对称·传递·局部刻画 | 5.8 |
| 强极小集 | 可定义子集有限或余有限;预几何 | 5.9 |
| 谱函数 I(T,κ) | 基数 κ 的模型数;不可数层只剩 1 或 2ℵ1 | 5.10 |
| Ryll-Nardzewski | ℵ0-范畴 ⟺ 每型皆主型 | 5.10 |
| Baldwin–Lachlan | 不可数范畴 ⟺ ω-稳定 + 无 Vaughtian 对 | 5.10 |
| ACFp | 完全 · 强极小;维数=超越次数 | 5.11 |
| RCF | 完全 · 不稳定 · o-极小;胞腔维数 | 5.12 |
| 向量空间理论 | ω-稳定 · 强极小;维数=线性维数 | 5.13 |
| 初等子结构 ≺ | Tarski–Vaught 判别;初等链 | 5.14 |
| 饱和构造 | 紧致性 + 初等链;需不可达基数 | 5.15 |
| 可定义群 | 泛型型唯一;群配置定理 | 5.16 |
| 应用 | Mordell–Lang(1996);Pila–Wilkie(2006) | 5.17 |
实例小卡。① (ℚ, <):ω-饱和、ℵ0-范畴、|S1(A)| = 2|A| + 1;② ACFp:不可数势范畴、可数层 ℵ0 个模型,维数=超越次数;③ RCF:不稳定但 o-极小,可定义集=有限点+有限区间;④ ℚ-向量空间:维数分类,不可数层唯一;⑤ Th(ℕ):不稳定,含非标准模型。
易错三坑。① 把「初等等价」当成「同构」(ℚ 与 ℝ);② 忘掉饱和需要大基数支撑,误以为任何模型都饱和;③ 把「非主型」当成「无人实现」——它只是「可被省略」,仍可被某些模型实现。
下一步。第六章换一个方向发问:不是解剖既有模型,而是用布尔值构造全新的模型,并给出连续统假设的独立判决。本章的饱和模型与 monster 工作法,正是那场构造的地基。把本页二十六条速查条目与五个实例小卡反复对照,本章的技术地图便可随身携带。
前五章备齐了模型论的家当:语言与结构、紧致性与 Löwenheim–Skolem、五种几何的模型地形、量词消去与可判定性、类型与稳定性。那些工具处理的都是同一个问题——一个既定的公理系统有哪些模型。本章要问一个更野的问题:能不能亲手造出一个新模型,让一句原本悬而未决的话在其中成真、又在另一个模型里成假?答案是能。造法叫力迫(forcing),而它最辉煌的战绩,就是给希尔伯特 1900 年提出的第一问题——连续统假设(CH)——一个了断。
本章的行进路线是一条上升的阶梯,每一级都踩在前一级上:
第一阶(§6.1–6.4)——打地基。先把集合论本身收进「一阶理论」的框架:ZFC 的公理表、累积层谱 V 与序数、基数。然后造出第一个「瘦身宇宙」——哥德尔的可构造宇宙 L:它内在于 V,却已经满足 CH。最后把「条件」「稠密集」「泛型滤子」「P-名字」这套零件一件件摆上工作台。
第二阶(§6.5–6.9)——合璧。祭出力迫的核心定理——真值引理与可定义性引理,证明力迫扩张 M[G] 仍是 ZFC 的模型;然后端出科恩 1963 年的神来之笔:用有限部分函数把 ℵ2 个实数一次塞进 M[G],让 CH 在其内失败。哥德尔的 L(CH 真)与科恩的力迫(CH 假)两面合璧,CH 独立于 ZFC 就此定案——这正是本章着意写足写细之处:希尔伯特第一问题的「解决」,其形态不是判明真假,而是证明它不可判定。
第三阶(§6.10–6.17)——登高望远。把力迫翻译成布尔值代数(完全布尔代数 B 与 VB)、叠成迭代并引出 Martin 公理与大基数;随后纵览现代模型论的全景——稳定性与分类、o-极小、NIP、连续模型论,直到 Mordell–Lang 与第十问题的模型论面、有限模型论与描述复杂度,最后收在 CH 的当代命运与模型的未来。
读本章只需带三件行李:前五章的一阶语义与可定义集、一点朴素集合论(序数、基数、势的比较)、以及「把证明当程序读」的耐心。行李不全时可回看第一章的结构定义与第五章的型空间;行李齐备者,直接从第一级台阶起步。本章的证明一律以 ZFC 为背景,所需的序数与基数事实在正文内随用随补。
本章有一处坦白必须写在前面:力迫法的完整技术细节可写成一部专著,本书只求把「为什么能这样造模型」讲透,把每一步的直觉与关键引理摆清,而不追每一个技术噪声(如 forcing 关系的具体递归展开)。需要严格训练者,依本章末页所列文献补齐。
★★ 要谈「CH 独立于 ZFC」,先得把 ZFC 摆成一阶理论的模样。集合论的语言极简——只有一个二元关系符号 ∈,连等号也是逻辑自带。所有数学对象(数、函数、序、拓扑)都由它编码,而描述这些编码行为的公理,就是一张九行的清单。
| 公理 | 内容(以 ∈ 写出) |
|---|---|
| 外延 | ∀x∀y(∀z(z∈x ↔ z∈y) → x=y) |
| 配对 | ∀x∀y∃z∀w(w∈z ↔ w=x ∨ w=y) |
| 并 | ∀x∃z∀w(w∈z ↔ ∃y(y∈x ∧ w∈y)) |
| 幂集 | ∀x∃z∀w(w∈z ↔ w ⊆ x) |
| 无穷 | ∃x(∅∈x ∧ ∀y(y∈x → y∪{y}∈x)) |
| 分离 | ∀x∃z∀w(w∈z ↔ w∈x ∧ φ(w)) |
| 替换 | ∀x(∀y∈x∃!z φ(y,z) → ∃w∀z(z∈w ↔ ∃y∈x φ(y,z))) |
| 正则 | ∀x(x≠∅ → ∃y∈x ∀z∈x(z∉y)) |
| 选择 | ∀x(∅∉x ∧ 两两不交 → ∃w∀y∈x ∃!z(z∈w∩y)) |
这九条的前五条是「构造动作」:由旧集合造出新集合(配对、并、幂集)或保证基本图形的存在(空集、无穷)。后四条是「约束动作」:分离与替换把「一个集合里符合某种性质的部分」收拢成集合(这正是罗素悖论的围墙——不许用无条件概括 {x : φ(x)});正则排除「x ∈ x」这类恶性循环;选择保证能用「同时挑一个」的方式造函数。罗素 1901 年戳破朴素概括,Zermelo 1908 年立起最初的公理系统,Fraenkel 与 Skolem 1922 年补上替换,这张表才定型为今天的 ZFC。
在这张层谱上,序数是最光滑的一列:von Neumann 用「传递集合且被 ∈ 良序」定义它们,于是 0=∅、1={0}、2={0,1}…… 序数恰是「良序的标尺」。基数再从中筛出「不与更小序数等势」者:ω=ℵ0 是第一个无穷基数,ℵ1 是第一个不可数基数,依此类推。实数集的势 2ℵ0(即连续统 𝔠)夹在 ℵ1 与 ℵ2 之间究竟落在何处?连续统假设 CH 断言 2ℵ0 = ℵ1,广义连续统假设 GCH 断言 2ℵα = ℵα+1 对一切 α 成立。这正是本章要判决的对象。
一个必须记住的技术事实。把 ZFC 的公理逐句「搬进」一个类 M(即在 M 中重新解读 ∀∃,要求量词只跑遍 M 的元素),得到相对化公式 φM。称 M 是 ZFC 的模型,记 M ⊨ ZFC,若每条公理的相对化在 M 中为真。若更进一步 M 是传递的(x ∈ y ∈ M ⟹ x ∈ M),则「⊨」的行为最接近真实 V 的一角——本章的内模型与外模型,都建立在传递类之上。
★★★ 面对「CH 是不是 ZFC 的定理」,哥德尔 1938 年给出一半答案:CH 不可能被否证——存在 ZFC 的模型使 CH 为真。他的武器不是造一个大模型,而是从任何模型里削出一个最省的内核,这个内核自动满足 CH。这个内核叫可构造宇宙 L。
L0 = ∅, Lα+1 = Def(Lα), Lλ = ⋃α<λ Lα (λ 极限序数),
最后令 L = ⋃α∈Ord Lα。属于某个 Lα 的集合称为可构造集;「x 可构造」这一性质是可定义的。直觉先行:Vα+1 = 𝒫(Vα) 是把全部子集一次放进去,幂集是个黑箱;而 Lα+1 = Def(Lα) 只放「能被一阶公式指名道姓点到」的那部分子集——凡是说不出定义式的,一律不收。于是 L 是 V 里最「吝啬」的层谱,逐层都瘦得可以数。
证明思路。①「L 满足 ZFC」靠逐条核对:外延、配对、并、幂集(在 L 中的幂集是 Def 能点到的子集,恰在 L 内有界)以及分离、替换(用「可构造」的 Σ1 定义在 L 内绝对)都能逐条验过。②「绝对性与凝聚」是全部关键:绝对性指像「x 是序数」「x 属于 Lα」这类 Σ1/Π1 概念在传递模型间不改变真假。凝聚引理(Condensation)断言:若 N ≺ Lκ(初等子结构)且 N 传递地塌缩为 M,则 M = Lβ 仍是某个 L 层。由此可推出:任何 A ⊆ λ(λ 无穷基数)若 A ∈ L,则存在 α < λ+ 使 A ∈ Lα——于是 (𝒫(λ))L ⊆ Lλ+,而逐层都可数:|Lλ+| = λ+。故在 L 里 2λ ≤ λ+,即 (2λ)L = λ+,GCH 在 L 中成立。③ 由 ① 的相对化直接得到。∎
这一步的分量。定理给出元数学结论 Con(ZFC) → Con(ZFC + GCH):只要 ZFC 无矛盾,加上 CH 也无矛盾。换言之,ZFC 永远不能证明 ¬CH——因为若它能,ZFC+CH 就该有矛盾,与上式冲突。CH 的「一半」到此结束:它不能被否证。剩下的一半——它也不能被证明——要再等二十五年,靠一套全新的造模型技术(力迫)才能兑现。
★★★ 定理 6.4 走的是「往内削」的路线:从一个模型里取出 L,得到 CH 为真。可这条路走不到 CH 的另一面——因为 L 里 CH 恒真,无论出发点是什么。要让 CH 为假,必须把模型往大里造。
本节先厘清「内模型」与「外模型」这对概念,再说明外模型的存在性为什么会撞上一个看似致命的障碍,以及科恩如何绕过它。
| 路线 | 方向 | 产出 | 代表 |
|---|---|---|---|
| 内模型 | 削小 | CH 真(GCH 真) | 哥德尔 L,1938 |
| 外模型 | 加东西 | CH 假(2ℵ0 ≥ ℵ2) | 科恩力迫,1963 |
两路合璧才是完整的相对一致性。内模型给 Con(ZFC) → Con(ZFC+CH);外模型给 Con(ZFC) → Con(ZFC+¬CH)。两条合起来,CH 与 ZFC 相互独立:既不可证,也不可否证。这就是希尔伯特第一问题在逻辑意义上的「解决」——注意解决的形态:不是判明 CH 的真假,而是证明「真假定不出」这件事本身是可靠的。
障碍在哪。外模型的想法听上去直白:M 太小,缺一个新实数,那就把它加进去。但 ZFC 的幂集公理立刻发难:M[G] 里 (𝒫(ω))M[G] 必须「恰好包含所有子集」。若新实数 c ⊆ ω 不属于 M,那么在 M 的眼里它根本不是一个「确定的子集」;一旦允许它进来,M 里那些「以为自己是 ω 的全部子集」的旧元素也会被重新计账,幂集的大小在扩张中可能改变。这正是力迫技术必须精细处理的难点:既要加进新对象,又要控制哪些旧基数、哪些幂集保持不变。
科恩的关键念头。1963 年,Paul Cohen 想到:不要试图「直接指定」新实数,而是给出关于新实数的信息片段(有限条件),让一个「足够一般」的滤子去把它们拼成一个完整的新对象。这个滤子不属于 M(否则新对象早在 M 里了),但它与 M 的关系完全由 M 内部可定义的关系 p ⊩ φ 决定。于是,「M[G] 里什么为真」可以被翻译成「M 里哪些条件力迫它」——后一句整个站在 M 内部,机械可判。这一「把外部真值内化为内部关系」的念头,是力迫法的灵魂。
本节收尾留下一句口号,后面每节都在兑现它:新模型不是被「写」出来的,而是被「逼近」出来的。下面两节先把逼近用的零件——偏序 P 与名字——造齐。
★★★ 力迫的全部机械可用一个比方说清:新对象像一尊由无数信息碎片拼成的雕像。每片碎片是「雕像某处是某种样子」的局部断言;碎片的集合按「谁包含更多信息」排成一个偏序 P;一个「足够一般」的滤子把相容的碎片同时拿住,拼出雕像。
泛型性这条「与每个 M 内稠密集相交」的要求,是整部力迫的节拍器:它保证 G 同时满足 M 能想到的每一个逼近要求,因而「足够一般」。同时它也逼出一件要紧的事——G 不属于 M:若 G ∈ M,令 D = {p : p 与某个 G 的元素不相容},D 也是 M 中的稠密集却不与 G 相交,矛盾。所以「新」正是泛型性的代价与收获。
val(τ, G) = { val(σ, G) : ∃p ∈ G, (σ, p) ∈ τ }.
两个基本名字要马上认识:核查名字 ǎ = {(b̌, p) : b ∈ a, p ∈ P},它无论 G 如何都指向 a 本身(故 M 的每个元素在 M[G] 里有其一「照片」);滤子名字 Ġ = {(ǎ, p) : a ∈ P, p ≤ a},它的解释恰是 G:val(Ġ, G) = G。最后定义扩张 M[G] = { val(τ, G) : τ ∈ MP }——把所有被 M 认识的名字都解释一遍,收拢即为新宇宙。下一节把「力迫」这个动词正式安上:p ⊩ φ。
★★★★ §6.3 的口号「把外部真值内化为内部关系」需要一个正式动词来承载,这个动词就是 ⊩(读作「力迫」)。p ⊩ φ 的意思是:凡包含条件 p 的泛型滤子,都使 φ 在扩张中为真。本节给出它的递归定义与两条立命之本的引理。
M[G] ⊨ φ(val(τ1, G), …, val(τn, G)) ⟺ ∃p ∈ G,p ⊩ φ(τ1, …, τn).
真值引理为什么是「立命之本」。它把「新宇宙里 φ 真不真」这件外部的事,换成「G 里有没有一个条件力迫 φ」这件只在 M 内部发生的事。证明分两半:从右到左,由泛型性与单调性,条件 p ∈ G 保证 φ 在所有「包含 p 的泛型扩张」里为真,于是 M[G] 里为真;从左到右,定义「决定集」D = {p : p ⊩ φ 或 p ⊩ ¬φ},可以证明 D 是 M 内的稠密集(这一证明用到力迫关系的可定义性,见引理 6.12),由泛型性 G ∩ D ≠ ∅,若 φ 真则取到的是力迫 φ 的那一半——否则其反例条件会在 G 中与真值冲突。
两条引理正好分工:可定义性让 M 能谈论扩张里将发生的事,真值引理让 M 的谈论对上扩张里实际的事。至此,「造模型」这件事在原则上已经被收进 ZFC 自身的语言——剩下全是工程。
★★★★ 真值引理假定手上有一个泛型滤子 G。可 G 凭什么存在?§6.4 已证 G ∉ M,所以它必须从外部借来。本节说明存在性从何而来,并把扩张 M[G] 正式造出。
构造(向下穿针)。因为 M 可数,把 M 中的全部稠密集列成一列 D0, D1, D2, …。从 p0 出发:由 D0 稠密,取 p1 ∈ D0、p1 ≤ p0;由 D1 稠密,取 p2 ∈ D1、p2 ≤ p1……得一列不断变强的条件。令
G = { q ∈ P : ∃n,pn ≤ q }.
链上任意两个条件有共同下界(取较强者),故 G 是滤子;又 pn+1 ∈ Dn 且 pn+1 ∈ G,故 G 与每个 Dn 相交——泛型。∎这一步的代价必须数清:它要求 M 可数。可数传递模型本身的存在性又依赖 ZFC 的一致性(由 Löwenheim–Skolem 与 Mostowski 塌缩可造,见第二章)。所以力迫给出的全是相对一致性结论:Con(ZFC) → Con(ZFC + ¬CH)。这与哥德尔 L 的处境完全对称——两者都不声称「ZFC 绝对一致」,只声称「一致则加句子的版本也一致」。
M[G] = { val(τ, G) : τ ∈ MP }.
它满足:① M ⊆ M[G] 且 G ∈ M[G];② M[G] 传递;③ OrdM[G] = OrdM(序数一个不多一个不少);④ M[G] 是包含 M 与 G 的最小 ZFC 模型。②③ 的直觉:名字的构造在 M 内完成,解释只依 G 走一步,所以「不会长出新的序数高度」;而 ④ 的「最小」说明力迫扩张是外科式的:只补进恰好需要的新对象,不多不少。这种精确控制,正是科恩能把 ℵ2 个实数一次塞进又不破坏其他基数结构的秘诀。
★★★★ 力迫若要可用,必须先答一问:扩出来的 M[G] 到底是 ZFC 的模型吗?若它连公理都不满足,「在 M[G] 里 ¬CH 为真」就毫无意义。本节逐条核对九条公理,重点介绍最吃力的两条——幂集与替换——它们的证法集中体现了「可定义性 + 真值引理」的威力。
A = { σ : ∃p ∈ P,p ⊩ ∃!y φ(σ, y) }.
由可定义性引理,这个定义在 M 内可写,且由 M ⊨ ZFC(替换模式)A 是 M 的集合。再令 ρ 是「把 A 全体解释一遍」的名字,则 val(ρ, G) 是 M[G] 中的一个集合,且由真值引理它恰含所求像——替换成立。∎定理 6.15 让力迫成为一件可靠的机器:只要在 M 内挑好偏序 P,就能保证 M[G] 是一个货真价实的 ZFC 世界。于是「造一个让某命题为真的世界」被约化为「设计一个合适的 P」——这正是下一节的舞台。
★★★★ 现在动手让 CH 失败。要否证 2ℵ0 = ℵ1,只需造一个新宇宙,里面有至少 ℵ2 个不同的实数,同时保证 ℵ2 还是原来那个 ℵ2(基数不被搅乱)。科恩的偏序简单得令人失笑:全是有限的部分函数。
把 ω2 × ω 想成一张「ℵ2 行、每行 ℵ0 列」的表。一个条件 p 只决定了有限多个格子的取值;泛型滤子 G 把这张表填满,得到函数 g: ω2 × ω → 2。对每个 α < ω2,抽出第 α 行
cα = { n ∈ ω : ∃p ∈ G,p(α, n) = 1 }
它是一个实数(自然数子集),住在 M[G] 里。泛型性保证每一行都是「新的」(不在 M 中),也保证不同行互不相同。M[G] ⊨ ZFC + ¬CH, 具体地 (2ℵ0)M[G] ≥ ℵ2.
反向的力迫也同样简单。要造 CH 为真的扩张(不靠 L),可用加一个 Collatz 型偏序把 2ℵ0 压到 ℵ1——这是「会塌基数」的情形,需另立判据(如适当的闭性或 proper 性)。本节只做主情形。有限条件偏序是科恩的看家兵器:加一个新实数只需 Fn(ω, 2),加 ℵ2 个实数便是 Fn(ω2 × ω, 2)——同一把刀,改一改索引集即可。
★★★★ 两面已经齐备:哥德尔的 L(§6.2)给出 CH 为真的世界,科恩的力迫(§6.8)给出 CH 为假的世界。把它们拼在一起,希尔伯特 1900 年列为第一号的问题,就得到它在逻辑上的了断。下页 L 与 M[G] 的对照图会把这条判决再画一遍。
合并的论证。① 的模型是 L:由定理 6.4,ZFC ⊢ CHL,故 Con(ZFC) → Con(ZFC+CH)。② 的模型是 M[G]:由定理 6.17,从 M ⊨ ZFC 出发得 M[G] ⊨ ZFC+¬CH,即 Con(ZFC) → Con(ZFC+¬CH)。「不可否证」+「不可证明」=独立。∎
「解决」二字的准确含义。希尔伯特第一问题的「解」不是「CH 到底真不真」,而是「它能否由 ZFC 判明真假」。答案是不能。这一点必须讲透:独立性不是「CH 意思不明」或「证明还没找到」,而是一个确定的元数学定理——只要 ZFC 一致,就永远不存在 CH 的证明,也不存在 ¬CH 的证明。它的真正含义是:CH 的真假取决于所站的模型,而不由那九条公理单独决定。哥德尔 1940 年前进到 L ⊨ CH,科恩 1963 年补上另一半,1966 年因此获菲尔兹奖——从康托尔 1878 年提出连续统问题,到此刻的判决,恰好八十五年。
一个容易误解之处。独立性并不意味着「2ℵ0 = ℵ1 与 2ℵ0 = ℵ2 都不对」,也不意味着「实数集合的大小可以随便定」。它意味着:同一套 ZFC 公理,容得下多种数学宇宙;在这些宇宙里,连续统的大小可以不同,而每种取值都能自洽地实现。这正是下一节要展开的「独立性的完整图景」。
与全书接口:本节判定的独立性,其精神与第三章「平行公设独立于欧氏几何的其余四条」如出一辙——都是「换一个模型,命题就翻面」;区别在于,那里的模型是空间,这里的模型是整个集合论宇宙。若已读第三章,不妨把两处对照复盘。
★★★★ 上页给出了独立性的判决。本节把判决背后的完整图景摊开:连续统到底能取哪些值?「独立」是把 CH 悬在半空,还是把它锁进一个精确的可行范围?答案兼有两者——2ℵ0 的自由度很大但并非无限,而它的边界由康托尔与哥尼斯各自的一条定理把守。
两把锁。① 康托尔定理(1874/1891)给下界:2ℵ0 > ℵ0,故 2ℵ0 ≥ ℵ1——连续统至少在 ℵ1 之上。② 哥尼斯定理给「形状」约束:cf(2ℵ0) > ℵ0——连续统的共尾数不可数。于是 2ℵ0 绝不能是 ℵω(它共尾 ω)。除此之外,力迫可以把 2ℵ0 摆成任何允许的值:加 κ 个科恩实数(§6.8 的 Fn(κ × ω, 2),配 ccc 或适当的支撑)即得 2ℵ0 = κ。推广到一切正则基数上的幂函数,就是 Easton 定理(1970):正则基数的幂函数几乎可以任意指定,只受单调性与哥尼斯约束。
「两个模型合璧」的深层含义。L 与 M[G] 不只是两个孤立的见证,它们代表两大造模型技术的会师:内模型与力迫。前者往下削出「最少」的宇宙,后者往外加出「更大」的宇宙;前者证「CH 不能被否证」,后者证「CH 不能被证明」。二者合起来说明:ZFC 这九条公理无法锁定连续统的大小——它们容许一个由多种宇宙组成的家族。
这就是集合论多元宇宙观(Hamkins 等)的技术根源:既然 ZFC 的模型不止一种,而且关于 CH 它们各执一词,那么谈论「集合论宇宙」或许不该是单数。此观点与更保守的「单一真宇宙加独立命题(真值存在但不可证)」之争,至今未决——§6.17 会回到这场辩论。本页只把事实钉牢:CH 的独立性是一张精确的可行谱,而非一团模糊。
复盘接口:第三章用五种几何的模型判定平行公设独立,本章用两个集合论模型判定 CH 独立。两处的「独立」判法同构——找到 A 模型使命题为真、B 模型使命题为假,即可。区别是:几何的模型是具体的空间,集合论此处连「空间」本身都是被选择的对象。
★★★★ 力迫有一条更优雅的旁路:不要泛型滤子,改用一个完全布尔代数 B 充当「真值表」,让宇宙中每条句子都取一个 B-真值。此法由 Scott、Solovay、Vopěnka 在 1967 年前后独立提出,把力迫从「造滤子」翻译成「算布尔值」,许多证明因此短了一半。本册实验页(§实验)就跑一个最小的布尔值力迫。
与力迫的接线。给定偏序 P,取 B 为 P 的布尔完备化(即 P 上拓扑的正则开集代数,正是实验页构造的 RO(P))。于是:
为什么值得换这一副写法。泛型滤子 G 不在 M 里,每次讨论都要靠引理「遥指」扩张;而 B-真值 ‖φ‖ 整整齐齐地住在 M(甚至 V)内,是可计算、可比较的对象。力迫从「存在性论证」变成了「代数计算」——这正是本册实验页能用一个几十行的程序真跑布尔值力迫的原因。取 B = {0, 1}(二元素代数)时,VB ≅ V,布尔值模型退化为普通宇宙——力迫是普通模型论在「多值」方向上的自然推广。
★★★★ 一次力迫只加一层新对象。要造出结构更丰富、更「饱和」的宇宙,就得把力迫反复叠加,这就是迭代力迫。它的副产品是集合论中一组极美的「新公理」——Martin 公理,以及更强的 PFA 与 MM。
MA(ℵ0) 恒真(即 §6.6 的泛型滤子存在性);MA(κ) 对大的 κ 是实质性的要求。关键结论:MA + ¬CH 与 ZFC 一致——做法是把科恩力迫迭代 ω2 次(有限支撑),所得宇宙中 2ℵ0 = ℵ2 且 MA 成立。
为什么 MA 被当作「候选新公理」。ZFC 对 CH 无力判决,于是有人主张:与其停在 ZFC,不如再添一条「结构上合理、结论上丰富」的公理来定夺。CH 本身让宇宙显得「贫瘠」(只有 ℵ1 个实数),而 MA + ¬CH、PFA、MM 让宇宙更「饱和、更对称」——它们在实分析、无穷组合、拓扑中带来大量优美的统一结论。「该选 CH 还是选它的否定」因此从一个纯逻辑问题,变成一个带审美与实用色彩的公理选择问题——这正是 §6.17 要接着谈的当代辩论。须记住一句技术底线:无论 MA、PFA、MM,都是相对一致的——它们不增添矛盾,但也都建立在 ZFC 一致的前提之上。
★★★★★ 力迫可以随意拨动连续统,却有一类对象它动不了分毫——大基数。这种「柔(力迫)与刚(大基数)」的张力,是当代集合论最活跃的战场之一。
③ 的原理。实值可测基数兼具「正则」与「极限」两条性质(Ulam 证明它们要么弱不可达、要么不超过 2ℵ0;当它落在 2ℵ0 之下时,必正则而非常规后继)。ℵ1 是后继基数,故 2ℵ0 ≠ ℵ1,CH 只能失败。这条「大基数侧的力学」与 §6.12 的「新公理侧的力学」(PFA/MM ⟹ ¬CH)呼应:两条独立于力迫的自由度被不同的机制收紧了。
一致性强度的阶梯。大基数不只是「更大的无穷」,更是一致性强度的刻度:ZFC + 「不可达基数存在」 一致 ⟹ ZFC 一致,但反之不然。力迫在此扮演双面角色:它既能保持大基数(小力迫、适当支撑的迭代),又能相对地造出「大基数存在」的模型(从更强的大基数出发往下压)。大基数理论因此把「ZFC 能证什么」的问题,翻译成了一条可比较的强度的阶梯——这也是当代集合论与模型论(尤其内模型纲领)交汇的中心地带。
★★★★★ 力迫与集合论是本章的一条主线;另一条主线是本章后半程要铺开、也是本书末章要收束的——现代模型论本身。模型论在 20 世纪后半叶长成了一门「结构的分类科学」:不问单个模型,而问一整类模型共有哪些结构规律。本节给出全景地图,后三节各取一角深入。
Morley 的起点。现代模型论的分类时代从 Morley 范畴性定理(1962)开启:一个可数理论的模型若在某一个不可数势下唯一,则在一切不可数势下唯一。这条「势的飞跃」让「按模型数分类理论」成为可能。Shelah 从 1970 年代起把它推成一部庞大的分类理论(Classification Theory, 1978):定义一列层级分明的性质(稳定、超稳定、ω-稳定、深、可分……),对「好」的理论给出模型数计算与结构分解,对「坏」的理论给出它必然编码某种无序的证据。
代表例各就各位。① ω-稳定:代数闭域 ACF、特征零的微分闭域 DCF0(Morley 秩 = 超越次数)。② 稳定而不 ω-稳定:分离闭域、某些群。③ 简易而不稳定:伪有限域(Hrushovski 用其证明 Mordell–Lang)。④ NIP:实闭域 RCF、p-进闭域 QCp、o-极小结构。⑤ 不是 NIP:随机图、ACF0 的某些无秩扩张。o-极小在此谱系中是一条「几何味最浓」的分支:它不谈抽象分类,而谈可定义集能被切得多细。
本页只立地图。§6.15 走进应用(Mordell–Lang 与第十问题),§6.16 走进有限模型论与描述复杂度,§6.17 回到 CH 的当代命运。三条线合起来,才是「现代模型论」的完整体温。
★★★★★ 前十四节把模型论用在了它自己的地基上——集合论与力迫。本节把镜头转向外部:过去三十年,模型论从「逻辑的一个分支」变成了代数几何与数论的实干工具。两个战例最能说明问题:Hrushovski 1996 年用模型论证明函数域上的 Mordell–Lang 猜想;而希尔伯特第十问题的否定解答,其最锋利的一刀来自「整数在有理数域里可定义」这件纯模型论的事实。
「模型伴随」是一句大话。它把「关于域的一切有限公理化推论」一次收拢:想在特征 0 的代数闭域上验证一句一阶性质,往往可以把这句话挪到特征 p 的伪有限域上。Ax 正是靠这条桥,一次证出有限域上一整族猜想;数论里关于 ℚ 与 𝔽p 的对称性,被翻译成逻辑的对称性。
这一步的分量。Hrushovski 的证明走的是一条绕路:先把「可定义群」的结构定理(稳定理论中的群是若干因子的拼装)搬到差分域 ACFA 上,再把 Mordell–Lang 的几何条件翻译成关于差分闭群的陈述,最后用秩论工具切分陪集。代数几何界原以为必须走算术路线,结果被一组纯结构的论证解开——这是模型论第一次以主力身份解决代数几何的猜想。
第十问题的模型论面。希尔伯特 1900 年第十问:是否存在算法判定整系数丢番图方程有无整数解?Matiyasevich 1970 年(承 Davis–Putnam–Robinson 1961)给出否定答案。其锋利处不在方程,而在可定义性:Julia Robinson 1949 年已证整数集 ℤ 在有理数域 (ℚ, +, ·) 中一阶可定义。算术于是借这条定义「住进」了 ℚ:既然 Th(ℤ, +, ·) 不可判定(§4.12),Th(ℚ, +, ·) 也必不可判定——有理数上的丢番图问题一旦可判定,整数的也可判定,矛盾。「在哪个结构里可定义」这把尺子,直接量出了不可判定性的疆界。(注意区分:§4.12 里悬而未决的是 Th(ℚ, +, ·) 的判定性;此处说的是丢番图方程解的判定,它已被否定。)
三条线索指向同一句话:模型论的价值不在于「研究逻辑」,而在于它是一套可迁移的结构语言,能把一个领域的形状搬到另一个领域去比对。§6.16 从有限结构这一侧再看一次这台语言机器;§6.17 回到 CH,看它如何成为「该加哪条公理」的当代争论。
★★★★ 本章前十五节的结构都是无限的。若把论域限制到有限,整座模型论大厦会立即摇晃:紧致性失效、Löwenheim–Skolem 失效、完备性那一套语法—语义的等价不再可用。但摇晃之处往往生出新东西——有限结构上的一阶逻辑,与计算复杂度之间有一条惊人的等式。
为什么这条公式美。复杂度类通常用图灵机定义——时间、空间、非确定性;而 ∃SO 只用「存在一组关系使某句一阶公式成立」来定义。「非确定性地猜一个证书」恰是「存在一个二阶关系」;「多项式时间验证」恰是「一阶公式的求值」。Fagin 的等式因此把「计算有多难」翻译成「描述有多复杂」——这是逻辑第一次非平凡地刻画出一个复杂度类,也是描述复杂度这一学科的起点。
0-1 律的一手体感。「存在一个点与其余所有点相邻」这句的成立概率不超过 n · 2−(n−1),迅速趋于 0(§实验 有采样核验)。可「图是连通的」这类性质在一阶语言中不可表达——正因为一阶语言说不出它,0-1 律才得以成立:可表达的一阶性质在随机图上几乎都退化成恒真或恒假。这条「一阶逻辑在随机结构上只会说废话」的结论,反过来标出了连通性、欧拉路这类图论概念的非局部本性。
有限与无限两侧合起来,才显出模型论的完整轮廓:无限侧靠紧致性与 Löwenheim–Skolem 造模型,有限侧靠博弈与 0-1 律连复杂度。§6.17 收束本章,回到连续统假设,看它留下的那个「该加哪条公理」的现代战场。
★★★★★ 本章的两半判决在此会师:哥德尔 1938 的 L 给出 CH 为真的宇宙,科恩 1963 的力迫给出 CH 为假的宇宙。两条相对一致性定理合起来,写下本章的最终结论——CH 独立于 ZFC:既不可证,也不可否证。希尔伯特 1900 年排在第一号的问题,就此得到一个形态确切的「解决」:解的不是「CH 真不真」,而是「它能否由 ZFC 判明」。答案是不能。
两半判决的准确归位。① CH 不可否证:由 §6.2,ZFC ⊢ CHL,故 Con(ZFC) → Con(ZFC + CH)——存在 CH 为真的宇宙(可构造宇宙 L)。② CH 不可证明:由 §6.6–6.8,从任一可数传递模型 M ⊨ ZFC 出发,取 Fn(ω2 × ω, 2) 加进 ℵ2 个科恩实数得 M[G] ⊨ ZFC + ¬CH,故 Con(ZFC) → Con(ZFC + ¬CH)——存在 CH 为假的宇宙。两面合璧即独立。其元数学结构可一句话概括:可数传递模型 + 反射原理 + 力迫定理(内模型一侧只用「L 可定义且满足 ZFC」)。
从「判定真假」到「选择公理」。独立性的结论不意味着「CH 无意义」,而意味着ZFC 这九条公理不足以锁定连续统的大小。于是问题换了一个问法:该在 ZFC 之上再加哪条新公理?当代有四条主要路线。
多元宇宙还是唯一真宇宙。力迫技术催生了一种哲学:既然 ZFC 容得下 CH 真与 CH 假两种宇宙,谈论「集合论宇宙」或许不该用单数——这就是 Hamkins 等人的集合论多元宇宙观。与之对峙的是哥德尔、Woodin 的单一真宇宙观:CH 的真值存在,只是 ZFC 证不出来,需要更强的新公理把它「看见」。两派至今未决,但争论已被技术规范化:谁的新公理能自更多侧面确定集合论的结构,谁就更接近「真」。
模型论的未来。与集合论的争论并行,模型论自身也在扩张,三条前沿最活跃:① 稳定性与分类理论(Shelah)继续向简单理论、NIP 推进,试图给一切「可分类的理论」排一张统一地图;② 几何模型论(Zilber 的 Zariski 几何、Hrushovski 的融合构造)把可定义集当几何对象研究,直接服务代数几何与数论(§6.15);③ o-极小与驯服拓扑(§4.10)配合 Pila–Wilkie 计数定理,在丢番图几何中结出「有理点无界」一类的成果。三条线合起来,正是本章开头那句口号的当代版:模型论是一门「把结构画出来」的学问。
收束必须重复一句:希尔伯特第一问题的「解决」形态,是证明它不可由 ZFC 判定;而「CH 究竟真不真」这个更深的问题,被移交给了新公理的选择——它至今没有定论,却已经有了一张清晰的地形图。§6.15 的应用、§6.16 的复杂度、§6.17 的公理之争,是本章留给全书的三道余味。
本页任务。四道例题,各配完整解答,操练本章的地基动作——在具体结构里判真值、求可定义集、辨语言依赖、分初等等价与同构。
例 6.1(真值判定)。语言只有 <,结构取 (ℚ, <)。判断三句真值:(i) ∀x ∃y (x < y);(ii) ∃x ∀y (x ≤ y);(iii) ∀x ∀y (x < y → ∃z (x < z ∧ z < y))。
解。(i) 真:任给 x,取 y = x + 1,则 x < y。(ii) 假:ℚ 无最小元,任何 x 都能找到 x − 1 更小。(iii) 真:取 z = (x + y)/2,有理数对加减与除以 2 封闭,故 x < z < y。三句合看,恰是 §2.16 的 DLO 公理:无端点、稠密。∎
例 6.2(可定义集)。在 (ℤ, +, <, 0) 中写出定义「偶数」与「非负整数」的公式,并说明「完全平方」能否定义。
解。偶数:∃y (y + y = x)。非负:¬(x < 0)——0 与 < 都在语言里,故「x 不小于 0」是一个无量词式子,直接可写。完全平方在 (ℤ, +, <, 0) 中不可定义:这是 Presburger 算术(语言里只有加法),其可定义集必是周期集与算术级数经有限布尔组合所得的「半线性集」(§4.13),而平方数的相邻间距 2n + 1 无界增长,不可能有固定周期,故不成半线性集。要点:可定义性由语言决定,不由「直觉上的简单」决定。∎
例 6.3(换语言就换世界)。说明为什么「x 是完全平方」在 (ℕ, +, ·, 0, 1) 中可定义,而在 (ℕ, +, 0, 1) 中不可定义。
解。有乘法时一行写就:∃y (y · y = x)。只有加法时,可定义集被限制为半线性集(有限个等差数列的布尔组合)——这是 Presburger 1949 年 qe 的推论。反衬法:若平方集半线性,则它最终有周期 p;但相邻两个平方的间距 (n+1)2 − n2 = 2n + 1 无上界,不可能有固定周期——矛盾。同一论域、同一序,仅换一个运算符号,可定义集的家族就完全不同。∎
例 6.4(等价与同构)。判断 (ℚ, <) 与 (ℝ, <) 是否初等等价、是否同构。
解。初等等价:是。两者都是稠密线性序且无端点,由 DLO 的 ℵ0-范畴性与 qe(§2.16、§4.4),DLO 任两模型初等等价,故 (ℚ, <) ≡ (ℝ, <)。同构:否。ℚ 可数而 ℝ 不可数,双射不存在(可数性是集合论性质,不是一阶句子能表达的)。这对结构是「≡ 不蕴涵 ≅」的教科书样本:一阶语言看不见「有多少个点」,只看得见序的形状。∎
复盘。四题共用同一把尺子:可定义性由语言决定,初等等价由一阶句子决定,而同构要比集合本身。三者依次变强,且都不能互相替换——例 6.2 与 6.3 展示语言的强弱,例 6.4 展示等价与同构的裂缝。
本页任务。四道例题连成一条完整的论证链:先用紧致性造一个「怪」模型,再用内模型 L 造一个 CH 为真的宇宙,接着用力迫造一个 CH 为假的宇宙,最后把两半拼成「CH 独立」这条元数学定理。
例 6.5(紧致性造非标准模型)。证明:存在 Th(ℕ, +, ·, 0, 1, <) 的模型,其中有一个元素比一切标准自然数都大。
解。取语言加常元 c,令 T = Th(ℕ) ∪ {c > n : n = 0, 1, 2, …}(n 是项 1 + ⋯ + 1 的缩写)。任取有限子集,只含有限多个不等式,把 c 解释为比其中最大的 N 大一的自然数即可兑现——有限可满足。由紧致性(§2.2)T 有模型 𝒩★;其中 c 大于一切标准数,即非标准元,序型呈 ω + ℤ·η。∎
例 6.6(内模型给出 CH 为真的宇宙)。写出由哥德尔的 L 导出 Con(ZFC) → Con(ZFC + CH) 的完整推理。
解。三步。第一步(构造):以序数递归 L0 = ∅、Lα+1 = Def(Lα)、Lλ = ⋃α<λ Lα,令 L = ⋃α∈Ord Lα。第二步(满足公理):逐条核对 ZFC 的相对化,得到 ZFC ⊢ φL(定理 6.4)——即「若 V ⊨ ZFC 则 L ⊨ ZFC」。第三步(兑现 CH):由绝对性与凝聚引理,任何 A ⊆ λ(λ 无穷基数、A ∈ L)都落在某个 Lα(α < λ+)中,而 |Lλ+| = λ+,故 (2λ)L = λ+,取 λ = ℵ0 得 L ⊨ 2ℵ0 = ℵ1。合起来:若 ZFC 有模型,则 L 是 ZFC + CH 的模型,故 Con(ZFC) → Con(ZFC + CH)。换言之,ZFC 永远不能证明 ¬CH。∎
例 6.7(力迫给出 CH 为假的宇宙)。取 P = Fn(ω2 × ω, 2),说明 G 泛型时 M[G] ⊨ ¬CH。
解。把 ω2 × ω 看成 ℵ2 行、每行 ℵ0 列的表,条件 p 只决定有限多格。① 抽出实数:对每行 α < ω2,令 cα = {n : ∃p ∈ G, p(α, n) = 1},它是 M[G] 中的实数。② 互异:对 α ≠ β,集合 D = {p : ∃n, p(α,n) ≠ p(β,n)} 是 M 内的稠密集,泛型性保证 G ∩ D ≠ ∅,故 cα ≠ cβ——得 ℵ2 个互异实数。③ 基数不动:P 满足 ccc(有限函数族的 Δ-系统论证),ccc 力迫保持一切基数与共尾数,故 ℵ2 在 M[G] 中仍是 ℵ2。合起来 (2ℵ0)M[G] ≥ ℵ2 > ℵ1,即 M[G] ⊨ ¬CH,于是 Con(ZFC) → Con(ZFC + ¬CH)。∎
例 6.8(两半合璧:CH 独立)。把例 6.6 与例 6.7 拼成定理,并说明它为何是元数学定理而非 ZFC 内的一条定理。
解。陈述:若 ZFC 一致,则 CH 在 ZFC 中既不可证也不可否证。证明:由例 6.6,Con(ZFC) → Con(ZFC + CH),故不存在 ZFC 对 ¬CH 的证明(否则 ZFC + CH 会不一致);由例 6.7,Con(ZFC) → Con(ZFC + ¬CH),故不存在 ZFC 对 CH 的证明。两句合起来即独立。∎为何是元数学定理:「ZFC 不能证明 CH」这句话谈的是「存在证明」这件事,它本身不能在 ZFC 内被证明(那将违反不完备性)。因此整条论证是站在 ZFC 之外、以 ZFC 为对象进行的——它用的是可数传递模型的存在性(由反射原理与 Löwenheim–Skolem 获得)加上力迫定理这套元语言工具,而不是 ZFC 的公理推演。这正是本章反复强调的那句话:造模型是元数学动作,独立性是元数学结论。∎
复盘。四题恰好走完本章的技术闭环:紧致性(造怪模型)→ 内模型(CH 真)→ 力迫(CH 假)→ 元数学合璧(独立)。若只记一条:独立性证明的每一步都是「造一个模型」,而模型是造出来的、不是推出来的。
习题 6-1(字母表与结构)。把下列说法翻译成合适的一阶语言与结构:①「每个元素都有唯一的后继」;②「· 对 + 满足分配律」;③「R 是良序」。指出三者的语言各含哪些非逻辑符号。
提示。① 语言 {S}:∀x ∃!y (S(x) = y)(∃! 是「恰有一个」的缩写,展开为存在且唯一)。② 语言 {+, ·}:∀x∀y∀z (x · (y + z) = x·y + x·z)。③「良序」不是一句:需无穷多条公理(对每个子集量化的二阶式,或用公理模式逐条封锁「无最小元的可定义子集」)——语言只有 {<},但要表达良序须借助 ZFC 中的集合量化,故它在一阶语言 {<} 里不可有限公理化。考点:语言决定哪些概念「说得出」。
习题 6-2(真值判定)。在 (ℤ, +, <, 0) 中判断:(i) ∀x ∃y (y + y = x);(ii) ∀x∃y(x < y);(iii) ∃y ∀x (x + y = x)。
提示。(i) 假:x = 1 时 2y = 1 无整数解。(ii) 真:取 y = x + 1。(iii) 真:取 y = 0。三句对照可见:同一条「存在」式,因内部条件的算术性质不同而真值各异——判真值必须先读懂原子条件在结构中意味着什么。
习题 6-3(半代数集)。在 (ℝ, +, ·, <) 中写出下列集合的定义公式,并说明它们是半代数集:① [0, 1];② 单位圆周;③ 抛物线内部的点集。
提示。① 0 ≤ x ∧ x ≤ 1。② x2 + y2 = 1。③ y > x2。「半代数集」= 多项式等式与不等式的有限布尔组合(§4.11);由 qe,ℝn 中一切可定义集恰是半代数集。要点:语言里能写出的,几何上就是多项式切出的。
习题 6-4(相对化与绝对性)。解释「φM」的含义;判断「x 是序数」与「x = 𝒫(y)」在传递模型之间是否绝对。
提示。相对化 φM 是把 φ 中每个量词改写成「对 M 的元素」(∀x ↦ ∀x ∈ M)。「是序数」是 Δ0(有界量词)概念,故绝对——在传递模型内外同真值。「x = 𝒫(y)」不绝对:幂集依赖「哪些子集存在」,一个模型的子集在更大的模型里可能「漏掉了」某些子集(Schröder 式陷阱,见 §6.3 的幂集难题)。要点:绝对性只属于有界公式;说「所有子集」的地方最容易失效。
习题 6-5(反向用紧致性)。证明:大类「有限域」不可有限公理化。
提示。设有有限条公理 σ 刻画全体有限域。对每个 n 加入「论域至少 n 个元素」的句子(n 个互异常元 + 互不相等),得理论 T。任取有限子集,只要 n 有界,取足够大的有限域 𝔽2k 即可兑现——有限可满足;由紧致性 T 有模型,它是无限域却满足 σ,与「σ 只刻画有限域」矛盾。这是「有限可满足 ⟹ 可满足」在反向应用中的标准姿态:想否证一个结构类的可公理化,就造一个无限模型。
习题 6-6(造一个怪宇宙)。用紧致性造出 ZFC 的一个模型,其中含一个「非标准自然数」(比一切标准 0, 1, 2, … 都大),并说明它为何不能由 ZFC 内部得到。
提示。取语言加常元 c,令 T = ZFC ∪ {c ∈ ω} ∪ {「c > n」: n ∈ ω}(n 为项缩写)。有限子集由标准自然数兑现 ⟹ 有限可满足 ⟹ 可满足。所得模型 𝒩 中 c 是非标准的。它不能由 ZFC 内部得到,是因为「ℕ 的标准部分之外还有元」这句话在 ZFC 中不可表达(否则它与「ℕ 是标准模型」的定义冲突)——非标准性是模型论事实,不是 ZFC 定理。
习题 6-7(L 的三条性质)。陈述并解释可构造宇宙 L 的三条关键性质:L ⊆ V、L ⊨ ZFC、L ⊨ GCH,并说明第三条为何使用「凝聚引理」。
提示。L ⊆ V 由逐层 Lα ⊆ Vα 归纳得到;L ⊨ ZFC 靠逐条核对相对化(Def 层在 ZFC 内可定义,公理模式随参数走)。GCH 的关键是:凝聚引理说任何 Lκ 的初等子结构塌缩后仍是某个 Lβ;据此,L 中 λ 的子集必落在 Lλ+ 里,而后者大小为 λ+,故 (2λ)L = λ+。「势的层高有界」是 GCH 的全部秘密。
习题 6-8(力迫的零件)。对 P = Fn(ω × ω, 2)(加一个科恩实数):① 写出「这个实数不在 M 中」所对应的稠密集;② 说明 P 满足 ccc。
提示。① 对每个 M 中的实数 x,取 Dx = {p : ∃n, (n ∈ x) ≠ (p(n) = 1)}——即 p 已在某个位置与 x 不同。Dx 稠密(任一条件都能再定一个位置把它与 x 拉开),且属于 M。泛型性保证 G ∩ Dx ≠ ∅,故新实数 ∉ M。② P 是有限函数族,任给不可数多条件,用 Δ-系统引理抽出定义域除有限核外两两不交的子族,核上取值一致的更多,此时两两相容——故无可数不可数的反链,ccc 成立。
习题 6-9(把独立性说清)。写出「CH 独立于 ZFC」的完整陈述与推导骨架,并指出其中哪一步是「元数学的」。
提示。陈述:Con(ZFC) → (ZFC ⊬ CH 且 ZFC ⊬ ¬CH)。骨架:Con(ZFC) → Con(ZFC+CH)(取 L,故 ¬CH 不可证)+ Con(ZFC) → Con(ZFC+¬CH)(取 M[G],故 CH 不可证)。元数学的那一步是「存在可数传递模型」与「可数传递模型的存在由反射原理+Löwenheim–Skolem 保证」——这一步谈的是 ZFC 的模型,不能用 ZFC 的公理推演本身来完成(否则与不完备性冲突)。
习题 6-10(相对一致性链)。说明 Con(ZFC) → Con(ZFC + ¬CH + MA) 的构造思路,并解释为什么最终一切都吊在「ZFC 一致」这一根钉子上。
提示。从 M ⊨ ZFC + GCH 出发,做 ω2 步有限支撑迭代力迫:每步加一个科恩实数并保证后续要求,迭代保持 ccc,故基数不塌;终模型 M[G] ⊨ ZFC + 2ℵ0 = ℵ2 + MA,于是 ¬CH 与 MA 同真。吊在一根钉子上:整条链只证「ZFC 一致 ⟹ 新理论一致」,从不证 ZFC 本身一致;若 ZFC 有矛盾,则这一切模型都不存在,讨论失去意义。
本章十七节不是平行排列,而是两条主干加一条会师线。主干一(语法线):ZFC 作为一阶理论 → 相对化与绝对性 → 可构造宇宙 L。主干二(构造线):力的观念 → 力迫偏序与名字 → 力迫关系与真值引理 → 泛型滤子与扩张 M[G] → 扩张仍满足 ZFC → 科恩力迫。会师线:L ⊨ CH 与 M[G] ⊨ ¬CH 合璧,得 CH 独立。独立之后,第三梯队再向外展开:布尔值模型、迭代力迫与新公理、大基数、现代模型论全景、应用与有限模型论。下图的箭头一律读作「B 的定义或证明需要 A」。
读图的次序。若只求理解 CH 判决,沿「ZFC(§6.1)→ L(§6.2)→ 偏序与名字(§6.4)→ ⊩ 与真值引理(§6.5)→ 扩张 M[G](§6.6)→ 科恩(§6.8)→ 会师(§6.9)」一条路走到底即可,其余节点都是这条主脉的支线。若要理解「为什么必须用名字而不是直接指定新实数」,则须回到 §6.3「力的观念」——那里的幂集难题是整部机器的发条。若要理解「力迫凭什么能被 ZFC 自己谈论」,则须回到 §6.5 的可定义性引理。三条岔路各自通向一章的技术核心,按需要下钻。
一条主脉与三条支线。主脉只有七步:公理表 → L → 偏序与名字 → ⊩ 与真值引理 → 扩张 M[G] → 科恩力迫 → 独立判决。三条支线分别是:代数支线(布尔值模型把力迫翻译成真值计算)、公理支线(迭代力迫与新公理把判决转成选择)、宇宙支线(大基数与多元宇宙观给连续统设界并重述「真」的含义)。读本章若一时迷路,回到主脉的七步即可复位——每个支线节点都能沿箭头追回主脉上的某一步。
通向外部的接口。① ZFC 公理表与序数基数 → 标准集合论教材;② 可定义性与绝对性 → 第三章五种几何的相对一致性判法;③ 力迫与布尔值模型 → 集合论的迭代力迫、proper forcing、连续统的谱、基数算术等当代分支;④ CH 独立 → 数学哲学中「单一真宇宙 vs 多元宇宙」之争(§6.17);⑤ 稳定性、o-极小、NIP → 第五章与本章 §6.14 的分类地图;⑥ 应用模型论 → 代数几何(Mordell–Lang)与数论(§6.15)。本章是全书的收束章:前五章攒下的工具在此合成一次独立的判决,也在此指向整门学科的当代前沿。
本页任务。把本章「语法与语义」这一侧压缩成四张随身卡片:语言与公理表、相对化与绝对性、初等的三件套、可定义性的边界。
卡片一:ZFC 作为一阶理论(§6.1)。语言只有 ∈;九条公理分两类——构造类(配对、并、幂集、无穷、空集)负责由旧集合造新集合,约束类(分离、替换、正则、选择)负责收拢与排雷。分离与替换把「符合性质的部分」变成集合,正是罗素 1901 年悖论留下的围墙;正则排除 x ∈ x 一类恶性循环。历史:Zermelo 1908 → Fraenkel / Skolem 1922 补替换 → 今天的 ZFC。
卡片二:相对化与绝对性(§6.1、§6.2)。把 φ 的每个量词改写成「对 M 的元素」得 φM;M ⊨ ZFC 即每条公理的相对化在 M 中为真。有界公式(Δ0)在传递模型间绝对(如「是序数」「是自然数」);而「x = 𝒫(y)」不绝对——幂集概念依赖模型里「有哪些子集」。这条裂缝正是力迫必须精细处理幂集的根源。
卡片三:初等的三件套(衔接第二章、第五章)。≅ ⟹ ≺ ⟹ ≡,反向皆不成立。(ℚ, <) ≡ (ℝ, <) 而不同构(势不同),是同构与等价裂缝的标本。紧致性(有限可满足 ⟺ 可满足)与 Löwenheim–Skolem(模型可大可小)是造模型的通用机器;Tarski–Vaught 判 ≺。这三件套在本章被用来造出「CH 真」与「CH 假」的宇宙。
卡片四:可定义性的边界(§4.11–4.13、§6.15–6.16)。可定义性由语言决定:(ℕ, +, ·) 能定义平方集,(ℕ, +) 不能(Presburger 的半线性集不许无界间距);(ℝ, +, ·, <) 的可定义集恰是半代数集(o-极小)。更远的两站是「可定义性决定判定性」(ℤ 在 ℚ 中可定义 ⟹ 有理数丢番图问题不可判定,§6.15)与「可表达性决定复杂度」(NP = ∃SO,§6.16)。
三条对照要牢记。① 语法 vs 语义:⊢ 是有限符号操作,⊨ 是结构中的真;完备性说二者吻合,独立性问题恰恰爆发在「吻合之外的那片空白」。② 绝对 vs 相对:一句话的真假可能随模型而变,「独立」就是这种变化的极端形态。③ 有限 vs 无限:有限结构上紧致性失效(§6.16),却换来与复杂度的精确对齐——摇晃之处生新物。
易错三坑。① 把「Con(ZFC) → Con(ZFC+CH)」误读成「ZFC 一致」或「CH 为真」——它只是条件句;② 误以为绝对性对所有概念成立——凡涉及「全部子集」「存在函数」的概念都要逐一检查;③ 把「不可判定」当「不可知」——不可判定是确定的元数学定理,说的是「不存在证明」,不是「还没找到」。
本页任务。把本章「模型与构造」这一侧收成四张卡片,并把全章的高潮——CH 的两半判决——重新钉一遍。
卡片五:内模型 L(§6.2)。递归 L0 = ∅、Lα+1 = Def(Lα)、Lλ = ⋃α<λ Lα,L = ⋃α∈Ord Lα。三条定理:L ⊨ ZFC、绝对性与凝聚、L ⊨ GCH。产出:Con(ZFC) → Con(ZFC + CH)——CH 不能被否证。
卡片六:力迫的机器(§6.3–6.8)。偏序 P(信息碎片)→ 稠密集 → 泛型滤子 G(可数传递模型存在的保证)→ P-名字与解释 val(τ, G) → 力迫关系 p ⊩ φ → 真值引理(外部真值 = 内部力迫)+可定义性引理(力迫关系在 M 内可定义)→ M[G] ⊨ ZFC。科恩力迫:P = Fn(ω2 × ω, 2) 塞入 ℵ2 个实数,ccc 保基数,得 M[G] ⊨ ¬CH——产出:Con(ZFC) → Con(ZFC + ¬CH),CH 不能被证明。
两半判决合璧(本章的最高点)。CH 既不可证也不可否证——独立于 ZFC。希尔伯特 1900 年排在第一号的问题,其「解决」形态不是判明真假,而是证明它不可由 ZFC 判定。这条判决的元数学骨架是:可数传递模型 + 反射原理 + 力迫定理(内模型一侧只用「L 可定义且满足 ZFC」)。由它衍生出的完整图景是「连续统的可行谱」:2ℵ0 可以是 ℵ1(CH 真),也可以是任意满足 cf(κ) > ℵ0 的 κ(Easton 型结论),只受康托尔下界与哥尼斯共尾约束。
卡片七:力迫的代数化与新公理(§6.11–6.13)。布尔值模型把力迫从「造滤子」翻译成「算布尔值」:完全布尔代数 B、B-值宇宙 VB、真值 ‖φ‖,且 p ⊩ φ ⟺ up ≤ ‖φ‖。迭代力迫沿序数层层加料,推出 Martin 公理 MA 与 MA + ¬CH(可令 2ℵ0 = ℵ2);PFA / MM 更强,直接蕴含 2ℵ0 = ℵ2 与 ¬CH。大基数则相反:小力迫毁不掉它们,它们给连续统设下界(如实值可测基数存在 ⟹ CH 假)。
卡片八:从判决到选择(§6.14–6.17)。独立之后,问题变成「该加哪条新公理」:V = L(CH 真但宇宙贫瘠)、大基数(稳固但约束有限)、MA / PFA / MM(¬CH 且宇宙饱和)、Woodin 的 Ω-猜想与 Ultimate L(若成立则 CH 真)。与之并行的,是模型论自身的扩张:稳定性与分类、o-极小与驯服拓扑、NIP / 简易理论、连续模型论、几何模型论与应用模型论,以及有限模型论与描述复杂度(NP = ∃SO)。
通往综合站。本章两度判决(平行公设之于几何见第三章,CH 之于 ZFC 见本章)合起来,正是全书暗线的落点——真理是相对于模型的。行李清点:ZFC 公理表、相对化与绝对性、L、偏序与名字、⊩ 与真值引理、泛型扩张、科恩力迫、布尔值模型、MA 与大基数——九件全带,下一站把六章的地图拼成一张总图。
本章最深的一课,可以用一句话说完:一个句子的真假,不是句子的属性,而是句子与模型的配对属性。「三角形内角和等于两直角」在欧氏平面上真、在球面上假;「每个非空子集有最小元」在有限序上真、在 (ℤ, <) 上假;「2ℵ0 = ℵ1」在哥德尔的可构造宇宙 L 中真、在科恩的力迫扩张 M[G] 中假。同一条符号串,换一个世界,真值整段翻面。这不是逻辑的缺陷,而是「真」这个词的本义。
把这件事想透,力迫法的全部门槛就退成一句常识。既然真假相对于模型,那么要否证一条命题,就不必去「证明它的反面」——只需造出一个使它为假的世界。科恩的全部天才在于:这个世界可以在不破坏原有世界的前提下被精确地「加上去」,而且加的过程完全受原有世界内部的规则支配(p ⊩ φ 在 M 内可定义)。造世界的自由,被锁进了可计算、可验证的语法里——这正是「力迫」二字的分量。
再往上一层,独立性给出的不是虚无,而是一张需要做选择的地图。ZFC 判不出 CH,于是「该加哪条新公理」成了真问题:V = L 让宇宙贫瘠而整齐,MA、PFA、MM 让宇宙饱和而丰富,大基数给连续统设下无法逾越的下界,Woodin 的 Ultimate L 想给这场争论一个「结构上的定论」。这些公理不再只是「更安全的前提」,而是一种世界观的选择:希望数学宇宙长成什么样,就选让哪种结构成立的公理。
留下的问题:如果「真」永远是相对于模型的,那么「所有模型共同为真的那部分」是否就是我们能期望的最强意义上的真理?——这正是从一阶逻辑到「多重宇宙」的全部争论所在。下页的挑战,亲手为一门理论画出它的模型地形,亲手体会一次这种相对性。
任务。从下列理论中选一门,为它画出完整的模型地形图,并写成一张一页纸的「地形报告」:(甲) DLO(稠密线性序无端点);(乙) ACFp(特征 p 的代数闭域);(丙) RCF(实闭域);(丁) 群论 Th(ℤ, +) 或 ZFC。地形的坐标轴建议取:横轴为势的谱(可数、ℵ1、任意不可数),纵轴为结构复杂度(是否范畴、是否饱和、可定义集的丰富程度)。
分步引导。
进阶(选做)。对 ZFC 画地形时,会遇到本章的特殊困难:这门理论无完备性可言(若一致则不完备,Gödel 1931),量词消去无从谈起,唯一能标的是「单句的独立层」——CH、Suslin 假设、Whitehead 问题、可测基数存在性各自相对一致。于是 ZFC 的地形不是一张平面图,而是一棵公理选择树(§6.17 的图 6-18)。这正是本章与第五、六章分类理论的分界:「可分类的理论」与「公理系统」是两件事——前者按模型数分类,后者按可加入的公理分岔。作为对照,同一个 (ℚ, <):在 DLO 的地形里它是唯一的可数模型,可到了 ZFC 的地形里,「实数轴上有几个连续统的势」却分成了互不相容的若干层——地形的复杂程度,恰好度量了这门理论「锁不住的东西」有多少。
实验目的。把本章三条元定理从「纸上的结论」变成「跑出来的数据」:对拍一用具体模型核验「真值随模型而变」;对拍二展示「有限可满足 ≠ 有有限模型」(紧致性);对拍三采样随机图上一阶句子的极限概率(0-1 律)。全部代码只用标准库,可跑于任何 Python 3 环境。三次对拍都不「证明」定理本身——它们做的是更朴素的一件事:把定理所断言的模型行为,在一批小样本上逐一兑现,从而让抽象的元定理获得可复现的手感。
核心代码(一阶句子的小模型检验器与两模型对照)。
# 一阶句子的小模型检验器:只含 < 与常元 c,够本实验用
def hold(f, M, env):
tag = f[0]
if tag == 'lt':
a, b = f[1], f[2]
return M['lt'](env.get(a, a), env.get(b, b))
if tag == 'not':
return not hold(f[1], M, env)
if tag == 'all':
return all(hold(f[2], M, dict(env, **{f[1]: u})) for u in M['dom'])
if tag == 'ex':
return any(hold(f[2], M, dict(env, **{f[1]: u})) for u in M['dom'])
raise ValueError('未知节点')
def LT(a, b): return ('lt', a, b)
def NOT(f): return ('not', f)
def ALL(v, f): return ('all', v, f)
def EX(v, f): return ('ex', v, f)
# 句子:有最小元 = ∃x∀y ¬(y < x)
LEAST = EX('x', ALL('y', NOT(LT('y', 'x'))))
# 模型 A:有限序 {0,…,4}
A = {'dom': list(range(5)), 'lt': lambda a, b: a < b}
print('有限序有最小元:', hold(LEAST, A, {})) # True
# 模型 B:整数序 (Z,<) —— 无穷,改抽样核验(y = x − 1 总在)
no_least = all(any(y < x for y in range(-50, 50)) for x in range(-5, 6))
print('整数序有最小元:', not no_least) # False
print('同一句「有最小元」在 A 上真、在 B 上假 —— 真值随模型而变。')
真跑输出摘要。运行完整脚本(qa/exp_c6_tail.py)得到三段结果:对拍一——有限序判 True、整数序判 False;对 n = 1 … 6 全部 n! 个标号线性序穷举,有最小元者分别是 1, 2, 6, 24, 120, 720,与 n! 逐一相等,定理「非空有限线性序必有最小元」被完整核验。对拍二——对 n ≤ 2, 3, 4, 6 四组片段,各取 3, 4, 5, 7 个元素的线性序即可兑现,四组全部 True;但整体要求「c 上方元数无限」,有限模型无一能兑现,紧致性于是逼出一个无限模型。对拍三——G(n, 1/2) 上「存在全相邻点」的成立频率(每档 2000 次采样)随 n = 5, 10, 15, 20, 25 依次为 0.269, 0.022, 0.001, 0.000, 0.000,单调下滑趋于 0——0-1 律的一个具体样本。
实验报告要求。① 贴出对拍一的两个真值与穷举核验表(n = 1 … 6);② 对拍二里把「片段上界 n」调到 10,报告所需的最小兑现元数,并说明为何无论如何调大都给不出有限模型;③ 对拍三把采样次数从 2000 提到 20000,记录 n = 20 时的频率,比较波动的量级;④ 思考题:为什么「图是连通的」无法用一阶句子表达?若它可表达,0-1 律会给出什么荒谬的结论?
★ 本章从头到尾在做一件事:把「什么是公理」这件事本身当成研究对象。这条思路在东西方有两条很不一样的来路。
希腊的一路:从「自明的起点」到「任意的前提」。欧几里得《几何原本》(约公元前 300 年)把「公设」与「公理」摆在卷首,要求先接受五条公设,再顺着演绎推出全部命题;第五公设(平行公设)因其不「自明」而成为两千年的心病。直到 1820 至 1830 年代,罗巴切夫斯基、鲍耶与高斯各自发现:把第五公设换成一个相反的断言,仍然推得出一套自洽的几何。1899 年希尔伯特《几何基础》更进一步,把「点、线、面」的意义完全交给公理——对象不必有直觉内容,公理系统只负责规定它们之间的关系。这一「公理化」观念在二十世纪落实为一阶逻辑与 ZFC:公理不再是自明的真理,而是可供选择的前提。本章的力迫与独立性,正是这条路线走到极限时的产物:既然公理是前提而非真理,「CH 该不该加」就成了前提的选择。
中国的一路:算法传统与「名实」之辨。《九章算术》(成书约在公元一世纪)以二百四十六道题分九章编排,每题给出「术」——可执行的算法,而非公理演绎;刘徽在 263 年作注,为「术」补上「所以然」(如割圆术中的极限逼近),是中国数学少见的显式推理段落。逻辑一路则见于战国名家的「名实」之辨:公孙龙持「白马非马」,惠施倡「合同异」,这些命题关心的正是概念的外延与分类——用今天的话说,是「一个名词的适用范围如何被精确定义」。墨家《墨经》里已有「故」「类」「法」等推理范畴的讨论,东传的佛教因明(陈那,约六世纪)更建立了「宗、因、喻」的论证格式,与三段论有相通处。1607 年徐光启与利玛窦合译《几何原本》前六卷,「几何」之名由是落地,「公理」一词也随之进入汉语。
两条路的会合。算法传统长于「构造」与「归类」,演绎传统长于「从前提推出必然」。本章的技术恰在两路的交汇处:力迫是构造(造出一个新宇宙),独立性是归类(把 CH 归入「既不可证也不可否证」的那一格)。而 1607 年至 1899 年这三百年间发生的事情,正是「自明起点」被替换为「任意前提」的过程——这一步一旦走完,哥德尔 1938 与科恩 1963 的判决才有可能:只有当公理承认自己是可替换的前提,才有「独立」这个概念可言。格物致知,先要承认「物」可以有多种画法。
★★★ 一页备查:左侧是语法与语义的条目,右侧是力迫与独立性的机器。
| 条目 | 内容 | 出处 § |
|---|---|---|
| 集合论语言 | 只含二元关系 ∈;ZFC 九条:外延、配对、并、幂集、无穷、分离、替换、正则、选择 | §6.1 |
| V 与序数 | V0 = ∅,Vα+1 = 𝒫(Vα),Vλ = ⋃α<λ;Ord 为良序标尺 | §6.1 |
| 相对化与绝对性 | φM:量词限于 M;Δ0 公式绝对,幂集概念不绝对 | §6.1–6.2 |
| 可构造宇宙 L | L0 = ∅,Lα+1 = Def(Lα),L = ⋃α Lα;L ⊨ ZFC | §6.2 |
| L ⊨ GCH | 凝聚引理 ⟹ (2λ)L = λ+;特别地 L ⊨ CH | §6.2 |
| 内 / 外模型 | 内模型削小(L)、外模型加大(M[G]);两路给两半一致性 | §6.3 |
| 偏序与稠密 | P = (P, ≤);D 稠密 ⟺ ∀p ∃q ∈ D (q ≤ p) | §6.4 |
| 泛型滤子 | G 与每个 M 内稠密集相交;可数 M 时必存在,且 G ∉ M | §6.4、§6.6 |
| P-名字 | val(τ, G) = {val(σ, G) : ∃p ∈ G, (σ, p) ∈ τ} | §6.4 |
| 力迫关系 | p ⊩ φ:凡含 p 的泛型滤子都使 φ 真;单调性 q ≤ p 保持 | §6.5 |
| 真值引理 | M[G] ⊨ φ ⟺ ∃p ∈ G, p ⊩ φ;可定义性引理使 ⊩ 在 M 内可定义 | §6.5 |
| 力迫扩张 | M[G] 传递、序数不变、含 M 与 G、最小;M[G] ⊨ ZFC | §6.6–6.7 |
| 科恩力迫 | P = Fn(ω2 × ω, 2);ccc 保基数;(2ℵ0)M[G] ≥ ℵ2 | §6.8 |
| CH 独立 | Con(ZFC) → Con(ZFC+CH) 且 → Con(ZFC+¬CH);故 CH 既不可证也不可否证 | §6.9–6.10 |
| 可能性谱 | 2ℵ0 = κ 可取一切 cf(κ) > ℵ0 的 κ,但不得取 ℵω(哥尼斯) | §6.10 |
| 条目 | 内容 | 出处 § |
|---|---|---|
| 布尔值模型 | 完全布尔代数 B、B-值宇宙 VB、真值 ‖φ‖;p ⊩ φ ⟺ up ≤ ‖φ‖ | §6.11 |
| 迭代与 MA | 有限 / 可数支撑迭代;MA(κ):κ 个稠密集可同时命中;MA + ¬CH 一致 | §6.12 |
| PFA / MM | 均蕴含 2ℵ0 = ℵ2,因而蕴含 ¬CH | §6.12 |
| 大基数 | 不可达 ⊂ 可测 ⊂ 强 ⊂ 超紧 ⊂ 巨大;小力迫毁不掉大基数 | §6.13 |
| 大基数与 CH | 可测 κ ⟹ 2ℵ0 < κ;实值可测 2ℵ0 ⟹ ¬CH | §6.13 |
| 稳定性阶梯 | ω-稳定 ⊂ 超稳定 ⊂ 稳定 ⊂ 简易 ⊂ NIP;Morley 1962 起 | §6.14 |
| 应用模型论 | Mordell–Lang(Hrushovski 1996);ℤ 在 ℚ 中可定义(Robinson 1949)⟹ 第十问题不可判定 | §6.15 |
| Ax–Kochen | 伪有限域 = 有限域理论之模型伴随;几近所有 p,ℚp ≡ 𝔽p((t)) | §6.15 |
| 描述复杂度 | NP = ∃SO(Fagin 1974)、P = FO(LFP)(Immerman–Vardi 1986)、PH = SO | §6.16 |
| 有限模型论 | Trakhtenbrot 1950:有限可满足性不可判定;0-1 律(Fagin 1976);EF 博弈 | §6.16 |
| 新公理候选 | V = L、大基数、MA / PFA / MM、Ω-猜想与 Ultimate L | §6.17 |
模型卡三张(背下来)。① L:L ⊆ V、L ⊨ ZFC、L ⊨ GCH,|Lα| ≤ |α|;作用——CH 不可否证。② M[G]:由 Fn(ω2 × ω, 2) 生成,ccc 保基数,含 ℵ2 个新实数;作用——CH 不可证明。③ VB:力迫的代数写法,‖ZFC 公理‖ = 1,VB/G ≅ M[G];作用——把力迫变成计算。
一句话总账。语言与公理 → 相对化与绝对性 → 内模型 L(CH 真)+ 力迫 M[G](CH 假)→ CH 独立于 ZFC → 新公理的选择与模型论的当代全景。这一条链子值得背下来:它的每一环都是一个可独立复述的技术单元,合起来则是二十世纪逻辑学最著名的一次「解决」。
易错三坑。① 把 L ⊨ CH 误读成「CH 为真」——它只说「存在一个使 CH 为真的模型」,与 CH 的真假之争无关;② 把 ccc 与「保基数」当作同义——ccc 保证基数不塌,但真要说清哪些基数被保留,仍须逐一核验;③ 以为力迫能改变序数高度——M[G] 与 M 有相同的序数,力迫只往「宽」里长,不往「高」里长。
本页任务。前六章各建了一座塔:语言与结构、紧致性与 Löwenheim–Skolem、五种几何的公理地形、量词消去与可判定性、类型饱和与范畴性、力迫与连续统假设。六座塔各有自己的地平线,却共用同一批砖石——语言、结构、满足、理论、模型。综合站要做的事只有一件:让人站到塔顶,看到它们其实是同一座城。
综合站的路线。先用一张年表与一份人物谱交代这门学问的来历(1915 年的 Löwenheim 定理到 1996 年 Hrushovski 的代数几何应用),再用两篇札记回望五几何的百年判决与公理观念史;随后是全书概念总图与方法决策树——遇到一个新理论该先试判定、再试消去、最后才上力迫;接着两个综合实验把五种几何的模型放在同一张台上对拍,并把紧致性、量词消去与布尔值力迫各自跑成程序;最后以终极挑战、综合习题、全书小结与终极速查表收兵。
模型论不是某一年的发明,而是一串彼此回应的判决。下表挑出二十个刻度,横跨一百一十年:每一行都改变了「模型」这个词的用法。
| 年份 | 事件 | 它改写了什么 |
|---|---|---|
| 1915 | Löwenheim 定理 | 一个可数句子若有模型,则有可数模型——「大小」第一次与「可满足」分家 |
| 1920–1922 | Skolem 的推广与佯谬 | 形式系统挡不住「可数模型」(Skolem 佯谬) |
| 1929 | 哥德尔完备性定理 | 一阶逻辑的 ⊢ 与 ⊨ 重合,「结构」成为语义的正式载体 |
| 1930 | 紧致性定理被点明 | 有穷可满足 ⟹ 整体可满足;造非标准模型的第一台机器 |
| 1931 | 哥德尔不完备定理 | 足够强的理论必有模型读不出的真命题 |
| 1933 | Tarski 真概念 | 满足关系被严格定义,语义学有了地基 |
| 1938 | 哥德尔可构造宇宙 L | 造出 CH 成立的模型 |
| 1948–1951 | Tarski 初等几何与实闭域 | 量词消去机器上线:实闭域可判定 |
| 1954–1957 | Łoś 超积定理 · 超实数 | 紧致性的代数化身,非标准分析登场 |
| 1960 | Robinson 非标准分析 | 同一套语言里的无穷小获得了合法身份 |
| 1962 | Morley 范畴性定理 | 「一个基数的范畴性 ⟹ 所有不可数基数的范畴性」,现代稳定性理论起点 |
| 1963 | Cohen 力迫法 | 造出 CH 失败的模型,CH 独立于 ZFC |
| 1965 | Robinson 模型论导论 | 这门学科有了自己的教科书与名字 |
| 1967–1973 | Shelah 分类理论 | 「哪些理论有好的分类」成为可计算的结构问题 |
| 1970s | 稳定性与几何模型论 | 模型论开始反过来给代数几何供工具 |
| 1984 | Zil'ber 与 Hrushovski 的开端 | 模型论的几何转向 |
| 1988 | Hrushovski 融合构造 | 用模型论造出新结构,反哺稳定性理论 |
| 1996 | Hrushovski 证明 Mordell–Lang 猜想 | 模型论第一次解决代数几何的核心问题 |
| 2000s | o-minimality 与解析几何 · Pila–Wilkie | 模型论进击数论与丢番图几何 |
| 2010s–2026 | 证明助手与形式化 · 稳定组合学 | 模型论的语言进入机器核验与现代组合学 |
三条主线。第一,模型与大小的分离:1915 与 1920 两步让「有模型」不再蕴含「模型够大」。第二,判定与不可判定的交替:1938 年造出 CH 成立的模型、1963 年造出它失败的模型,一个独立性问题被两次「造模型」判死。第三,从接受结构到制造结构:超积、融合构造、力迫,全都是主动造模型的工艺,而 1996 年以后的模型论已经能拿这些工艺去解别人的问题。
这门的学问留下一串彼此带教的名字,把他们按线索排开,比按年代排开更能看出门道。
第一代:把「有模型」这件事问到底。Löwenheim(1915)一个人先走了一步,Skolem(1920)把结论推到整批句子上,于是有了同名的 Löwenheim–Skolem 定理,以及那个让人心里发毛的 Skolem 佯谬:一个谈论不可数集合的形式系统,自己却有一个可数模型。Tarski(1933)随后给出满足关系的严格定义——在那之前,「为真」还是半直觉的说法。这一代的贡献可以概括为:把「模型」从例子变成了对象。
第二代:在这套语言里造模型。哥德尔(1929 完备性、1931 不完备、1938 可构造宇宙)三次出手,三次都在同一门学问里。Łoś(1954)的超积定理给出紧致性的代数版本,Robinson(1960)用它把无穷小变成了超实数域里的合法居民——非标准分析就此诞生。Morley(1962)证明「一个不可数基数的范畴性蕴含全体的范畴性」,于是「有多少个模型」本身成了定理的题材;三年后 Cohen(1963)用刚造出的力迫法把连续统假设判成独立,第二次「造模型」把希尔伯特第一问题送进历史。Robinson 1965 年的《模型论导论》则把这门学科从技巧收拢成体系。
第三代:反过来给别人供工具。Shelah 从 1967 年起发展分类理论,把「哪些理论结构良好」变成可以逐条计算的谱系。几何转向跟着发生:Zil'ber 与 Hrushovski 从 1984 年起用模型论处理代数结构,Hrushovski 1988 年的融合构造造出与当时预期相反的例子,1996 年更以模型论方法证下 Mordell–Lang 猜想——模型论第一次解决代数几何的核心问题。此后 Pila–Wilkie(2000 年代)用 o-minimality 进攻丢番图几何,模型的眼光开始反向照亮数论。
把这条谱系读完,会发现这门学问的性格:它从不满足于「存在一个模型」,总要多问一句「它是什么样子的」。也正是这句追问,让它在一百年里从逻辑的边缘走到了数学的中心。
欧几里得的《几何原本》把平行公设放在第五条,两千年里无数人想把它从前四条推出来。这段漫长的失败史,恰好是模型论诞生的前史。
从「想证明」到「造模型」。Saccheri 1733 年用归谬法处理这条公设:假定平行线不止一条,试着推出矛盾。他推了很久,推出许多「异样但自洽」的结论,最后以不合直觉为由宣布找到了矛盾——今天看来,他其实造出了双曲几何的第一批定理,只是不肯承认。一百年后,Gauss、Lobachevsky(1829)与 Bolyai(1832)分别承认了这套几何的独立性;Beltrami 1868 年给出伪球面模型,Klein 1871 年给出射影模型,Poincaré 1882 年给出单位圆盘模型。有了模型,事情的性质立刻变了:若双曲几何的内部矛盾,则欧氏几何必定同样矛盾——因为它的模型就长在欧氏空间里面。这是相对解释的第一次亮相,也是「公理独立」第一次被真正判死。
从「一条判决」到「一张地形图」。判决平行公设之后,问题没有结束,反而分裂成一张地形图:欧氏几何添上无穷远超平面成为仿射几何,再补上无穷远点成为射影几何;把「直线」换成大圆,得到球面几何;把欧氏空间里的模型重新解释,得到罗氏几何。五种几何不是互相取代的关系,而是同一个射影框架下的不同切片。到底哪一种为「真」,模型论的回答很干脆:没有哪一种,只有哪一种在哪个模型里成立。
从「几何的公理」到「公理的几何」。1900 年希尔伯特在《几何基础》里为欧氏几何重建了公理组,特意让「点、线、面」失去具体含义,只保留相互关系的约束;Tarski 1951 年进一步把这套公理化写成初等语言里的可判定理论。于是「公理」这个词完成了一次身份转换:它不再是关于空间的真理,而是一段可以被不同结构同时满足的句子。这一步走完,模型论的所有工具(紧致性、量词消去、范畴性)都能直接架到几何上——第五章与第六章的两条主线,在这里合成了一个源头。
这段历史给全书的读法提供了一个提醒:当一个问题反复证不出来时,值得换一个问法——不是「它是否成立」,而是「在什么样的模型里它成立」。平行公设如此,连续统假设也是如此。
下面这张图把七章的全部概念收进一个依赖网络。读法是固定的:节点内的编号指它在哪一章哪一节出生,箭头指「证明或定义用到」的关系。特别留意图中部那两个双线框——紧致性与量词消去,全书八成的构造都从它们出发。
接口提示。① 紧致性 → 非标准模型与超积;② 量词消去 → 实闭域与初等几何的可判定;③ 类型与饱和 → 稳定性与分类理论;④ 力迫 → CH 的独立性与现代集合论。四条线在此收束,也在此分岔:综合站的余下各页,就把这四条线各自跑成可复跑的程序与可动手的挑战。
面对一个陌生的理论,第一件事不是动手,而是问清目标。下面这棵树把全书的工具排成一个决策顺序:想判断一个句子的真假、想知道可定义的集合长什么样、想造一个反例模型——三条路各有一套标准工具,选错了会白费力气。
三个选型口诀。① 先看语言贫不贫:只有序或域运算这类贫语言,多半能消去量词,判定性可期;一旦塞进乘法与加法同时出现(算术),判定性立刻崩塌。② 再看目标是不是「存在唯一结构」:若理论在某个基数上范畴,则模型形状被锁死,用基数的谱就能回答很多问题。③ 最后看要不要动真理:紧致性和超积只在同一个理论内部换模型,力迫则连句子的真假都能改——需要「与 ZFC 相容的另一个世界」时才请它出场。
实验目的。把射影、仿射、欧氏、罗氏、球面五种几何放在同一张台上,用同一批判据(平行线的条数、内角和、面积公式)逐一测量,看看「同一套语言换一个模型就是另一种几何」这句话在数字上是什么模样。全部结论都由程序算出,不引用教科书的现成答案。
def dot(u, v): return sum(a * b for a, b in zip(u, v))
def crs(u, v): return (u[1]*v[2] - u[2]*v[1], u[2]*v[0] - u[0]*v[2], u[0]*v[1] - u[1]*v[0])
def on(l, p): return abs(dot(l, p)) < 1e-9 # 齐次点 p 是否落在直线 l 上
def ang(u, v): return acos(max(-1.0, min(1.0, dot(u, v) / (nrm(u) * nrm(v)))))
# 射影:y=0 与 y=1 这对「欧氏平行线」在齐次坐标下的交点
inf = crs((0, 1, 0), (0, 1, -1)) # 第三坐标为 0 → 无穷远点
print('交点 =', inf, ' 第三坐标 =', inf[2])
| 几何 | 过线外一点的平行线 | 内角和 | 面积与角的关系 |
|---|---|---|---|
| 欧氏 ℝ2 | 恰 1 条 | = 180 度 | 面积 6.0000,无角亏 |
| 仿射 A2 | 恰 1 条 | 角无意义 | 保共线与面积比,不保角 |
| 射影 ℝP2 | 0 条 | 角无意义 | 无面积概念,Desargues 成立 |
| 罗氏(Poincaré 盘) | 无穷多条 | < 180 度(实测 151.93) | 面积 = 角亏 = 0.489957 |
| 球面 S2 | 0 条 | > 180 度(实测 270.00) | 面积 = 角盈 = 1.570796 |
报告要求。① 记下罗氏几何中「极限平行」的弦在 4001 条候选里占多少(实测 2362 条),并解释这个数字为什么远远大于 1;② 说明仿射剪切保住了什么、丢掉了什么,再判断「角度」是不是仿射不变量;③ 射影平面的交点计算里,第三坐标为 0 意味着什么?用「无穷远线」这个说法把它讲清楚;④ 球面几何里为什么一条平行线都找不到(提示:任两大圆必相交)。完整脚本见配套的 exp_big1.py。
实验目的。把全书三件核心机器各跑一遍:紧致性造非标准模型、量词消去把存在量词剥掉、布尔值力迫在有限版本里完成一次「改造真理」的演练。三件事在纸上都是定理,在机器上则可以逐条验证。
def compat(p, q): return all(p[k] == q[k] for k in set(p) & set(q))
def le(p, q): return all(p[k] == v for k, v in q.items()) # 力迫序:p 强于 q
def val(k, i): return frozenset(j for j, p in enumerate(FF) if p.get(k) == i)
# 排中律的布尔值版本:‖g(0)=0‖ 与 ‖g(0)=1‖ 互补
print('排中律成立:', (TOP - val(0, 0)) == val(0, 1))
print('原子个数:', sum(1 for s in range(8) if len(val_all(s)) == 1))
| 检验项 | 结果 | 说明 |
|---|---|---|
| 非标准元素 | 有穷片段恒有模型 | 紧致性推出「大于所有自然数」的元素存在 |
| 「有限」的可表达性 | 失败 | 有穷片段全可满足、整体无模型,故非一阶 |
| 稠密线性序消去 | 0 组不一致 | 5000 组随机参数 × 4 条公式 |
| 实闭域消去 | 0 组不一致 | 20000 组随机系数 + 退化情形,解方程与判别式判据同步 |
| 布尔值排中律 | 成立 | 每个 ‖g(k) = i‖ 与它否定互补 |
| 原子性 | 8 个原子 | 每个三位串对应一个单元集,两两不交、并为全集 |
报告要求。① 用一句话说明紧致性在 A 与 A′ 两处的不同命运(一处造出模型、一处暴露不可表达),并指出关键差别在于什么;② 给出实闭域消去式中判别式 b2 − 4ac ≥ 0 的来源;③ 把力迫条件从三位扩到四位,重新统计相容条件的比例,说明「信息越少越容易相容」这一现象的走向;④ 把 A′ 中的「论域有限」改写成可以一阶表达的版本(提示:需引入额外谓词),讨论它与原句的差别。完整脚本见配套的 exp_big2.py。
挑战说明。前面六章把五种几何的模型地形铺开过一遍,但那是跟着走。这一页要做的是反方向的事:自己挑一种几何,从零把它建造成一个可讨论的理论,然后证明关于它的两三条命题。任务不要求新结果,要求的是完整的链条——定语言、列公理、说清模型、给出至少一条定理的证明。
第一步 定语言。在下列两种做法里选一种:① 二元关系型。取一个三元谓词 B(x, y, z) 表示「y 在 x 与 z 之间」,再加一个四元谓词表示等距(这是 Tarski 处理欧氏几何的做法)。② 域型。取有序域语言 (+ , · , <),把平面实现为有序域上的坐标对(这是解析几何的做法)。两种语言会带来完全不同的难度:前者刻意回避数,后者把数请进来。
第二步 列公理。写出五到八条公理,覆盖三件事:点的线性结构(任意两点确定一条直线)、平行(欧氏一条、罗氏无穷多、球面零条,此处正是分岔点)、以及连续性或圆形(若选球面几何,则须说明「直线」是大圆,并处理对径点)。把每条公理写成语言里的一个句子,不允许出现「点」「直线」以外的语义提示词。
第三步 说清模型。给出至少两个结构并验证它们满足全部公理。若选罗氏几何,Poincaré 单位圆盘与 Klein 圆盘是两个现成的模型;若选射影几何,实数域与有限域上的射影平面都能当模型,后者会带来一个意外——在有限模型里「点」与「直线」的数目相等,这件事在实数情形并不明显。
第四步 证明一条定理。从下列三条里挑一条自己证:① 若公理组在某个域上是范畴的,则任意两个模型同构;② 平行公设独立于其余公理(唯一做法是造出两个模型:一个平行线恰一条,一个不止一条);③ 球面几何的任两条「直线」必相交(把「直线」处理为大圆,用三维向量证明两个过原点平面必有交线)。
第五步 自问。做完上述四步,回答两个问题:所选公理组是否足以决定模型的基数?如果换一个模型,先前证的定理是否仍成立——为什么?这两个问题的答案,正是模型论与几何学各说了一半的那句话。
评分要点。语言与公理是否分离(公理里不出现语义提示词)、模型验证是否逐条对应、定理证明是否一步不跳、以及最重要的——是否意识到「同一公理组的不同模型」是这一挑战的主角,而不是可以省略的附带说明。
下列五题覆盖全书六章,每题都要求写出论证而不只是结论。难度按顺序递增。
提示。三条公理分别是反自反+传递、稠密性、无端点。两者都是模型;但同构要求双射保持序关系,而可数与不可数之间不存在双射,故不同构。这正好说明「同一个理论可以有不同的基数」。
提示。令 λn 表示「至少有 n 个元素」,取理论 {λ1, λ2, …} ∪ {有限}。每个有穷子集取其中最大的 n,用大小恰为 n 的结构当模型;而全体要求论域既有限又超过每个有穷界,无模型。矛盾出现在「整体必须有模型」这一步。
提示。结果是 y < z:左推右由传递性,右推左由稠密性提供见证。若去掉稠密性,则需补上「存在一个元素严格夹在中间」的条件,消去式本身不足以刻画,说明稠密性正是消去得以成立的关键。
提示。不能由 ℵ0 的范畴性直接推出。Morley 定理说的是「在一个不可数基数上范畴 ⟹ 在所有不可数基数上范畴」,起点必须不可数;可数情形另有 Ryll-Nardzewski 定理一类的工具,但结论方向不同。
提示。哥德尔用可构造宇宙 L 造出 CH 成立的模型,科恩用力迫法造出 CH 失败的模型;两个模型都满足 ZFC,故 ZFC 既不证 CH 也不证 ¬CH,CH 独立。至于真假:独立性说的是「在 ZFC 这套公理下不可判定」,不排除存在更强的公理系统可以判定它——这正是当代围绕大基数与极大性公理仍在争论的问题。
上一页五道题的目的各不相同:题 1 与题 4 考「模型有多少个」,题 2 与题 3 考两件机器(紧致性与量词消去),题 5 考独立性的含义。下面按题讲清关键一步,并点出最常见的错法。
题 1 答案的要点不在「都是模型」,而在「不同构」。(ℚ, <) 与 (ℝ, <) 确实都满足稠密无端点线性序的三条公理,但同构要求双射,而可数与不可数之间不存在双射,故二者不同构。常见错误:把「满足同一组公理」等同于「结构相同」。恰恰相反——一个理论在多个不同构的模型里同时成立,这正是模型论存在的理由。若把这道题与题 4 连起来读,会看出同一件事的两面:公理不锁基数,范畴性才锁形状。
题 2 难点在「谁来当有穷片段的模型」。关键在于每个有穷片段只涉及有限多个 λn,取其中最大的那个 n,用恰好 n 个元素的结构即可满足;而整体要求论域有限且超过每个有穷界,无模型。常见错误:试图为「全体」直接构造模型,或反过来只用有限多个 λn 就下结论。紧致性的用法是固定的:逐片段造模型,整体交给定理。
题 3 消去式的两个方向来源不同。∃x (y < x ∧ x < z) 等价于 y < z:从左到右用传递性,从右到左用稠密性取见证。常见错误:只证一个方向就收笔,或漏掉稠密性的作用。改问「去掉稠密性怎么办」正是要逼出这个观察:消去式只是一条有穷公式,补不出「中间必有元素」这条无限信息。
题 4 起点必须不可数。Morley 定理的条件是「在某个不可数基数上范畴」,结论才推广到全体不可数基数;从 ℵ0 出发不成立。常见错误:把「范畴」当成与基数无关的性质。正确的直觉是:可数情形下模型个数连着理论的定义复杂度,不可数情形下则由 Morley 的秩决定,两套机制不同。
题 5 独立 ≠ 没有真假。哥德尔的可构造宇宙 L 给出 CH 成立的模型,科恩的力迫扩张给出 CH 失败的模型;两个模型都满足 ZFC,故 ZFC 对 CH 沉默。但独立性只否定了「在 ZFC 内可判定」,并不排除更强的公理系统给出判决——这正是大基数与极大性公理仍在争论的战场。常见错误:把「独立于 ZFC」读成「数学上不可知」,或反过来以为「既然两种模型都有,CH 就无所谓真假」。
本页任务。把七章的技术收成一栋楼:从地基到六层,每层回答一个问题。先把楼层背下来,再往下看每层的关键构件。
一层 地基。语言是一组符号,结构是符号的兑现,满足关系连接二者,理论是句子的集合,模型是让理论为真的结构。全书的一切讨论都发生在这五个词的范围里,没有例外。
二层 第一个大定理。紧致性说「有穷可满足即整体可满足」,它立刻把「造模型」变成技术;Löwenheim–Skolem 说基数的上下界可以拉到 ℵ0 或任意大,于是「有模型」不再蕴含「模型够大」。非标准自然数、超实数、Skolem 佯谬都在这一层。
三层 几何作为试验场。射影、仿射、欧氏、罗氏、球面五种几何共用一整套语言,差别只在公理与模型。平行公设独立性的证明就是造出两个模型——模型论的方法第一次替几何解决了历史遗留问题。
四层 机器。量词消去把公式里的 ∃ 一层层剥掉,代价是语言必须足够贫:稠密线性序、实闭域、Presburger 算术都能消去,因而可判定;一旦算术进入,判定性崩塌,这一层立刻把问题交给下一层。
五层 形状。类型描述元素可能的行为,饱和模型把可能的行为全部实现,范畴性则锁住模型的个数。Morley 定理说「在一个不可数基数上范畴 ⟹ 全部不可数基数上范畴」——这是「有多少个模型」第一次成为定理的题材。
六层 真理。力迫法允许在模型里增添新元素而不破坏已有的真句子,于是可以造出 CH 失败的模型;与哥德尔的可构造宇宙合起来,连续统假设被判为独立于 ZFC。这一层的特别之处在于:它讨论的不是「某个句子在某个模型里为真」,而是「哪些句子在哪些模型里可以为真」。
本页任务。技术可以背,观念必须自己长出来。这一页收四句话——它们都不是定理,却是七章读完以后值得带走的东西。
第一句:真理总是相对于模型的。同一个句子 φ 可以在一个结构里为真、在另一个结构里为假,这不是逻辑的缺陷,而是「形式语言 + 结构」这一组合的必然结果。形式化并没有把数学变成一堆脱离对象的符号,它只是把「相对于什么而言」这件事写进了定义里。理解这一点,才算真正跨进了这门学问。
第二句:可判定与不可判定各有其位。实闭域能消去量词,因而初等几何与实代数都可判定;一旦语言足以表达乘法与加法的交互,判定性立刻消失。分界线不是「难易」,而是语言的表达力。面对一个问题,先问它在语言的哪一侧,比直接动手更省力。
第三句:造模型是一种证明方法。平行公设的独立性、CH 的独立性、非标准分析的存在性,三者都不是靠「演算出矛盾」判定的,而是靠造出模型。这条方法论在本册出现三次,每次都在历史上留下了一个转折点:Beltrami 与 Poincaré 的圆盘、哥德尔的 L、科恩的力迫扩张。当演绎走到尽头时,构造往往还能往前走一步。
第四句:模型论的价值在于把眼光借给别人。2000 年以后,这门学问最重要的成果多半出现在别人的地盘上:Hrushovski 用它证下 Mordell–Lang 猜想,Pila–Wilkie 用 o-minimality 处理丢番图问题,稳定组合学把模型论的独立性概念搬进极值图论。它的语言之所以好用,是因为它不预设对象是什么——只要能装进结构,它就能被讨论。
合上这本书时,值得记住的不是某个定理的编号,而是这种提问方式:当一句话反复证不出来时,不要急着怀疑推理,先问它在什么样的模型里成立。平行公设问了两千年,连续统假设问了一百年,这条路每次都通。
全书的全部装备压缩成一页:左列是对象,中列是内容,右列是它在哪一章出生。此表可作长期参考,也可在读完任意一章后回来对位。
| 对象 | 内容 | 出处 |
|---|---|---|
| 语言与结构 | 语言 = 常元、函数、关系符号;结构 = 论域 + 各符号的解释;记 𝒜 ⊨ φ 为「φ 在 𝒜 中为真」 | §1 |
| 理论与模型 | T ⊨ φ 指每个模型都满足 φ;Mod(T) 是 T 的全部模型;T ⊢ φ 指形式可证 | §1 |
| 完备性定理 | T ⊢ φ ⟺ T ⊨ φ(哥德尔 1929):语义与语法在一阶逻辑里重合 | §1 |
| 紧致性定理 | 公式集有模型 ⟺ 每个有穷子集有模型;造非标准模型的第一台机器 | §2 |
| Löwenheim–Skolem | 可数语言里的可满足理论有可数模型;向上亦可将基数拉到任意大 | §2 |
| 超积定理 | 超积保持一阶句子(Łoś 1954);紧致性的代数化身,超实数由此而来 | §2 |
| 五种几何 | 射影(无平行线)· 仿射(恰一条,角无意义)· 欧氏(恰一条,内角和 180°)· 罗氏(无穷多条,内角和小于 180°)· 球面(零条,内角和大于 180°) | §3 |
| 相对解释 | 罗氏几何的模型长在欧氏空间内部 ⟹ 平行公设相对独立;射影平面补无穷远线得仿射平面 | §3 |
| 量词消去 | 每个公式等价于无量词公式;稠密线性序、实闭域(Tarski 1951)、Presburger 算术可消去 | §4 |
| 可判定与不可判定 | 可消去 ⟹ 可判定;一阶算术与一般一阶逻辑不可判定(Church–Turing) | §4 |
| 类型 | 与参数相容的公式集;完备类型描述元素在模型中的完整行为 | §5 |
| 饱和模型 | 实现足够多类型的模型;κ-饱和存在性与基数的谱密切相关 | §5 |
| 范畴性 | 在某基数上所有模型同构;Morley(1962):一个不可数基数上范畴 ⟹ 全部不可数基数上范畴 | §5 |
| 力迫法 | 用部分信息(力迫条件)逐句决定扩张模型里的真假(Cohen 1963);布尔值模型是其代数版本 | §6 |
| 连续统假设 | 2ℵ0 = ℵ1;哥德尔用 L 造出 CH 成立的模型,科恩造出 CH 失败的模型 ⟹ CH 独立于 ZFC | §6 |
| 现代应用 | Mordell–Lang 猜想(Hrushovski 1996)· o-minimality 与 Pila–Wilkie · 稳定组合学 · 证明助手与形式化 | §6 · 综合站 |
三句总纲。① 语言贫则判定可期,语言富则不可判定随之而来。② 想造反例就去找紧致性与力迫,想定结构就去查范畴性与量词消去。③ 一切结论都以模型为参照系——离开模型,没有「为真」可言。全书正文至此结束,愿这页表在以后遇到陌生理论时还能派上用场。