📑 本页目录(点开跳转)
04 · 模型集:连接词就是集合运算
⏱ 29 分钟 | ⭐⭐ 整段逻辑最漂亮的一次视角切换
🎯 一句话
别再把公式看成「一句话」,把它看成「一堆可能世界」——于是 ¬ 变成补集、∧ 变成交集、∨ 变成并集,而「蕴含」变成一句话:小圈套在大圈里。
上一章你一直在竖着填真值表的列。这一章把表横过来看:每一行是一个世界,一个公式就是「它为真的那些行」。
🌍 一、一行真值表,就是一个可能世界
模型 ω(也叫世界)= 给每个命题符号指定真假的一种方式。n 个符号 → 2ⁿ 个世界。
⭐ 关键的心态转变:这 2ⁿ 个世界是固定的舞台,跟你写什么公式无关—— 公式不创造世界,只是从这堆世界里挑出一部分。
定义:$Mod(\varphi)$ = 所有让 $\varphi$ 为真的世界组成的集合。 (讲义里也写作 $M(f)$。一个公式紧凑地表示了一个模型集合。)
🔎 二、公式是筛子:手算一遍
两个符号 P、Q,4 个世界。给它们编号 w₁…w₄:
| 世界 | P | Q | ¬P | P ∧ Q | P ∨ Q | P → Q |
|---|---|---|---|---|---|---|
| w₁ | T | T | F | T | T | T |
| w₂ | T | F | F | F | T | F |
| w₃ | F | T | T | F | T | T |
| w₄ | F | F | T | F | F | T |
把每一列的 T 收集起来,就是那个公式的模型集:
| 公式 | 模型集 | 用 P、Q 的模型集表示 |
|---|---|---|
| P | {w₁, w₂} | — |
| Q | {w₁, w₃} | — |
| ¬P | {w₃, w₄} | ⭐ Mod(P) 的补集 |
| P ∧ Q | {w₁} | ⭐ Mod(P) ∩ Mod(Q) |
| P ∨ Q | {w₁, w₂, w₃} | ⭐ Mod(P) ∪ Mod(Q) |
| P → Q | {w₁, w₃, w₄} | ⭐ Mod(P) 的补集 ∪ Mod(Q) = {w₃,w₄} ∪ {w₁,w₃} |
🧮 三、⭐ 连接词就是集合运算
上面那张表不是巧合。五个连接词,一个不落,全是集合运算:
| 逻辑 | 集合 | 一句话 |
|---|---|---|
| ¬φ | 补集 $\overline{Mod(\varphi)}$ | 剩下的世界 |
| φ ∧ ψ | 交集 $Mod(\varphi) \cap Mod(\psi)$ | 两个都得满足 |
| φ ∨ ψ | 并集 $Mod(\varphi) \cup Mod(\psi)$ | 满足一个就行 |
| φ → ψ | 补集 ∪ $\overline{Mod(\varphi)} \cup Mod(\psi)$ | 要么 φ 不成立,要么 ψ 成立 |
| φ ↔ ψ | 两边互相包含 | 两个筛子筛出同一堆世界 |
⭐ 顺带解释了上一章那个「空真」为什么合理:
P → Q的模型集里,Mod(P) 的补集被整个装了进来—— 所有「P 为假」的世界,一个都不落地满足这个蕴含。 不是逻辑学家耍赖,是集合运算长这样。
⭐ 顺带定义了「等价」:两个字符串完全不同的公式,只要模型集相同,就逻辑等价(写作 ≡)。P → Q 和 ¬P ∨ Q 的模型集都是 {w₁, w₃, w₄},所以 ≡。第 5 章所有的等价变形,本质都是换写法而不换那个集合。
三类公式,用集合重说一遍
| 类别 | 上一章的说法 | 集合的说法 |
|---|---|---|
| 恒真 | 每一行都 T | $Mod(\varphi)$ = 全集(2ⁿ 个世界一个不少) |
| 可满足 | 至少一行 T | $Mod(\varphi) \neq \varnothing$ |
| 不可满足 | 一行都没有 | $Mod(\varphi) = \varnothing$ |
⭐ 比上一章整齐多了:三类公式就是「全集 / 非空 / 空集」。
📦 四、知识库:加一条公式 = 世界变少
知识库 KB 就是一组公式的合取。 由第三节的规则立刻可得:
$$Mod(KB) \;=\; \bigcap_{\varphi \in KB} Mod(\varphi)$$
⭐⭐ 这条公式有一个非常直白的含义:知识就是排除可能性。 你每往 KB 里加一条公式,可能世界只会变少,绝不会变多(交集只会缩)。
P 排掉一半剩 4 个;再加入 P → Q,Q 也被钉成真,只剩 2 个(R 取真取假都行)。知识就是排除可能性——这是本章最该记住的一句话。⚠️ 反过来也成立,而且很致命:如果 KB 自相矛盾(比如同时有 P 和 ¬P),交集就是空集——一个可能世界都不剩。这个情况的后果在下一节。
⊨ 五、⭐ 语义蕴含:整段逻辑的核心定义
$$KB \models \varphi \quad\Longleftrightarrow\quad Mod(KB) \subseteq Mod(\varphi)$$
人话:KB 成立的每一个世界里,φ 也一定成立。
🖐️ 手算一次
KB = {P, P → Q},问 KB ⊨ Q 吗? 用第二节那张表:
- $Mod(P) = \{w_1, w_2\}$,$Mod(P \to Q) = \{w_1, w_3, w_4\}$
- $Mod(KB) = \{w_1, w_2\} \cap \{w_1, w_3, w_4\} = \{w_1\}$
- $Mod(Q) = \{w_1, w_3\}$
- $\{w_1\} \subseteq \{w_1, w_3\}$ ✅ → KB ⊨ Q
⭐ 你刚刚用集合验证了假言推理(Modus Ponens)。这就是「从 P 和 P → Q 推出 Q」在语义层面的全部内容。
💥 矛盾的知识库能证明一切
上一节说 KB 自相矛盾时 $Mod(KB) = \varnothing$。而空集是任何集合的子集,于是:
$$Mod(KB) = \varnothing \;\Longrightarrow\; KB \models \varphi \quad\text{对任何 } \varphi \text{ 都成立}$$
⚠️ 这叫「爆炸原理」(ex falso quodlibet):自相矛盾的知识库不是「有一处错」,而是「整个废了」——它能证明「1+1=3」,也能证明它的否定。 ⭐ 所以规则引擎、本体库、约束系统上线前都要先做一致性检查——矛盾会让所有结论同时失去意义,而系统不会报错。
🔀 六、⊢ 和 ⊨ 是两条完全不同的路
| ⊢(可推导 / provability) | ⊨(蕴含 / entailment) | |
|---|---|---|
| 属于 | 语法 | 语义 |
| 定义 | 存在一串机械的推导步骤,从 KB 走到 φ | KB 为真的每个世界里 φ 都真 |
| 怎么验证 | 摆符号,按规则一步步变形 | 查世界,看 2ⁿ 个模型 |
| 机器友好吗 | ⭐ 非常(就是符号替换) | ⚠️ 要遍历指数多的世界 |
⭐ 注意这里的不对称:我们想要的是 ⊨(真理),但机器能做的是 ⊢(符号操作)。 所以必须问一个问题:这两个东西是同一个东西吗?
🎯 七、可靠性与完备性
| 性质 | 形式 | 人话 | 违反的后果 |
|---|---|---|---|
| 可靠(sound) | KB ⊢ φ ⟹ KB ⊨ φ | 推出来的都是真的 | 💀 系统会输出错误结论且理直气壮 |
| 完备(complete) | KB ⊨ φ ⟹ KB ⊢ φ | 真的都能推出来 | 结论是对的但推不出来,系统「不知道自己知道」 |
⭐ 记忆法:可靠 = 不说谎,完备 = 不遗漏。 两者都要,但如果只能要一个——可靠性是底线。 一个不可靠的推理器比没有推理器更糟:它会污染下游所有依赖它的判断。
⚠️ 一个具体的不完备例子
只用假言推理这一条规则,够不够?
KB = {p, p → q, q → r}
- 用 MP:得到 q
- 再用 MP:得到 r
- 然后就没了。
但 KB ⊨ p → r 是成立的(KB 的模型只有 p=q=r=T 那一个,而 p → r 在那里为真)。
⭐ 假言推理推不出 p → r——它只会从「A 和 A→B」造出 B,永远造不出一个新的箭头。
所以 MP 是可靠的,但不完备。第 5 章要换一条更强的规则——分辨率,它配上反证法之后就够用了。
可判定性
命题逻辑是可判定的:真值表法是一个必定停机的机械过程,问什么都能答「是」或「否」。 ⚠️ 代价还是那个 2ⁿ(上一章第七节)。⭐ 到第 6 章你会看到,一阶逻辑连这个都保不住。
🔗 这一章连到哪里
| 去哪 | 为什么 |
|---|---|
| 05 · 推理与分辨率 | ⭐ 那一章的反证法为什么合法,答案就是本章第五节的集合命题:KB ⊨ φ ⟺ Mod(KB) 和 Mod(¬φ) 的交是空的 |
| 03 · 命题逻辑 | 回去看那个「读法 B 比读法 A 更强」——现在你知道它的准确含义是 Mod(B) ⊆ Mod(A) |
| 智能体工程教程 11 · 检索与 RAG | ⚠️ 同一个词,两种东西:RAG 的「知识库」是一堆文档,靠相似度召回,答案可能不在里面;逻辑的知识库是一组约束,靠蕴含取结论,答案必然成立。⭐ 搞混这两者是 LLM+知识库项目最常见的期望错位 |
| 数学原理 11 · 没有免费的午餐 | ⭐ 同一个几何图像:那一章说「不加假设就学不到东西」,本章说「不加公式就排除不掉世界」——归纳偏置之于假设空间,正如 KB 之于可能世界 |
✅ 检查点
- 「模型 / 世界」是什么?n 个符号有多少个?为什么说「公式不创造世界」?
- 五个连接词分别对应哪个集合运算?用集合的说法解释「空真」为什么合理。恒真 / 可满足 / 不可满足用集合怎么说?
- Mod(KB) 怎么算?为什么说「知识就是排除可能性」?三符号那个例子里三个数字分别是多少?
- 写出语义蕴含的定义。要推翻一个蕴含,需要找到什么?
- 手算:KB = {P, P → Q},验证 KB ⊨ Q。
- 矛盾的知识库会怎样?为什么说它「不是有一处错,而是整个废了」?
- ⊢ 和 ⊨ 分别属于语法还是语义?可靠性和完备性各是什么,哪个是底线?
- 只用假言推理为什么不完备?给出那个具体的反例。
👀 答案
- 模型(世界)= 给每个命题符号指定真假的一种方式,n 个符号有 2ⁿ 个。说公式不创造世界,是因为这 2ⁿ 个世界是固定的舞台,跟你写什么公式无关——公式只是从中挑出一部分。
- ¬ = 补集、∧ = 交集、∨ = 并集、→ = 补集 ∪、↔ = 互相包含。空真:
P → Q的模型集里 Mod(P) 的补集被整个装了进去,所以所有「P 为假」的世界一个不落地满足它。三类公式:恒真 = 全集、可满足 ≠ ∅、不可满足 = ∅。 - Mod(KB) = KB 里所有公式模型集的交集;交集只缩不涨,每加一条公式可能世界只会变少。三符号例子:8 个 → 4 个 → 2 个(最后只剩 R 自由)。
- KB ⊨ φ ⟺ Mod(KB) ⊆ Mod(φ)。要推翻它,只需找到一个落在 Mod(KB) 里、却不在 Mod(φ) 里的世界——⭐ 一个反例就够。
- Mod(P) = {w₁, w₂};Mod(P → Q) = {w₁, w₃, w₄};交集 Mod(KB) = {w₁};Mod(Q) = {w₁, w₃};{w₁} ⊆ {w₁, w₃} ✅ 成立。⭐ 这就是假言推理的语义内容。
- Mod(KB) = ∅,而空集是任何集合的子集,所以 KB 蕴含一切公式(爆炸原理)。说它整个废了,是因为它能同时证明一个命题和它的否定,所有结论一起失去意义,而系统不会报错。
- ⊢ 属于语法(摆符号,机器友好),⊨ 属于语义(查 2ⁿ 个世界)。可靠 = 推出来的都是真的(不说谎);完备 = 真的都能推出来(不遗漏)。⭐ 可靠性是底线——不可靠的推理器会理直气壮地输出错误结论并污染下游。
- 因为假言推理只会从「A 和 A → B」造出 B,永远造不出一个新的箭头。反例:KB = {p, p → q, q → r},MP 得到 q 和 r 就到头,但 KB ⊨ p → r(KB 的模型只有 p=q=r=T 那一个)。所以 MP 可靠但不完备。
🛑 可以停在这里
⚡ 走神救援
⭐⭐ 本章只做一件事:把公式从「一句话」翻译成「一堆可能世界」。模型(世界)= 一次真值指派,n 个符号有 2ⁿ 个世界,这是固定舞台;公式只是筛子,$Mod(\varphi)$ = 让它为真的那些世界。于是五个连接词全是集合运算:¬ = 补集、∧ = 交集、∨ = 并集、→ = 补集 ∪、↔ = 互相包含——⭐ 顺带解释了「空真」:
P → Q的模型集整个装下了 Mod(P) 的补集,P 为假的世界一个不落。三类公式也整齐了:恒真 = 全集、可满足 = 非空、不可满足 = 空集。知识库 KB = 一组公式的合取,所以 Mod(KB) = 各模型集的交集;交集只缩不涨,⭐⭐ 知识就是排除可能性——三个符号 P、Q、R 共 8 个世界,加P剩 4 个,再加P → Q只剩 2 个。⭐⭐ 核心定义:KB ⊨ φ ⟺ Mod(KB) ⊆ Mod(φ),图上就是小圈套在大圈里;要推翻它只需找一个落在小圈外的世界(一个反例就够)。手算过一次:KB = {P, P→Q} 的模型是 {w₁},Mod(Q) = {w₁, w₃},包含成立 → KB ⊨ Q,这正是假言推理的语义版。⚠️ 爆炸原理:KB 自相矛盾 → Mod(KB) = ∅ → 空集是任何集合的子集 → 它蕴含一切;所以矛盾的知识库不是有一处错,是整个废了,而且系统不会报错——这就是一致性检查的意义。⊢ 是语法(摆符号、机器友好)、⊨ 是语义(查 2ⁿ 个世界):我们想要的是 ⊨,机器能做的是 ⊢,于是必须问它们对不对得上——可靠 = 推出来的都真(不说谎),完备 = 真的都能推出来(不遗漏),⭐ 可靠性是底线。⚠️ 只用假言推理是不完备的:KB = {p, p→q, q→r} 能推出 q、r 就到头,但 KB ⊨ p→r——MP 永远造不出一个新的箭头。命题逻辑可判定(真值表必定停机),代价仍是 2ⁿ。
下一节 👉 05-推理与分辨率.md ⭐⭐
去那里的理由:本章证明了假言推理不够用。05 换上分辨率这一条规则, 再配上反证法——而反证法之所以合法,靠的正是本章第五节那个集合命题。