偏序集与格论
好的,我们开始学习“偏序集与格论”。这是一个连接了序理论、代数和逻辑的重要数学领域。
第一步:从直观理解“序”开始
想象一下我们生活中无处不在的“次序”或“层次”关系。
- 数字的大小:比如自然数 1, 2, 3, ... 我们知道 1 ≤ 2, 2 ≤ 3,并且如果 a ≤ b 且 b ≤ c,那么一定有 a ≤ c。
- 集合的包含关系:比如一个家庭的所有成员组成一个集合 {爸爸, 妈妈, 孩子}。这个集合的所有子集之间就存在包含关系。例如,{爸爸} ⊆ {爸爸, 妈妈},空集 ∅ 包含于任何一个子集。
- 整数的整除关系:比如对于正整数,我们说 2 能整除 4,记作 2 | 4。
这些关系都共享一些基本的共性,数学家将其抽象为一个核心概念:偏序集。
第二步:精确定义“偏序集”
一个偏序集 是一个二元组 (P, ≤),其中 P 是一个集合,≤ 是定义在 P 上的一个二元关系(即,一个判断任意两个元素是否满足该关系的规则),并且满足以下三个性质:对于所有 x, y, z ∈ P,
- 自反性:x ≤ x。(任何元素都“小于等于”它自己)
- 反对称性:如果 x ≤ y 且 y ≤ x,那么 x = y。(这说明关系是“反对称”的,保证了大小是确定的)
- 传递性:如果 x ≤ y 且 y ≤ z,那么 x ≤ z。
我们之前举的例子都是偏序集:
- (自然数, ≤) 是偏序集。
- (一个集合的所有子集, ⊆) 是偏序集。这个偏序集被称为幂集格,非常重要。
- (正整数, |) 是偏序集。
“偏序”中的“偏”字意味着,并非集合中的任意两个元素都必须可以比较。例如,在子集偏序集中,{爸爸} 和 {妈妈} 这两个子集,谁也不包含谁,它们是不可比较的。如果偏序集中任意两个元素都可比较,我们称之为全序集,比如自然数集。
第三步:偏序集中的特殊元素
在偏序集 (P, ≤) 中,我们可以关注一些特殊的元素。
- 上界:对于 P 的一个子集 S,如果存在一个元素 u ∈ P,使得对于所有 s ∈ S,都满足 s ≤ u,那么 u 就是 S 的一个上界。
- 下界:类似地,如果存在一个元素 l ∈ P,使得对于所有 s ∈ S,都满足 l ≤ s,那么 l 就是 S 的一个下界。
- 最小上界:S 的所有上界中,如果存在一个最小的那个(即,它是其他所有上界的下界),就称之为 上确界,记作 sup(S) 或 ∨S。
- 最大下界:S 的所有下界中,如果存在一个最大的那个(即,它是其他所有下界的上界),就称之为 下确界,记作 inf(S) 或 ∧S。
例子:考虑偏序集 ( {1,2,3,4,5,6}, | ),即 1 到 6 的整数和整除关系。令子集 S = {2, 3}。
- S 的上界有哪些?能被 2 和 3 同时整除的数,即 6。所以上界是 {6}。
- S 的下界有哪些?能同时整除 2 和 3 的数,即 1。所以下界是 {1}。
- 因此,上确界 sup({2,3}) = 6。
- 因此,下确界 inf({2,3}) = 1。
第四步:从偏序集到“格”
现在,我们到达了核心概念——格。如果一个偏序集满足一个非常好的性质,我们就称它为格:
一个偏序集 (L, ≤) 被称为格,如果它的任意两个元素都有上确界和下确界。
这意味着,对于 L 中的任意 a 和 b:
- 存在一个唯一的元素,称为 a 和 b 的并,记作 a ∨ b,它等于 sup({a, b})。
- 存在一个唯一的元素,称为 a 和 b 的交,记作 a ∧ b,它等于 inf({a, b})。
例子:
- (幂集格) 我们之前的子集例子 (所有子集, ⊆) 是一个格。对于任意两个子集 A 和 B,它们的并 A ∨ B 就是集合的并集 A ∪ B,它们的交 A ∧ B 就是集合的交集 A ∩ B。你可以验证,A ∪ B 确实是包含 A 和 B 的最小的集合,A ∩ B 确实是包含于 A 和 B 的最大的集合。
- (整除格) 考虑所有正整数 n,以及整除关系 |。这个偏序集是一个格吗?对于任意两个正整数 a 和 b,它们的下确界 a ∧ b 就是最大公约数,上确界 a ∨ b 就是最小公倍数。由于最大公约数和最小公倍数总是存在,所以它是一个格。
第五步:格的代数视角
格的定义依赖于序关系 ≤。但我们也可以纯粹从代数运算的角度来定义格。
一个格 是一个代数结构 (L, ∨, ∧),其中 L 是集合,∨ 和 ∧ 是 L 上的两个二元运算(并和交),满足以下公理:对于所有 a, b, c ∈ L,
- 交换律:a ∨ b = b ∨ a; a ∧ b = b ∧ a。
- 结合律:(a ∨ b) ∨ c = a ∨ (b ∨ c); (a ∧ b) ∧ c = a ∧ (b ∧ c)。
- 吸收律:a ∨ (a ∧ b) = a; a ∧ (a ∨ b) = a。
这两种定义(序论定义和代数定义)是等价的。从代数定义出发,我们可以定义 a ≤ b 当且仅当 a ∧ b = a(或者等价地,当且仅当 a ∨ b = b)。这个关系 ≤ 会构成一个偏序,并且在这个偏序下,a ∨ b 和 a ∧ b 正好就是上确界和下确界。
第六步:特殊的格——分配格与有补格
在格的基础上,如果我们增加更多条件,会得到性质更好的格。
-
分配格:如果一个格满足分配律,即对于所有 a, b, c:
- a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
- a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)
那么它被称为分配格。幂集格是分配格,但整除格不一定是。比如,取 ( {1,2,3,6,5,10,15,30}, | ),令 a=2, b=3, c=5,可以验证分配律不成立。
-
有补格:如果一个格存在最大元(记作 1)和最小元(记作 0),并且对于每个元素 a,都存在一个元素 b(称为 a 的补元),使得:
- a ∨ b = 1
- a ∧ b = 0
那么它被称为有补格。在幂集格中,最大元是整个集合,最小元是空集,一个子集 A 的补元就是它的绝对补集 Aᶜ。
-
布尔代数:如果一个格既是分配格,又是有补格,那么它就是一个布尔代数。布尔代数是计算机科学和数字电路设计的数学基础。幂集格就是最典型的布尔代数。
总结
“偏序集与格论”的研究路径可以概括为:
直观的序关系 → 抽象的偏序集 → 引入上/下确界 → 定义出“格” → 格的代数化描述 → 研究特殊的格(分配格、有补格、布尔代数)。
这个理论为理解程序语义、类型系统、逻辑的语义模型(特别是非经典逻辑)以及电路设计提供了坚实的数学基础。