001 《逻辑与集合论:基础、理论与前沿》
🌟🌟🌟本文案由Gemini 2.5 Flash Preview 04-17创作,用来辅助学习知识。🌟🌟🌟
书籍大纲
▮▮▮▮ 1. chapter 1: 引言 (Introduction)
▮▮▮▮▮▮▮ 1.1 逻辑与集合论是什么? (What are Logic and Set Theory?)
▮▮▮▮▮▮▮ 1.2 历史回顾 (Historical Overview)
▮▮▮▮▮▮▮ 1.3 为什么学习逻辑与集合论? (Why Study Logic and Set Theory?)
▮▮▮▮▮▮▮ 1.4 本书结构与阅读建议 (Book Structure and Reading Suggestions)
▮▮▮▮ 2. chapter 2: 命题逻辑 (Propositional Logic)
▮▮▮▮▮▮▮ 2.1 命题与联结词 (Propositions and Connectives)
▮▮▮▮▮▮▮ 2.2 语法 (Syntax):合式公式 (Well-formed Formulas)
▮▮▮▮▮▮▮ 2.3 语义 (Semantics):真值 (Truth Values) 与真值表 (Truth Tables)
▮▮▮▮▮▮▮ 2.4 逻辑等价 (Logical Equivalence) 与重言式 (Tautology)
▮▮▮▮▮▮▮ 2.5 范式 (Normal Forms):合取范式 (CNF) 与析取范式 (DNF)
▮▮▮▮▮▮▮ 2.6 推理系统 (Proof Systems):公理系统 (Axiomatic Systems) 与自然演绎 (Natural Deduction)
▮▮▮▮▮▮▮ 2.7 命题逻辑的可靠性 (Soundness) 与完备性 (Completeness)
▮▮▮▮ 3. chapter 3: 谓词逻辑 (Predicate Logic)
▮▮▮▮▮▮▮ 3.1 谓词、项与量词 (Predicates, Terms, and Quantifiers)
▮▮▮▮▮▮▮ 3.2 语法:合式公式 (Well-formed Formulas)
▮▮▮▮▮▮▮ 3.3 结构 (Structures) / 模型 (Models)
▮▮▮▮▮▮▮ 3.4 语义:满足 (Satisfaction) 与有效性 (Validity)
▮▮▮▮▮▮▮ 3.5 自由变量与约束变量 (Free and Bound Variables)
▮▮▮▮▮▮▮ 3.6 谓词逻辑的推理系统 (Proof Systems for Predicate Logic)
▮▮▮▮▮▮▮ 3.7 谓词逻辑的可靠性与完备性 (Soundness and Completeness of Predicate Logic)
▮▮▮▮▮▮▮ 3.8 紧致性定理 (Compactness Theorem) 与洛文海姆-斯科伦定理 (Löwenheim-Skolem Theorem)
▮▮▮▮▮▮▮ 3.9 谓词逻辑的不可判定性 (Undecidability of Predicate Logic)
▮▮▮▮ 4. chapter 4: 朴素集合论 (Naive Set Theory)
▮▮▮▮▮▮▮ 4.1 集合与元素 (Sets and Elements)
▮▮▮▮▮▮▮ 4.2 集合的表示方法 (Ways to Specify Sets)
▮▮▮▮▮▮▮ 4.3 子集 (Subsets) 与幂集 (Power Set)
▮▮▮▮▮▮▮ 4.4 集合的基本运算 (Basic Set Operations):并、交、差、补 (Union, Intersection, Difference, Complement)
▮▮▮▮▮▮▮ 4.5 有序对 (Ordered Pairs) 与笛卡尔积 (Cartesian Product)
▮▮▮▮▮▮▮ 4.6 罗素悖论 (Russell's Paradox) 与朴素集合论的局限性 (Limitations of Naive Set Theory)
▮▮▮▮ 5. chapter 5: 关系与函数 (Relations and Functions)
▮▮▮▮▮▮▮ 5.1 关系 (Relations) 的定义与表示 (Definition and Representation)
▮▮▮▮▮▮▮ 5.2 关系的性质 (Properties of Relations):自反、对称、传递 (Reflexive, Symmetric, Transitive)
▮▮▮▮▮▮▮ 5.3 等价关系 (Equivalence Relations) 与划分 (Partitions)
▮▮▮▮▮▮▮ 5.4 序关系 (Order Relations):偏序 (Partial Order) 与全序 (Total Order)
▮▮▮▮▮▮▮ 5.5 函数 (Functions) 的定义与基本概念 (Definition and Basic Concepts)
▮▮▮▮▮▮▮ 5.6 函数的类型 (Types of Functions):单射、满射、双射 (Injective, Surjective, Bijective)
▮▮▮▮▮▮▮ 5.7 函数的复合 (Composition of Functions) 与逆函数 (Inverse Function)
▮▮▮▮ 6. chapter 6: 公理化集合论 (Axiomatic Set Theory)
▮▮▮▮▮▮▮ 6.1 公理化方法的必要性 (Necessity of the Axiomatic Method)
▮▮▮▮▮▮▮ 6.2 Zermelo-Fraenkel (ZF) 公理系统
▮▮▮▮▮▮▮▮▮▮▮ 6.2.1 外延公理 (Axiom of Extensionality)
▮▮▮▮▮▮▮▮▮▮▮ 6.2.2 空集公理 (Axiom of Empty Set)
▮▮▮▮▮▮▮▮▮▮▮ 6.2.3 对集公理 (Axiom of Pairing)
▮▮▮▮▮▮▮▮▮▮▮ 6.2.4 并集公理 (Axiom of Union)
▮▮▮▮▮▮▮▮▮▮▮ 6.2.5 幂集公理 (Axiom of Power Set)
▮▮▮▮▮▮▮▮▮▮▮ 6.2.6 分离公理模式 (Axiom Schema of Separation)
▮▮▮▮▮▮▮▮▮▮▮ 6.2.7 替换公理模式 (Axiom Schema of Replacement)
▮▮▮▮▮▮▮▮▮▮▮ 6.2.8 无穷公理 (Axiom of Infinity)
▮▮▮▮▮▮▮▮▮▮▮ 6.2.9 正则公理 (Axiom of Regularity) / 基础公理 (Axiom of Foundation)
▮▮▮▮▮▮▮ 6.3 选择公理 (Axiom of Choice) (AC)
▮▮▮▮▮▮▮ 6.4 ZFC 公理系统 (ZFC Axiom System)
▮▮▮▮▮▮▮ 6.5 在 ZFC 中构建数学对象 (Constructing Mathematical Objects in ZFC) (例如:自然数、整数、有理数、实数)
▮▮▮▮ 7. chapter 7: 基数理论 (Cardinality Theory)
▮▮▮▮▮▮▮ 7.1 等势 (Equinumerosity) / 双射 (Bijection)
▮▮▮▮▮▮▮ 7.2 有限集与无限集 (Finite and Infinite Sets)
▮▮▮▮▮▮▮ 7.3 可数集 (Countable Sets)
▮▮▮▮▮▮▮ 7.4 不可数集 (Uncountable Sets)
▮▮▮▮▮▮▮ 7.5 康托尔定理 (Cantor's Theorem)
▮▮▮▮▮▮▮ 7.6 基数 (Cardinal Numbers) 的定义
▮▮▮▮▮▮▮ 7.7 基数算术 (Cardinal Arithmetic)
▮▮▮▮▮▮▮ 7.8 连续统假设 (Continuum Hypothesis) (CH)
▮▮▮▮ 8. chapter 8: 序数理论 (Ordinal Number Theory)
▮▮▮▮▮▮▮ 8.1 良序集 (Well-Ordered Sets)
▮▮▮▮▮▮▮ 8.2 序同构 (Order Isomorphism)
▮▮▮▮▮▮▮ 8.3 序数 (Ordinal Numbers) 的定义 (例如:冯·诺依曼序数 - von Neumann Ordinals)
▮▮▮▮▮▮▮ 8.4 超限归纳法 (Transfinite Induction)
▮▮▮▮▮▮▮ 8.5 超限递归 (Transfinite Recursion)
▮▮▮▮▮▮▮ 8.6 序数算术 (Ordinal Arithmetic)
▮▮▮▮ 9. chapter 9: 高级主题与联系 (Advanced Topics and Connections)
▮▮▮▮▮▮▮ 9.1 选择公理的等价形式 (Equivalents of the Axiom of Choice) (例如:佐恩引理 - Zorn's Lemma, 良序原理 - Well-Ordering Principle)
▮▮▮▮▮▮▮ 9.2 集合论的相容性与独立性结果 (Consistency and Independence Results in Set Theory) (例如:连续统假设的独立性 - Independence of CH)
▮▮▮▮▮▮▮ 9.3 哥德尔不完备性定理简介 (Introduction to Gödel's Incompleteness Theorems)
▮▮▮▮▮▮▮ 9.4 强制法 (Forcing) 概述
▮▮▮▮▮▮▮ 9.5 大基数 (Large Cardinals) 简介
▮▮▮▮▮▮▮ 9.6 模型论 (Model Theory) 与集合论
▮▮▮▮▮▮▮ 9.7 逻辑与集合论在计算机科学中的应用 (Applications in Computer Science)
▮▮▮▮ 10. chapter 10: 延伸阅读与参考文献 (Further Reading and References)
▮▮▮▮▮▮▮ 10.1 经典教材与专著推荐 (Recommended Textbooks and Monographs)
▮▮▮▮▮▮▮ 10.2 重要论文与历史文献 (Important Papers and Historical Documents)
▮▮▮▮▮▮▮ 10.3 相关领域介绍 (Introduction to Related Fields)
1. chapter 1: 引言 (Introduction)
欢迎来到逻辑与集合论的世界!📚 这是一门既古老又现代、既抽象又基础的学科。它不仅是数学的基石,也是计算机科学、哲学、语言学等众多领域不可或缺的工具。作为本书的开端,本章将带领大家初步认识逻辑与集合论,回顾它们的发展历程,探讨学习它们的意义,并介绍本书的结构,帮助大家更好地开启这段学习旅程。
1.1 逻辑与集合论是什么? (What are Logic and Set Theory?)
逻辑(Logic)是一门研究推理和论证有效性的学科。简单来说,它关心的是我们如何从已知的事实(前提)出发,通过合理的步骤得出新的结论。逻辑提供了一套形式化的语言和规则,用于分析和评估思维过程的正确性。它帮助我们区分有效的论证和无效的谬误,是理性思维的基石。在本书中,我们将主要探讨数理逻辑(Mathematical Logic),它使用数学的方法来研究逻辑推理,包括命题逻辑(Propositional Logic)和谓词逻辑(Predicate Logic)等。
集合论(Set Theory)是研究集合(Set)的数学理论。集合可以被直观地理解为一些对象的聚集,这些对象被称为集合的元素(Element)。集合论提供了一种描述和处理数学对象(如数、函数、几何图形等)的方式,几乎所有的数学概念都可以用集合论的语言来定义。例如,自然数、整数、有理数、实数等都可以通过集合的构造来定义。集合论为整个数学提供了一个统一的基础框架。
逻辑与集合论之间有着深刻的联系。逻辑提供了推理的工具,而集合论提供了数学对象(集合)以及它们之间关系(如属于、包含)的语言。在公理化集合论(Axiomatic Set Theory)中,集合论的原理被表达为一组公理(Axiom),然后利用逻辑推理从这些公理出发推导出集合论的各种定理(Theorem)。因此,逻辑是构建和发展集合论的必要工具,而集合论则为逻辑的研究提供了丰富的对象和背景。
1.2 历史回顾 (Historical Overview)
逻辑学的历史可以追溯到古希腊时期。亚里士多德(Aristotle)被认为是形式逻辑的奠基人,他系统地研究了三段论(Syllogism)。在中世纪,逻辑学在经院哲学中得到了发展。然而,现代逻辑的真正兴起是在19世纪。乔治·布尔(George Boole)在其著作《思维规律的研究》(An Investigation of the Laws of Thought)中提出了布尔代数(Boolean Algebra),将逻辑推理代数化,这标志着数理逻辑的开端。戈特洛布·弗雷格(Gottlob Frege)在1879年出版的《概念文字》(Begriffsschrift)中建立了第一个完整的谓词逻辑系统,并试图将算术建立在逻辑之上,开创了逻辑主义(Logicism)纲领。
集合论的历史相对较短,主要起源于19世纪末。格奥尔格·康托尔(Georg Cantor)在研究无穷级数时,开始系统地研究无穷集合(Infinite Set)。他引入了集合、元素、子集(Subset)等概念,并定义了集合的并(Union)、交(Intersection)等运算。康托尔最杰出的贡献在于他引入了基数(Cardinal Number)的概念,用于比较无穷集合的大小,并证明了实数集比自然数集“更大”,即不可数(Uncountable)。康托尔的工作最初并未被广泛接受,甚至引起了一些争议,但最终集合论成为了现代数学的基础。
然而,朴素集合论(Naive Set Theory)在20世纪初遭遇了危机。伯特兰·罗素(Bertrand Russell)发现了著名的罗素悖论(Russell's Paradox),揭示了允许任意构造集合会导致矛盾。这促使数学家们寻求更严格的集合论基础,从而诞生了公理化集合论。恩斯特·策梅洛(Ernst Zermelo)提出了第一个公理化集合论系统,后来经亚伯拉罕·弗兰克尔(Abraham Fraenkel)等人改进,形成了标准的策梅洛-弗兰克尔集合论(Zermelo-Fraenkel Set Theory),通常记作 ZF。如果加上选择公理(Axiom of Choice),则称为 ZFC 系统。
20世纪是逻辑与集合论飞速发展的时期。库尔特·哥德尔(Kurt Gödel)证明了谓词逻辑的完备性定理(Completeness Theorem)和算术系统的(第一)不完备性定理(Incompleteness Theorem),对数学基础产生了深远影响。保罗·科恩(Paul Cohen)发展了强制法(Forcing)技术,证明了连续统假设(Continuum Hypothesis)在 ZFC 系统中的独立性(Independence)。这些工作不仅解决了重要的数学问题,也极大地丰富了我们对数学、逻辑和计算的理解。
1.3 为什么学习逻辑与集合论? (Why Study Logic and Set Theory?)
学习逻辑与集合论具有多方面的价值:
① 数学基础:如前所述,集合论为几乎所有现代数学分支提供了统一的语言和基础。理解集合论,特别是公理化集合论,有助于深入理解数学概念的本质和相互关系。逻辑则是数学推理的工具,掌握逻辑规则是进行严格数学证明的前提。
② 提升抽象思维能力:逻辑与集合论都高度抽象,它们要求我们脱离具体的经验对象,在符号和规则的层面进行思考。学习它们能够极大地锻炼和提升我们的抽象思维能力。
③ 培养严谨的推理能力:逻辑学直接教授如何进行有效的推理和论证。通过学习逻辑系统,我们可以学会如何清晰地表达思想,如何识别和避免逻辑谬误,从而在学习、工作和日常生活中做出更明智的判断。
④ 计算机科学:逻辑在计算机科学中扮演着核心角色。例如,布尔逻辑是数字电路设计的基础;谓词逻辑用于数据库查询语言(如 SQL 的理论基础)和人工智能中的知识表示;类型论(Type Theory)与逻辑有密切联系,是编程语言设计的重要理论基础;模型检测(Model Checking)等形式化验证技术依赖于逻辑。集合论则用于描述数据结构、算法分析以及计算理论中的概念。
⑤ 哲学:逻辑与集合论是哲学,特别是数学哲学、逻辑哲学和形而上学的重要研究对象和工具。它们帮助哲学家探讨真理、意义、存在、无穷等基本问题。
⑥ 语言学:形式语义学(Formal Semantics)利用逻辑工具来分析自然语言的意义和推理结构。
⑦ 解决问题:无论在哪个领域,清晰的思维和严谨的推理都是解决问题的关键。逻辑与集合论提供的形式化方法可以帮助我们更系统、更有效地分析问题和寻找解决方案。
总而言之,学习逻辑与集合论不仅仅是为了掌握一些数学知识,更是为了培养一种严谨、清晰、抽象的思维方式,这种能力在当今复杂的世界中尤为宝贵。
1.4 本书结构与阅读建议 (Book Structure and Reading Suggestions)
本书旨在为不同背景的读者提供一个全面且深入的逻辑与集合论学习体验。全书共分为十章,结构如下:
⚝ 第一部分:逻辑基础 (Chapters 2-3)
▮▮▮▮⚝ 第2章:命题逻辑 (Propositional Logic) - 介绍最基本的逻辑系统,包括命题、联结词、真值、逻辑等价和推理系统。适合所有初学者入门。
▮▮▮▮⚝ 第3章:谓词逻辑 (Predicate Logic) - 扩展到处理带有量词的更复杂的语句,是更强大的逻辑工具。建议在掌握命题逻辑后再学习。
⚝ 第二部分:集合论基础 (Chapters 4-5)
▮▮▮▮⚝ 第4章:朴素集合论 (Naive Set Theory) - 以直观的方式介绍集合的基本概念和运算,以及罗素悖论。适合初学者快速建立对集合的认识。
▮▮▮▮⚝ 第5章:关系与函数 (Relations and Functions) - 利用集合论的语言定义和研究关系和函数,这是数学中无处不在的概念。
⚝ 第三部分:公理化集合论与无穷 (Chapters 6-8)
▮▮▮▮⚝ 第6章:公理化集合论 (Axiomatic Set Theory) - 介绍 ZFC 公理系统,这是现代集合论的基石,解决了朴素集合论的悖论问题。内容较为抽象,需要一定的数学成熟度。
▮▮▮▮⚝ 第7章:基数理论 (Cardinality Theory) - 深入探讨无穷集合的大小比较,介绍康托尔的划时代工作和连续统假设。
▮▮▮▮⚝ 第8章:序数理论 (Ordinal Number Theory) - 研究良序集和序数,这是另一种描述无穷的方式,与超限归纳法和递归密切相关。
⚝ 第四部分:高级主题与展望 (Chapters 9-10)
▮▮▮▮⚝ 第9章:高级主题与联系 (Advanced Topics and Connections) - 介绍一些更深入或与前沿研究相关的课题,如选择公理的等价形式、集合论的独立性结果、哥德尔不完备性定理、强制法、大基数以及逻辑与集合论在计算机科学中的应用。这部分内容难度较高,适合有一定基础或希望深入研究的读者。
▮▮▮▮⚝ 第10章:延伸阅读与参考文献 (Further Reading and References) - 提供进一步学习的资源和本书引用的文献。
阅读建议:
① 初学者 (Beginners):建议重点阅读第1-5章。这些章节涵盖了逻辑和集合论的基础知识,足以帮助你建立起对这两个领域的初步认识和基本的数学语言能力。可以跳过第2章和第3章中关于推理系统可靠性、完备性等证明细节,以及第6章中公理的详细推导过程。
② 中级读者 (Intermediate):在掌握了前5章的基础上,建议深入学习第6-8章。理解公理化集合论、基数和序数是深入现代数学的关键。可以尝试理解定理的证明思路,并进行一些简单的证明练习。
③ 专家或希望深入研究的读者 (Experts):建议通读全书,特别是深入研究第6-9章的证明细节和高级概念。第9章的内容将为你打开通往现代集合论和数理逻辑前沿研究的大门。
无论你是哪种类型的读者,都建议在学习过程中勤于思考,尝试解决书中的练习(如果提供的话),并与其他学习者交流。逻辑与集合论的学习需要时间和耐心,但其带来的深刻洞察和严谨思维能力将使你受益终生。
祝你学习愉快!😊
2. chapter 2: 命题逻辑 (Propositional Logic)
欢迎来到本书的第二章!在第一章中,我们对逻辑与集合论进行了初步的了解,并探讨了它们在数学乃至其他领域中的重要性。现在,我们将深入学习逻辑学的第一个重要分支——命题逻辑。命题逻辑是形式逻辑中最基础的部分,它研究的是命题之间的逻辑关系,而不考虑命题本身的内部结构。掌握命题逻辑是理解更复杂的逻辑系统(如谓词逻辑)以及后续集合论内容的基础。
2.1 命题与联结词 (Propositions and Connectives)
逻辑学研究的核心之一是推理,而推理的基础是命题。那么,什么是命题呢?
2.1.1 命题 (Propositions)
一个命题 (proposition) 是一个具有明确真值 (truth value) 的陈述句。这意味着一个命题要么是真的 (True, 通常记作 T 或 1),要么是假的 (False, 通常记作 F 或 0),并且不能同时既真又假。
例如:
⚝ “雪是白的。” 这是一个命题,它的真值是真 (T)。
⚝ “2 + 2 = 4。” 这是一个命题,它的真值是真 (T)。
⚝ “巴黎是中国的首都。” 这是一个命题,它的真值是假 (F)。
⚝ “请打开窗户。” 这不是一个陈述句,而是一个祈使句,因此它不是命题。
⚝ “x > 5。” 这不是一个命题,因为它的真值取决于 x 的值,在没有指定 x 的情况下,我们无法确定它是真还是假。这样的句子在谓词逻辑中被称为谓词 (predicate) 或开放公式 (open formula)。
在命题逻辑中,我们通常用大写字母 \(P, Q, R, \dots\) 来表示简单的命题,这些简单的命题被称为原子命题 (atomic propositions)。
2.1.2 逻辑联结词 (Logical Connectives)
我们可以使用逻辑联结词 (logical connectives) 将简单的原子命题组合成更复杂的复合命题 (compound propositions)。命题逻辑主要研究这些联结词的逻辑功能。最常用的基本联结词包括:
① 否定 (Negation):表示“非 P”或“P 不为真”。
▮▮▮▮符号:\(\neg\) (有时也用 \(\sim\) 或 \(-)\)
▮▮▮▮例子:如果 P 表示“天在下雨”,则 \(\neg P\) 表示“天没有下雨”。
▮▮▮▮真值:如果 P 为真,则 \(\neg P\) 为假;如果 P 为假,则 \(\neg P\) 为真。
② 合取 (Conjunction):表示“P 且 Q”。
▮▮▮▮符号:\(\land\) (有时也用 \(\&\) 或 \(\cdot\))
▮▮▮▮例子:如果 P 表示“天在下雨”,Q 表示“地是湿的”,则 \(P \land Q\) 表示“天在下雨且地是湿的”。
▮▮▮▮真值:\(P \land Q\) 仅当 P 和 Q 都为真时才为真,否则为假。
③ 析取 (Disjunction):表示“P 或 Q”。在逻辑中,这通常指非排斥或 (inclusive or),即 P 为真、Q 为真或 P 和 Q 都为真时,整个命题为真。
▮▮▮▮符号:\(\lor\) (有时也用 \(+\))
▮▮▮▮例子:如果 P 表示“你会得到 A”,Q 表示“你会得到 B”,则 \(P \lor Q\) 表示“你会得到 A 或你会得到 B (或者两者都得到)”。
▮▮▮▮真值:\(P \lor Q\) 仅当 P 和 Q 都为假时才为假,否则为真。
④ 蕴涵 (Implication):表示“如果 P,则 Q”或“P 蕴涵 Q”。P 称为前件 (antecedent) 或假设 (hypothesis),Q 称为后件 (consequent) 或结论 (conclusion)。
▮▮▮▮符号:\(\to\) (有时也用 \(\supset\))
▮▮▮▮例子:如果 P 表示“你努力学习”,Q 表示“你会通过考试”,则 \(P \to Q\) 表示“如果你努力学习,那么你会通过考试”。
▮▮▮▮真值:\(P \to Q\) 仅当前件 P 为真且后件 Q 为假时才为假,在其他所有情况下都为真。这可能与日常语言中的“如果...那么...”有所不同,逻辑蕴涵更侧重于真值之间的关系。
⑤ 双向蕴涵 (Biconditional):表示“P 当且仅当 Q”或“P 是 Q 的充分必要条件”。
▮▮▮▮符号:\(\leftrightarrow\) (有时也用 \(\equiv\))
▮▮▮▮例子:如果 P 表示“这个图形是正方形”,Q 表示“这个图形是菱形且是矩形”,则 \(P \leftrightarrow Q\) 表示“这个图形是正方形当且仅当它是菱形且是矩形”。
▮▮▮▮真值:\(P \leftrightarrow Q\) 当 P 和 Q 具有相同的真值时为真,否则为假。它等价于 \((P \to Q) \land (Q \to P)\)。
除了这些基本联结词,有时也会使用异或 (Exclusive Or) (\(\oplus\)),表示“P 或 Q,但不同时”。它的真值是当 P 和 Q 真值不同时为真,相同时为假。
2.2 语法 (Syntax):合式公式 (Well-formed Formulas)
在命题逻辑中,我们使用一套规则来构建有效的“句子”,这些有效的句子被称为合式公式 (well-formed formulas, WFFs)。语法规则确保我们构建的表达式是有意义的,而不是随机的符号组合。
2.2.1 字母表 (Alphabet)
命题逻辑的字母表通常包含以下符号:
⚝ 命题变量 (Propositional Variables):\(P, Q, R, P_1, Q_1, \dots\) (表示原子命题)
⚝ 逻辑联结词 (Logical Connectives):\(\neg, \land, \lor, \to, \leftrightarrow\)
⚝ 括号 (Parentheses):\((\) 和 \()\),用于消除歧义。
2.2.2 合式公式的递归定义 (Recursive Definition of WFFs)
合式公式可以通过以下递归规则定义:
① 基本步 (Base Case):任何命题变量都是一个合式公式。
▮▮▮▮例如:\(P\), \(Q_1\) 都是合式公式。
② 归纳步 (Inductive Step):如果 \(A\) 和 \(B\) 是合式公式,则以下表达式也是合式公式:
▮▮▮▮ⓑ \((\neg A)\)
▮▮▮▮ⓒ \((A \land B)\)
▮▮▮▮ⓓ \((A \lor B)\)
▮▮▮▮ⓔ \((A \to B)\)
▮▮▮▮ⓕ \((A \leftrightarrow B)\)
③ 封闭性 (Closure):只有通过有限次应用上述规则得到的表达式才是合式公式。
2.2.3 例子 (Examples)
⚝ \(P\) 是合式公式 (规则 ①)。
⚝ \((\neg P)\) 是合式公式 (因为 \(P\) 是 WFF,应用规则 ②ⓐ)。
⚝ \((P \land Q)\) 是合式公式 (因为 \(P, Q\) 是 WFF,应用规则 ②ⓑ)。
⚝ \((\neg (P \lor Q))\) 是合式公式 (因为 \(P, Q\) 是 WFF,\((P \lor Q)\) 是 WFF,应用规则 ②ⓐ)。
⚝ \(((P \to Q) \leftrightarrow (\neg P \lor Q))\) 是合式公式。
以下不是合式公式:
⚝ \(P \neg Q\) (联结词位置错误)
⚝ \((P \land Q\)) (括号不匹配)
⚝ \(P \land Q \lor R\) (需要括号来明确运算顺序,例如 \(((P \land Q) \lor R)\) 或 \((P \land (Q \lor R))\)。为了简化书写,我们通常会引入联结词的优先级规则,例如否定高于合取,合取高于析取,析取高于蕴涵和双向蕴涵,但严格的语法定义需要括号。)
2.2.4 优先级约定 (Precedence Rules)
为了减少括号的使用,我们通常约定联结词的优先级从高到低为:\(\neg\), \(\land\), \(\lor\), \(\to\), \(\leftrightarrow\)。同级运算通常从左到右结合。
例如:
⚝ \(\neg P \land Q\) 等价于 \((\neg P) \land Q\)
⚝ \(P \land Q \lor R\) 等价于 \((P \land Q) \lor R\)
⚝ \(P \lor Q \land R\) 等价于 \(P \lor (Q \land R)\)
⚝ \(P \to Q \land R\) 等价于 \(P \to (Q \land R)\)
⚝ \(P \land Q \to R \lor S\) 等价于 \((P \land Q) \to (R \lor S)\)
尽管有优先级约定,但在可能引起混淆的情况下,使用括号总是更清晰和安全的。
2.3 语义 (Semantics):真值 (Truth Values) 与真值表 (Truth Tables)
语法告诉我们如何构建合法的公式,而语义 (semantics) 则赋予这些公式意义,即确定它们的真值。在命题逻辑中,公式的意义完全由其真值决定。
2.3.1 真值指派 (Truth Assignment)
一个真值指派 (truth assignment) 或赋值 (valuation) 是一个函数,它将每个原子命题映射到真值集合 \(\{T, F\}\) 中的一个元素。
例如,对于原子命题 \(P\) 和 \(Q\),一个可能的真值指派是 \(v(P) = T, v(Q) = F\)。
2.3.2 公式真值的计算 (Evaluating Formula Truth Values)
给定一个真值指派 \(v\) 和一个合式公式 \(A\),我们可以根据 \(A\) 的结构和联结词的定义,递归地计算 \(A\) 在 \(v\) 下的真值 \(v(A)\)。
⚝ 如果 \(A\) 是原子命题 \(P\),则 \(v(A) = v(P)\)。
⚝ 如果 \(A\) 是 \((\neg B)\),则 \(v(A) = T\) 当且仅当 \(v(B) = F\)。
⚝ 如果 \(A\) 是 \((B \land C)\),则 \(v(A) = T\) 当且仅仅当 \(v(B) = T\) 且 \(v(C) = T\)。
⚝ 如果 \(A\) 是 \((B \lor C)\),则 \(v(A) = T\) 当且仅当 \(v(B) = T\) 或 \(v(C) = T\) (或两者都为 T)。
⚝ 如果 \(A\) 是 \((B \to C)\),则 \(v(A) = F\) 当且仅当 \(v(B) = T\) 且 \(v(C) = F\)。
⚝ 如果 \(A\) 是 \((B \leftrightarrow C)\),则 \(v(A) = T\) 当且仅当 \(v(B) = v(C)\)。
2.3.3 真值表 (Truth Tables)
真值表 (truth table) 是一种系统地列出在所有可能的真值指派下,一个或多个公式的真值的方法。对于包含 \(n\) 个不同原子命题的公式,共有 \(2^n\) 种可能的真值指派,因此真值表会有 \(2^n\) 行。
例如,公式 \((P \to Q)\) 的真值表:
\(P\) | \(Q\) | \(P \to Q\) |
---|---|---|
T | T | T |
T | F | F |
F | T | T |
F | F | T |
例如,公式 \((\neg (P \land Q))\) 的真值表:
\(P\) | \(Q\) | \(P \land Q\) | \(\neg (P \land Q)\) |
---|---|---|---|
T | T | T | F |
T | F | F | T |
F | T | F | T |
F | F | F | T |
真值表是分析命题公式语义性质的强大工具。
2.4 逻辑等价 (Logical Equivalence) 与重言式 (Tautology)
基于真值表的概念,我们可以定义公式之间重要的语义关系和公式本身的特殊性质。
2.4.1 重言式、矛盾式与可满足式 (Tautology, Contradiction, and Contingency)
⚝ 重言式 (Tautology):一个公式如果在所有可能的真值指派下都为真,则称其为重言式。重言式在逻辑上是永真的。
▮▮▮▮例如:\((P \lor \neg P)\) (排中律 - Law of Excluded Middle)
⚝ 矛盾式 (Contradiction):一个公式如果在所有可能的真值指派下都为假,则称其为矛盾式。矛盾式在逻辑上是永假的。
▮▮▮▮例如:\((P \land \neg P)\) (矛盾律 - Law of Contradiction)
⚝ 可满足式 (Contingency / Satisfiable Formula):一个公式如果至少存在一个真值指派使其为真,则称其为可满足式。既非重言式也非矛盾式的公式称为偶真式 (contingency)。
▮▮▮▮例如:\(P\), \((P \land Q)\)
判断一个公式是否是重言式、矛盾式或可满足式,最直接的方法就是构建其真值表。
2.4.2 逻辑等价 (Logical Equivalence)
两个公式 \(A\) 和 \(B\) 被称为逻辑等价 (logically equivalent),如果它们在所有可能的真值指派下具有相同的真值。记作 \(A \equiv B\)。
逻辑等价的另一个定义是:公式 \((A \leftrightarrow B)\) 是一个重言式。
例如,我们来验证 \(\neg (P \land Q) \equiv (\neg P \lor \neg Q)\) (德摩根律 - De Morgan's Law):
\(P\) | \(Q\) | \(P \land Q\) | \(\neg (P \land Q)\) | \(\neg P\) | \(\neg Q\) | \(\neg P \lor \neg Q\) |
---|---|---|---|---|---|---|
T | T | T | F | F | F | F |
T | F | F | T | F | T | T |
F | T | F | T | T | F | T |
F | F | F | T | T | T | T |
从表中可以看出,\(\neg (P \land Q)\) 和 \((\neg P \lor \neg Q)\) 的真值列完全相同,因此它们是逻辑等价的。
掌握常见的逻辑等价关系对于简化公式和进行逻辑推理非常重要。一些重要的逻辑等价关系包括:
⚝ 双重否定律 (Double Negation):\(\neg \neg P \equiv P\)
⚝ 交换律 (Commutative Laws):\((P \land Q) \equiv (Q \land P)\),\((P \lor Q) \equiv (Q \lor P)\)
⚝ 结合律 (Associative Laws):\(((P \land Q) \land R) \equiv (P \land (Q \land R))\),\(((P \lor Q) \lor R) \equiv (P \lor (Q \lor R))\)
⚝ 分配律 (Distributive Laws):\((P \land (Q \lor R)) \equiv ((P \land Q) \lor (P \land R))\),\((P \lor (Q \land R)) \equiv ((P \lor Q) \land (P \lor R))\)
⚝ 德摩根律 (De Morgan's Laws):\(\neg (P \land Q) \equiv (\neg P \lor \neg Q)\),\(\neg (P \lor Q) \equiv (\neg P \land \neg Q)\)
⚝ 蕴涵的定义 (Definition of Implication):\((P \to Q) \equiv (\neg P \lor Q)\)
⚝ 双向蕴涵的定义 (Definition of Biconditional):\((P \leftrightarrow Q) \equiv ((P \to Q) \land (Q \to P))\)
2.5 范式 (Normal Forms):合取范式 (CNF) 与析取范式 (DNF)
在命题逻辑中,任何合式公式都可以转化为某些标准形式,这些标准形式称为范式 (normal forms)。最常见的两种范式是合取范式和析取范式。将公式转化为范式有助于分析其结构和性质,尤其在自动推理和电路设计中有重要应用。
2.5.1 文字与子句 (Literals and Clauses)
⚝ 文字 (Literal):一个原子命题 \(P\) 或其否定 \(\neg P\)。
▮▮▮▮例如:\(P\), \(\neg Q\), \(R\) 都是文字。
⚝ 基本合取式 (Conjunctive Clause / Term):一个或多个文字的合取。
▮▮▮▮例如:\(P\), \(\neg Q\), \(P \land \neg Q\), \(P \land Q \land \neg R\)。
⚝ 基本析取式 (Disjunctive Clause / Term):一个或多个文字的析取。
▮▮▮▮例如:\(P\), \(\neg Q\), \(P \lor \neg Q\), \(P \lor Q \lor \neg R\)。
2.5.2 合取范式 (Conjunctive Normal Form, CNF)
一个公式是合取范式 (CNF),如果它是零个或多个基本析取式的合取。
形式上,CNF 的结构是 \(C_1 \land C_2 \land \dots \land C_m\),其中每个 \(C_i\) 是一个基本析取式 (\(L_{i1} \lor L_{i2} \lor \dots \lor L_{ik_i}\),每个 \(L_{ij}\) 是文字)。
如果 \(m=0\),合取为空,约定为永真 (T)。
例如:
⚝ \(P\) (单个文字既是基本析取式也是基本合取式)
⚝ \((P \lor \neg Q)\) (单个基本析取式)
⚝ \((P \lor Q) \land (\neg P \lor R)\)
⚝ \((P \lor \neg Q \lor R) \land (\neg P \lor Q)\)
2.5.3 析取范式 (Disjunctive Normal Form, DNF)
一个公式是析取范式 (DNF),如果它是零个或多个基本合取式的析取。
形式上,DNF 的结构是 \(D_1 \lor D_2 \lor \dots \lor D_m\),其中每个 \(D_i\) 是一个基本合取式 (\(L_{i1} \land L_{i2} \land \dots \land L_{ik_i}\),每个 \(L_{ij}\) 是文字)。
如果 \(m=0\),析取为空,约定为永假 (F)。
例如:
⚝ \(P\)
⚝ \((P \land \neg Q)\)
⚝ \((P \land Q) \lor (\neg P \land R)\)
⚝ \((P \land \neg Q \land R) \lor (\neg P \land Q)\)
2.5.4 转化方法 (Conversion Methods)
任何命题公式都可以通过应用逻辑等价规则转化为等价的 CNF 和 DNF。常用的步骤包括:
① 消除 \(\to\) 和 \(\leftrightarrow\):使用 \((A \to B) \equiv (\neg A \lor B)\) 和 \((A \leftrightarrow B) \equiv (A \to B) \land (B \to A) \equiv (\neg A \lor B) \land (\neg B \lor A)\)。
② 将否定内移:使用德摩根律和双重否定律将 \(\neg\) 符号移到紧靠原子命题的位置。
③ 应用分配律:使用分配律 \((A \land (B \lor C)) \equiv ((A \land B) \lor (A \land C))\) 将合取分配到析取上以得到 DNF,或使用 \((A \lor (B \land C)) \equiv ((A \lor B) \land (A \lor C))\) 将析取分配到合取上以得到 CNF。
另一种系统化的方法是利用真值表。
⚝ 主析取范式 (Principal Disjunctive Normal Form, PDNF):对于一个非矛盾式公式,其 PDNF 是由使其真值为 T 的每一行真值指派对应的极小项 (minterm) 的析取构成。一个极小项是所有原子命题的合取,其中原子命题 \(P\) 在该行真值为 T 时取 \(P\),真值为 F 时取 \(\neg P\)。
⚝ 主合取范式 (Principal Conjunctive Normal Form, PCNF):对于一个非重言式公式,其 PCNF 是由使其真值为 F 的每一行真值指派对应的极大项 (maxterm) 的合取构成。一个极大项是所有原子命题的析取,其中原子命题 \(P\) 在该行真值为 F 时取 \(P\),真值为 T 时取 \(\neg P\)。
PDNF 和 PCNF 是唯一的 (不考虑文字和子句的顺序),它们是 CNF 和 DNF 的特殊形式。
2.6 推理系统 (Proof Systems):公理系统 (Axiomatic Systems) 与自然演绎 (Natural Deduction)
除了语义方法 (如真值表) 来判断公式的有效性或逻辑关系外,我们还可以使用推理系统 (proof system) 或形式系统 (formal system) 进行句法 (syntactic) 推理。推理系统通过一组初始的公理和推理规则,从已知的公式推导出新的公式。
2.6.1 基本概念 (Basic Concepts)
⚝ 公理 (Axiom):被无条件接受为真的基本公式。
⚝ 推理规则 (Inference Rule):允许我们从一个或多个已知公式 (前提 - premises) 推导出一个新公式 (结论 - conclusion) 的规则。
⚝ 证明 (Proof / Derivation):一个有限的公式序列,其中每个公式要么是公理,要么是通过推理规则从序列中前面的公式推导出来的。序列中的最后一个公式就是被证明的定理 (theorem)。
⚝ 可证性 (Provability):如果一个公式 \(A\) 可以在某个推理系统中被证明,则称 \(A\) 是可证的,记作 \(\vdash A\)。
⚝ 从前提集合的推导 (Derivation from a Set of Premises):从一个公式集合 \(\Gamma\) 推导出公式 \(A\),记作 \(\Gamma \vdash A\),意味着存在一个证明序列,其中每个公式要么是 \(\Gamma\) 中的一个公式,要么是公理,要么是通过推理规则从序列中前面的公式推导出来的,且序列的最后一个公式是 \(A\)。
2.6.2 公理系统 (Axiomatic Systems)
公理系统通常包含少量公理模式和少量推理规则。一个著名的命题逻辑公理系统是希尔伯特风格的系统,它可能包含以下公理模式 (对于任意公式 A, B, C):
① \((A \to (B \to A))\)
② \(((A \to (B \to C)) \to ((A \to B) \to (A \to C)))\)
③ \((\neg B \to \neg A) \to (A \to B)\)
以及一个推理规则:
⚝ 分离规则 (Modus Ponens, MP):从 \(A\) 和 \((A \to B)\) 可以推导出 \(B\)。
在公理系统中,证明通常看起来比较抽象和冗长,因为它严格依赖于公理和单一的推理规则。
2.6.3 自然演绎 (Natural Deduction)
自然演绎 (Natural Deduction) 系统旨在更接近人类的自然推理方式。它通常没有公理,而是依赖于更多的推理规则,这些规则分为引入规则 (introduction rules) 和消除规则 (elimination rules),分别用于引入和消除逻辑联结词。
例如,自然演绎系统的一些规则:
⚝ \(\land\)-引入:从 \(A\) 和 \(B\) 可以推导出 \((A \land B)\)。
⚝ \(\land\)-消除:从 \((A \land B)\) 可以推导出 \(A\),也可以推导出 \(B\)。
⚝ \(\to\)-引入 (条件证明):如果假设 \(A\) 可以推导出 \(B\),则可以推导出 \((A \to B)\)。在推导出 \((A \to B)\) 后,假设 \(A\) 被“解除”或“关闭”。
⚝ \(\to\)-消除 (Modus Ponens):从 \(A\) 和 \((A \to B)\) 可以推导出 \(B\)。
自然演绎的证明通常以树状结构或带缩进的序列表示,通过引入和消除规则来构建。它更直观地反映了我们如何从前提一步步得出结论。
推理系统的目标是提供一种机械的、形式化的方法来验证逻辑推理的有效性,即判断一个结论是否可以从给定的前提集合中逻辑地推导出来。
2.7 命题逻辑的可靠性 (Soundness) 与完备性 (Completeness)
推理系统与语义之间存在着至关重要的联系,这种联系由可靠性 (soundness) 和完备性 (completeness) 定理描述。
2.7.1 可靠性 (Soundness)
一个推理系统是可靠的 (sound),如果在该系统中任何可证的公式都是重言式。
形式上:如果 \(\vdash A\),则 \(A\) 是重言式 (记作 \(\models A\))。
或者更一般地:如果 \(\Gamma \vdash A\),则 \(\Gamma \models A\)。(\(\Gamma \models A\) 表示在所有使得 \(\Gamma\) 中所有公式都为真的真值指派下,\(A\) 也为真,即 \(A\) 是 \(\Gamma\) 的逻辑后承 - logical consequence)。
可靠性保证了推理系统的“正确性”:我们无法从真的前提推导出假的结论,也无法证明一个非重言式。换句话说,推理系统不会产生错误的定理。
2.7.2 完备性 (Completeness)
一个推理系统是完备的 (complete),如果任何重言式都可以在该系统中被证明。
形式上:如果 \(A\) 是重言式 (\(\models A\)),则 \(\vdash A\)。
或者更一般地:如果 \(\Gamma \models A\),则 \(\Gamma \vdash A\)。
完备性保证了推理系统的“充分性”:所有的逻辑真理 (重言式) 都可以通过该系统推导出来。换句话说,推理系统能够捕捉所有的逻辑有效推理。
2.7.3 命题逻辑的可靠性与完备性定理 (Soundness and Completeness Theorems for Propositional Logic)
对于标准的命题逻辑,存在许多不同的公理系统和自然演绎系统。一个重要的结果是:标准的命题逻辑是可靠且完备的。这意味着对于任何一个标准的命题逻辑推理系统,一个公式是可证的当且仅当它是重言式。
\[ \vdash A \iff \models A \]
这个定理建立了命题逻辑的句法(证明)和语义(真值)之间的精确对应关系。它告诉我们,通过形式化的证明过程,我们可以完全捕捉到命题公式的逻辑真理。
可靠性证明通常通过对证明的结构进行归纳来完成,证明如果证明序列中的每个公式在某个真值指派下都为真,那么最后一个公式也为真。
完备性证明通常更复杂,一种常见的方法是证明如果一个公式不是重言式 (即存在一个真值指派使其为假),那么它就不是可证的。这通常涉及构建一个“反例”真值指派,或者使用最大一致集 (maximal consistent set) 的概念。
可靠性和完备性定理是数理逻辑中的基本结果,它们确认了我们所建立的形式系统能够准确地反映我们对逻辑真理的直观理解。
3. chapter 3: 谓词逻辑 (Predicate Logic)
欢迎来到本书的第三章!在上一章中,我们深入探讨了命题逻辑(Propositional Logic),学习了如何使用命题和逻辑联结词来构建和分析简单的逻辑语句。然而,命题逻辑有一个显著的局限性:它无法表达关于个体(individuals)及其属性(properties)或个体之间关系(relations)的内部结构。例如,命题“所有人都终有一死”在命题逻辑中只能被视为一个简单的原子命题,我们无法分析“人”这个概念、“终有一死”这个属性,以及“所有”这个量词(quantifier)的含义。
为了克服这一局限性,我们需要一种更强大的逻辑系统,它能够深入到命题的内部,分析其组成部分。这就是谓词逻辑(Predicate Logic),也被称为一阶逻辑(First-Order Logic)。谓词逻辑是现代数学、哲学、语言学和计算机科学中不可或缺的工具,它为我们提供了一种形式化的语言,用于精确地表达和推理涉及个体、属性和关系的复杂语句。
在本章中,我们将系统地学习谓词逻辑的基础知识,包括其语法(syntax)和语义(semantics),探讨其推理系统(proof systems)以及重要的元逻辑(metalogical)性质,如可靠性(soundness)、完备性(completeness)和不可判定性(undecidability)。准备好了吗?让我们一起踏上谓词逻辑的探索之旅! 🚀
3.1 谓词、项与量词 (Predicates, Terms, and Quantifiers)
谓词逻辑的核心在于能够谈论个体以及它们所拥有的属性或它们之间的关系。为了做到这一点,我们需要引入一些新的基本构建块。
3.1.1 项 (Terms)
项(Term)是谓词逻辑中用来指代个体(individuals)的表达式。它们类似于自然语言中的名词或名词短语。项可以是以下几种类型:
① 个体常量(Individual Constants):用来指代特定的个体。
▮▮▮▮⚝ 例如:张三
,北京
,数字 5
。在形式语言中,我们通常用小写字母 \(a, b, c, \dots\) 来表示个体常量。
② 个体变量(Individual Variables):用来指代某个不特定的个体,其值可以在某个范围内变化。
▮▮▮▮⚝ 例如:x
,y
,z
。在形式语言中,我们通常用小写字母 \(x, y, z, \dots\) 来表示个体变量。
③ 函数符号(Function Symbols):表示从个体到一个个体的函数。函数符号有特定的元数(arity),表示它接受多少个参数(arguments)。
▮▮▮▮⚝ 例如:父亲(x)
表示 x 的父亲,+(x, y)
表示 x 加 y。在形式语言中,我们通常用小写字母 \(f, g, h, \dots\) 来表示函数符号,并用上标表示其元数,如 \(f^1, g^2\)。一个 n 元函数符号后面跟 n 个项,构成一个新的项。
▮▮▮▮⚝ 例如:如果 father
是一个一元函数符号,john
是一个个体常量,那么 father(john)
是一个项。如果 sum
是一个二元函数符号,x
, y
是个体变量,那么 sum(x, y)
是一个项。
项的定义是递归的:
① 个体常量是项。
② 个体变量是项。
③ 如果 \(f\) 是一个 n 元函数符号,而 \(t_1, t_2, \dots, t_n\) 都是项,那么 \(f(t_1, t_2, \dots, t_n)\) 是一个项。
④ 只有通过上述规则生成的才是项。
3.1.2 谓词 (Predicates)
谓词(Predicate)用来表示个体的属性或个体之间的关系。谓词也有特定的元数。
① 一元谓词(Unary Predicate):表示个体的属性。
▮▮▮▮⚝ 例如:是人(x)
表示 x 是人,是红色(y)
表示 y 是红色的。在形式语言中,我们通常用大写字母 \(P, Q, R, \dots\) 来表示谓词符号,并用上标表示其元数,如 \(P^1, Q^2\)。一个 n 元谓词符号后面跟 n 个项,构成一个原子公式(atomic formula)。
▮▮▮▮⚝ 例如:如果 Human
是一元谓词,socrates
是个体常量,那么 Human(socrates)
是一个原子公式,表示“苏格拉底是人”。
② 多元谓词(Polyadic Predicate):表示个体之间的关系。
▮▮▮▮⚝ 例如:爱(x, y)
表示 x 爱 y,大于(x, y)
表示 x 大于 y,介于(x, y, z)
表示 x 介于 y 和 z 之间。
▮▮▮▮⚝ 例如:如果 Loves
是二元谓词,john
, mary
是个体常量,那么 Loves(john, mary)
是一个原子公式,表示“约翰爱玛丽”。如果 >
是二元谓词,x
, y
是个体变量,那么 >(x, y)
或更常见的写法 \(x > y\) 是一个原子公式,表示“x 大于 y”。
原子公式是谓词逻辑中最基本的语句单位,它们断言某些项之间存在某种关系或某些项具有某种属性。
3.1.3 量词 (Quantifiers)
量词(Quantifier)用来表达关于个体范围的陈述,例如“所有”或“存在”。谓词逻辑中有两种基本的量词:
① 全称量词(Universal Quantifier):表示“对所有个体都成立”。用符号 \(\forall\) 表示。
▮▮▮▮⚝ \(\forall x\) 读作“对所有的 x”,或“对于任意的 x”。
▮▮▮▮⚝ 例如:\(\forall x (\text{Human}(x) \to \text{Mortal}(x))\) 表示“对所有的 x,如果 x 是人,那么 x 是终有一死的”,即“所有人都终有一死”。
② 存在量词(Existential Quantifier):表示“存在至少一个个体使得...成立”。用符号 \(\exists\) 表示。
▮▮▮▮⚝ \(\exists x\) 读作“存在一个 x”,或“至少存在一个 x”。
▮▮▮▮⚝ 例如:\(\exists x (\text{Human}(x) \land \text{Alive}(x))\) 表示“存在一个 x,x 是人且 x 是活着的”,即“存在活着的人”。
量词总是与一个变量(称为被量化的变量 - quantified variable)结合使用,并且作用于一个公式(formula)。量词 \(\forall x\) 或 \(\exists x\) 后面必须跟一个公式,表示量词的作用范围。
3.2 语法:合式公式 (Syntax: Well-formed Formulas)
谓词逻辑的语法(syntax)规定了如何使用谓词、项、逻辑联结词和量词来构建合法的表达式,这些合法的表达式被称为合式公式(Well-formed Formulas, WFFs)。谓词逻辑的语言(language)由以下符号组成:
① 逻辑符号(Logical Symbols):
▮▮▮▮⚝ 逻辑联结词:\(\neg\) (非 - negation), \(\land\) (合取 - conjunction), \(\lor\) (析取 - disjunction), \(\to\) (蕴含 - implication), \(\leftrightarrow\) (双向蕴含 - biconditional)。
▮▮▮▮⚝ 量词:\(\forall\) (全称量词 - universal quantifier), \(\exists\) (存在量词 - existential quantifier)。
▮▮▮▮⚝ 变量:\(x, y, z, \dots\) (个体变量 - individual variables)。
▮▮▮▮⚝ 括号:(
, )
,用于分组。
▮▮▮▮⚝ 等号:\(=\) (可选,用于带有等词的谓词逻辑 - predicate logic with equality)。
② 非逻辑符号(Non-logical Symbols):这些符号的具体含义取决于我们所讨论的特定领域(domain)或结构(structure)。
▮▮▮▮⚝ 个体常量:\(a, b, c, \dots\) (individual constants)。
▮▮▮▮⚝ 函数符号:\(f, g, h, \dots\) (function symbols),带有指定的元数。
▮▮▮▮⚝ 谓词符号:\(P, Q, R, \dots\) (predicate symbols),带有指定的元数。
合式公式的定义是递归的:
① 原子公式(Atomic Formulas):
▮▮▮▮⚝ 如果 \(P\) 是一个 n 元谓词符号,而 \(t_1, t_2, \dots, t_n\) 都是项,那么 \(P(t_1, t_2, \dots, t_n)\) 是一个合式公式。
▮▮▮▮⚝ 如果使用了等号,那么如果 \(t_1\) 和 \(t_2\) 都是项,\(t_1 = t_2\) 是一个合式公式。
② 通过逻辑联结词构建的公式:
▮▮▮▮⚝ 如果 \(\phi\) 是一个合式公式,那么 \(\neg \phi\) 是一个合式公式。
▮▮▮▮⚝ 如果 \(\phi\) 和 \(\psi\) 都是合式公式,那么 \((\phi \land \psi)\), \((\phi \lor \psi)\), \((\phi \to \psi)\), \((\phi \leftrightarrow \psi)\) 都是合式公式。为了减少括号,我们通常遵循一定的优先级规则(例如,\(\neg\) 优先级最高,然后是 \(\land, \lor\),最后是 \(\to, \leftrightarrow\)),或者省略最外层的括号。
③ 通过量词构建的公式:
▮▮▮▮⚝ 如果 \(\phi\) 是一个合式公式,而 \(x\) 是一个变量,那么 \(\forall x \phi\) 和 \(\exists x \phi\) 都是合式公式。
④ 只有通过上述规则有限次生成的表达式才是合式公式。
例子:
假设我们有一个语言,包含个体常量 s
(苏格拉底), p
(柏拉图),一元谓词 H
(是人), M
(是终有一死),二元谓词 L
(爱)。
以下是一些合式公式:
⚝ H(s)
(苏格拉底是人) - 原子公式
⚝ L(s, p)
(苏格拉底爱柏拉图) - 原子公式
⚝ (H(s) \land M(s))
(苏格拉底是人并且苏格拉底是终有一死) - 由原子公式和 \(\land\) 构成
⚝ \neg L(p, s)
(柏拉图不爱苏格拉底) - 由原子公式和 \(\neg\) 构成
⚝ \forall x (H(x) \to M(x))
(所有人都终有一死) - 由公式 \(H(x) \to M(x)\) 和 \(\forall x\) 构成
⚝ \exists y (H(y) \land L(s, y))
(存在一个人,苏格拉底爱他/她) - 由公式 \(H(y) \land L(s, y)\) 和 \(\exists y\) 构成
理解合式公式的语法是理解谓词逻辑语义和推理的基础。它为我们提供了一个精确的框架来构建逻辑语句,避免歧义。
3.3 结构 (Structures) / 模型 (Models)
谓词逻辑的语义(semantics)赋予合式公式以意义。与命题逻辑不同,谓词逻辑公式的真假不仅仅取决于其组成命题的真假,还取决于我们所讨论的“世界”是什么样的。这个“世界”在谓词逻辑中被称为结构(Structure)或模型(Model)。
一个结构 \( \mathcal{M} \) 定义了非逻辑符号的解释。它包含以下几个部分:
① 论域(Domain)或宇宙(Universe):一个非空的集合 \( D \)。这是我们讨论的个体集合。所有的变量都将在这个论域中取值。
▮▮▮▮⚝ 例如:如果我们讨论自然数,论域可以是 \( \mathbb{N} = \{0, 1, 2, \dots\} \)。如果我们讨论人,论域可以是所有人的集合。
② 个体常量(Individual Constants)的解释:对于语言中的每一个个体常量 \( c \),结构 \( \mathcal{M} \) 为其指定论域 \( D \) 中的一个特定元素 \( c^{\mathcal{M}} \in D \)。
▮▮▮▮⚝ 例如:如果语言中有常量 socrates
,论域是人的集合,那么 \( \text{socrates}^{\mathcal{M}} \) 就是指现实世界中的苏格拉底这个人。
③ 函数符号(Function Symbols)的解释:对于语言中的每一个 n 元函数符号 \( f \),结构 \( \mathcal{M} \) 为其指定一个从 \( D^n \) 到 \( D \) 的函数 \( f^{\mathcal{M}}: D^n \to D \)。
▮▮▮▮⚝ 例如:如果语言中有二元函数符号 sum
,论域是 \( \mathbb{N} \),那么 \( \text{sum}^{\mathcal{M}} \) 就是自然数上的加法函数 \( + \)。
④ 谓词符号(Predicate Symbols)的解释:对于语言中的每一个 n 元谓词符号 \( P \),结构 \( \mathcal{M} \) 为其指定一个 \( D^n \) 上的关系 \( P^{\mathcal{M}} \subseteq D^n \)。这个关系包含了所有使得谓词为真的 n 元组。
▮▮▮▮⚝ 例如:如果语言中有一元谓词 Human
,论域是人的集合,那么 \( \text{Human}^{\mathcal{M}} \) 就是 \( D \) 本身(因为论域就是人的集合)。如果论域是所有生物的集合,那么 \( \text{Human}^{\mathcal{M}} \) 就是所有人的集合,它是 \( D \) 的一个子集。
▮▮▮▮⚝ 例如:如果语言中有二元谓词 >
,论域是 \( \mathbb{N} \),那么 \( >^{\mathcal{M}} \) 就是集合 \( \{(m, n) \in \mathbb{N} \times \mathbb{N} \mid m > n\} \)。
⑤ 等号(Equality)的解释(如果使用):如果语言包含等号,它通常被解释为论域上的恒等关系(identity relation)。即 \( t_1 = t_2 \) 在结构 \( \mathcal{M} \) 中为真当且仅当 \( t_1 \) 和 \( t_2 \) 所指代的个体是同一个。
一个结构 \( \mathcal{M} \) 提供了对谓词逻辑语言中所有非逻辑符号的具体解释,从而确定了任何合式公式在该“世界”中的真假值。一个公式在一个结构中为真,我们就说这个结构是该公式的一个模型(Model)。
例子:
考虑一个语言,包含个体常量 a
, b
,一元谓词 P
,二元谓词 R
。
考虑结构 \( \mathcal{M} \):
⚝ 论域 \( D = \{1, 2, 3\} \)
⚝ \( a^{\mathcal{M}} = 1 \)
⚝ \( b^{\mathcal{M}} = 2 \)
⚝ \( P^{\mathcal{M}} = \{1, 3\} \) (表示个体 1 和 3 具有属性 P)
⚝ \( R^{\mathcal{M}} = \{(1, 2), (2, 3)\} \) (表示个体 1 与 2 有关系 R,个体 2 与 3 有关系 R)
现在我们可以评估一些公式在这个结构中的真假:
⚝ \( P(a) \):\( a^{\mathcal{M}} = 1 \),\( 1 \in P^{\mathcal{M}} \),所以 \( P(a) \) 在 \( \mathcal{M} \) 中为真。
⚝ \( P(b) \):\( b^{\mathcal{M}} = 2 \),\( 2 \notin P^{\mathcal{M}} \),所以 \( P(b) \) 在 \( \mathcal{M} \) 中为假。
⚝ \( R(a, b) \):\( (a^{\mathcal{M}}, b^{\mathcal{M}}) = (1, 2) \),\( (1, 2) \in R^{\mathcal{M}} \),所以 \( R(a, b) \) 在 \( \mathcal{M} \) 中为真。
⚝ \( R(b, a) \):\( (b^{\mathcal{M}}, a^{\mathcal{M}}) = (2, 1) \),\( (2, 1) \notin R^{\mathcal{M}} \),所以 \( R(b, a) \) 在 \( \mathcal{M} \) 中为假。
⚝ \( \exists x P(x) \):论域中存在元素属于 \( P^{\mathcal{M}} \) 吗?是的,1 和 3 属于 \( P^{\mathcal{M}} \)。所以 \( \exists x P(x) \) 在 \( \mathcal{M} \) 中为真。
⚝ \( \forall x P(x) \):论域中所有元素都属于 \( P^{\mathcal{M}} \) 吗?不是,2 不属于 \( P^{\mathcal{M}} \)。所以 \( \forall x P(x) \) 在 \( \mathcal{M} \) 中为假。
⚝ \( \forall x \exists y R(x, y) \):对于论域中的每一个 x,都存在一个 y 使得 \( (x, y) \in R^{\mathcal{M}} \) 吗?
▮▮▮▮⚝ 当 x=1 时,存在 y=2 使得 \( (1, 2) \in R^{\mathcal{M}} \)。
▮▮▮▮⚝ 当 x=2 时,存在 y=3 使得 \( (2, 3) \in R^{\mathcal{M}} \)。
▮▮▮▮⚝ 当 x=3 时,不存在 y 使得 \( (3, y) \in R^{\mathcal{M}} \)。
▮▮▮▮⚝ 因此,并非对所有 x 都存在这样的 y。所以 \( \forall x \exists y R(x, y) \) 在 \( \mathcal{M} \) 中为假。
结构是谓词逻辑语义的核心,它提供了评估公式真假所需的上下文。
3.4 语义:满足 (Satisfaction) 与有效性 (Validity)
谓词逻辑的语义(semantics)定义了公式在给定结构中的意义和真假值。由于公式可能包含自由变量(free variables),其真假值可能取决于这些变量被赋予什么个体。因此,我们需要引入“满足”(satisfaction)的概念,它是在给定结构和变量赋值(variable assignment)下定义的。
3.4.1 变量赋值 (Variable Assignment)
一个变量赋值(variable assignment)是在给定结构 \( \mathcal{M} \) 下,从变量集合到论域 \( D \) 的一个函数 \( s: \{x, y, z, \dots\} \to D \)。它为每个变量指定了论域中的一个特定个体。
3.4.2 项的解释 (Interpretation of Terms)
在给定结构 \( \mathcal{M} \) 和变量赋值 \( s \) 下,任何项 \( t \) 都可以被解释为论域 \( D \) 中的一个特定个体,记为 \( t^{\mathcal{M}, s} \)。
① 如果 \( t \) 是个体常量 \( c \),那么 \( t^{\mathcal{M}, s} = c^{\mathcal{M}} \)。
② 如果 \( t \) 是变量 \( x \),那么 \( t^{\mathcal{M}, s} = s(x) \)。
③ 如果 \( t \) 是 \( f(t_1, \dots, t_n) \),其中 \( f \) 是 n 元函数符号,\( t_1, \dots, t_n \) 是项,那么 \( t^{\mathcal{M}, s} = f^{\mathcal{M}}(t_1^{\mathcal{M}, s}, \dots, t_n^{\mathcal{M}, s}) \)。
3.4.3 满足关系 (Satisfaction Relation)
我们用符号 \( \mathcal{M}, s \models \phi \) 来表示公式 \( \phi \) 在结构 \( \mathcal{M} \) 下,在变量赋值 \( s \) 的意义下被满足(satisfied),即为真。满足关系的定义是递归的:
① 原子公式:
▮▮▮▮⚝ \( \mathcal{M}, s \models P(t_1, \dots, t_n) \) 当且仅当 \( (t_1^{\mathcal{M}, s}, \dots, t_n^{\mathcal{M}, s}) \in P^{\mathcal{M}} \)。
▮▮▮▮⚝ \( \mathcal{M}, s \models t_1 = t_2 \) 当且仅当 \( t_1^{\mathcal{M}, s} = t_2^{\mathcal{M}, s} \)。
② 逻辑联结词:
▮▮▮▮⚝ \( \mathcal{M}, s \models \neg \phi \) 当且仅当 \( \mathcal{M}, s \not\models \phi \)。
▮▮▮▮⚝ \( \mathcal{M}, s \models (\phi \land \psi) \) 当且仅当 \( \mathcal{M}, s \models \phi \) 且 \( \mathcal{M}, s \models \psi \)。
▮▮▮▮⚝ \( \mathcal{M}, s \models (\phi \lor \psi) \) 当且仅当 \( \mathcal{M}, s \models \phi \) 或 \( \mathcal{M}, s \models \psi \)。
▮▮▮▮⚝ \( \mathcal{M}, s \models (\phi \to \psi) \) 当且仅当 \( \mathcal{M}, s \not\models \phi \) 或 \( \mathcal{M}, s \models \psi \)。
▮▮▮▮⚝ \( \mathcal{M}, s \models (\phi \leftrightarrow \psi) \) 当且仅当 \( (\mathcal{M}, s \models \phi \text{ 且 } \mathcal{M}, s \models \psi) \) 或 \( (\mathcal{M}, s \not\models \phi \text{ 且 } \mathcal{M}, s \not\models \psi) \)。
③ 量词:
▮▮▮▮⚝ \( \mathcal{M}, s \models \forall x \phi \) 当且仅当对于论域 \( D \) 中的每一个元素 \( d \),都有 \( \mathcal{M}, s[x \mapsto d] \models \phi \)。这里 \( s[x \mapsto d] \) 表示一个新的变量赋值,它与 \( s \) 相同,只是将变量 \( x \) 映射到元素 \( d \)。
▮▮▮▮⚝ \( \mathcal{M}, s \models \exists x \phi \) 当且仅当存在论域 \( D \) 中的一个元素 \( d \),使得 \( \mathcal{M}, s[x \mapsto d] \models \phi \)。```
```
4. chapter 4: 朴素集合论 (Naive Set Theory)
欢迎来到本书的第四章!在前两章中,我们深入探讨了逻辑学的基本工具——命题逻辑和谓词逻辑,它们为我们提供了严谨的推理框架。现在,我们将把目光转向数学的另一个基石:集合论。集合论是现代数学的语言,几乎所有的数学概念都可以用集合来定义。本章将介绍集合论的初步概念,即朴素集合论 (Naive Set Theory)。我们将从最直观的集合概念出发,学习如何描述集合、集合之间的关系以及集合的基本运算。然而,这种直观的方法并非没有问题,本章的最后将揭示朴素集合论的内在矛盾——著名的罗素悖论 (Russell's Paradox),这正是促使数学家发展公理化集合论 (Axiomatic Set Theory) 的重要原因。
4.1 集合与元素 (Sets and Elements)
集合 (Set) 是数学中最基本、最原始的概念之一。朴素集合论的核心思想是:集合是由一些确定的、不同的对象组成的整体。这些对象被称为集合的元素 (Element) 或成员 (Member)。集合与元素之间的关系是“属于” (belonging to)。
⚝ 集合的直观理解
▮▮▮▮⚝ 我们可以将集合想象成一个“袋子”或“容器”,里面装着一些东西(元素)。
▮▮▮▮⚝ 集合是确定的:给定一个对象和一个集合,我们必须能够确定这个对象是否属于这个集合。
▮▮▮▮⚝ 集合中的元素是不同的:集合中的每个元素都是唯一的,不允许重复。
▮▮▮▮⚝ 集合中元素的顺序无关紧要:集合 \(\{a, b\}\) 和集合 \(\{b, a\}\) 是同一个集合。
⚝ 属于关系 (Membership Relation)
如果对象 \(x\) 是集合 \(A\) 的元素,我们记作 \(x \in A\)。
如果对象 \(x\) 不是集合 \(A\) 的元素,我们记作 \(x \notin A\)。
例如:
⚝ 考虑集合 \(S\) 是所有偶数的集合。
▮▮▮▮⚝ 2 是偶数,所以 \(2 \in S\)。
▮▮▮▮⚝ 3 不是偶数,所以 \(3 \notin S\)。
⚝ 考虑集合 \(C\) 是颜色“红”、“黄”、“蓝”组成的集合。
▮▮▮▮⚝ 红 \(\in C\)。
▮▮▮▮⚝ 绿 \(\notin C\)。
朴素集合论基于一个被称为“无限制理解原则” (Unrestricted Comprehension Principle) 或“概括公理” (Axiom of Abstraction) 的思想:对于任何性质 \(P\),存在一个集合 \(S\),其元素恰好是所有满足性质 \(P\) 的对象。用谓词逻辑的语言来说,对于任何一个关于 \(x\) 的性质 \(\phi(x)\),存在一个集合 \(A\) 使得对于任意对象 \(x\),有 \(x \in A \iff \phi(x)\)。这个原则在朴素集合论中被认为是理所当然的,但我们将在本章末尾看到它带来的问题。
4.2 集合的表示方法 (Ways to Specify Sets)
有几种常用的方法来表示集合:
① 列举法 (Listing Method)
直接列出集合的所有元素,并用花括号 \(\{\}\) 括起来。元素之间用逗号分隔。
⚝ 例子:
▮▮▮▮⚝ 包含数字 1, 2, 3 的集合可以表示为 \(\{1, 2, 3\}\)。
▮▮▮▮⚝ 包含字母 a, b, c 的集合可以表示为 \(\{a, b, c\}\)。
▮▮▮▮⚝ 包含颜色红、黄、蓝的集合可以表示为 \(\{\text{红}, \text{黄}, \text{蓝}\}\)。
▮▮▮▮⚝ 包含空集的集合可以表示为 \(\{\emptyset\}\)。注意,这是一个包含一个元素的集合,这个元素是空集。
对于元素较多或无限的集合,可以使用省略号 \(...\) 表示:
⚝ 例子:
▮▮▮▮⚝ 自然数集合 \(\mathbb{N} = \{0, 1, 2, 3, ...\}\) (有些定义从1开始)。
▮▮▮▮⚝ 偶数集合 \(\{..., -4, -2, 0, 2, 4, ...\}\)。
② 描述法 (Set-Builder Notation)
通过描述集合中元素所满足的性质来表示集合。其一般形式为 \(\{x \mid P(x)\}\) 或 \(\{x : P(x)\}\),表示“所有满足性质 \(P(x)\) 的对象 \(x\) 的集合”。竖线 \(\mid\) 或冒号 \(:\) 读作“使得”或“满足”。
⚝ 例子:
▮▮▮▮⚝ 所有偶数的集合可以表示为 \(\{x \mid x \text{ 是偶数}\}\)。
▮▮▮▮⚝ 所有大于 5 的整数的集合可以表示为 \(\{n \in \mathbb{Z} \mid n > 5\}\)。这里 \(\mathbb{Z}\) 表示整数集合。
▮▮▮▮⚝ 所有实数的平方是非负数的集合可以表示为 \(\{x \in \mathbb{R} \mid x^2 \ge 0\}\)。这里 \(\mathbb{R}\) 表示实数集合。
③ 空集 (Empty Set)
不包含任何元素的集合称为空集 (Empty Set),记作 \(\emptyset\) 或 \(\{\}\)。
⚝ 例子:
▮▮▮▮⚝ 所有大于 0 且小于 1 的整数的集合是空集。
▮▮▮▮⚝ 所有活着的恐龙的集合是空集。
空集是唯一的。对于任何对象 \(x\),\(x \notin \emptyset\)。
4.3 子集 (Subsets) 与幂集 (Power Set)
集合之间的重要关系之一是子集关系。
⚝ 子集 (Subset)
如果集合 \(A\) 的所有元素都是集合 \(B\) 的元素,那么称 \(A\) 是 \(B\) 的子集 (Subset),记作 \(A \subseteq B\)。
用逻辑符号表示:\(A \subseteq B \iff \forall x (x \in A \implies x \in B)\)。
⚝ 例子:
▮▮▮▮⚝ \(\{1, 2\} \subseteq \{1, 2, 3\}\)。
▮▮▮▮⚝ \(\{a, b, c\} \subseteq \{a, b, c\}\)。
▮▮▮▮⚝ \(\mathbb{N} \subseteq \mathbb{Z} \subseteq \mathbb{Q} \subseteq \mathbb{R}\) (自然数集是整数集的子集,整数集是有理数集的子集,有理数集是实数集的子集)。
▮▮▮▮⚝ 对于任何集合 \(A\),有 \(\emptyset \subseteq A\) (空集是任何集合的子集)。
▮▮▮▮⚝ 对于任何集合 \(A\),有 \(A \subseteq A\) (任何集合是其自身的子集)。
⚝ 真子集 (Proper Subset)
如果 \(A \subseteq B\) 且 \(A \ne B\),那么称 \(A\) 是 \(B\) 的真子集 (Proper Subset),记作 \(A \subset B\)。
用逻辑符号表示:\(A \subset B \iff (\forall x (x \in A \implies x \in B)) \land (\exists y (y \in B \land y \notin A))\)。
⚝ 例子:
▮▮▮▮⚝ \(\{1, 2\} \subset \{1, 2, 3\}\)。
▮▮▮▮⚝ \(\mathbb{N} \subset \mathbb{Z}\)。
▮▮▮▮⚝ \(\emptyset \subset \{1\}\)。
⚝ 集合的相等 (Equality of Sets)
两个集合 \(A\) 和 \(B\) 相等 (Equal) 当且仅当它们包含完全相同的元素。记作 \(A = B\)。
根据子集的定义,集合相等可以等价地定义为:\(A = B \iff (A \subseteq B) \land (B \subseteq A)\)。这被称为外延性原则 (Principle of Extensionality),在公理化集合论中是基本公理之一。
⚝ 幂集 (Power Set)
集合 \(A\) 的幂集 (Power Set),记作 \(\mathcal{P}(A)\) 或 \(2^A\),是所有以 \(A\) 的子集为元素的集合。
用描述法表示:\(\mathcal{P}(A) = \{S \mid S \subseteq A\}\)。
⚝ 例子:
▮▮▮▮⚝ 如果 \(A = \emptyset\),则 \(\mathcal{P}(A) = \{\emptyset\}\)。注意 \(\mathcal{P}(\emptyset)\) 包含一个元素,即空集本身。
▮▮▮▮⚝ 如果 \(A = \{a\}\),则 \(\mathcal{P}(A) = \{\emptyset, \{a\}\}\)。
▮▮▮▮⚝ 如果 \(A = \{a, b\}\),则 \(\mathcal{P}(A) = \{\emptyset, \{a\}, \{b\}, \{a, b\}\}\)。
▮▮▮▮⚝ 如果集合 \(A\) 有 \(n\) 个元素,那么它的幂集 \(\mathcal{P}(A)\) 有 \(2^n\) 个元素。
幂集的概念非常重要,它允许我们从已有的集合构造出新的集合。
4.4 集合的基本运算 (Basic Set Operations):并、交、差、补 (Union, Intersection, Difference, Complement)
集合之间可以进行一些基本运算,产生新的集合。
⚝ 并集 (Union)
集合 \(A\) 和 \(B\) 的并集 (Union),记作 \(A \cup B\),是包含所有属于 \(A\) 或属于 \(B\) 的元素的集合。
用描述法表示:\(A \cup B = \{x \mid x \in A \lor x \in B\}\)。
⚝ 例子:
▮▮▮▮⚝ \(\{1, 2, 3\} \cup \{3, 4, 5\} = \{1, 2, 3, 4, 5\}\)。
▮▮▮▮⚝ \(\{a, b\} \cup \{c, d\} = \{a, b, c, d\}\)。
▮▮▮▮⚝ \(\{1, 2\} \cup \emptyset = \{1, 2\}\)。
⚝ 交集 (Intersection)
集合 \(A\) 和 \(B\) 的交集 (Intersection),记作 \(A \cap B\),是包含所有既属于 \(A\) 又属于 \(B\) 的元素的集合。
用描述法表示:\(A \cap B = \{x \mid x \in A \land x \in B\}\)。
⚝ 例子:
▮▮▮▮⚝ \(\{1, 2, 3\} \cap \{3, 4, 5\} = \{3\}\)。
▮▮▮▮⚝ \(\{a, b\} \cap \{c, d\} = \emptyset\)。
▮▮▮▮⚝ \(\{1, 2\} \cap \emptyset = \emptyset\)。
如果 \(A \cap B = \emptyset\),则称集合 \(A\) 和 \(B\) 是不相交的 (Disjoint)。
⚝ 差集 (Difference)
集合 \(A\) 和 \(B\) 的差集 (Difference),记作 \(A \setminus B\) 或 \(A - B\),是包含所有属于 \(A\) 但不属于 \(B\) 的元素的集合。
用描述法表示:\(A \setminus B = \{x \mid x \in A \land x \notin B\}\)。
⚝ 例子:
▮▮▮▮⚝ \(\{1, 2, 3\} \setminus \{3, 4, 5\} = \{1, 2\}\)。
▮▮▮▮⚝ \(\{a, b, c\} \setminus \{b\} = \{a, c\}\)。
▮▮▮▮⚝ \(\{1, 2\} \setminus \{1, 2, 3\} = \emptyset\)。
⚝ 补集 (Complement)
在讨论补集时,通常需要先确定一个全集 (Universal Set),记作 \(U\)。全集是包含所有被考虑的集合的集合。集合 \(A\) 在全集 \(U\) 下的补集 (Complement),记作 \(A^c\) 或 \(\bar{A}\),是包含所有属于 \(U\) 但不属于 \(A\) 的元素的集合。
用描述法表示:\(A^c = \{x \in U \mid x \notin A\}\)。注意,补集运算依赖于所选的全集 \(U\)。
⚝ 例子:
▮▮▮▮⚝ 如果全集 \(U = \{1, 2, 3, 4, 5\}\),集合 \(A = \{1, 2\}\),则 \(A^c = \{3, 4, 5\}\)。
▮▮▮▮⚝ 如果全集 \(U = \mathbb{Z}\) (整数集),集合 \(E\) 是偶数集,则 \(E^c\) 是奇数集。
这些集合运算满足一些重要的性质,例如结合律、交换律、分配律以及德摩根律 (De Morgan's Laws)。这些性质与命题逻辑中的逻辑联结词的性质非常相似,这体现了逻辑与集合论之间的紧密联系。
⚝ 德摩根律 (De Morgan's Laws)
▮▮▮▮⚝ \((A \cup B)^c = A^c \cap B^c\)
▮▮▮▮⚝ \((A \cap B)^c = A^c \cup B^c\)
这些性质可以通过画韦恩图 (Venn Diagram) 或使用元素论证 (element argument) 来证明。例如,证明 \((A \cup B)^c = A^c \cap B^c\):
要证明两个集合相等,需要证明它们互相是对方的子集。
① 证明 \((A \cup B)^c \subseteq A^c \cap B^c\):
▮▮▮▮ⓑ 设 \(x \in (A \cup B)^c\)。
▮▮▮▮ⓒ 根据补集定义,\(x \notin (A \cup B)\)。
▮▮▮▮ⓓ 根据并集定义,\(x \notin A\) 且 \(x \notin B\)。
▮▮▮▮ⓔ 根据补集定义,\(x \in A^c\) 且 \(x \in B^c\)。
▮▮▮▮ⓕ 根据交集定义,\(x \in A^c \cap B^c\)。
▮▮▮▮⚝ 因此,\((A \cup B)^c \subseteq A^c \cap B^c\)。
② 证明 \(A^c \cap B^c \subseteq (A \cup B)^c\):
▮▮▮▮ⓑ 设 \(x \in A^c \cap B^c\)。
▮▮▮▮ⓒ 根据交集定义,\(x \in A^c\) 且 \(x \in B^c\)。
▮▮▮▮ⓓ 根据补集定义,\(x \notin A\) 且 \(x \notin B\)。
▮▮▮▮ⓔ 根据命题逻辑的德摩根律,\(\neg (x \in A) \land \neg (x \in B)\) 等价于 \(\neg (x \in A \lor x \in B)\)。
▮▮▮▮ⓕ 根据并集定义,\(x \notin (A \cup B)\)。
▮▮▮▮⚝ 根据补集定义,\(x \in (A \cup B)^c\)。
▮▮▮▮⚝ 因此,\(A^c \cap B^c \subseteq (A \cup B)^c\)。
由 ① 和 ② 可知,\((A \cup B)^c = A^c \cap B^c\)。
4.5 有序对 (Ordered Pairs) 与笛卡尔积 (Cartesian Product)
到目前为止,我们讨论的集合都是无序的,元素的顺序不重要。但在数学中,我们经常需要考虑元素的顺序,例如坐标 \((x, y)\)。这就引入了有序对的概念。
⚝ 有序对 (Ordered Pair)
有序对 \((a, b)\) 是一个由两个元素 \(a\) 和 \(b\) 组成的对,其中 \(a\) 是第一个元素,\(b\) 是第二个元素。有序对的关键性质是顺序很重要:\((a, b) = (c, d)\) 当且仅当 \(a = c\) 且 \(b = d\)。
这与集合 \(\{a, b\}\) 不同,因为 \(\{a, b\} = \{b, a\}\)。
在朴素集合论中,我们可以用集合来定义有序对。最常用的定义是库拉托夫斯基 (Kuratowski) 定义:
\[ (a, b) = \{\{a\}, \{a, b\}\} \]
让我们验证这个定义是否满足有序对的关键性质:如果 \((a, b) = (c, d)\),即 \(\{\{a\}, \{a, b\}\} = \{\{c\}, \{c, d\}\}\),是否一定有 \(a = c\) 且 \(b = d\)?
① 如果 \(a = b\),则 \((a, a) = \{\{a\}, \{a, a\}\} = \{\{a\}, \{a\}\} = \{\{a\}\}\)。如果 \((a, a) = (c, d)\),则 \(\{\{a\}\} = \{\{c\}, \{c, d\}\}\)。这意味着 \(\{c\}, \{c, d\}\) 都必须等于 \(\{a\}\)。所以 \(\{c\} = \{a\}\) 且 \(\{c, d\} = \{a\}\)。从 \(\{c\} = \{a\}\) 得出 \(c = a\)。从 \(\{c, d\} = \{a\}\) 得出 \(\{a, d\} = \{a\}\),这意味着 \(d\) 必须等于 \(a\)。所以 \(d = a\)。因此,如果 \(a = b\),则 \((a, b) = (c, d)\) 蕴含 \(a = c\) 且 \(b = d\)。
② 如果 \(a \ne b\),则集合 \(\{\{a\}, \{a, b\}\}\) 包含两个不同的元素:\(\{a\}\) 和 \(\{a, b\}\)。如果 \(\{\{a\}, \{a, b\}\} = \{\{c\}, \{c, d\}\}\),则有两种可能:
▮▮▮▮ⓒ \(\{a\} = \{c\}\) 且 \(\{a, b\} = \{c, d\}\)。从 \(\{a\} = \{c\}\) 得出 \(a = c\)。将 \(c = a\) 代入 \(\{a, b\} = \{c, d\}\),得到 \(\{a, b\} = \{a, d\}\)。因为 \(a \ne b\),所以 \(b\) 必须等于 \(d\)。因此 \(a = c\) 且 \(b = d\)。
▮▮▮▮ⓓ \(\{a\} = \{c, d\}\) 且 \(\{a, b\} = \{c\}\)。从 \(\{a, b\} = \{c\}\) 得出 \(c\) 必须等于 \(a\) 且 \(c\) 必须等于 \(b\),即 \(a = b = c\)。但这与我们假设的 \(a \ne b\) 矛盾。所以这种情况不可能发生。
▮▮▮▮⚝ 综上所述,库拉托夫斯基定义满足有序对的关键性质。
⚝ 笛卡尔积 (Cartesian Product)
集合 \(A\) 和 \(B\) 的笛卡尔积 (Cartesian Product),记作 \(A \times B\),是所有第一个元素来自 \(A\)、第二个元素来自 \(B\) 的有序对的集合。
用描述法表示:\(A \times B = \{(a, b) \mid a \in A \land b \in B\}\)。
⚝ 例子:
▮▮▮▮⚝ 如果 \(A = \{1, 2\}\),\(B = \{a, b\}\),则 \(A \times B = \{(1, a), (1, b), (2, a), (2, b)\}\)。
▮▮▮▮⚝ 如果 \(A = \{1, 2\}\),\(B = \{a, b\}\),则 \(B \times A = \{(a, 1), (a, 2), (b, 1), (b, 2)\}\)。注意 \(A \times B \ne B \times A\),除非 \(A = B\) 或其中一个为空集。
▮▮▮▮⚝ \(\mathbb{R} \times \mathbb{R}\) 表示二维平面上的所有点的集合,通常记作 \(\mathbb{R}^2\)。
笛卡尔积的概念是定义关系 (Relations) 和函数 (Functions) 的基础,我们将在下一章详细讨论。
4.6 罗素悖论 (Russell's Paradox) 与朴素集合论的局限性 (Limitations of Naive Set Theory)
朴素集合论基于“无限制理解原则”:对于任何性质 \(P\),存在一个集合 \(S = \{x \mid P(x)\}\)。这个原则看起来非常直观和强大,但它会导致一个严重的逻辑矛盾,这就是著名的罗素悖论 (Russell's Paradox),由伯特兰·罗素 (Bertrand Russell) 在1901年发现。
考虑性质 \(P(x)\):“\(x\) 不属于自身”,即 \(x \notin x\)。
根据无限制理解原则,应该存在一个集合 \(R\),其元素恰好是所有不属于自身的集合。
\[ R = \{x \mid x \notin x\} \]
现在,我们问一个问题:集合 \(R\) 是否属于自身?也就是说,\(R \in R\) 是否成立?
让我们分析两种可能性:
① 假设 \(R \in R\)。
根据集合 \(R\) 的定义,如果一个元素属于 \(R\),那么它必须满足性质 \(x \notin x\)。
所以,如果 \(R \in R\),那么 \(R\) 必须满足 \(R \notin R\)。
这与我们的假设 \(R \in R\) 矛盾!
② 假设 \(R \notin R\)。
根据集合 \(R\) 的定义,如果一个元素不属于 \(R\),那么它不满足性质 \(x \notin x\)。也就是说,它满足性质 \(x \in x\)。
所以,如果 \(R \notin R\),那么 \(R\) 必须满足 \(R \in R\)。
这与我们的假设 \(R \notin R\) 矛盾!
无论假设 \(R \in R\) 还是 \(R \notin R\),都导出了矛盾。这意味着基于无限制理解原则构造出的集合 \(R\) 根本不能存在。
罗素悖论表明,朴素集合论的基石——无限制理解原则——是有缺陷的。并非任何性质都能定义一个合法的集合。这个悖论揭示了朴素集合论的内在不一致性 (Inconsistency)。它证明了存在一些“集合”的定义会导致矛盾,因此我们需要一个更严格、更安全的集合论基础。
罗素悖论以及其他一些悖论(如康托尔悖论 - Cantor's Paradox)促使数学家们放弃了朴素集合论的直观方法,转而寻求一种公理化的方法来建立集合论。公理化集合论 (Axiomatic Set Theory) 通过设定一组基本公理来定义集合的存在和性质,这些公理经过精心设计,以避免已知的悖论。最著名的公理化集合论系统是 ZFC (Zermelo-Fraenkel Set Theory with the Axiom of Choice),我们将在第六章详细探讨它。
尽管朴素集合论存在局限性,但它为我们提供了理解集合概念的直观基础和基本工具。在许多日常数学讨论中,只要不涉及那些会导致悖论的“病态”集合,朴素集合论的概念和术语仍然非常有用和方便。本章介绍的集合、元素、子集、幂集、集合运算、有序对和笛卡尔积等概念,都是理解后续公理化集合论以及整个现代数学的基础。
5. chapter 5: 关系与函数 (Relations and Functions)
在前面的章节中,我们学习了集合论的基础知识,包括集合的定义、表示方法以及基本运算。集合是数学中最基本的概念之一,而关系和函数则是在集合的基础上构建起来的、描述集合元素之间联系的重要工具。它们不仅是数学各个分支(如代数、分析、拓扑)的基石,也在计算机科学、逻辑学、物理学等领域有着广泛的应用。本章将深入探讨关系和函数的概念、性质及其相互联系。
5.1 关系 (Relations) 的定义与表示 (Definition and Representation)
在日常生活中,我们经常谈论事物之间的关系,比如“大于”、“小于”、“等于”、“是...的父亲”、“位于...旁边”等等。在数学中,我们将“关系”这一概念形式化。
从集合论的观点来看,一个关系本质上就是有序对 (ordered pairs) 的集合。回想一下,有序对 \((a, b)\) 是一个特殊的“集合”,它区分了元素的顺序,即 \((a, b) \neq (b, a)\) 除非 \(a=b\)。
定义 5.1.1 给定两个集合 \(A\) 和 \(B\),从 \(A\) 到 \(B\) 的一个二元关系 (binary relation) \(R\) 是 \(A\) 和 \(B\) 的笛卡尔积 (Cartesian product) \(A \times B\) 的任意子集。
\[ R \subseteq A \times B \]
如果 \((a, b) \in R\),我们通常记作 \(a R b\),表示元素 \(a\) 与元素 \(b\) 之间存在关系 \(R\)。如果 \((a, b) \notin R\),则表示 \(a\) 与 \(b\) 之间不存在关系 \(R\)。
当 \(A = B\) 时,我们称 \(R\) 是集合 \(A\) 上的一个关系。
示例 5.1.2
① 考虑集合 \(A = \{1, 2, 3\}\) 和 \(B = \{a, b\}\)。从 \(A\) 到 \(B\) 的一个关系 \(R\) 可以是 \(\{(1, a), (2, b), (3, a)\}\)。
② 考虑集合 \(A = \{1, 2, 3, 4\}\)。集合 \(A\) 上的“小于”关系 \(<\) 可以表示为集合 \(\{(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)\}\)。
③ 考虑集合 \(P\) 为所有人的集合。集合 \(P\) 上的“是...的父亲”关系 \(F\) 是一个二元关系。如果 \(x\) 是 \(y\) 的父亲,则 \((x, y) \in F\),即 \(x F y\)。
关系的定义域 (domain) \(Dom(R)\) 是集合 \(A\) 中所有至少与 \(B\) 中一个元素有关系 \(R\) 的元素的集合:
\[ Dom(R) = \{a \in A \mid \exists b \in B, (a, b) \in R\} \]
关系的值域 (range) \(Ran(R)\) 是集合 \(B\) 中所有至少与 \(A\) 中一个元素有关系 \(R\) 的元素的集合:
\[ Ran(R) = \{b \in B \mid \exists a \in A, (a, b) \in R\} \]
关系的表示方法 (ways to represent relations):
⚝ 集合表示法 (Set notation):直接列出关系中的所有有序对,如上面的示例。对于有限集合,这是最直接的方法。
⚝ 矩阵表示法 (Matrix representation):如果 \(A = \{a_1, a_2, \dots, a_m\}\) 且 \(B = \{b_1, b_2, \dots, b_n\}\) 都是有限集合,则关系 \(R \subseteq A \times B\) 可以用一个 \(m \times n\) 的布尔矩阵 (Boolean matrix) \(M_R\) 来表示。矩阵的第 \(i\) 行第 \(j\) 列的元素 \(M_R[i, j]\) 定义为:
\[ M_R[i, j] = \begin{cases} 1 & \text{if } (a_i, b_j) \in R \\ 0 & \text{if } (a_i, b_j) \notin R \end{cases} \]
示例 5.1.3 考虑 \(A = \{1, 2, 3\}\),\(B = \{a, b\}\),关系 \(R = \{(1, a), (2, b), (3, a)\}\)。其矩阵表示为:
\[ M_R = \begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 1 & 0 \end{pmatrix} \]
⚝ 图表示法 (Graph representation):当关系是定义在同一个集合 \(A\) 上时,可以使用有向图 (directed graph) 来表示。集合 \(A\) 的元素作为图的顶点 (vertices),如果 \((a, b) \in R\),则从顶点 \(a\) 到顶点 \(b\) 画一条有向边 (directed edge)。
示例 5.1.4 考虑 \(A = \{1, 2, 3, 4\}\),关系 \(R = \{(1, 2), (1, 3), (2, 3), (3, 4)\}\)。其图表示为:顶点 1, 2, 3, 4,边 1→2, 1→3, 2→3, 3→4。
除了二元关系,还存在多元关系 (n-ary relations),它是 \(n\) 个集合的笛卡尔积的子集。例如,三元关系 \(R \subseteq A \times B \times C\)。在数据库理论中,关系通常指多元关系。但在本章中,我们主要关注二元关系。
5.2 关系的性质 (Properties of Relations):自反、对称、传递 (Reflexive, Symmetric, Transitive)
定义在同一个集合 \(A\) 上的关系 \(R \subseteq A \times A\) 可以具有一些重要的性质。这些性质对于区分不同类型的关系至关重要。
定义 5.2.1 设 \(R\) 是集合 \(A\) 上的一个关系。
① \(R\) 是自反的 (reflexive),如果对于任意 \(a \in A\),都有 \((a, a) \in R\)。即,每个元素都与自身有关系。
② \(R\) 是反自反的 (irreflexive),如果对于任意 \(a \in A\),都有 \((a, a) \notin R\)。即,没有元素与自身有关系。
③ \(R\) 是对称的 (symmetric),如果对于任意 \(a, b \in A\),如果 \((a, b) \in R\),则 \((b, a) \in R\)。即,如果 \(a\) 与 \(b\) 有关系,则 \(b\) 也与 \(a\) 有关系。
④ \(R\) 是反对称的 (antisymmetric),如果对于任意 \(a, b \in A\),如果 \((a, b) \in R\) 且 \((b, a) \in R\),则 \(a = b\)。注意这与“不是对称的”不同。反对称允许 \((a, a)\) 存在,而反自反不允许。
⑤ \(R\) 是传递的 (transitive),如果对于任意 \(a, b, c \in A\),如果 \((a, b) \in R\) 且 \((b, c) \in R\),则 \((a, c) \in R\)。即,如果 \(a\) 与 \(b\) 有关系,\(b\) 与 \(c\) 有关系,则 \(a\) 与 \(c\) 也有关系。
示例 5.2.2 考虑集合 \(A = \{1, 2, 3\}\)。
⚝ 关系 \(R_1 = \{(1, 1), (2, 2), (3, 3), (1, 2)\}\)。
▮▮▮▮ⓐ 自反性:是自反的,因为 \((1, 1), (2, 2), (3, 3)\) 都在 \(R_1\) 中。
▮▮▮▮ⓑ 对称性:不是对称的,因为 \((1, 2) \in R_1\) 但 \((2, 1) \notin R_1\)。
▮▮▮▮ⓒ 传递性:是传递的。检查所有可能的链:\((1, 2)\) 存在,没有以 2 开头的其他边;没有长度大于 2 的链。
⚝ 关系 \(R_2 = \{(1, 2), (2, 1), (1, 1)\}\)。
▮▮▮▮ⓐ 自反性:不是自反的,因为 \((2, 2) \notin R_2\)。
▮▮▮▮ⓑ 对称性:是对称的,因为 \((1, 2) \in R_2 \implies (2, 1) \in R_2\),\((2, 1) \in R_2 \implies (1, 2) \in R_2\),\((1, 1) \in R_2 \implies (1, 1) \in R_2\)。
▮▮▮▮ⓒ 传递性:不是传递的,因为 \((2, 1) \in R_2\) 且 \((1, 2) \in R_2\),但 \((2, 2) \notin R_2\)。
⚝ 关系 \(R_3 = \{(1, 2), (2, 3), (1, 3)\}\)。
▮▮▮▮ⓐ 自反性:不是自反的。
▮▮▮▮ⓑ 对称性:不是对称的。
▮▮▮▮ⓒ 传递性:是传递的。
⚝ 关系 \(R_4 = \{(1, 1), (2, 2), (3, 3)\}\)。
▮▮▮▮ⓐ 自反性:是自反的。
▮▮▮▮ⓑ 对称性:是对称的。
▮▮▮▮ⓒ 传递性:是传递的。
⚝ 关系 \(R_5 = \emptyset\) (空关系)。
▮▮▮▮ⓐ 自反性:不是自反的(除非 \(A\) 是空集)。
▮▮▮▮ⓑ 对称性:是对称的(因为前提“如果 \((a, b) \in R_5\)”永不为真)。
▮▮▮▮ⓒ 传递性:是传递的(因为前提“如果 \((a, b) \in R_5\) 且 \((b, c) \in R_5\)”永不为真)。
▮▮▮▮ⓓ 反自反性:是反自反的(因为对于任意 \(a \in A\),\((a, a) \notin \emptyset\))。
▮▮▮▮ⓔ 反对称性:是反对称的(因为前提“如果 \((a, b) \in R_5\) 且 \((b, a) \in R_5\)”永不为真)。
这些性质可以组合起来定义特殊类型的关系,其中最重要的是等价关系和序关系。
5.3 等价关系 (Equivalence Relations) 与划分 (Partitions)
等价关系是数学中用来刻画“等同”或“相似”概念的一种关系。
定义 5.3.1 集合 \(A\) 上的一个关系 \(R\) 如果同时满足以下三个性质,则称 \(R\) 是一个等价关系 (equivalence relation):
① 自反性 (Reflexive):对于任意 \(a \in A\),\(a R a\)。
② 对称性 (Symmetric):对于任意 \(a, b \in A\),如果 \(a R b\),则 \(b R a\)。
③ 传递性 (Transitive):对于任意 \(a, b, c \in A\),如果 \(a R b\) 且 \(b R c\),则 \(a R c\)。
示例 5.3.2
⚝ 集合 \(\mathbb{Z}\) 上的“等于”关系 \(=\) 是一个等价关系。
⚝ 集合 \(\mathbb{Z}\) 上的“同余模 \(n\)”关系 \(\equiv_n\) 是一个等价关系。对于整数 \(a, b\) 和正整数 \(n\),\(a \equiv_n b\) 当且仅当 \(a - b\) 是 \(n\) 的倍数。
▮▮▮▮ⓐ 自反性:\(a - a = 0\),0 是 \(n\) 的倍数,所以 \(a \equiv_n a\)。
▮▮▮▮ⓑ 对称性:如果 \(a \equiv_n b\),则 \(a - b = kn\) 对于某个整数 \(k\)。那么 \(b - a = -kn\),也是 \(n\) 的倍数,所以 \(b \equiv_n a\)。
▮▮▮▮ⓒ 传递性:如果 \(a \equiv_n b\) 且 \(b \equiv_n c\),则 \(a - b = kn\) 且 \(b - c = mn\) 对于某些整数 \(k, m\)。那么 \(a - c = (a - b) + (b - c) = kn + mn = (k+m)n\),也是 \(n\) 的倍数,所以 \(a \equiv_n c\)。
⚝ 在几何中,平面上所有三角形的集合上的“全等”关系是等价关系。
⚝ 在计算机科学中,编程语言中变量的“类型等价”关系(在某些定义下)可以是等价关系。
等价关系最重要的性质之一是它可以将集合划分为不相交的子集,这些子集称为等价类 (equivalence classes)。
定义 5.3.3 设 \(R\) 是集合 \(A\) 上的一个等价关系。对于任意 \(a \in A\),元素 \(a\) 的等价类 \([a]_R\) 定义为集合 \(A\) 中所有与 \(a\) 有关系 \(R\) 的元素的集合:
\[ [a]_R = \{x \in A \mid x R a\} \]
当关系 \(R\) 是明确的时候,可以简写为 \([a]\)。
示例 5.3.4 考虑 \(\mathbb{Z}\) 上的同余模 3 关系 \(\equiv_3\)。
⚝ \([0]_3 = \{x \in \mathbb{Z} \mid x \equiv_3 0\} = \{\dots, -6, -3, 0, 3, 6, \dots\}\)
⚝ \([1]_3 = \{x \in \mathbb{Z} \mid x \equiv_3 1\} = \{\dots, -5, -2, 1, 4, 7, \dots\}\)
⚝ \([2]_3 = \{x \in \mathbb{Z} \mid x \equiv_3 2\} = \{\dots, -4, -1, 2, 5, 8, \dots\}\)
⚝ \([3]_3 = \{x \in \mathbb{Z} \mid x \equiv_3 3\} = \{x \in \mathbb{Z} \mid x \equiv_3 0\} = [0]_3\)
注意,不同的元素可能属于同一个等价类。事实上,\(a R b\) 当且仅当 \([a]_R = [b]_R\)。
等价类的集合 \(\{ [a]_R \mid a \in A \}\) 具有以下性质:
① 集合中的每个等价类都是非空的(因为自反性保证 \(a \in [a]_R\))。
② 任意两个不同的等价类是互不相交的。
③ 所有等价类的并集等于整个集合 \(A\)。
这三个性质恰好是划分 (partition) 的定义。
定义 5.3.5 集合 \(A\) 的一个划分 (partition) 是 \(A\) 的一个非空子集族 \(\mathcal{P} = \{A_i\}_{i \in I}\),满足:
① 对于任意 \(i \in I\),\(A_i \neq \emptyset\)。
② 对于任意 \(i, j \in I\),如果 \(i \neq j\),则 \(A_i \cap A_j = \emptyset\)。
③ \(\bigcup_{i \in I} A_i = A\)。
定理 5.3.6 集合 \(A\) 上的每一个等价关系 \(R\) 都唯一地确定 \(A\) 的一个划分,这个划分就是由 \(R\) 的所有等价类组成的集合。反之,\(A\) 的每一个划分 \(\mathcal{P}\) 都唯一地确定 \(A\) 上的一个等价关系 \(R_\mathcal{P}\),其中 \(a R_\mathcal{P} b\) 当且仅当 \(a\) 和 \(b\) 属于划分 \(\mathcal{P}\) 中的同一个子集。
这个定理建立了等价关系和划分之间的一一对应关系,这是理解等价关系核心作用的关键。等价关系将集合中的元素分组,同一组中的元素被认为是“等价的”。
由等价关系 \(R\) 产生的等价类的集合称为 \(A\) 关于 \(R\) 的商集 (quotient set),记作 \(A/R\)。
\[ A/R = \{[a]_R \mid a \in A\} \]
示例 5.3.7 \(\mathbb{Z}\) 关于同余模 3 关系的商集是 \(\mathbb{Z}/\equiv_3 = \{[0]_3, [1]_3, [2]_3\}\)。这个商集有 3 个元素。
5.4 序关系 (Order Relations):偏序 (Partial Order) 与全序 (Total Order)
序关系是用来刻画集合中元素之间的“顺序”或“比较”概念的关系。
定义 5.4.1 集合 \(A\) 上的一个关系 \(R\) 如果同时满足以下三个性质,则称 \(R\) 是一个偏序关系 (partial order relation):
① 自反性 (Reflexive):对于任意 \(a \in A\),\(a R a\)。
② 反对称性 (Antisymmetric):对于任意 \(a, b \in A\),如果 \(a R b\) 且 \(b R a\),则 \(a = b\)。
③ 传递性 (Transitive):对于任意 \(a, b, c \in A\),如果 \(a R b\) 且 \(b R c\),则 \(a R c\)。
通常用符号 \(\preceq\) 或 \(\le\) 来表示偏序关系。如果 \(a \preceq b\) 且 \(a \neq b\),则记作 \(a \prec b\),称为严格偏序 (strict partial order)。严格偏序关系是反自反的、反对称的、传递的。
定义 5.4.2 集合 \(A\) 和其上的偏序关系 \(\preceq\) 组成的对 \((A, \preceq)\) 称为一个偏序集 (partially ordered set, poset)。
示例 5.4.3
⚝ 集合 \(\mathbb{R}\) 上的“小于等于”关系 \(\le\) 是一个偏序关系。
⚝ 任意集合 \(S\) 的幂集 (power set) \(\mathcal{P}(S)\) 上的“子集”关系 \(\subseteq\) 是一个偏序关系。
▮▮▮▮ⓐ 自反性:对于任意 \(A \subseteq S\),\(A \subseteq A\)。
▮▮▮▮ⓑ 反对称性:如果 \(A \subseteq B\) 且 \(B \subseteq A\),则 \(A = B\)。
▮▮▮▮ⓒ 传递性:如果 \(A \subseteq B\) 且 \(B \subseteq C\),则 \(A \subseteq C\)。
⚝ 正整数集合 \(\mathbb{Z}^+\) 上的“整除”关系 \(\mid\) 是一个偏序关系。\(a \mid b\) 表示 \(a\) 整除 \(b\),即存在整数 \(k\) 使得 \(b = ak\)。
▮▮▮▮ⓐ 自反性:\(a = a \cdot 1\),所以 \(a \mid a\)。
▮▮▮▮ⓑ 反对称性:如果 \(a \mid b\) 且 \(b \mid a\),则 \(b = ak\) 且 \(a = bl\) 对于正整数 \(k, l\)。那么 \(a = (ak)l = a(kl)\)。由于 \(a \neq 0\),所以 \(kl = 1\)。因为 \(k, l\) 是正整数,所以 \(k=1\) 且 \(l=1\),从而 \(a=b\)。
▮▮▮▮ⓒ 传递性:如果 \(a \mid b\) 且 \(b \mid c\),则 \(b = ak\) 且 \(c = bm\) 对于整数 \(k, m\)。那么 \(c = (ak)m = a(km)\),所以 \(a \mid c\)。
在偏序集中,并非任意两个元素都可以比较。例如,在 \(\mathcal{P}(\{1, 2, 3\})\) 上的子集关系中,\(\{1, 2\}\) 和 \(\{2, 3\}\) 既不是子集关系,也不是包含关系,它们是不可比的 (incomparable)。
定义 5.4.4 集合 \(A\) 上的一个偏序关系 \(\preceq\) 如果对于任意 \(a, b \in A\),都有 \(a \preceq b\) 或 \(b \preceq a\),则称 \(\preceq\) 是一个全序关系 (total order relation) 或线性序关系 (linear order relation)。
定义 5.4.5 集合 \(A\) 和其上的全序关系 \(\preceq\) 组成的对 \((A, \preceq)\) 称为一个全序集 (totally ordered set) 或链 (chain)。
示例 5.4.6
⚝ 集合 \(\mathbb{R}\) 上的“小于等于”关系 \(\le\) 是一个全序关系,因为任意两个实数都可以比较大小。
⚝ 整数集合 \(\mathbb{Z}\) 上的“小于等于”关系 \(\le\) 是一个全序关系。
⚝ 自然数集合 \(\mathbb{N}\) 上的“小于等于”关系 \(\le\) 是一个全序关系。
⚝ 任意集合 \(S\) 的幂集 \(\mathcal{P}(S)\) 上的“子集”关系 \(\subseteq\) 不是全序关系,除非 \(S\) 是空集或单例集。
在偏序集中,我们还可以定义一些特殊的元素:
⚝ 极大元 (maximal element):元素 \(m \in A\) 是极大元,如果不存在 \(x \in A\) 使得 \(m \prec x\)。
⚝ 极小元 (minimal element):元素 \(m \in A\) 是极小元,如果不存在 \(x \in A\) 使得 \(x \prec m\)。
⚝ 最大元 (greatest element):元素 \(M \in A\) 是最大元,如果对于任意 \(x \in A\),都有 \(x \preceq M\)。
⚝ 最小元 (least element):元素 \(m \in A\) 是最小元,如果对于任意 \(x \in A\),都有 \(m \preceq x\)。
最大元和最小元是唯一的(如果存在),而极大元和极小元可能不唯一。在全序集中,最大元就是唯一的极大元,最小元就是唯一的极小元。
示例 5.4.7 考虑集合 \(A = \{ \{1\}, \{2\}, \{1, 2\}, \{1, 3\}, \{1, 2, 3\} \}\) 上的子集关系 \(\subseteq\)。
⚝ 极大元:\(\{1, 2, 3\}\) 是唯一的极大元。
⚝ 极小元:\(\{1\}\) 和 \(\{2\}\) 都是极小元,因为没有集合在 \(A\) 中且是它们的真子集。
⚝ 最大元:\(\{1, 2, 3\}\) 是最大元。
⚝ 最小元:不存在最小元,因为 \(\{1\}\) 和 \(\{2\}\) 不可比。
序关系在数学中用于构建各种结构,例如格 (lattices) 和布尔代数 (Boolean algebras)。在计算机科学中,偏序关系出现在任务调度、版本控制等方面。
5.5 函数 (Functions) 的定义与基本概念 (Definition and Basic Concepts)
函数是数学中一个极其重要的概念,它描述了两个集合元素之间的一种特殊的对应关系。
定义 5.5.1 从集合 \(A\) 到集合 \(B\) 的一个函数 (function) \(f\) 是从 \(A\) 到 \(B\) 的一个关系 \(f \subseteq A \times B\),满足以下两个条件:
① 存在性 (Existence):对于任意 \(a \in A\),存在 \(b \in B\) 使得 \((a, b) \in f\)。
② 唯一性 (Uniqueness):对于任意 \(a \in A\),如果 \((a, b_1) \in f\) 且 \((a, b_2) \in f\),则 \(b_1 = b_2\)。
换句话说,函数 \(f\) 将集合 \(A\) 中的每一个元素都唯一地对应到集合 \(B\) 中的一个元素。
如果 \((a, b) \in f\),我们通常记作 \(f(a) = b\),表示元素 \(a\) 在函数 \(f\) 下的像 (image) 是 \(b\)。元素 \(a\) 称为 \(b\) 的一个原像 (preimage)。
我们用符号 \(f: A \to B\) 来表示 \(f\) 是从集合 \(A\) 到集合 \(B\) 的一个函数。
⚝ 集合 \(A\) 称为函数 \(f\) 的定义域 (domain)。
⚝ 集合 \(B\) 称为函数 \(f\) 的上域 (codomain)。
⚝ 函数 \(f\) 的值域 (range) 或像集 (image set) \(Im(f)\) 是定义域中所有元素的像组成的集合:
\[ Im(f) = \{f(a) \mid a \in A\} = \{b \in B \mid \exists a \in A, f(a) = b\} \]
注意,值域是上域的子集,即 \(Im(f) \subseteq B\)。
示例 5.5.2
⚝ 设 \(A = \{1, 2, 3\}\),\(B = \{a, b, c, d\}\)。关系 \(f = \{(1, a), (2, c), (3, a)\}\) 是从 \(A\) 到 \(B\) 的一个函数。
▮▮▮▮ⓐ 定义域是 \(A = \{1, 2, 3\}\)。
▮▮▮▮ⓑ 上域是 \(B = \{a, b, c, d\}\)。
▮▮▮▮ⓒ 值域是 \(\{a, c\}\)。
⚝ 关系 \(R_1 = \{(1, a), (2, b), (1, c)\}\) 不是函数,因为元素 1 对应了两个不同的元素 a 和 c,违反了唯一性。
⚝ 关系 \(R_2 = \{(1, a), (2, b)\}\) 不是从 \(A\) 到 \(B\) 的函数,因为定义域 \(A\) 中的元素 3 没有对应的元素,违反了存在性。但它是从 \(\{1, 2\}\) 到 \(B\) 的函数。
⚝ 设 \(f: \mathbb{R} \to \mathbb{R}\) 定义为 \(f(x) = x^2\)。这是一个函数。定义域是 \(\mathbb{R}\),上域是 \(\mathbb{R}\),值域是 \([0, \infty)\)。
函数的图 (graph) 就是作为关系的那个有序对集合。对于函数 \(f: A \to B\),其图是集合 \(\{ (a, f(a)) \mid a \in A \}\)。
两个函数 \(f: A \to B\) 和 \(g: C \to D\) 相等,当且仅当它们的定义域相等 (\(A=C\)),上域相等 (\(B=D\)),并且对于定义域中的每一个元素 \(x\),都有 \(f(x) = g(x)\)。
5.6 函数的类型 (Types of Functions):单射、满射、双射 (Injective, Surjective, Bijective)
根据函数将定义域元素映射到上域元素的方式,我们可以将函数分为不同的类型。
定义 5.6.1 设 \(f: A \to B\) 是一个函数。
① \(f\) 是单射的 (injective) 或一对一的 (one-to-one),如果对于任意 \(a_1, a_2 \in A\),如果 \(f(a_1) = f(a_2)\),则 \(a_1 = a_2\)。等价地,如果 \(a_1 \neq a_2\),则 \(f(a_1) \neq f(a_2)\)。这意味着不同的定义域元素被映射到不同的上域元素。
② \(f\) 是满射的 (surjective) 或映上的 (onto),如果对于任意 \(b \in B\),存在 \(a \in A\) 使得 \(f(a) = b\)。这意味着上域中的每一个元素都是某个定义域元素的像。等价地,函数的值域等于其上域 (\(Im(f) = B\))。
③ \(f\) 是双射的 (bijective) 或一一对应的 (one-to-one correspondence),如果 \(f\) 既是单射的又是满射的。这意味着定义域和上域之间的元素存在一一对应的关系。
示例 5.6.2
⚝ 设 \(A = \{1, 2, 3\}\),\(B = \{a, b, c, d\}\)。函数 \(f = \{(1, a), (2, c), (3, b)\}\)。
▮▮▮▮ⓐ 单射:是单射的,因为不同的定义域元素映射到不同的上域元素。
▮▮▮▮ⓑ 满射:不是满射的,因为上域中的 \(d\) 没有对应的原像。
⚝ 设 \(A = \{1, 2, 3\}\),\(B = \{a, b\}\)。函数 \(g = \{(1, a), (2, b), (3, a)\}\)。
▮▮▮▮ⓐ 单射:不是单射的,因为 \(g(1) = g(3) = a\) 但 \(1 \neq 3\)。
▮▮▮▮ⓑ 满射:是满射的,因为上域中的 \(a\) 和 \(b\) 都有原像。
⚝ 设 \(A = \{1, 2, 3\}\),\(B = \{a, b, c\}\)。函数 \(h = \{(1, a), (2, c), (3, b)\}\)。
▮▮▮▮ⓐ 单射:是单射的。
▮▮▮▮ⓑ 满射:是满射的。
▮▮▮▮ⓒ 双射:是双射的。
⚝ 设 \(f: \mathbb{R} \to \mathbb{R}\) 定义为 \(f(x) = x^2\)。
▮▮▮▮ⓐ 单射:不是单射的,因为 \(f(2) = f(-2) = 4\)。
▮▮▮▮ⓑ 满射:不是满射的,因为负数没有原像。
⚝ 设 \(g: \mathbb{R} \to [0, \infty)\) 定义为 \(g(x) = x^2\)。
▮▮▮▮ⓐ 单射:不是单射的。
▮▮▮▮ⓑ 满射:是满射的。
⚝ 设 \(h: [0, \infty) \to [0, \infty)\) 定义为 \(h(x) = x^2\)。
▮▮▮▮ⓐ 单射:是单射的。
▮▮▮▮ⓑ 满射:是满射的。
▮▮▮▮ⓒ 双射:是双射的。
双射函数在集合论中尤其重要,因为它们用于定义集合的“大小”或基数 (cardinality)(将在第七章讨论)。如果两个集合之间存在一个双射函数,则称这两个集合是等势的 (equinumerous) 或对等的 (equivalent),表示它们具有相同的基数。
5.7 函数的复合 (Composition of Functions) 与逆函数 (Inverse Function)
函数可以像数字一样进行运算,其中最基本的一种运算是函数的复合。
定义 5.7.1 设 \(f: A \to B\) 和 \(g: B \to C\) 是两个函数。函数 \(f\) 和 \(g\) 的复合 (composition) 是一个从 \(A\) 到 \(C\) 的函数,记作 \(g \circ f\),定义为对于任意 \(a \in A\),
\[ (g \circ f)(a) = g(f(a)) \]
注意,复合 \(g \circ f\) 要求函数 \(f\) 的上域 \(B\) 必须等于函数 \(g\) 的定义域 \(B\)。更一般地,只要 \(f\) 的值域 \(Im(f)\) 是 \(g\) 的定义域的子集,复合 \(g \circ f\) 就是有意义的。但为了简化,我们通常要求 \(f\) 的上域等于 \(g\) 的定义域。
示例 5.7.2
⚝ 设 \(f: \mathbb{Z} \to \mathbb{Z}\) 定义为 \(f(x) = x + 1\),\(g: \mathbb{Z} \to \mathbb{Z}\) 定义为 \(g(x) = x^2\)。
▮▮▮▮ⓐ \((g \circ f)(x) = g(f(x)) = g(x+1) = (x+1)^2\)。
▮▮▮▮ⓑ \((f \circ g)(x) = f(g(x)) = f(x^2) = x^2 + 1\)。
注意,函数复合通常不满足交换律,即 \(g \circ f \neq f \circ g\)。
⚝ 设 \(f: \{1, 2, 3\} \to \{a, b, c\}\) 为 \(f = \{(1, a), (2, c), (3, b)\}\),\(g: \{a, b, c\} \to \{x, y\}\) 为 \(g = \{(a, x), (b, x), (c, y)\}\)。
▮▮▮▮ⓐ \((g \circ f)(1) = g(f(1)) = g(a) = x\)。
▮▮▮▮ⓑ \((g \circ f)(2) = g(f(2)) = g(c) = y\)。
▮▮▮▮ⓒ \((g \circ f)(3) = g(f(3)) = g(b) = x\)。
所以 \(g \circ f: \{1, 2, 3\} \to \{x, y\}\) 是函数 \(\{(1, x), (2, y), (3, x)\}\)。
函数复合满足结合律:如果 \(f: A \to B\),\(g: B \to C\),\(h: C \to D\),则 \((h \circ g) \circ f = h \circ (g \circ f)\)。
对于一个函数 \(f: A \to B\),我们可能会问是否存在一个“逆向”的函数,可以将 \(f\) 的像映射回其原像。这就是逆函数的概念。
定义 5.7.3 设 \(f: A \to B\) 是一个函数。如果存在一个函数 \(g: B \to A\) 使得:
① 对于任意 \(a \in A\),\((g \circ f)(a) = a\) (即 \(g \circ f = id_A\),其中 \(id_A\) 是集合 \(A\) 上的恒等函数 (identity function),\(id_A(a) = a\))。
② 对于任意 \(b \in B\),\((f \circ g)(b) = b\) (即 \(f \circ g = id_B\))。
则称函数 \(g\) 是函数 \(f\) 的逆函数 (inverse function),记作 \(f^{-1}\)。
定理 5.7.4 函数 \(f: A \to B\) 存在逆函数 \(f^{-1}: B \to A\) 当且仅当 \(f\) 是一个双射函数。
证明草图:
⚝ (\(\implies\)) 假设 \(f\) 有逆函数 \(f^{-1}\)。
▮▮▮▮ⓐ 证明 \(f\) 是单射:假设 \(f(a_1) = f(a_2)\)。对两边应用 \(f^{-1}\),得到 \(f^{-1}(f(a_1)) = f^{-1}(f(a_2))\)。由定义,\(a_1 = a_2\)。所以 \(f\) 是单射。
▮▮▮▮ⓑ 证明 \(f\) 是满射:对于任意 \(b \in B\),令 \(a = f^{-1}(b) \in A\)。则 \(f(a) = f(f^{-1}(b))\)。由定义,\(f(f^{-1}(b)) = b\)。所以存在 \(a \in A\) 使得 \(f(a) = b\)。所以 \(f\) 是满射。
⚝ (\(\impliedby\)) 假设 \(f\) 是双射。我们需要构造一个函数 \(g: B \to A\)。对于任意 \(b \in B\),由于 \(f\) 是满射,存在 \(a \in A\) 使得 \(f(a) = b\)。由于 \(f\) 是单射,这样的 \(a\) 是唯一的。因此,我们可以定义 \(g(b) = a\),其中 \(a\) 是使得 \(f(a) = b\) 的唯一元素。
▮▮▮▮ⓐ 验证 \(g \circ f = id_A\): 对于任意 \(a \in A\),令 \(b = f(a)\)。由 \(g\) 的定义,\(g(b) = a\)。所以 \(g(f(a)) = a\)。
▮▮▮▮ⓑ 验证 \(f \circ g = id_B\): 对于任意 \(b \in B\),令 \(a = g(b)\)。由 \(g\) 的定义,\(f(a) = b\)。所以 \(f(g(b)) = b\)。
因此,\(g\) 是 \(f\) 的逆函数。
示例 5.7.5
⚝ 设 \(f: \mathbb{R} \to \mathbb{R}\) 定义为 \(f(x) = 2x + 3\)。这是一个双射函数。其逆函数 \(f^{-1}: \mathbb{R} \to \mathbb{R}\) 定义为 \(f^{-1}(y) = (y - 3) / 2\)。
验证:
\((f^{-1} \circ f)(x) = f^{-1}(f(x)) = f^{-1}(2x + 3) = ((2x + 3) - 3) / 2 = 2x / 2 = x\)。
\((f \circ f^{-1})(y) = f(f^{-1}(y)) = f((y - 3) / 2) = 2((y - 3) / 2) + 3 = (y - 3) + 3 = y\)。
⚝ 设 \(f: \mathbb{R} \to \mathbb{R}\) 定义为 \(f(x) = x^2\)。这不是双射函数,因此没有逆函数。如果我们限制定义域和上域为 \([0, \infty)\),则 \(h: [0, \infty) \to [0, \infty)\) 定义为 \(h(x) = x^2\) 是双射的,其逆函数是 \(h^{-1}(y) = \sqrt{y}\)。
逆函数的关系表示就是原函数关系表示中所有有序对的元素位置互换:如果 \(f\) 作为关系是集合 \(R_f\),则 \(f^{-1}\) 作为关系是集合 \(R_{f^{-1}} = \{ (b, a) \mid (a, b) \in R_f \}\)。只有当 \(R_{f^{-1}}\) 也是一个函数时,\(f\) 才可逆,而这恰好发生在 \(f\) 是双射时。
关系和函数是构建更复杂数学结构的基础。理解它们的定义、性质以及相互之间的联系,对于深入学习后续的集合论和数学分支至关重要。
6. chapter 6: 公理化集合论 (Axiomatic Set Theory)
欢迎来到本书的第六章。在前几章中,我们探讨了逻辑学的基本概念,包括命题逻辑和谓词逻辑,它们为我们提供了严谨推理的工具。我们还初步接触了朴素集合论(Naive Set Theory),了解了集合、元素、集合运算等基本概念。然而,正如我们在第四章末尾提到的罗素悖论(Russell's Paradox)所示,朴素集合论存在内在的矛盾,无法作为整个数学的坚实基础。本章将带您进入公理化集合论(Axiomatic Set Theory)的世界,学习如何通过一组精心选择的公理来构建一个无矛盾(至少目前看来是无矛盾的)的集合理论体系,并在此基础上构建整个数学大厦。
6.1 公理化方法的必要性 (Necessity of the Axiomatic Method)
在数学的发展历程中,公理化方法(Axiomatic Method)扮演着至关重要的角色。它要求我们在明确定义的基本概念(Undefined Terms)和一组被接受为真的公理(Axioms)的基础上,通过逻辑推理(Logical Deduction)来证明所有的定理(Theorems)。这种方法确保了数学理论的严谨性、一致性(Consistency)和可靠性(Reliability)。
朴素集合论虽然直观且易于理解,但其基于“任何性质都可以定义一个集合”的朴素概括原则(Naive Comprehension Principle)导致了悖论(Paradoxes)的出现,其中最著名的是罗素悖论。罗素悖论构造了一个集合 \(R = \{x \mid x \notin x\}\),即不包含自身的集合的集合。然后我们问:\(R\) 是否包含自身?
⚝ 如果 \(R \in R\),根据 \(R\) 的定义,这意味着 \(R \notin R\)。矛盾!
⚝ 如果 \(R \notin R\),根据 \(R\) 的定义,这意味着 \(R \in R\)。矛盾!
这个悖论表明,朴素集合论的基石——朴素概括原则——是站不住脚的。我们需要一种更受限制、更安全的原则来构造集合,从而避免这种自我参照(Self-reference)导致的矛盾。
公理化集合论正是为了解决这个问题而诞生的。它的核心思想是放弃朴素概括原则,转而列出一系列关于集合存在的公理。这些公理被认为是关于集合的基本事实,我们只能通过应用这些公理以及逻辑推理来证明其他关于集合的命题。通过精心设计这些公理,我们希望能够构建一个既足够强大足以支持整个数学,又能够避免已知悖论的理论体系。
历史上,数学家们提出了多种公理化集合论系统,其中最广泛接受和使用的是 Zermelo-Fraenkel (ZF) 集合论,加上选择公理(Axiom of Choice)后称为 ZFC 集合论。本章将重点介绍 ZFC 公理系统。
6.2 Zermelo-Fraenkel (ZF) 公理系统
Zermelo-Fraenkel (ZF) 公理系统是由德国数学家恩斯特·策梅洛(Ernst Zermelo)在1908年提出初步版本,后由亚伯拉罕·弗兰克尔(Abraham Fraenkel)和斯罗姆·斯柯伦(Thoralf Skolem)等人完善而形成的。ZF 系统使用一阶谓词逻辑(First-order Predicate Logic)作为其逻辑基础,其基本对象是集合(Sets),基本关系是属于关系(Membership Relation),记作 \( \in \)。
ZF 公理系统包含九条公理(或公理模式)。这些公理共同规定了集合的性质以及如何构造新的集合。
6.2.1 外延公理 (Axiom of Extensionality)
这条公理规定了两个集合相等的条件:如果两个集合包含完全相同的元素,那么它们是同一个集合。这反映了集合的本质特征之一:集合只由其元素决定,元素的顺序和重复与否无关。
形式化表述:
\[ \forall A \forall B (\forall x (x \in A \leftrightarrow x \in B) \rightarrow A = B) \]
解释:对于任意两个集合 \(A\) 和 \(B\),如果对于任意对象 \(x\),\(x\) 属于 \(A\) 当且仅当 \(x\) 属于 \(B\),那么 \(A\) 等于 \(B\)。
6.2.2 空集公理 (Axiom of Empty Set)
这条公理保证了至少存在一个不包含任何元素的集合,我们称之为空集(Empty Set),通常记作 \( \emptyset \) 或 \( \{\} \)。
形式化表述:
\[ \exists A \forall x (x \notin A) \]
解释:存在一个集合 \(A\),使得对于任意对象 \(x\),\(x\) 不属于 \(A\)。
根据外延公理,这样的集合是唯一的,因此我们可以用符号 \( \emptyset \) 来表示它。
6.2.3 对集公理 (Axiom of Pairing)
这条公理允许我们从任意两个对象 \(a\) 和 \(b\) 构造一个包含它们作为元素的集合 \( \{a, b\} \)。
形式化表述:
\[ \forall a \forall b \exists C \forall x (x \in C \leftrightarrow (x = a \lor x = b)) \]
解释:对于任意对象 \(a\) 和 \(b\),存在一个集合 \(C\),使得对于任意对象 \(x\),\(x\) 属于 \(C\) 当且仅当 \(x\) 等于 \(a\) 或者 \(x\) 等于 \(b\)。
通过这个公理,我们可以构造单元素集 \( \{a\} = \{a, a\} \)。
6.2.4 并集公理 (Axiom of Union)
这条公理允许我们对一个集合的集合(一个集合,其元素本身也是集合)取并集。具体来说,给定一个集合 \( \mathcal{F} \),其元素都是集合,并集公理保证存在一个集合 \(U\),其元素恰好是 \( \mathcal{F} \) 中所有集合的所有元素的集合。
形式化表述:
\[ \forall \mathcal{F} \exists U \forall x (x \in U \leftrightarrow \exists A (A \in \mathcal{F} \land x \in A)) \]
解释:对于任意集合 \( \mathcal{F} \),存在一个集合 \(U\),使得对于任意对象 \(x\),\(x\) 属于 \(U\) 当且仅当存在一个集合 \(A\),\(A\) 属于 \( \mathcal{F} \) 且 \(x\) 属于 \(A\)。
这个集合 \(U\) 就是 \( \mathcal{F} \) 中所有集合的并集,记作 \( \bigcup \mathcal{F} \) 或 \( \bigcup_{A \in \mathcal{F}} A \)。
利用对集公理和并集公理,我们可以构造两个集合 \(A\) 和 \(B\) 的并集 \(A \cup B\),即 \( \bigcup \{A, B\} \)。
6.2.5 幂集公理 (Axiom of Power Set)
这条公理保证了对于任意集合 \(A\),存在一个集合 \(P\),其元素恰好是 \(A\) 的所有子集(Subsets)。这个集合 \(P\) 称为 \(A\) 的幂集(Power Set),记作 \( \mathcal{P}(A) \) 或 \( 2^A \)。
形式化表述:
\[ \forall A \exists P \forall B (B \in P \leftrightarrow \forall x (x \in B \rightarrow x \in A)) \]
解释:对于任意集合 \(A\),存在一个集合 \(P\),使得对于任意对象 \(B\),\(B\) 属于 \(P\) 当且仅当 \(B\) 是 \(A\) 的子集(即对于任意 \(x\),如果 \(x\) 属于 \(B\),那么 \(x\) 属于 \(A\))。
6.2.6 分离公理模式 (Axiom Schema of Separation)
这是第一个公理模式(Axiom Schema),而不是单个公理。公理模式是无穷多个公理的集合,它们具有相同的结构。分离公理模式允许我们从一个已知的集合 \(A\) 中“分离”出一个子集,该子集包含 \(A\) 中满足某个特定性质 \( \phi(x) \) 的所有元素。这里的 \( \phi(x) \) 是一个以 \(x\) 为自由变量(Free Variable)的一阶谓词逻辑公式。
形式化表述:对于任何不包含符号 \(B\) 的公式 \( \phi(x) \),以下都是一条公理:
\[ \forall A \exists B \forall x (x \in B \leftrightarrow (x \in A \land \phi(x))) \]
解释:对于任意集合 \(A\) 和任意性质 \( \phi(x) \),存在一个集合 \(B\),其元素恰好是 \(A\) 中满足性质 \( \phi(x) \) 的那些元素。
这个集合 \(B\) 通常记作 \( \{x \in A \mid \phi(x)\} \)。
分离公理模式是用来替代朴素集合论中导致悖论的朴素概括原则的。它限制了集合的构造方式:新集合必须是某个 已知 集合的子集,而不是凭空构造满足某个性质的所有对象的集合。罗素悖论中的集合 \( \{x \mid x \notin x\} \) 在这里无法直接构造,因为我们无法保证存在一个 已知 的集合 \(A\) 包含了所有不包含自身的集合。
6.2.7 替换公理模式 (Axiom Schema of Replacement)
这是另一个公理模式。它比分离公理模式更强大,允许我们通过一个“函数”或“映射”(尽管函数本身需要在集合论中定义)来构造新的集合。具体来说,如果一个“函数”将一个集合 \(A\) 的每个元素映射到另一个对象,那么所有这些映射结果的集合也是一个集合。这里的“函数”由一个二元关系 \( \psi(x, y) \) 来描述,要求对于 \(A\) 中的每个 \(x\),最多存在一个 \(y\) 使得 \( \psi(x, y) \) 为真(即 \( \psi \) 是一个函数图)。
形式化表述:对于任何不包含符号 \(B\) 的公式 \( \psi(x, y) \),如果 \( \psi \) 是一个函数图(即 \( \forall x \forall y_1 \forall y_2 ((\psi(x, y_1) \land \psi(x, y_2)) \rightarrow y_1 = y_2) \)),则以下都是一条公理:
\[ \forall A \exists B \forall y (y \in B \leftrightarrow \exists x (x \in A \land \psi(x, y))) \]
解释:对于任意集合 \(A\) 和任意“函数图” \( \psi(x, y) \),存在一个集合 \(B\),其元素恰好是 \(A\) 中元素 \(x\) 在 \( \psi \) 下的像(Image)\(y\) 的集合。
这个集合 \(B\) 可以看作是 \( \{ \psi(x) \mid x \in A \} \),其中 \( \psi(x) \) 是满足 \( \psi(x, y) \) 的唯一 \(y\)。
替换公理模式蕴含了分离公理模式(可以通过选择 \( \psi(x, y) \) 为 \( \phi(x) \land x = y \) 来证明)。它在构造更复杂的集合时非常有用,例如在构建序数(Ordinal Numbers)时。
6.2.8 无穷公理 (Axiom of Infinity)
到目前为止的公理都无法保证无限集合(Infinite Sets)的存在。无穷公理正是为了引入无限集合而设计的。它断言存在一个特殊的集合,它包含空集,并且对于它的每一个元素 \(x\),都包含 \( x \cup \{x\} \) 作为元素。这个集合可以看作是自然数集合(Set of Natural Numbers)的一种模型。
形式化表述:
\[ \exists I (\emptyset \in I \land \forall x (x \in I \rightarrow x \cup \{x\} \in I)) \]
解释:存在一个集合 \(I\),使得空集 \( \emptyset \) 属于 \(I\),并且对于 \(I\) 中的任意元素 \(x\),集合 \( x \cup \{x\} \) 也属于 \(I\)。
这个公理保证了集合 \( \{\emptyset, \{\emptyset\}, \{\emptyset, \{\emptyset\}\}, \{\emptyset, \{\emptyset\}, \{\emptyset, \{\emptyset\}\}\}, \dots \} \) 的存在,这正是冯·诺依曼(von Neumann)定义的自然数集合 \( \mathbb{N} \)。
6.2.9 正则公理 (Axiom of Regularity) / 基础公理 (Axiom of Foundation)
这条公理旨在防止集合中出现“循环属于链”(Circular Membership Chains),例如 \( A \in A \) 或 \( A \in B \land B \in A \) 或 \( \dots \in A_2 \in A_1 \in A_0 \)。它断言每一个非空集合都至少有一个“极小”元素,即该元素的集合不与原集合有交集。
形式化表述:
\[ \forall A (A \neq \emptyset \rightarrow \exists x (x \in A \land x \cap A = \emptyset)) \]
解释:对于任意非空集合 \(A\),存在一个元素 \(x\) 属于 \(A\),使得 \(x\) 和 \(A\) 的交集是空集(即 \(A\) 中没有元素属于 \(x\))。
这条公理排除了像 \( A = \{A\} \) 这样的集合的存在,也排除了无限下降的属于链 \( \dots \in a_2 \in a_1 \in a_0 \)。它使得集合的结构更加“良基”(Well-founded)。
6.3 选择公理 (Axiom of Choice) (AC)
选择公理(Axiom of Choice)是集合论中最具争议的公理之一。它断言,对于任何一个由非空集合组成的集合 \( \mathcal{F} \),存在一个函数 \(f\)(称为选择函数 - Choice Function),它从 \( \mathcal{F} \) 中的每一个集合中恰好选择一个元素。
形式化表述:
\[ \forall \mathcal{F} (\emptyset \notin \mathcal{F} \rightarrow \exists f (\text{dom}(f) = \mathcal{F} \land \forall A \in \mathcal{F} (f(A) \in A))) \]
解释:对于任何一个集合 \( \mathcal{F} \),如果 \( \mathcal{F} \) 不包含空集作为元素,那么存在一个函数 \(f\),其定义域(Domain)是 \( \mathcal{F} \),并且对于 \( \mathcal{F} \) 中的每一个集合 \(A\),\(f(A)\) 是 \(A\) 的一个元素。
选择公理的直观含义似乎很简单,但在无限集合的情况下,它的存在性是非构造性的(Non-constructive),即它保证了选择函数的存在,但没有提供构造这个函数的具体方法。这导致了一些看似违反直觉的结果,例如巴拿赫-塔斯基悖论(Banach-Tarski Paradox)。
尽管存在争议,选择公理在数学的许多分支中都扮演着基础性的角色,许多重要的定理(如佐恩引理 - Zorn's Lemma,良序原理 - Well-Ordering Principle,它们都与选择公理等价)的证明都依赖于它。因此,大多数数学家在他们的工作中都接受选择公理。
6.4 ZFC 公理系统 (ZFC Axiom System)
ZFC 公理系统是 ZF 公理系统加上选择公理(Axiom of Choice)形成的。它是目前最常用和最标准的公理化集合论系统。
ZFC = ZF + AC
ZFC 系统被认为是现代数学的基石。绝大多数数学分支(如分析、代数、拓扑等)的概念和定理都可以在 ZFC 集合论的框架内定义和证明。
关于 ZFC 系统,有两个重要的问题:
① 一致性(Consistency):ZFC 系统是否无矛盾?也就是说,是否不可能从 ZFC 公理推导出矛盾(例如 \( P \land \neg P \))?目前数学界普遍认为 ZFC 是无矛盾的,但根据哥德尔不完备性定理(Gödel's Incompleteness Theorems),ZFC 的一致性无法在 ZFC 自身内部得到证明(除非 ZFC 本身就是矛盾的)。
② 完备性(Completeness):ZFC 系统是否能够判定所有关于集合的命题?也就是说,对于任意一个关于集合的命题 \( \phi \),是否总能从 ZFC 公理推导出 \( \phi \) 或者 \( \neg \phi \)?哥德尔和科恩(Paul Cohen)的工作表明,ZFC 是不完备的。存在一些与 ZFC 公理独立的命题,最著名的就是连续统假设(Continuum Hypothesis)(CH)。CH 及其否定都与 ZFC 公理系统相容,这意味着 ZFC 无法证明 CH 为真或为假。
6.5 在 ZFC 中构建数学对象 (Constructing Mathematical Objects in ZFC)
ZFC 集合论的强大之处在于,它提供了一个足够丰富的框架,可以在其中定义和构建几乎所有标准的数学对象。这意味着整个数学大厦都可以建立在集合论的基石之上。
以下是一些如何在 ZFC 中构建常见数学对象的例子:
① 自然数(Natural Numbers)\( \mathbb{N} \):
▮▮▮▮ⓑ 冯·诺依曼(von Neumann)定义了一种标准的自然数构造方法。
▮▮▮▮ⓒ 定义 \(0 = \emptyset\)。
▮▮▮▮ⓓ 定义后继(Successor)操作 \(S(n) = n \cup \{n\}\)。
▮▮▮▮ⓔ 于是,自然数被定义为:
▮▮▮▮▮▮▮▮❻ \(0 = \emptyset\)
▮▮▮▮▮▮▮▮❼ \(1 = S(0) = \emptyset \cup \{\emptyset\} = \{\emptyset\}\)
▮▮▮▮▮▮▮▮❽ \(2 = S(1) = \{\emptyset\} \cup \{\{\emptyset\}\} = \{\emptyset, \{\emptyset\}\}\)
▮▮▮▮▮▮▮▮❾ \(3 = S(2) = \{\emptyset, \{\emptyset\}\} \cup \{\{\emptyset, \{\emptyset\}\}\} = \{\emptyset, \{\emptyset\}, \{\emptyset, \{\emptyset\}\}\}\)
▮▮▮▮ⓙ 无穷公理保证了包含所有这些自然数的集合 \( \mathbb{N} \) 的存在。
② 整数(Integers)\( \mathbb{Z} \):
▮▮▮▮ⓑ 整数可以定义为自然数对 \((a, b)\) 的等价类(Equivalence Classes),其中 \((a, b)\) 表示 \(a - b\)。
▮▮▮▮ⓒ 在 \( \mathbb{N} \times \mathbb{N} \) 上定义等价关系 \( (a, b) \sim (c, d) \) 当且仅当 \( a + d = b + c \)。
▮▮▮▮ⓓ 整数就是这个等价关系下的等价类。例如,整数 \(0\) 对应于 \(\{ (n, n) \mid n \in \mathbb{N} \}\),整数 \(1\) 对应于 \(\{ (n+1, n) \mid n \in \mathbb{N} \}\),整数 \(-1\) 对应于 \(\{ (n, n+1) \mid n \in \mathbb{N} \}\)。
③ 有理数(Rational Numbers)\( \mathbb{Q} \):
▮▮▮▮ⓑ 有理数可以定义为整数对 \((a, b)\) 的等价类,其中 \(b \neq 0\),表示分数 \(a/b\)。
▮▮▮▮ⓒ 在 \( \mathbb{Z} \times (\mathbb{Z} \setminus \{0\}) \) 上定义等价关系 \( (a, b) \sim (c, d) \) 当且仅当 \( a \cdot d = b \cdot c \)。
▮▮▮▮ⓓ 有理数就是这个等价关系下的等价类。
④ 实数(Real Numbers)\( \mathbb{R} \):
▮▮▮▮ⓑ 实数有多种构建方法,常见的是通过戴德金分割(Dedekind Cuts)或柯西序列(Cauchy Sequences)来构建。
▮▮▮▮ⓒ 使用戴德金分割,一个实数可以定义为有理数集合 \( \mathbb{Q} \) 的一个划分 \((A, B)\),满足特定条件(例如,\(A\) 非空且有上界,\(B\) 非空,\(A \cup B = \mathbb{Q}\),\(A\) 中的每个元素都小于 \(B\) 中的每个元素,\(A\) 没有最大元)。
▮▮▮▮ⓓ 实数集合 \( \mathbb{R} \) 就是所有这些戴德金分割的集合。
通过这些例子可以看出,从 ZFC 的基本公理出发,我们可以一步步地构建出构成数学基础的各种数系。这正是公理化集合论作为数学基础的强大体现。它提供了一个统一的语言和框架来表达和证明数学命题。
本章我们深入探讨了公理化集合论的必要性,详细介绍了 ZFC 公理系统的各个公理,并简要展示了如何在 ZFC 中构建基本的数学对象。这为我们后续学习基数理论和序数理论奠定了坚实的基础。
7. chapter 7: 基数理论 (Cardinality Theory)
欢迎来到本书的第七章! 🎉 在前面的章节中,我们深入探讨了逻辑的基础以及集合论的初步概念。我们学习了如何用精确的语言描述数学对象和推理过程,并在朴素集合论中了解了集合的基本操作。然而,朴素集合论在面对“所有集合的集合”这样的概念时遇到了悖论,这促使我们转向了更为严谨的公理化集合论。在公理化集合论的框架下,我们可以安全地构建各种数学对象。
现在,我们将进入一个激动人心的新领域:基数理论 (Cardinality Theory)。基数理论是集合论中用来衡量集合“大小”的理论。对于有限集,大小的概念非常直观,就是元素的个数。但对于无限集,情况就变得复杂而有趣了。康托尔 (Georg Cantor) 的开创性工作揭示了无限集竟然有不同的大小!本章将带领大家探索如何比较无限集的大小,定义基数,并了解一些关于无限的惊人结论。
我们将从集合之间大小比较的基本工具——双射 (Bijection) 开始,然后区分有限集和无限集,并重点研究可数集 (Countable Sets) 和不可数集 (Uncountable Sets)。康托尔定理 (Cantor's Theorem) 是本章的核心,它证明了无限的层次性。接着,我们将正式定义基数 (Cardinal Numbers) 并学习它们的算术运算。最后,我们将介绍著名的连续统假设 (Continuum Hypothesis),一个关于无限大小的未解决问题,它深刻影响了现代集合论的发展。
准备好了吗?让我们一起踏上这段探索无限大小的奇妙旅程吧! 🚀
7.1 等势 (Equinumerosity) / 双射 (Bijection)
在比较两个集合 \( A \) 和 \( B \) 的大小时,我们通常会尝试将 \( A \) 的元素与 \( B \) 的元素一一对应起来。如果能够建立这样一种一一对应的关系,我们就认为这两个集合的大小是相同的。这种一一对应的关系在数学上被称为双射 (Bijection)。
定义 7.1.1 (双射 - Bijection)
设 \( f \) 是从集合 \( A \) 到集合 \( B \) 的一个函数 (Function),即 \( f: A \to B \)。如果 \( f \) 同时满足以下两个条件:
① \( f \) 是单射 (Injective)(或称一对一 - One-to-one):对于任意 \( a_1, a_2 \in A \),如果 \( f(a_1) = f(a_2) \),则必有 \( a_1 = a_2 \)。直观地说,\( A \) 中不同的元素在 \( B \) 中有不同的像。
② \( f \) 是满射 (Surjective)(或称映上 - Onto):对于任意 \( b \in B \),都存在 \( a \in A \) 使得 \( f(a) = b \)。直观地说,\( B \) 中的每一个元素都是 \( A \) 中某个元素的像。
那么,函数 \( f \) 就被称为一个双射 (Bijection)。
定义 7.1.2 (等势 - Equinumerosity)
如果存在一个从集合 \( A \) 到集合 \( B \) 的双射 (Bijection),我们就说集合 \( A \) 与集合 \( B \) 是等势的 (Equinumerous),记作 \( A \sim B \) 或 \( |A| = |B| \)。
等势关系 \( \sim \) 具有以下重要性质:
⚝ 自反性 (Reflexivity):对于任意集合 \( A \),有 \( A \sim A \)。 (恒等函数 \( id_A: A \to A \),\( id_A(x) = x \),是一个双射)
⚝ 对称性 (Symmetry):如果 \( A \sim B \),则有 \( B \sim A \)。 (如果 \( f: A \to B \) 是双射,则其逆函数 \( f^{-1}: B \to A \) 也是双射)
⚝ 传递性 (Transitivity):如果 \( A \sim B \) 且 \( B \sim C \),则有 \( A \sim C \)。 (如果 \( f: A \to B \) 和 \( g: B \to C \) 都是双射,则复合函数 \( g \circ f: A \to C \) 也是双射)
这些性质表明,等势关系是一个等价关系 (Equivalence Relation)。这意味着我们可以将所有集合划分为互不相交的等价类 (Equivalence Classes),同一个等价类中的所有集合都具有相同的大小。基数 (Cardinal Number) 就是用来标记这些等价类的概念。
对于有限集,等势的概念与我们直观的元素个数一致。例如,集合 \( \{a, b, c\} \) 与集合 \( \{1, 2, 3\} \) 是等势的,因为我们可以建立双射 \( f(a)=1, f(b)=2, f(c)=3 \)。它们的元素个数都是 3。
然而,等势的概念在处理无限集时展现了其强大的力量和反直觉的特性。例如,集合 \( \mathbb{N} = \{0, 1, 2, 3, \dots\} \) (自然数集,包含 0) 与集合 \( \mathbb{E} = \{0, 2, 4, 6, \dots\} \) (非负偶数集) 是等势的。我们可以定义函数 \( f: \mathbb{N} \to \mathbb{E} \) 为 \( f(n) = 2n \)。
① 单射性:如果 \( f(n_1) = f(n_2) \),则 \( 2n_1 = 2n_2 \),所以 \( n_1 = n_2 \)。 \( f \) 是单射。
② 满射性:对于任意偶数 \( m \in \mathbb{E} \),存在自然数 \( n = m/2 \) 使得 \( f(n) = 2(m/2) = m \)。 \( f \) 是满射。
因此,\( f \) 是一个双射,\( \mathbb{N} \sim \mathbb{E} \)。这表明,尽管 \( \mathbb{E} \) 是 \( \mathbb{N} \) 的一个真子集 (Proper Subset),但它们的大小却是相同的!这正是无限集的奇妙之处。
7.2 有限集与无限集 (Finite and Infinite Sets)
基于等势的概念,我们可以给出有限集和无限集的严格定义。
定义 7.2.1 (有限集 - Finite Set)
一个集合 \( A \) 被称为有限集 (Finite Set),如果它与某个自然数 \( n \) 对应的集合 \( \{0, 1, 2, \dots, n-1\} \) (或者 \( \{1, 2, \dots, n\} \)) 是等势的。特别地,空集 \( \emptyset \) 是有限集,它与 \( \{0, 1, \dots, 0-1\} = \emptyset \) 等势。
定义 7.2.2 (无限集 - Infinite Set)
一个集合被称为无限集 (Infinite Set),如果它不是有限集。
根据这些定义,自然数集 \( \mathbb{N} \) 是无限集,整数集 \( \mathbb{Z} \) 是无限集,有理数集 \( \mathbb{Q} \) 是无限集,实数集 \( \mathbb{R} \) 也是无限集。
康托尔最初对无限集的定义是基于它是否与自身的真子集等势。
定义 7.2.3 (戴德金无限集 - Dedekind-infinite Set)
一个集合 \( A \) 被称为戴德金无限集 (Dedekind-infinite Set),如果存在一个从 \( A \) 到其自身的一个真子集 (Proper Subset) 的双射 (Bijection)。
例如,我们刚才看到的 \( \mathbb{N} \to \mathbb{E} \) 的双射 \( f(n) = 2n \) 就是从 \( \mathbb{N} \) 到其真子集 \( \mathbb{E} \) 的双射,所以 \( \mathbb{N} \) 是戴德金无限集。
在 ZFC 公理系统下,一个集合是无限集当且仅当它是戴德金无限集。这个等价性依赖于选择公理 (Axiom of Choice)。在没有选择公理的情况下,可能存在不是戴德金无限集的无限集(这种集合被称为戴德金有限集 - Dedekind-finite Set)。但在本书中,我们主要在 ZFC 框架下讨论,因此“无限集”和“戴德金无限集”是等价的。
7.3 可数集 (Countable Sets)
无限集内部也存在大小的差异。最“小”的无限集是那些与自然数集 \( \mathbb{N} \) 等势的集合。
定义 7.3.1 (可数集 - Countable Set)
一个集合 \( A \) 被称为可数集 (Countable Set),如果它与自然数集 \( \mathbb{N} \) 的某个子集是等势的。
等价地,一个集合是可数集,如果它的元素可以被“列出来”形成一个序列(可能有限,可能无限)。
可数集可以进一步分为两类:
① 可数有限集 (Countably Finite Set):与某个有限集合 \( \{0, 1, \dots, n-1\} \) 等势的集合。这与我们之前的有限集定义一致。
② 可数无限集 (Countably Infinite Set):与自然数集 \( \mathbb{N} \) 等势的集合。
因此,可数集包括所有有限集和所有与 \( \mathbb{N} \) 等势的无限集。通常,当我们说“可数集”时,如果没有特别说明,可能指的是可数无限集。但严格来说,可数集包含有限集。为了避免混淆,我们经常使用“可数无限集”来特指与 \( \mathbb{N} \) 等势的集合。
例子 7.3.2 (可数无限集)
① 自然数集 \( \mathbb{N} = \{0, 1, 2, \dots\} \) 是可数无限集。
② 整数集 \( \mathbb{Z} = \{\dots, -2, -1, 0, 1, 2, \dots\} \) 是可数无限集。我们可以构造一个双射 \( f: \mathbb{N} \to \mathbb{Z} \):
\[ f(n) = \begin{cases} 0 & \text{if } n=0 \\ k & \text{if } n=2k, k > 0 \\ -k & \text{if } n=2k-1, k > 0 \end{cases} \]
这个函数将 0 映射到 0,将正偶数 \( 2k \) 映射到 \( k \),将正奇数 \( 2k-1 \) 映射到 \( -k \)。序列为 \( 0, 1, -1, 2, -2, 3, -3, \dots \)。这证明了 \( \mathbb{Z} \sim \mathbb{N} \)。
③ 有理数集 \( \mathbb{Q} = \{p/q \mid p \in \mathbb{Z}, q \in \mathbb{Z}, q \neq 0\} \) 是可数无限集。这有点反直觉,因为有理数在数轴上是稠密的。康托尔使用了一种“蛇形”排列方法来证明这一点。我们可以将有理数 \( p/q \) (化为最简分数,\( q > 0 \)) 排列在一个二维网格中,然后沿着对角线进行计数。
例如,考虑正有理数 \( \mathbb{Q}^+ \):
\[ \begin{matrix} 1/1 & 1/2 & 1/3 & 1/4 & \dots \\ 2/1 & 2/2 & 2/3 & 2/4 & \dots \\ 3/1 & 3/2 & 3/3 & 3/4 & \dots \\ 4/1 & 4/2 & 4/3 & 4/4 & \dots \\ \vdots & \vdots & \vdots & \vdots & \ddots \end{matrix} \]
沿着对角线 \( 1/1 \to 1/2 \to 2/1 \to 3/1 \to 2/2 \to 1/3 \to \dots \) 进行计数,并跳过非最简分数(如 2/2, 2/4, 3/3, 4/4 等),我们可以得到一个 \( \mathbb{Q}^+ \) 的序列:\( 1/1, 1/2, 2/1, 3/1, 1/3, 1/4, 2/3, 3/2, 4/1, \dots \)。这个序列包含了所有正有理数。然后我们可以类似地处理负有理数和 0,将 \( \mathbb{Q} \) 的所有元素排列成一个序列,从而证明 \( \mathbb{Q} \sim \mathbb{N} \)。
定理 7.3.3
① 任意可数集的子集是可数的。
② 两个可数集的并集是可数的。
③ 有限个可数集的并集是可数的。
④ 可数个可数集的并集是可数的。 (这需要一个更复杂的“对角线”方法)
⑤ 两个可数集的笛卡尔积 \( A \times B \) 是可数的。
⑥ 有限个可数集的笛卡尔积是可数的。
这些定理表明,在可数集的范围内进行有限或可数的运算,结果仍然是可数的。这似乎暗示着所有无限集都是可数的。然而,康托尔的下一个伟大发现打破了这种想法。
7.4 不可数集 (Uncountable Sets)
定义 7.4.1 (不可数集 - Uncountable Set)
一个集合被称为不可数集 (Uncountable Set),如果它是无限集但不是可数集。
换句话说,不可数集是那些不能与自然数集 \( \mathbb{N} \) 的任何子集建立双射的无限集。它们是比可数无限集“更大”的无限集。
康托尔证明了实数集 \( \mathbb{R} \) 是不可数集。这是集合论中最著名的结果之一,通常使用康托尔对角线方法 (Cantor's Diagonal Argument) 来证明。
定理 7.4.2
实数集 \( \mathbb{R} \) 是不可数集。
证明思路 (康托尔对角线方法):
我们使用反证法 (Proof by Contradiction)。假设 \( \mathbb{R} \) 是可数集,那么它的元素可以被列成一个序列:\( r_1, r_2, r_3, \dots \)。我们可以只考虑 \( (0, 1) \) 区间内的实数,因为如果 \( (0, 1) \) 是不可数的,那么 \( \mathbb{R} \) 也是不可数的(可以通过双射 \( f(x) = \tan(\pi(x - 1/2)) \) 将 \( (0, 1) \) 映射到 \( \mathbb{R} \))。
假设 \( (0, 1) \) 中的所有实数都可以列成一个序列 \( r_1, r_2, r_3, \dots \)。我们将每个实数写成无限小数的形式(例如,0.1000... 和 0.0999... 视为同一个数,或者规定只使用不以无限个 9 结尾的形式):
\[ r_1 = 0.d_{11}d_{12}d_{13}d_{14}\dots \\ r_2 = 0.d_{21}d_{22}d_{23}d_{24}\dots \\ r_3 = 0.d_{31}d_{32}d_{33}d_{34}\dots \\ r_4 = 0.d_{41}d_{42}d_{43}d_{44}\dots \\ \vdots \]
其中 \( d_{ij} \) 是第 \( i \) 个实数小数部分的第 \( j \) 位数字。
现在,我们构造一个新的实数 \( r = 0.d_1d_2d_3d_4\dots \),其小数部分的每一位 \( d_i \) 的选取规则如下:
对于每一位 \( i \ge 1 \),如果 \( d_{ii} = 1 \),则令 \( d_i = 2 \);如果 \( d_{ii} \neq 1 \),则令 \( d_i = 1 \)。
例如,如果序列是:
\( r_1 = 0.\underline{1}234\dots \)
\( r_2 = 0.5\underline{6}78\dots \)
\( r_3 = 0.98\underline{7}6\dots \)
\( r_4 = 0.135\underline{7}\dots \)
...
那么我们构造的数 \( r \) 的小数部分第一位与 \( r_1 \) 的第一位不同 (1 vs 2),第二位与 \( r_2 \) 的第二位不同 (6 vs 1),第三位与 \( r_3 \) 的第三位不同 (7 vs 1),第四位与 \( r_4 \) 的第四位不同 (7 vs 1),等等。
构造出的实数 \( r = 0.d_1d_2d_3d_4\dots \) 显然在 \( (0, 1) \) 区间内。
现在,考虑这个数 \( r \) 是否在列表 \( r_1, r_2, r_3, \dots \) 中。
如果 \( r \) 等于列表中的某个数 \( r_k \),即 \( r = r_k \),那么它们的小数展开必须完全相同,即 \( d_i = d_{ki} \) 对于所有 \( i \ge 1 \) 都成立。
然而,根据我们构造 \( r \) 的规则,\( d_k \) 是故意选取得与 \( d_{kk} \) 不同的。所以 \( d_k \neq d_{kk} \)。
这导致了矛盾:\( r = r_k \) 要求 \( d_k = d_{kk} \),而我们的构造保证了 \( d_k \neq d_{kk} \)。
因此,我们构造的实数 \( r \) 不在列表 \( r_1, r_2, r_3, \dots \) 中。
这与我们最初的假设“\( (0, 1) \) 中的所有实数都可以列成一个序列”相矛盾。
所以,假设不成立,\( (0, 1) \) 区间内的实数是不可数的。进而,实数集 \( \mathbb{R} \) 是不可数集。 ∎
这个证明是数学中最优雅和重要的证明之一,它彻底改变了我们对无限的认识。它表明,无限集不仅仅是“无限”,它们还有不同等级的无限。
除了 \( \mathbb{R} \),还有许多其他不可数集,例如:
⚝ \( (0, 1) \) 区间内的实数集。
⚝ 任意非空开区间 \( (a, b) \) 内的实数集。
⚝ 幂集 \( \mathcal{P}(\mathbb{N}) \) (自然数集的所有子集构成的集合)。
⚝ 所有从 \( \mathbb{N} \) 到 \( \{0, 1\} \) 的函数集合。
⚝ 所有无限二进制序列的集合。
事实上,\( \mathbb{R} \)、\( (0, 1) \)、\( \mathcal{P}(\mathbb{N}) \)、所有从 \( \mathbb{N} \) 到 \( \{0, 1\} \) 的函数集合、所有无限二进制序列的集合,这些集合都是等势的。
7.5 康托尔定理 (Cantor's Theorem)
康托尔对角线方法不仅证明了 \( \mathbb{R} \) 的不可数性,更提供了一个普遍性的定理,揭示了任意集合与其幂集之间的大小关系。
定理 7.5.1 (康托尔定理 - Cantor's Theorem)
对于任意集合 \( A \),集合 \( A \) 与其幂集 \( \mathcal{P}(A) \) 不等势,并且 \( A \) 的基数严格小于 \( \mathcal{P}(A) \) 的基数。
用符号表示:\( |A| < |\mathcal{P}(A)| \)。
证明:
我们需要证明两点:
① 存在从 \( A \) 到 \( \mathcal{P}(A) \) 的单射 (Injective function),这表明 \( |A| \le |\mathcal{P}(A)| \)。
② 不存在从 \( A \) 到 \( \mathcal{P}(A) \) 的满射 (Surjective function),这表明 \( |A| \neq |\mathcal{P}(A)| \)。
证明 ①:定义函数 \( f: A \to \mathcal{P}(A) \) 为 \( f(a) = \{a\} \) 对于所有 \( a \in A \)。这个函数将 \( A \) 中的每个元素映射到包含该元素的单例集合 (Singleton set)。
如果 \( f(a_1) = f(a_2) \),那么 \( \{a_1\} = \{a_2\} \),根据集合的外延公理 (Axiom of Extensionality),这蕴含着 \( a_1 = a_2 \)。所以 \( f \) 是单射。
这证明了 \( |A| \le |\mathcal{P}(A)| \)。
证明 ②:我们使用反证法。假设存在一个从 \( A \) 到 \( \mathcal{P}(A) \) 的满射 \( g: A \to \mathcal{P}(A) \)。这意味着 \( \mathcal{P}(A) \) 中的每一个子集 \( S \subseteq A \) 都是 \( A \) 中某个元素 \( a \) 的像,即 \( g(a) = S \)。
现在,我们构造一个特殊的子集 \( D \subseteq A \),它被称为“康托尔对角集”:
\[ D = \{a \in A \mid a \notin g(a)\} \]
这个集合 \( D \) 包含了 \( A \) 中所有那些不属于其在 \( \mathcal{P}(A) \) 中的像的元素。
因为 \( g \) 是满射,根据假设,集合 \( D \) 必须是 \( A \) 中某个元素 \( a_0 \) 的像,即存在 \( a_0 \in A \) 使得 \( g(a_0) = D \)。
现在我们问:元素 \( a_0 \) 是否属于集合 \( D \)?
⚝ 情况 1:假设 \( a_0 \in D \)。根据集合 \( D \) 的定义,如果 \( a_0 \in D \),则 \( a_0 \notin g(a_0) \)。但我们知道 \( g(a_0) = D \),所以 \( a_0 \notin D \)。这与假设 \( a_0 \in D \) 矛盾。
⚝ 情况 2:假设 \( a_0 \notin D \)。根据集合 \( D \) 的定义,如果 \( a_0 \notin D \),则 \( a_0 \in g(a_0) \)。但我们知道 \( g(a_0) = D \),所以 \( a_0 \in D \)。这与假设 \( a_0 \notin D \) 矛盾。
两种情况都导致了矛盾。因此,我们最初的假设“存在从 \( A \) 到 \( \mathcal{P}(A) \) 的满射”是错误的。
所以,不存在从 \( A \) 到 \( \mathcal{P}(A) \) 的满射。结合证明 ①,我们得出 \( |A| < |\mathcal{P}(A)| \)。 ∎
康托尔定理是一个极其重要的结果。它告诉我们,对于任何无限集,总存在一个“更大”的无限集(它的幂集)。这意味着无限不是单一的,而是存在一个无限的等级体系。
例如:
\( |\mathbb{N}| < |\mathcal{P}(\mathbb{N})| \)
\( |\mathcal{P}(\mathbb{N})| < |\mathcal{P}(\mathcal{P}(\mathbb{N}))| \)
等等。
我们已经知道 \( |\mathbb{N}| \) 是可数无限集的大小,而 \( |\mathbb{R}| \) 是不可数集的大小。一个重要的事实是 \( |\mathcal{P}(\mathbb{N})| = |\mathbb{R}| \)。这可以通过构造一个从 \( \mathcal{P}(\mathbb{N}) \) 到 \( [0, 1] \) 区间内实数的双射来实现(例如,将 \( \mathbb{N} \) 的子集 \( S \) 映射到二进制小数 \( 0.b_0b_1b_2\dots \),其中 \( b_i = 1 \) 如果 \( i \in S \),\( b_i = 0 \) 如果 \( i \notin S \))。由于 \( |[0, 1]| = |\mathbb{R}| \),所以 \( |\mathcal{P}(\mathbb{N})| = |\mathbb{R}| \)。
因此,康托尔定理对于 \( A = \mathbb{N} \) 的情况,直接蕴含了 \( |\mathbb{N}| < |\mathcal{P}(\mathbb{N})| = |\mathbb{R}| \),从而证明了实数集比自然数集“更大”,即实数集是不可数的。
7.6 基数 (Cardinal Numbers) 的定义
等势关系将所有集合划分为等价类。基数 (Cardinal Number) 就是用来表示这些等价类“大小”的数学对象。
对于有限集,其基数就是元素的个数。例如,\( |\{a, b, c\}| = 3 \),\( |\{1, 2, 3\}| = 3 \)。
对于无限集,我们需要引入新的符号来表示它们的基数。
与自然数集 \( \mathbb{N} \) 等势的所有集合,它们的基数被定义为 \( \aleph_0 \) (Aleph-null 或 Aleph-zero),这是第一个无限基数。
\[ |\mathbb{N}| = |\mathbb{Z}| = |\mathbb{Q}| = \aleph_0 \]
读作“阿列夫零”。\( \aleph \) 是希伯来字母表的第一个字母。
比 \( \aleph_0 \) 大的下一个基数是什么?根据康托尔定理,\( |\mathcal{P}(\mathbb{N})| > |\mathbb{N}| \),所以 \( |\mathcal{P}(\mathbb{N})| \) 是一个比 \( \aleph_0 \) 更大的基数。我们知道 \( |\mathcal{P}(\mathbb{N})| = |\mathbb{R}| \)。实数集的基数通常用 \( \mathfrak{c} \) (continuum) 表示。所以 \( |\mathbb{R}| = \mathfrak{c} \)。
康托尔定理告诉我们 \( \aleph_0 < \mathfrak{c} \)。
那么,是否存在介于 \( \aleph_0 \) 和 \( \mathfrak{c} \) 之间的基数呢?这个问题引出了连续统假设 (Continuum Hypothesis),我们稍后讨论。
在公理化集合论中,基数通常被正式定义为某种特殊的集合,这些集合是等势类中的“代表元”。一种常用的方法是使用序数 (Ordinal Numbers) 来定义基数。具体来说,一个基数是一个初始序数 (Initial Ordinal),即它不与任何比它小的序数等势。
最小的无限序数是 \( \omega \),它与 \( \mathbb{N} \) 等势。因此,\( \aleph_0 \) 被定义为 \( \omega \) 的基数。
下一个比 \( \omega \) 大的序数是 \( \omega+1, \omega+2, \dots, \omega \cdot 2, \dots, \omega^2, \dots, \omega^\omega, \dots, \epsilon_0, \dots \)。这些序数中的许多仍然与 \( \omega \) 等势(例如,\( \omega+1 \) 与 \( \omega \) 等势,可以通过 \( f(n) = n \) 对有限部分,\( f(\omega) = \omega \) 以外的部分进行调整来构造双射)。
第一个不与 \( \omega \) 等势的序数被称为 \( \omega_1 \)。它是所有可数序数 (Countable Ordinals) 构成的集合的最小上界。\( \omega_1 \) 是一个不可数序数。
\( \aleph_1 \) 被定义为 \( \omega_1 \) 的基数。它是大于 \( \aleph_0 \) 的最小基数。
一般来说,对于任意序数 \( \alpha \),\( \aleph_\alpha \) 是第 \( \alpha \) 个无限基数。
这样,我们就有了无限基数的序列:\( \aleph_0, \aleph_1, \aleph_2, \dots, \aleph_\omega, \aleph_{\omega+1}, \dots \)
根据康托尔定理,我们知道 \( \aleph_0 < |\mathcal{P}(\mathbb{N})| \)。我们已经知道 \( |\mathcal{P}(\mathbb{N})| = \mathfrak{c} \)。所以 \( \aleph_0 < \mathfrak{c} \)。
问题在于 \( \mathfrak{c} \) 等于这个序列中的哪一个 \( \aleph_\alpha \)?
7.7 基数算术 (Cardinal Arithmetic)
基数可以像数一样进行加法、乘法和指数运算。这些运算的定义是基于集合的运算和等势概念。
设 \( \kappa \) 和 \( \lambda \) 是两个基数,由集合 \( A \) 和 \( B \) 代表,其中 \( |A| = \kappa \) 且 \( |B| = \lambda \)。为了定义基数运算,我们通常要求代表集合 \( A \) 和 \( B \) 是不相交的 (Disjoint),即 \( A \cap B = \emptyset \)。如果它们相交,我们可以用等势的不相交集合来代替。
定义 7.7.1 (基数加法 - Cardinal Addition)
\( \kappa + \lambda = |A \cup B| \),其中 \( |A| = \kappa \),\( |B| = \lambda \),且 \( A \cap B = \emptyset \)。
定义 7.7.2 (基数乘法 - Cardinal Multiplication)
\( \kappa \cdot \lambda = |A \times B| \),其中 \( |A| = \kappa \),\( |B| = \lambda \)。
定义 7.7.3 (基数指数 - Cardinal Exponentiation)
\( \kappa^\lambda = |A^B| \),其中 \( |A| = \kappa \),\( |B| = \lambda \),\( A^B \) 是所有从 \( B \) 到 \( A \) 的函数构成的集合。
对于有限基数,这些运算与普通的自然数加法、乘法和指数运算一致。例如,\( 2 + 3 = |\{a, b\} \cup \{c, d, e\}| = |\{a, b, c, d, e\}| = 5 \),\( 2 \cdot 3 = |\{a, b\} \times \{c, d, e\}| = |\{(a,c), (a,d), (a,e), (b,c), (b,d), (b,e)\}| = 6 \),\( 2^3 = |\{a, b\}^{\{c, d, e\}}| = 8 \) (从 \( \{c, d, e\} \) 到 \( \{a, b\} \) 的函数个数是 \( 2 \times 2 \times 2 = 8 \))。
对于无限基数,情况变得非常简单(甚至可以说“无聊”)。
定理 7.7.4 (无限基数算术)
设 \( \kappa \) 和 \( \lambda \) 是无限基数,且 \( \kappa \ge \lambda \)。
① \( \kappa + \lambda = \kappa \)
② \( \kappa \cdot \lambda = \kappa \)
③ 如果 \( \kappa \ge 2 \) 且 \( \lambda \ge \aleph_0 \),则 \( \kappa^\lambda \) 的计算需要更具体分析。
例子:
⚝ \( \aleph_0 + \aleph_0 = \aleph_0 \)。 (自然数集 \( \mathbb{N} \) 可以分成偶数和奇数,偶数集和奇数集都与 \( \mathbb{N} \) 等势,它们的并集是 \( \mathbb{N} \)。)
⚝ \( \aleph_0 + \mathfrak{c} = \mathfrak{c} \)。 (可数集与不可数集的并集是不可数的,其大小由不可数集决定。)
⚝ \( \aleph_0 \cdot \aleph_0 = \aleph_0 \)。 (整数对 \( \mathbb{Z} \times \mathbb{Z} \) 是可数的,与 \( \mathbb{N} \) 等势。)
⚝ \( \mathfrak{c} \cdot \mathfrak{c} = \mathfrak{c} \)。 (实数对 \( \mathbb{R} \times \mathbb{R} \) (即平面 \( \mathbb{R}^2 \)) 与 \( \mathbb{R} \) 等势。)
基数指数运算则更有趣:
⚝ \( 2^{\aleph_0} = |\mathcal{P}(\mathbb{N})| = |\mathbb{R}| = \mathfrak{c} \)。 (从 \( \mathbb{N} \) 到 \( \{0, 1\} \) 的函数与 \( \mathbb{N} \) 的子集一一对应,也与 \( (0, 1] \) 区间内的二进制小数一一对应。)
⚝ \( \aleph_0^{\aleph_0} = \mathfrak{c} \)。 (从 \( \mathbb{N} \) 到 \( \mathbb{N} \) 的函数集合的大小。)
⚝ \( \mathfrak{c}^{\aleph_0} = \mathfrak{c} \)。
⚝ \( \mathfrak{c}^\mathfrak{c} = 2^\mathfrak{c} \)。 (根据康托尔定理,\( \mathfrak{c} < 2^\mathfrak{c} \)。)
康托尔定理可以表示为 \( \kappa < 2^\kappa \) 对于任意基数 \( \kappa \)。
特别是,\( \aleph_0 < 2^{\aleph_0} \)。我们知道 \( \mathfrak{c} = 2^{\aleph_0} \)。所以 \( \aleph_0 < \mathfrak{c} \)。
7.8 连续统假设 (Continuum Hypothesis) (CH)
我们已经知道 \( \aleph_0 \) 是最小的无限基数,而 \( \mathfrak{c} = 2^{\aleph_0} \) 是实数集的基数,且 \( \aleph_0 < \mathfrak{c} \)。
我们还引入了 \( \aleph_1 \) 作为大于 \( \aleph_0 \) 的最小基数。
那么,\( \mathfrak{c} \) 和 \( \aleph_1 \) 之间有什么关系呢?
连续统假设 (Continuum Hypothesis) (CH)
不存在一个集合,其基数严格大于 \( \aleph_0 \) 且严格小于 \( \mathfrak{c} \)。
用符号表示:\( \mathfrak{c} = \aleph_1 \)。
这个假设是康托尔提出的,他花费了大量精力试图证明它,但没有成功。它成为了集合论中最重要和最具争议的问题之一。
在 20 世纪,库尔特·哥德尔 (Kurt Gödel) 在 1938 年证明了连续统假设与 ZFC 公理系统是相容的 (Consistent)。这意味着在 ZFC 中无法证明 CH 是假的。他通过构造 ZFC 的一个内部模型,称为可构造宇宙 \( L \),并在 \( L \) 中证明了 CH 成立。
后来,保罗·科恩 (Paul Cohen) 在 1963 年证明了连续统假设与 ZFC 公理系统是独立的 (Independent)。这意味着在 ZFC 中也无法证明 CH 是真的。他发明了一种称为强制法 (Forcing) 的技术,通过向 ZFC 模型添加新的集合来构造一个新的模型,在这个新模型中 CH 是假的。
哥德尔和科恩的工作共同表明,连续统假设在 ZFC 公理系统内是不可判定 (Undecidable) 的。这意味着 ZFC 既不能证明 CH 为真,也不能证明 CH 为假。CH 的真假独立于 ZFC 公理。
这就像欧几里得几何中的平行公设一样,它独立于其他公设。我们可以选择接受 CH 为真(得到 ZFC+CH 集合论),也可以选择接受 CH 为假(得到 ZFC+¬CH 集合论),这取决于我们选择的公理系统。
连续统假设的不可判定性是 20 世纪数学基础领域最深刻的发现之一,它揭示了即使是像集合论这样基础的理论,也存在无法仅凭其公理系统解决的问题。
广义连续统假设 (Generalized Continuum Hypothesis) (GCH) 是 CH 的推广:
广义连续统假设 (GCH)
对于任意序数 \( \alpha \),\( 2^{\aleph_\alpha} = \aleph_{\alpha+1} \)。
当 \( \alpha = 0 \) 时,GCH 就是 CH,即 \( 2^{\aleph_0} = \aleph_1 \)。
GCH 也被证明与 ZFC 独立。
基数理论,特别是关于无限基数大小的探讨,是集合论中最抽象但也最引人入胜的部分之一。它不仅为我们提供了衡量无限大小的工具,也揭示了数学基础中深刻的独立性结果。
本章我们学习了:
⚝ 如何使用双射来定义集合的等势性。
⚝ 有限集、无限集、可数集和不可数集的严格定义。
⚝ 康托尔对角线方法及其证明实数集不可数的过程。
⚝ 康托尔定理:\( |A| < |\mathcal{P}(A)| \),揭示了无限的层次性。
⚝ 基数的概念,特别是 \( \aleph_0 \) 和 \( \mathfrak{c} \)。
⚝ 基数的算术运算,以及它们在无限情况下的特殊性质。
⚝ 连续统假设 (CH) 及其在 ZFC 中的独立性。
这些概念是现代数学许多领域的基础,包括分析、拓扑、抽象代数以及理论计算机科学。理解不同层次的无限对于深入学习这些领域至关重要。
在下一章,我们将转向序数理论,这是另一种衡量无限集合的方式,它关注的是集合元素的顺序结构,与基数理论从不同的角度刻画无限。
8. chapter 8: 序数理论 (Ordinal Number Theory)
欢迎来到本书的第八章!在前面的章节中,我们深入探讨了逻辑的基础、集合的基本概念以及关系和函数。特别是,在基数理论中,我们学习了如何比较集合的大小,即它们的基数。然而,集合不仅仅有“大小”,它们还可以有“结构”,特别是“序结构”。在数学中,有许多不同类型的序,例如偏序和全序。本章将聚焦于一种特殊的、非常重要的全序结构:良序 (well-order)。基于良序集的概念,我们将引入序数 (ordinal numbers) 的概念,它们是良序集的“序类型”的代表。序数理论是集合论中一个深刻且强大的分支,它为我们提供了一种处理无限集合的序结构的方式,并为超限归纳法 (transfinite induction) 和超限递归 (transfinite recursion) 提供了基础,这些工具在集合论和数学的其他领域中都至关重要。
本章将从良序集的定义和性质开始,然后介绍序同构 (order isomorphism) 的概念,这是比较良序集结构的方式。接着,我们将正式定义序数,特别是冯·诺依曼序数 (von Neumann ordinals),并展示它们如何构成一个良序类。随后,我们将学习如何在序数上进行超限归纳和超限递归。最后,我们将探讨序数的算术运算,并与基数算术进行对比。
8.1 良序集 (Well-Ordered Sets)
我们已经熟悉了全序集 (totally ordered set),即一个集合 \(A\) 上的关系 \(\le\) 满足自反性 (reflexivity)、反对称性 (antisymmetry)、传递性 (transitivity) 和全序性 (totality)(即任意两个元素 \(a, b \in A\),要么 \(a \le b\),要么 \(b \le a\))。良序集是一种更强的序结构。
定义 8.1.1 一个全序集 \((A, \le)\) 被称为一个良序集 (well-ordered set),如果 \(A\) 的每一个非空子集都包含一个最小元 (least element)。
换句话说,对于任意非空子集 \(S \subseteq A\),存在一个元素 \(m \in S\),使得对于所有 \(s \in S\),都有 \(m \le s\)。
让我们看一些例子来理解这个定义:
⚝ 自然数集 \(\mathbb{N} = \{0, 1, 2, \dots\}\) 及其通常的 \(\le\) 关系是一个良序集。任何非空自然数子集都有一个最小的自然数。例如,子集 \(\{5, 2, 8\}\) 的最小元是 2;偶数集 \(\{0, 2, 4, \dots\}\) 的最小元是 0。
⚝ 整数集 \(\mathbb{Z} = \{\dots, -2, -1, 0, 1, 2, \dots\}\) 及其通常的 \(\le\) 关系不是一个良序集。例如,整数集本身 \(\mathbb{Z}\) 没有最小元。负整数集 \(\{\dots, -2, -1\}\) 也没有最小元。
⚝ 有理数集 \(\mathbb{Q}\) 及其通常的 \(\le\) 关系不是一个良序集。例如,开区间 \((0, 1)\) 是 \(\mathbb{Q}\) 的一个非空子集,但它没有最小元(对于任何 \(q \in (0, 1)\),\(q/2\) 仍然在 \((0, 1)\) 中且 \(q/2 < q\))。
⚝ 实数集 \(\mathbb{R}\) 及其通常的 \(\le\) 关系不是一个良序集,原因与有理数集类似。
良序集的概念非常重要,因为它允许我们使用一种特殊的归纳法,称为超限归纳法,来证明关于良序集元素的性质。
在一个良序集中,除了最小元,我们还可以定义“后继元”和“极限元”。
定义 8.1.2 设 \((A, \le)\) 是一个良序集,\(a \in A\)。
① 如果存在 \(b \in A\) 使得 \(a < b\) 且不存在 \(c \in A\) 使得 \(a < c < b\),则称 \(b\) 是 \(a\) 的后继元 (successor element),记为 \(a^+\) 或 \(S(a)\)。
② 如果 \(a\) 不是最小元,且 \(a\) 没有前驱元(即不存在 \(b \in A\) 使得 \(a = b^+\)),则称 \(a\) 是一个极限元 (limit element)。
在自然数集 \(\mathbb{N}\) 中,除了 0 是最小元,每个自然数 \(n\) 都有一个后继元 \(n+1\)。 \(\mathbb{N}\) 中没有极限元。
考虑一个更复杂的良序集的例子。设 \(A = \mathbb{N} \cup \{\infty\}\),其中 \(\infty\) 是一个不在 \(\mathbb{N}\) 中的符号。我们定义 \(A\) 上的序 \(\le\) 如下:
⚝ 对于 \(m, n \in \mathbb{N}\),\(m \le n\) 是通常的自然数序。
⚝ 对于任何 \(n \in \mathbb{N}\),\(n < \infty\)。
⚝ \(\infty \le \infty\)。
这是一个全序集。让我们检查它是否是良序集。取 \(A\) 的任意非空子集 \(S\)。
⚝ 如果 \(\infty \notin S\),则 \(S \subseteq \mathbb{N}\)。由于 \(\mathbb{N}\) 是良序集,\(S\) 有一个最小元。
⚝ 如果 \(\infty \in S\),考虑子集 \(S' = S \setminus \{\infty\}\).
▮▮▮▮ⓐ 如果 \(S'\) 是空集,则 \(S = \{\infty\}\),最小元是 \(\infty\)。
▮▮▮▮ⓑ 如果 \(S'\) 是非空集,则 \(S' \subseteq \mathbb{N}\) 是非空的,因此 \(S'\) 有一个最小元 \(m\)。对于任何 \(s \in S'\),\(m \le s\)。对于元素 \(\infty \in S\),我们有 \(m < \infty\)。因此,\(m\) 是 \(S\) 的最小元。
所以,\((A, \le)\) 是一个良序集。
在这个良序集 \(\mathbb{N} \cup \{\infty\}\) 中:
⚝ 0 是最小元。
⚝ 对于 \(n \in \mathbb{N}\),\(n+1\) 是 \(n\) 的后继元。
⚝ \(\infty\) 没有后继元。
⚝ \(\infty\) 是一个极限元,因为它不是最小元,且没有元素 \(b\) 使得 \(b^+ = \infty\)。
良序集的一个重要性质是,任何良序集的初始片段 (initial segment) 也是良序的。
定义 8.1.3 设 \((A, \le)\) 是一个良序集,\(a \in A\)。集合 \(A_a = \{x \in A \mid x < a\}\) 称为由 \(a\) 定义的初始片段 (initial segment)。
注意,初始片段 \(A_a\) 不包含 \(a\) 本身。如果 \(A\) 有一个最小元 0,那么 \(A_0 = \emptyset\)。
8.2 序同构 (Order Isomorphism)
在数学中,当我们研究具有某种结构的集合时,我们通常关心那些保持结构的映射。对于有序集,保持序结构的映射称为单调映射 (monotonic map) 或序保持映射 (order-preserving map)。特别重要的映射是那些既保持序又是一一对应的映射,它们被称为序同构。
定义 8.2.1 设 \((A, \le_A)\) 和 \((B, \le_B)\) 是两个有序集。一个映射 \(f: A \to B\) 被称为序同构 (order isomorphism),如果它是双射 (bijective),并且对于所有 \(a_1, a_2 \in A\),有 \(a_1 \le_A a_2\) 当且仅当 \(f(a_1) \le_B f(a_2)\)。
如果存在一个从 \((A, \le_A)\) 到 \((B, \le_B)\) 的序同构,则称这两个有序集是序同构的 (order isomorphic),记为 \((A, \le_A) \cong (B, \le_B)\)。序同构关系是一个等价关系。
序同构的意义在于,序同构的两个有序集在它们的序结构上是完全相同的,可以认为是同一个结构的两个不同“副本”。
对于良序集,序同构具有一些特殊的性质。
定理 8.2.2 设 \((A, \le_A)\) 和 \((B, \le_B)\) 是两个良序集。如果 \(f: A \to B\) 是一个序同构,则对于任何 \(a \in A\),\(f\) 将 \(A_a\) 序同构地映射到 \(B_{f(a)}\)。
定理 8.2.3 设 \((A, \le_A)\) 和 \((B, \le_B)\) 是两个良序集。则以下三者必居其一:
① \((A, \le_A)\) 序同构于 \((B, \le_B)\)。
② \((A, \le_A)\) 序同构于 \((B, \le_B)\) 的某个初始片段。
③ \((B, \le_B)\) 序同构于 \((A, \le_A)\) 的某个初始片段。
更重要的是,如果两个良序集是序同构的,那么这种序同构是唯一的。
定理 8.2.4 设 \((A, \le_A)\) 和 \((B, \le_B)\) 是两个良序集。如果 \(f_1: A \to B\) 和 \(f_2: A \to B\) 都是序同构,则 \(f_1 = f_2\)。
这些定理表明,良序集的序结构具有很强的“刚性”。它们要么序同构,要么一个序同构于另一个的初始片段,而且序同构是唯一的。这为我们定义良序集的“序类型”提供了基础。
8.3 序数 (Ordinal Numbers) 的定义
序数的目的是为每一个良序集指定一个唯一的“标签”或“序类型”,使得两个良序集具有相同的标签当且仅当它们是序同构的。
朴素地定义序数可能会遇到困难(类似于朴素集合论中的罗素悖论)。例如,考虑“所有良序集的序类型组成的集合”。这个集合本身是否可以被良序?如果可以,它的序类型是什么?
为了避免这些问题,现代集合论(如 ZFC)中通常采用冯·诺依曼 (von Neumann) 在 1923 年提出的构造方法来定义序数。冯·诺依曼序数是一种特殊的集合,它们本身是良序的,并且可以作为所有良序集的标准代表。
定义 8.3.1 一个集合 \(x\) 被称为一个序数 (ordinal number),如果它满足以下两个条件:
① \(x\) 是传递的 (transitive)。这意味着如果 \(y \in x\) 且 \(z \in y\),则 \(z \in x\)。等价地,如果 \(y \in x\),则 \(y \subseteq x\)。
② \(x\) 关于集合的成员关系 \(\in\) 是良序的。这意味着对于 \(x\) 中的任意非空子集 \(S\),存在一个 \(\in\)-最小元 \(m \in S\),使得对于所有 \(s \in S\),如果 \(s \ne m\),则 \(m \notin s\)。
注意,在集合论中,成员关系 \(\in\) 在许多集合上诱导了一个严格偏序 (strict partial order)。对于一个传递集 \(x\),成员关系 \(\in\) 在 \(x\) 上诱导了一个严格全序 (strict total order)。良序性要求这个 \(\in\) 关系在 \(x\) 的任何非空子集上都有一个 \(\in\)-最小元。
让我们看看一些冯·诺依曼序数的例子:
⚝ 空集 \(\emptyset\)。它是传递的(因为没有元素),并且关于 \(\in\) 是良序的(空集的非空子集不存在)。所以 \(\emptyset\) 是一个序数。我们称它为 0。记作 \(0\)。
⚝ 集合 \(\{\emptyset\}\)。它的元素是 \(\emptyset\)。它是传递的吗?如果 \(y \in \{\emptyset\}\),则 \(y = \emptyset\)。如果 \(z \in y\),则 \(z \in \emptyset\),这是不可能的。所以它是传递的。关于 \(\in\) 是良序的吗?它的非空子集只有 \(\{\emptyset\}\) 本身。这个子集的 \(\in\)-最小元是 \(\emptyset\),因为 \(\emptyset \notin \emptyset\)。所以 \(\{\emptyset\}\) 是一个序数。我们称它为 1。记作 \(1\)。注意 \(1 = \{0\}\)。
⚝ 集合 \(\{\emptyset, \{\emptyset\}\}\)。它的元素是 \(\emptyset\) 和 \(\{\emptyset\}\)。它是传递的吗?如果 \(y \in \{\emptyset, \{\emptyset\}\}\),则 \(y = \emptyset\) 或 \(y = \{\emptyset\}\)。
▮▮▮▮ⓐ 如果 \(y = \emptyset\),则 \(y \subseteq \{\emptyset, \{\emptyset\}\}\) (因为 \(\emptyset\) 没有元素)。
▮▮▮▮ⓑ 如果 \(y = \{\emptyset\}\),则 \(y\) 的元素是 \(\emptyset\)。 \(\emptyset \in \{\emptyset, \{\emptyset\}\}\)。所以 \(y \subseteq \{\emptyset, \{\emptyset\}\}\)。
因此,\(\{\emptyset, \{\emptyset\}\}\) 是传递的。关于 \(\in\) 是良序的吗?它的非空子集有 \(\{\emptyset\}\),\(\{\{\emptyset\}\}\),\(\{\emptyset, \{\emptyset\}\}\)。
▮▮▮▮ⓐ \(\{\emptyset\}\) 的 \(\in\)-最小元是 \(\emptyset\)。
▮▮▮▮ⓑ \(\{\{\emptyset\}\}\) 的 \(\in\)-最小元是 \(\{\emptyset\}\)。
▮▮▮▮ⓒ \(\{\emptyset, \{\emptyset\}\}\) 的 \(\in\)-最小元是 \(\emptyset\),因为 \(\emptyset \in \{\emptyset, \{\emptyset\}\}\),且 \(\emptyset \notin \{\emptyset\}\)。
所以 \(\{\emptyset, \{\emptyset\}\}\) 是一个序数。我们称它为 2。记作 \(2\)。注意 \(2 = \{0, 1\}\)。
按照这个模式,我们可以定义:
\(0 = \emptyset\)
\(1 = \{0\} = \{\emptyset\}\)
\(2 = \{0, 1\} = \{\emptyset, \{\emptyset\}\}\)
\(3 = \{0, 1, 2\} = \{\emptyset, \{\emptyset\}, \{\emptyset, \{\emptyset\}\}\}\)
...
\(n = \{0, 1, \dots, n-1\}\)
这些是有限序数 (finite ordinals),它们与自然数 (natural numbers) 一一对应。在 ZFC 集合论中,自然数通常就是这样定义的。
接下来是什么?我们可以考虑所有有限序数组成的集合:
\(\omega = \{0, 1, 2, 3, \dots\} = \mathbb{N}\)
这个集合 \(\omega\) 是传递的吗?是的,如果 \(y \in \omega\),则 \(y\) 是一个自然数 \(n\)。\(y = \{0, 1, \dots, n-1\}\)。这些元素 \(0, 1, \dots, n-1\) 都在 \(\omega\) 中。所以 \(\omega\) 是传递的。
\(\omega\) 关于 \(\in\) 是良序的吗? \(\in\) 在 \(\omega\) 上就是通常的 \(\le\) 关系。任何非空自然数子集都有一个最小元。所以 \(\omega\) 是良序的。
因此,\(\omega\) 是一个序数。它是第一个无限序数 (infinite ordinal)。
我们可以继续构造序数:
\(\omega+1 = \omega \cup \{\omega\} = \{0, 1, 2, \dots, \omega\}\)
\(\omega+2 = (\omega+1) \cup \{\omega+1\} = \{0, 1, 2, \dots, \omega, \omega+1\}\)
...
\(\omega+n = (\omega+n-1) \cup \{\omega+n-1\}\)
这些是后继序数 (successor ordinals)。对于任何序数 \(\alpha\),\(\alpha \cup \{\alpha\}\) 也是一个序数,称为 \(\alpha\) 的后继序数,记为 \(\alpha+1\)。
除了后继序数,还有极限序数 (limit ordinals)。一个序数 \(\lambda\) 是极限序数,如果它不是 0 且不是任何序数的后继。第一个极限序数是 \(\omega\)。
序数集合本身构成一个“类” (class),而不是一个集合(如果它是集合,会导出布拉利-福尔蒂悖论 - Burali-Forti paradox)。这个序数类 \(\text{Ord}\) 关于 \(\in\) 关系是全序的。更重要的是,它关于 \(\in\) 关系是良序的。这意味着任何非空序数子类都有一个 \(\in\)-最小元。
定理 8.3.2 序数类 \(\text{Ord}\) 关于 \(\in\) 关系是良序的。对于任意两个序数 \(\alpha, \beta\),要么 \(\alpha \in \beta\),要么 \(\beta \in \alpha\),要么 \(\alpha = \beta\)。我们通常用 \(\alpha < \beta\) 来表示 \(\alpha \in \beta\)。
根据冯·诺依曼的定义,每个序数 \(\alpha\) 都是由所有小于它的序数组成的集合:\(\alpha = \{\beta \mid \beta \text{ 是序数且 } \beta < \alpha\}\)。
序数与良序集之间的关系由以下定理给出:
定理 8.3.3 对于任何良序集 \((A, \le)\),存在唯一的序数 \(\alpha\) 使得 \((A, \le)\) 序同构于 \((\alpha, \in)\)。这个序数 \(\alpha\) 称为良序集 \((A, \le)\) 的序类型 (order type)。
这个定理是序数理论的核心,它表明序数恰好是良序集的序类型的标准代表。
8.4 超限归纳法 (Transfinite Induction)
数学归纳法是证明关于自然数性质的强大工具。超限归纳法是将数学归纳法推广到良序集,特别是序数上的方法。
回想一下数学归纳法证明一个性质 \(P(n)\) 对所有自然数 \(n\) 成立的步骤:
① 基础步骤 (Base Case):证明 \(P(0)\) 成立。
② 归纳步骤 (Inductive Step):假设 \(P(k)\) 成立(归纳假设),证明 \(P(k+1)\) 成立。
超限归纳法需要考虑良序集的结构,特别是极限元的存在。
定理 8.4.1 (超限归纳法原理 - Principle of Transfinite Induction) 设 \((A, \le)\) 是一个良序集,\(P(x)\) 是关于 \(A\) 中元素 \(x\) 的一个性质。如果对于 \(A\) 中的任何元素 \(a\),假设对于所有 \(x < a\),性质 \(P(x)\) 都成立,可以推出 \(P(a)\) 也成立,则性质 \(P(x)\) 对 \(A\) 中的所有元素都成立。
用符号表示:如果对于所有 \(a \in A\),有 \((\forall x \in A, x < a \implies P(x)) \implies P(a)\),则 \(\forall a \in A, P(a)\)。
这个原理可以应用于序数类 \(\text{Ord}\)。要证明一个性质 \(P(\alpha)\) 对所有序数 \(\alpha\) 成立,我们需要证明:
对于任何序数 \(\alpha\),如果对于所有 \(\beta < \alpha\),\(P(\beta)\) 成立,则 \(P(\alpha)\) 成立。
这个证明结构通常分为三种情况来处理 \(\alpha\):
① \(\alpha = 0\) (基础步骤):证明 \(P(0)\) 成立。这里“对于所有 \(\beta < 0\),\(P(\beta)\) 成立”是空前件,所以只需要证明 \(P(0)\)。
② \(\alpha\) 是后继序数,即 \(\alpha = \beta+1\) 对于某个序数 \(\beta\) (后继步骤):假设 \(P(\beta)\) 成立(归纳假设),证明 \(P(\beta+1)\) 成立。这里“对于所有 \(\gamma < \beta+1\),\(P(\gamma)\) 成立”意味着对于所有 \(\gamma \le \beta\),\(P(\gamma)\) 成立。通常我们只需要 \(P(\beta)\) 成立就能推出 \(P(\beta+1)\)。
③ \(\alpha\) 是极限序数 (极限步骤):假设对于所有 \(\beta < \alpha\),\(P(\beta)\) 成立(归纳假设),证明 \(P(\alpha)\) 成立。
这三种情况的证明合起来就构成了超限归纳法的完整证明。
例子: 证明对于任何序数 \(\alpha\),\(\alpha \notin \alpha\)。
设 \(P(\alpha)\) 是性质 \(\alpha \notin \alpha\)。我们使用超限归纳法证明 \(P(\alpha)\) 对所有序数 \(\alpha\) 成立。
假设对于所有 \(\beta < \alpha\),\(P(\beta)\) 成立,即 \(\beta \notin \beta\)。我们要证明 \(P(\alpha)\) 成立,即 \(\alpha \notin \alpha\)。
假设 \(\alpha \in \alpha\)。根据序数的定义,序数是关于 \(\in\) 良序的。考虑集合 \(S = \{\alpha\}\)。这是一个非空子集。它必须有一个 \(\in\)-最小元。唯一的元素是 \(\alpha\)。所以 \(\alpha\) 必须是 \(S\) 的 \(\in\)-最小元。这意味着对于 \(S\) 中的任何元素 \(s\),如果 \(s \ne \alpha\),则 \(\alpha \notin s\)。但是 \(S\) 中没有元素 \(s \ne \alpha\)。所以这个条件是空前件为真。
然而,序数定义中的良序性是应用于序数集合的。更严谨的证明是利用正则公理 (Axiom of Regularity) 或基础公理 (Axiom of Foundation),它断言任何非空集合 \(A\) 都有一个 \(\in\)-最小元 \(m\),即 \(m \cap A = \emptyset\)。
假设存在一个序数 \(\alpha\) 使得 \(\alpha \in \alpha\)。考虑集合 \(A = \{\alpha\}\)。根据正则公理,\(A\) 有一个 \(\in\)-最小元 \(m\)。唯一的元素是 \(\alpha\),所以 \(m = \alpha\)。根据正则公理的定义,\(m \cap A = \emptyset\)。这意味着对于任何 \(x \in m\),\(x \notin A\)。所以对于任何 \(x \in \alpha\),\(x \notin \{\alpha\}\)。这意味着对于任何 \(x \in \alpha\),\(x \ne \alpha\)。但这与我们最初的假设 \(\alpha \in \alpha\) 矛盾。
因此,不存在序数 \(\alpha\) 使得 \(\alpha \in \alpha\)。性质 \(P(\alpha)\) 对所有序数 \(\alpha\) 成立。
这个例子展示了超限归纳法(以及正则公理)在证明序数基本性质时的应用。
8.5 超限递归 (Transfinite Recursion)
数学中的递归定义允许我们通过前面项的值来定义序列或函数。例如,斐波那契数列 \(F_n\) 可以递归定义为 \(F_0=0, F_1=1, F_n = F_{n-1} + F_{n-2}\) (对于 \(n \ge 2\))。超限递归是将递归定义推广到良序集,特别是序数上的方法。它允许我们定义一个函数,其在某个元素上的值依赖于它在所有小于该元素的值。
定理 8.5.1 (超限递归定理 - Transfinite Recursion Theorem) 设 \((A, \le)\) 是一个良序集,\(G\) 是一个函数。则存在唯一的函数 \(F: A \to \text{dom}(G)\) 使得对于所有 \(a \in A\),\(F(a) = G(F|_{A_a})\),其中 \(F|_{A_a}\) 是函数 \(F\) 在初始片段 \(A_a = \{x \in A \mid x < a\}\) 上的限制。
这个定理看起来有点抽象。当应用于序数类 \(\text{Ord}\) 时,它变得更具体。设 \(G\) 是一个函数,其定义域包含所有可能的函数在某个序数初始片段上的限制。则存在唯一的函数 \(F: \text{Ord} \to \text{dom}(G)\) 使得对于所有序数 \(\alpha\),\(F(\alpha) = G(F|_{\alpha})\),其中 \(F|_{\alpha}\) 是函数 \(F\) 在序数 \(\alpha = \{\beta \mid \beta < \alpha\}\) 上的限制,即函数 \(F\) 在所有小于 \(\alpha\) 的序数上的值构成的函数。
这通常被表述为通过对序数 \(\alpha\) 进行递归来定义 \(F(\alpha)\):
① \(F(0)\) 由 \(G(\emptyset)\) 确定(因为 \(0 = \emptyset\),\(F|_0\) 是空函数)。
② \(F(\alpha+1)\) 由 \(G(F|_{\alpha+1})\) 确定。\(F|_{\alpha+1}\) 包含了 \(F(\beta)\) 对于所有 \(\beta \le \alpha\) 的值。通常 \(G\) 的定义会使得 \(F(\alpha+1)\) 依赖于 \(F(\alpha)\)。
③ \(F(\lambda)\) 对于极限序数 \(\lambda\) 由 \(G(F|_{\lambda})\) 确定。\(F|_{\lambda}\) 包含了 \(F(\beta)\) 对于所有 \(\beta < \lambda\) 的值。通常 \(G\) 的定义会使得 \(F(\lambda)\) 依赖于 \(\{F(\beta) \mid \beta < \lambda\}\) 的某种“极限”。
超限递归是定义序数算术、序数函数以及集合论中许多其他重要概念的基础。
例子: 使用超限递归定义序数加法 \(\alpha + \beta\)。
对于固定的序数 \(\alpha\),我们通过对 \(\beta\) 进行超限递归来定义函数 \(F_\alpha(\beta) = \alpha + \beta\)。
① \(F_\alpha(0) = \alpha + 0 = \alpha\)。
② \(F_\alpha(\beta+1) = \alpha + (\beta+1) = (\alpha + \beta) + 1 = F_\alpha(\beta) + 1\)。
③ \(F_\alpha(\lambda) = \alpha + \lambda = \bigcup_{\beta < \lambda} (\alpha + \beta) = \bigcup_{\beta < \lambda} F_\alpha(\beta)\) (对于极限序数 \(\lambda\))。
这里的 \(G\) 函数定义如下:
⚝ \(G(\emptyset) = \alpha\)
⚝ \(G(f)\) 如果 \(f\) 的定义域是 \(\beta+1\),则 \(G(f) = f(\beta) + 1\)。
⚝ \(G(f)\) 如果 \(f\) 的定义域是极限序数 \(\lambda\),则 \(G(f) = \bigcup_{\beta < \lambda} f(\beta)\)。
通过超限递归,我们可以严格地定义序数的加法、乘法和指数运算。
8.6 序数算术 (Ordinal Arithmetic)
序数算术定义了序数之间的加法、乘法和指数运算。这些运算与自然数(有限序数)的算术一致,但对于无限序数,它们表现出一些重要的不同之处,最显著的是它们通常不是交换的。
定义 8.6.1 (序数加法 - Ordinal Addition) 对于序数 \(\alpha\) 和 \(\beta\),\(\alpha + \beta\) 通过对 \(\beta\) 进行超限递归定义如下:
① \(\alpha + 0 = \alpha\)
② \(\alpha + (\beta+1) = (\alpha + \beta) + 1\)
③ \(\alpha + \lambda = \bigcup_{\gamma < \lambda} (\alpha + \gamma)\) (对于极限序数 \(\lambda\))
例子:
⚝ \(1 + 1 = (1+0)+1 = 1+1 = 2\)
⚝ \(1 + \omega = \bigcup_{n < \omega} (1 + n) = \bigcup_{n \in \mathbb{N}} (1+n) = \{1, 2, 3, \dots\} = \omega\)
⚝ \(\omega + 1 = (\omega+0)+1 = \omega+1\) (这是一个新的序数,大于 \(\omega\))
⚝ \(\omega + \omega = \bigcup_{n < \omega} (\omega + n) = \bigcup_{n \in \mathbb{N}} (\omega + n) = \{\omega, \omega+1, \omega+2, \dots\}\) 这个集合的序类型是 \(\omega \cdot 2\)。
注意 \(1 + \omega = \omega\) 但 \(\omega + 1 \ne \omega\)。这表明序数加法是不可交换的 (non-commutative)。
序数加法是结合的:\((\alpha + \beta) + \gamma = \alpha + (\beta + \gamma)\)。
定义 8.6.2 (序数乘法 - Ordinal Multiplication) 对于序数 \(\alpha\) 和 \(\beta\),\(\alpha \cdot \beta\) 通过对 \(\beta\) 进行超限递归定义如下:
① \(\alpha \cdot 0 = 0\)
② \(\alpha \cdot (\beta+1) = (\alpha \cdot \beta) + \alpha\)
③ \(\alpha \cdot \lambda = \bigcup_{\gamma < \lambda} (\alpha \cdot \gamma)\) (对于极限序数 \(\lambda\))
例子:
⚝ \(2 \cdot \omega = \bigcup_{n < \omega} (2 \cdot n) = \bigcup_{n \in \mathbb{N}} (2n) = \{0, 2, 4, 6, \dots\}\)。这个集合的序类型是 \(\omega\)。所以 \(2 \cdot \omega = \omega\)。
⚝ \(\omega \cdot 2 = \omega \cdot (1+1) = \omega \cdot 1 + \omega = \omega + \omega\)。正如上面所见,\(\omega + \omega\) 是一个大于 \(\omega\) 的序数。
⚝ \(\omega \cdot 2 = \omega + \omega\)。考虑两个 \(\omega\) 的副本并把它们“串联”起来:\(\{0, 1, 2, \dots\} \cup \{\omega, \omega+1, \omega+2, \dots\}\),其中第一个副本的每个元素都小于第二个副本的每个元素。这个集合的序类型是 \(\omega + \omega\)。
注意 \(2 \cdot \omega = \omega\) 但 \(\omega \cdot 2 = \omega + \omega \ne \omega\)。这表明序数乘法也是不可交换的 (non-commutative)。
序数乘法满足左分配律:\(\alpha \cdot (\beta + \gamma) = \alpha \cdot \beta + \alpha \cdot \gamma\)。但不满足右分配律:\((\alpha + \beta) \cdot \gamma \ne \alpha \cdot \gamma + \beta \cdot \gamma\) (例如,\((1+1) \cdot \omega = 2 \cdot \omega = \omega\),而 \(1 \cdot \omega + 1 \cdot \omega = \omega + \omega\))。
定义 8.6.3 (序数指数 - Ordinal Exponentiation) 对于序数 \(\alpha > 0\) 和 \(\beta\),\(\alpha^\beta\) 通过对 \(\beta\) 进行超限递归定义如下:
① \(\alpha^0 = 1\)
② \(\alpha^{\beta+1} = \alpha^\beta \cdot \alpha\)
③ \(\alpha^\lambda = \bigcup_{\gamma < \lambda} \alpha^\gamma\) (对于极限序数 \(\lambda > 0\))
对于 \(\alpha = 0\),定义 \(0^0 = 1\) 和 \(0^\beta = 0\) (对于 \(\beta > 0\))。
例子:
⚝ \(\omega^2 = \omega^1 \cdot \omega = \omega \cdot \omega\)。这与 \(\omega \cdot 2\) 不同。 \(\omega^2\) 是序类型为 \(\omega \cdot \omega\) 的良序集,例如 \(\mathbb{N} \times \mathbb{N}\) 上的字典序 (lexicographical order)。
⚝ \(2^\omega = \bigcup_{n < \omega} 2^n = \bigcup_{n \in \mathbb{N}} 2^n = \{1, 2, 4, 8, \dots\}\)。这个集合的序类型是 \(\omega\)。所以 \(2^\omega = \omega\)。
⚝ \(\omega^\omega = \bigcup_{n < \omega} \omega^n = \bigcup_{n \in \mathbb{N}} \omega^n\)。这是一个更大的序数。
序数算术与基数算术有很大的不同。例如,对于无限基数 \(\kappa\),\(\kappa + \kappa = \kappa \cdot \kappa = \kappa\)。但对于无限序数 \(\alpha\),\(\alpha + \alpha\) 和 \(\alpha \cdot \alpha\) 通常大于 \(\alpha\),并且加法和乘法是不可交换的。
序数理论是集合论中处理序结构的基础,它在数学的许多领域都有应用,包括拓扑学、函数分析和理论计算机科学。
9. chapter 9: 高级主题与联系 (Advanced Topics and Connections)
欢迎来到本书的第九章!📚 在前面的章节中,我们系统地学习了命题逻辑、谓词逻辑以及朴素集合论和公理化集合论的基础知识,并探讨了关系、函数、基数和序数等重要概念。这些构成了现代数学和逻辑学的基础框架。在本章中,我们将深入探讨一些更高级的主题,并连接逻辑与集合论在现代数学和计算机科学中的前沿应用和深刻结果。这些内容可能更具挑战性,但它们揭示了这些领域更深层次的奥秘和力量。
9.1 选择公理的等价形式 (Equivalents of the Axiom of Choice)
选择公理(Axiom of Choice, AC)是集合论中一个非构造性的公理,它断言:对于任何一个由非空集合组成的集合,存在一个“选择函数”(choice function),它从每个集合中恰好选取一个元素。虽然其表述看似简单,但AC的引入带来了许多令人惊讶且有时反直觉的结果,并且它在现代数学的许多分支中扮演着至关重要的角色。有趣的是,AC与许多其他重要的数学命题是等价的,这意味着在Zermelo-Fraenkel (ZF) 公理系统下,如果接受AC,那么这些命题也成立;反之,如果接受这些命题中的任何一个,那么AC也成立。
我们将介绍几个最著名的与选择公理等价的命题:
9.1.1 佐恩引理 (Zorn's Lemma)
佐恩引理(Zorn's Lemma)是抽象代数、拓扑学和泛函分析等领域中证明存在性定理的强大工具。它的表述如下:
如果一个偏序集(partially ordered set) \( (P, \le) \) 满足以下条件:
⚝ \( P \) 中的每一个链(chain)(即一个全序子集 - totally ordered subset)都有一个上界(upper bound)。
那么,
⚝ \( P \) 至少包含一个极大元(maximal element)。
请注意,极大元不一定是最大元(greatest element)。极大元是指在偏序集中,没有元素比它“更大”;而最大元是指比集合中所有其他元素都“大”的元素。
佐恩引理的强大之处在于它提供了一种在某些情况下证明存在极大对象的方法,而无需构造性地指出这个对象是什么。例如,在证明每个向量空间都有一个基(basis)时,佐恩引理是标准工具。
9.1.2 良序原理 (Well-Ordering Principle)
良序原理(Well-Ordering Principle)断言:
任何集合都可以被良序化(well-ordered)。
一个集合 \( S \) 被良序化意味着可以在 \( S \) 上定义一个全序关系 \( \preceq \) ,使得 \( S \) 的每一个非空子集都在 \( \preceq \) 下有一个最小元(least element)。
自然数集 \( \mathbb{N} \) 在通常的 \( \le \) 关系下是一个良序集。整数集 \( \mathbb{Z} \) 在通常的 \( \le \) 关系下不是良序集,因为例如负整数集合没有最小元。良序原理说的是,即使对于 \( \mathbb{Z} \) 或实数集 \( \mathbb{R} \) 这样的集合,虽然通常的顺序不是良序,但存在某种 其他 顺序关系,使得它们成为良序集。这同样是一个非构造性的结果,我们无法具体写出 \( \mathbb{R} \) 的一个良序关系。
9.1.3 AC, 佐恩引理, 良序原理之间的等价性
在ZF公理系统下,以下三个命题是相互等价的:
① 选择公理(AC)
② 佐恩引理(Zorn's Lemma)
③ 良序原理(Well-Ordering Principle)
证明这些等价性需要一些技巧,通常涉及构造性的步骤(例如,从一个选择函数构造一个良序关系,或从良序关系构造满足佐恩引理条件的偏序集)。这些等价性是集合论中非常深刻的结果,它们表明了AC的强大力量及其与数学基础结构之间的紧密联系。
9.2 集合论的相容性与独立性结果 (Consistency and Independence Results in Set Theory)
在公理化集合论中,一个核心问题是:我们提出的公理系统是否一致(consistent)?也就是说,是否可能从公理中推导出矛盾(例如,同时证明一个命题及其否定)?另一个重要问题是:某个特定的数学命题是否独立于(independent of)我们的公理系统?这意味着该命题既不能从公理中证明,也不能从公理中推翻(即其否定也不能从公理中证明)。
9.2.1 哥德尔的相对相容性证明 (Gödel's Relative Consistency Proofs)
库尔特·哥德尔(Kurt Gödel)在20世纪30年代取得了关于集合论相容性的突破性成果。他证明了:
如果ZF公理系统是相容的,那么ZF加上选择公理(ZFC)也是相容的。
\[ \text{Con(ZF)} \implies \text{Con(ZFC)} \]
这意味着选择公理不会在ZF的基础上引入新的矛盾。哥德尔通过构造ZF的一个“内部模型”(inner model)来证明这一点,这个模型被称为“可构造宇宙”(constructible universe),记为 \( L \)。他证明了 \( L \) 满足ZF的所有公理,并且在 \( L \) 中,选择公理和广义连续统假设(Generalized Continuum Hypothesis, GCH)都是成立的。因此,如果在ZF中存在一个模型,那么在ZF中也存在一个满足AC和GCH的模型。
9.2.2 连续统假设的独立性 (Independence of the Continuum Hypothesis)
连续统假设(Continuum Hypothesis, CH)是康托尔提出的关于无穷集合大小的问题。它断言:
不存在基数(cardinality)严格大于可数无穷(countably infinite)集合 \( \mathbb{N} \) 的基数 \( \aleph_0 \) ,且严格小于实数集 \( \mathbb{R} \) 的基数 \( 2^{\aleph_0} \) 的集合。
用基数符号表示,CH即 \( 2^{\aleph_0} = \aleph_1 \),其中 \( \aleph_1 \) 是第一个不可数基数。
哥德尔在1938年证明了CH与ZFC是相对相容的,即:
如果ZFC是相容的,那么ZFC加上CH也是相容的。
\[ \text{Con(ZFC)} \implies \text{Con(ZFC + CH)} \]
这表明我们不能在ZFC中证明CH的否定。
到了1963年,保罗·科恩(Paul Cohen)发展了一种全新的技术,称为“强制法”(forcing),并用它证明了CH的否定与ZFC也是相对相容的,即:
如果ZFC是相容的,那么ZFC加上CH的否定也是相容的。
\[ \text{Con(ZFC)} \implies \text{Con(ZFC + \neg CH)} \]
这意味着我们也不能在ZFC中证明CH。
综合哥德尔和科恩的结果,我们得出结论:连续统假设(CH)在ZFC公理系统下是独立的(independent)。这意味着ZFC不足以决定CH的真假。这是一个极其深刻的结果,它表明了即使是像实数集大小这样基本的问题,在标准的集合论框架内也是无法解答的。科恩因此获得了菲尔兹奖,这是数学领域的最高荣誉之一。
9.3 哥德尔不完备性定理简介 (Introduction to Gödel's Incompleteness Theorems)
哥德尔不完备性定理(Gödel's Incompleteness Theorems)是20世纪逻辑学中最具影响力的成果之一,它们对数学基础、哲学甚至计算机科学产生了深远的影响。这些定理讨论的是形式系统(formal systems)的局限性。
9.3.1 形式系统 (Formal Systems)
形式系统是一套精确定义的符号、语法规则和推理规则。例如,我们前面讨论的命题逻辑和谓词逻辑的推理系统,以及公理化集合论(ZFC)都可以被视为形式系统。一个形式系统通常包含:
⚝ 一个字母表(alphabet)或符号集。
⚝ 一套形成合式公式(well-formed formulas)的语法规则。
⚝ 一套公理(axioms)或初始可证明的公式。
⚝ 一套推理规则(inference rules),用于从已知公式推导出新公式。
一个命题在一个形式系统中是“可证明的”(provable),如果存在一个有限的序列,其中每个元素要么是公理,要么是通过推理规则从前面的元素推导出来的,而序列的最后一个元素就是该命题。这样的序列称为证明(proof)。
9.3.2 第一不完备性定理 (First Incompleteness Theorem)
哥德尔第一不完备性定理(Gödel's First Incompleteness Theorem)的非正式表述是:
对于任何一个足够强大(能够包含基本算术)且一致(consistent)的形式系统,都存在一个在该系统内部无法证明也无法否证的命题。
“足够强大”通常意味着该系统能够表达皮亚诺算术(Peano arithmetic)的公理。ZFC集合论系统显然是足够强大的。
这个定理的证明是极其巧妙的,哥德尔通过一种称为“哥德尔编码”(Gödel numbering)的技术,将形式系统中的公式和证明序列编码成自然数。然后,他构造了一个自指的命题,大致意思是“这个命题是不可证明的”。如果这个命题是可证明的,那么系统就是不一致的;如果系统是一致的,那么这个命题就是不可证明的,因此它是一个在该系统内为真但不可证明的命题。
这意味着,对于像ZFC这样的一致且足够强大的公理系统,总存在一些关于集合或数的真命题,是我们无法从ZFC的公理中推导出来的。系统是不完备的(incomplete)。
9.3.3 第二不完备性定理 (Second Incompleteness Theorem)
哥德尔第二不完备性定理(Gödel's Second Incompleteness Theorem)是第一定理的推论,其非正式表述是:
对于任何一个足够强大且一致的形式系统,该系统的相容性(consistency)本身在该系统内部是不可证明的。
这意味着,我们无法在ZFC系统内部证明“ZFC是相容的”这个命题。要证明ZFC的相容性,我们需要一个比ZFC更强的理论。例如,可以通过假设存在某个大基数来证明ZFC的相容性,但这又将相容性问题转移到了一个更强的理论上。
不完备性定理揭示了形式公理系统的内在局限性,表明了数学真理不能完全被任何一个有限的、机械的证明系统所捕捉。这并不意味着数学是不确定的或不牢固的,而是说数学的丰富性超越了任何单一的形式化框架。
9.4 强制法 (Forcing) 概述
强制法(Forcing)是保罗·科恩在证明连续统假设独立性时发明的一种强大的集合论技术。它是一种构造集合论模型的方法,与哥德尔构造内部模型 \( L \) 的方法形成对比。强制法允许我们从一个已知的集合论模型(例如,ZFC的一个模型)出发,通过“强制”某些新的集合或性质存在,来构造一个新的、更大的集合论模型。
核心思想是,我们通过添加一些“泛型”的集合来扩展原始模型。这些泛型集合的性质不是由原始模型决定的,而是由一个称为“偏序”(partial order)或“强制条件”(forcing conditions)的结构来控制。强制条件可以看作是对这些新集合性质的“部分信息”或“近似描述”。
例如,为了证明CH的否定与ZFC相容,科恩构造了一个ZFC的模型,其中实数集的基数大于 \( \aleph_1 \)。他通过向原始模型添加许多新的“实数”来实现这一点,这些新的实数是通过强制条件来定义的。
强制法是一个非常技术性的工具,其细节超出了本书的范围,但其核心思想可以概括为:
① 从一个ZFC的模型 \( M \) 开始。
② 选择一个偏序集 \( P \)(称为强制偏序),它编码了我们希望添加到 \( M \) 中的新集合或新性质的信息。
③ 构造一个 \( M \) 的扩展模型 \( M[G] \),其中 \( G \) 是 \( P \) 中的一个“泛型滤子”(generic filter)。这个 \( G \) 代表了通过强制过程添加的新信息。
④ 证明 \( M[G] \) 满足ZFC的所有公理,并且满足我们希望证明其独立性的命题(例如,CH的否定)。
强制法不仅用于证明CH的独立性,也用于证明选择公理(AC)相对于ZF的独立性,以及集合论中许多其他重要命题的独立性结果。它是现代集合论研究不可或缺的工具。
9.5 大基数 (Large Cardinals) 简介
在ZFC公理系统下,我们可以证明存在无穷多个基数:\( \aleph_0, \aleph_1, \aleph_2, \dots, \aleph_\alpha, \dots \)。然而,ZFC并不能确定所有无穷集合的大小,例如 \( 2^{\aleph_0} \) 的具体值(这就是CH的独立性)。大基数(Large Cardinals)是某些具有特殊性质的无穷基数,它们的存在性不能在ZFC中证明。引入大基数公理(Large Cardinal Axioms)是加强ZFC的一种方式,它们通常断言存在某个具有特定“大”性质的基数。
为什么研究大基数?
⚝ 加强理论:大基数公理通常蕴含ZFC的相容性。例如,如果存在一个可测基数(measurable cardinal),那么ZFC是相容的。存在更大基数的公理通常蕴含存在较小大基数的公理的相容性,形成一个相容性强度的“谱系”。
⚝ 决定独立命题:许多在ZFC中独立的命题(例如,关于实数集结构、集合论宇宙结构等)可以在ZFC加上某些大基数公理的系统中被决定。大基数公理为解决ZFC中的一些悬而未决的问题提供了新的视角和工具。
⚝ 探索集合论宇宙的结构:大基数的存在性对集合论宇宙 \( V \) 的结构有深刻影响。它们通常与内模型(inner models)的构造紧密相关。
一些著名的大基数概念包括:
⚝ 不可达基数 (Inaccessible Cardinals):不能通过前面基数的幂集或并集运算得到。
⚝ 弱紧基数 (Weakly Compact Cardinals):满足某个组合性质的基数。
⚝ 可测基数 (Measurable Cardinals):存在一个非平凡的、可数可加的、两值测度(two-valued measure)。可测基数的存在性蕴含了许多其他大基数的存在性,并且是第一个其存在性不能通过构造内部模型来证明的大基数概念。
大基数理论是现代集合论研究的前沿领域之一,它探索了无穷的极限,并试图理解集合论宇宙的更深层结构。
9.6 模型论 (Model Theory) 与集合论
模型论(Model Theory)是数理逻辑的一个分支,它研究形式语言的解释(interpretations)或模型(models)。一个模型为一个形式语言中的符号赋予意义,并确定该语言中的句子在模型中是真还是假。
集合论与模型论有着天然的联系:
⚝ 集合论作为模型论的对象:ZFC公理系统本身就是一个形式理论,我们可以研究它的模型。ZFC的一个模型是一个集合 \( M \) 和一个二元关系 \( \in_M \)(表示“属于”关系),使得 \( (M, \in_M) \) 满足ZFC的所有公理。我们前面提到的哥德尔的可构造宇宙 \( L \) 和科恩通过强制法构造的模型都是ZFC的特定模型。
⚝ 模型论作为研究集合论的工具:模型论的技术被广泛用于研究集合论公理的性质。例如,紧致性定理(Compactness Theorem)是模型论中的一个基本结果,它在集合论中也有应用。洛文海姆-斯科伦定理(Löwenheim-Skolem Theorem)是另一个重要的模型论定理,它表明如果一个可数语言的理论有一个无限模型,那么它对任何无限基数都有模型。这对于集合论意味着,如果ZFC是相容的,那么它有一个可数模型,这似乎有点反直觉,因为ZFC断言存在不可数集合。这个“斯科伦悖论”(Skolem's Paradox)实际上揭示了“可数”这个概念在模型内部和外部观察时的相对性。
模型论为我们提供了一个“外部”视角来审视集合论公理,帮助我们理解公理的含义以及不同公理系统之间的关系。
9.7 逻辑与集合论在计算机科学中的应用 (Applications in Computer Science)
逻辑与集合论不仅仅是抽象的数学理论,它们在计算机科学的各个领域都有着广泛而深刻的应用。
⚝ 理论计算机科学基础 (Foundations of Theoretical Computer Science):
▮▮▮▮⚝ 可计算性理论 (Computability Theory):逻辑学中的递归函数理论(recursive function theory)与图灵机(Turing machines)和λ演算(lambda calculus)等计算模型紧密相关。不可判定性结果(如停机问题 - Halting Problem 的不可判定性)直接来源于逻辑学的不可判定性概念(如谓词逻辑的不可判定性)。
▮▮▮▮⚝ 复杂性理论 (Complexity Theory):虽然直接联系不如可计算性理论紧密,但逻辑在定义复杂性类(complexity classes)和证明相关结果时提供了形式化框架。
⚝ 形式化方法 (Formal Methods):
▮▮▮▮⚝ 程序验证 (Program Verification):使用逻辑(如霍尔逻辑 - Hoare logic)来证明程序的正确性。集合论用于描述程序状态和数据结构。
▮▮▮▮⚝ 模型检测 (Model Checking):一种自动验证技术,它检查一个系统的模型是否满足某个逻辑性质(通常用时态逻辑 - temporal logic 表示)。集合论用于描述系统的状态空间。
▮▮▮▮⚝ 定理证明 (Theorem Proving):开发自动化或交互式的定理证明系统,这些系统基于形式逻辑和推理规则。
⚝ 编程语言理论 (Programming Language Theory):
▮▮▮▮⚝ 类型系统 (Type Systems):许多类型系统(如函数式编程语言中的类型系统)与逻辑系统(如直觉逻辑 - intuitionistic logic)之间存在深刻的对应关系,称为 Curry-Howard 同构。集合论用于定义数据类型和语义。
▮▮▮▮⚝ 程序语义 (Program Semantics):使用集合论、序理论(order theory,源自关系理论)和逻辑来定义编程语言的精确含义(例如,指称语义 - denotational semantics)。
⚝ 数据库理论 (Database Theory):
▮▮▮▮⚝ 关系模型 (Relational Model):关系数据库的基础是关系的概念,这直接来源于集合论中的笛卡尔积和关系。
▮▮▮▮⚝ 查询语言 (Query Languages):SQL等查询语言的理论基础是关系代数(relational algebra)和关系演算(relational calculus),这些都与逻辑和集合论紧密相关。
⚝ 人工智能 (Artificial Intelligence):
▮▮▮▮⚝ 知识表示 (Knowledge Representation):使用逻辑(如一阶逻辑 - first-order logic, 描述逻辑 - description logic)来表示知识和进行推理。
▮▮▮▮⚝ 自动推理 (Automated Reasoning):开发算法来自动执行逻辑推理过程。
⚝ 离散数学基础 (Foundations of Discrete Mathematics):
▮▮▮▮⚝ 集合、关系、函数等概念是离散数学的基本构建块,而离散数学是计算机科学许多领域(算法、数据结构、图论等)的数学基础。
总而言之,逻辑与集合论为计算机科学提供了形式化的语言、推理的框架以及描述计算对象和过程的基本概念。它们不仅是理论研究的工具,也是构建可靠、高效软件系统的基础。🚀
10. chapter 10: 延伸阅读与参考文献 (Further Reading and References)
在本书的旅程即将结束之际,我们已经对逻辑与集合论的核心概念、理论体系及其重要性有了全面的了解。然而,数学的探索永无止境,逻辑与集合论作为数学的基础,其深度和广度远超本书所能涵盖。本章旨在为有兴趣进一步深入学习和研究的读者提供一些指引,包括推荐的经典教材、重要的历史文献以及相关的研究领域,希望能帮助您在未来的学习道路上走得更远。📚✨
10.1 经典教材与专著推荐 (Recommended Textbooks and Monographs)
选择合适的教材对于深入学习至关重要。以下是一些在逻辑与集合论领域被广泛认可的经典教材和专著,它们各有侧重,适合不同层次的读者。
⚝ 入门级 (Beginner Level):
▮▮▮▮⚝ How to Prove It: A Structured Approach by Daniel J. Velleman. 这本书非常适合初学者,它以一种非常友好的方式介绍了数学证明的基本技巧,其中包含了大量的逻辑和集合论的基础知识,并通过丰富的例子帮助读者建立严谨的数学思维。
▮▮▮▮⚝ Discrete Mathematics and Its Applications by Kenneth H. Rosen. 虽然这是一本离散数学教材,但其前几章对命题逻辑、谓词逻辑和集合论的介绍非常清晰和全面,适合作为入门读物。
▮▮▮▮⚝ A First Course in Logic by Shawn Hedman. 这本书专注于逻辑学,从命题逻辑到谓词逻辑,讲解细致,包含大量练习。
⚝ 中级 (Intermediate Level):
▮▮▮▮⚝ Introduction to Mathematical Logic by Elliott Mendelson. 这是一本经典的数学逻辑教材,内容涵盖命题逻辑、谓词逻辑、形式系统、哥德尔不完备性定理等。讲解严谨,适合有一定数学基础的读者。
▮▮▮▮⚝ Set Theory: An Introduction to Independence Proofs by Kenneth Kunen. 这本书是集合论领域的标准教材之一,从ZFC公理系统讲起,深入探讨了基数、序数、构造集(Constructible Universe)以及强制法(Forcing)等高级主题。虽然书名提到了独立性证明,但前几章对ZFC集合论的介绍非常系统和深入。
▮▮▮▮⚝ Logic and Set Theory for Mathematicians by A.G. Hamilton. 这本书旨在为数学系学生提供逻辑和集合论的基础,内容涵盖面广,包括递归论的初步介绍。
⚝ 高级/研究生级 (Advanced/Graduate Level):
▮▮▮▮⚝ Set Theory by Thomas Jech. 这是集合论领域最全面和权威的专著之一,内容极其丰富,涵盖了现代集合论的几乎所有重要方面,包括大基数(Large Cardinals)、描述集合论(Descriptive Set Theory)等。适合作为研究生的教材或研究人员的参考书。
▮▮▮▮⚝ Mathematical Logic by Joseph R. Shoenfield. 这本书是另一本经典的数学逻辑研究生教材,讲解深入,涵盖证明论、模型论、递归论和集合论的基础。
▮▮▮▮⚝ A Course in Mathematical Logic by Yu. I. Manin. 这本书从更抽象和现代的视角介绍数学逻辑,内容包括模型论、证明论、递归论和集合论,风格独特,适合有较强抽象思维能力的读者。
选择哪本书取决于您的背景、兴趣和学习目标。建议在阅读前先了解书籍的目录和前言,看看是否符合您的需求。
10.2 重要论文与历史文献 (Important Papers and Historical Documents)
逻辑与集合论的发展史充满了思想的碰撞和突破性的发现。阅读一些重要的原始论文或历史文献,可以帮助我们更深刻地理解这些理论是如何诞生的,以及它们解决了哪些问题。
⚝ 集合论的诞生与早期发展:
▮▮▮▮⚝ Georg Cantor (康托尔): 他的系列论文奠定了集合论的基础,引入了无穷集合的比较(等势)、可数集(Countable Sets)和不可数集(Uncountable Sets)的概念,以及超限数(Transfinite Numbers,包括基数和序数)。例如,他关于集合论的第一篇论文 Über eine Eigenschaft des Inbegriffes aller reellen algebraischen Zahlen (1874) 证明了实数是不可数的。
▮▮▮▮⚝ Richard Dedekind (戴德金): 他的著作 Stetigkeit und irrationale Zahlen (1872) 提出了戴德金分割(Dedekind Cut)来构造实数,其思想与集合论紧密相关。他的另一著作 Was sind und was sollen die Zahlen? (1888) 从集合论的观点定义了自然数。
▮▮▮▮⚝ Gottlob Frege (弗雷格): 他的著作 Grundgesetze der Arithmetik (基本算术法则) 试图将算术建立在逻辑之上,但其系统被罗素悖论(Russell's Paradox)所摧毁。尽管如此,弗雷格对现代逻辑,特别是谓词逻辑的发展做出了巨大贡献。
⚝ 悖论与公理化:
▮▮▮▮⚝ Bertrand Russell (罗素): 他的论文 The Principles of Mathematics (1903) 发现了罗素悖论,揭示了朴素集合论(Naive Set Theory)的矛盾。他与怀特海(Alfred North Whitehead)合著的 Principia Mathematica (数学原理) 试图通过类型论(Type Theory)来避免悖论,并从逻辑基础出发重建数学。
▮▮▮▮⚝ Ernst Zermelo (策梅洛): 他的论文 Untersuchungen über die Grundlagen der Mengenlehre I (1908) 提出了第一个集合论公理系统,即Zermelo集合论(Z)。这是对朴素集合论危机的直接回应。
▮▮▮▮⚝ Abraham Fraenkel (弗兰克尔) 和 Thoralf Skolem (斯科伦): 他们对策梅洛的公理系统进行了补充和完善,特别是引入了替换公理模式(Axiom Schema of Replacement),形成了Zermelo-Fraenkel (ZF) 集合论。
⚝ 元数学与不完备性:
▮▮▮▮⚝ David Hilbert (希尔伯特): 他的希尔伯特计划(Hilbert's program)旨在为数学建立一个坚实、无矛盾的基础,推动了证明论(Proof Theory)的发展。
▮▮▮▮⚝ Kurt Gödel (哥德尔): 他的两篇划时代论文:
▮▮▮▮▮▮▮▮❶ Die Vollständigkeit der Axiome des logischen Funktionenkalküls (1929) / Über die Vollständigkeit des Logikkalküls (1930) 证明了谓词逻辑的完备性定理(Completeness Theorem)。
▮▮▮▮▮▮▮▮❷ Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I (1931) 提出了著名的哥德尔不完备性定理(Gödel's Incompleteness Theorems),证明了任何包含皮亚诺算术(Peano Arithmetic)的足够强的形式系统,如果是一致的,则存在在该系统中不可判定(Undecidable)的命题。
▮▮▮▮⚝ Paul Cohen (科恩): 他的工作 The Independence of the Continuum Hypothesis (1963) 引入了强制法(Forcing)技术,证明了选择公理(Axiom of Choice)和连续统假设(Continuum Hypothesis)与ZFC公理系统是独立的。
阅读这些原始文献通常需要较高的数学和历史背景知识,但它们提供了对领域发展脉络的第一手洞察。许多经典论文已被翻译成英文或包含在选集中。
10.3 相关领域介绍 (Introduction to Related Fields)
逻辑与集合论是许多数学和计算机科学分支的基础。了解这些相关领域,有助于您看到逻辑与集合论的应用和更广阔的图景。
⚝ 数学基础 (Foundations of Mathematics):
这是研究整个数学结构的逻辑和哲学基础的领域。逻辑与集合论是数学基础的核心工具。它探讨数学对象的存在性、数学命题的真假以及数学证明的有效性等问题。
⚝ 模型论 (Model Theory):
模型论研究形式语言的解释(Interpretation)或模型(Model)。它将逻辑公式与数学结构(如群、域、图等)联系起来,研究公式在不同结构中的真值,以及结构之间的关系(如同构 - Isomorphism)。紧致性定理(Compactness Theorem)和洛文海姆-斯科伦定理(Löwenheim-Skolem Theorem)是模型论中的重要结果。
⚝ 证明论 (Proof Theory):
证明论将数学证明本身作为数学对象来研究。它分析形式系统中的证明结构,研究证明的性质,如一致性(Consistency)、可判定性(Decidability)等。希尔伯特的元数学(Metamathematics)思想是证明论的起源之一。
⚝ 递归论 / 可计算性理论 (Recursion Theory / Computability Theory):
这个领域研究哪些函数是可计算的,哪些集合是可判定的。它起源于对算法(Algorithm)和计算(Computation)的数学建模,图灵机(Turing Machine)和递归函数(Recursive Functions)是其核心概念。哥德尔不完备性定理、停机问题(Halting Problem)的不可判定性是该领域的重要结果。它与逻辑学有深刻的联系,例如通过哥德尔编码(Gödel Numbering)将证明和计算过程算术化。
⚝ 理论计算机科学 (Theoretical Computer Science):
逻辑与集合论在理论计算机科学中有广泛应用。
▮▮▮▮⚝ 在程序设计语言的语义(Semantics)中,集合论常用于定义数据类型和程序状态。
▮▮▮▮⚝ 在数据库理论中,关系数据库的基础是关系(Relation),这本质上是集合的笛卡尔积的子集。逻辑公式用于查询语言(如SQL的理论基础)。
▮▮▮▮⚝ 在形式验证(Formal Verification)中,逻辑被用来描述系统属性,并通过证明来验证这些属性是否成立。
▮▮▮▮⚝ 在计算复杂性理论(Computational Complexity Theory)中,逻辑可以用来刻画不同的复杂性类。
⚝ 哲学逻辑 (Philosophical Logic):
哲学逻辑是逻辑学的一个分支,它使用逻辑工具来分析和解决哲学问题,例如模态(Modality)、时态(Time)、知识(Knowledge)、信念(Belief)等概念的逻辑。它也探讨逻辑本身的哲学基础和性质。
⚝ 数学哲学 (Philosophy of Mathematics):
数学哲学探讨数学的本质、基础、方法和意义。它关注数学对象的存在方式、数学真理的性质、数学知识是如何获得的等问题。逻辑主义(Logicism)、直觉主义(Intuitionism)、形式主义(Formalism)是数学哲学中的主要流派,它们对逻辑和集合论的地位和作用有不同的看法。
探索这些相关领域,不仅可以加深您对逻辑与集合论的理解,还能打开通往更广阔数学和科学世界的大门。
希望本书能成为您探索逻辑与集合论美妙世界的起点。祝您学习愉快,收获丰厚!🚀📖