Week 2: 模态逻辑入门¶
COMP304/521 知识表示与推理
Knowledge Representation & Reasoning
目录¶
1. 为什么需要模态逻辑?¶
1.1 命题逻辑的局限:真值函数性¶
回顾:命题逻辑的所有连接词都是真值函数式(Truth-functional)的。
定义:一个连接词是真值函数式的,当且仅当复合公式的真值完全由子公式的真值决定。
例子:
通俗解释:只要知道子公式的真值,就能立即计算出整个公式的真值,不需要其他信息。
1.2 非真值函数现象¶
现实中有很多重要概念不是真值函数式的:
1.2.1 知识(Knowledge)¶
例子:"2+2=4"为真,你知道;但"你的出生时间的UNIX时间戳是偶数"可能为真,但你不知道。
1.2.2 必然性(Necessity)¶
1.2.3 其他非真值函数概念¶
| 概念 | 例子 | 为什么不是真值函数? |
|---|---|---|
| 道义(Obligation) | "φ应该为真" | φ为真不代表应该为真 |
| 时间(Temporal) | "将来φ总是真" | 当前φ真不能确定将来 |
| 信念(Belief) | "我相信φ" | φ真不代表我相信它 |
| 法律(Legal) | "φ是法律要求" | φ真不代表法律要求 |
1.3 解决方案:模态逻辑¶
问题:命题逻辑无法表达这些非真值函数概念。
解决:引入模态逻辑(Modal Logic) - 保留命题逻辑的所有内容 - 添加新的模态算子(Modal Operators):\(\Box\) 和 \(\Diamond\)
2. 模态逻辑语言¶
2.1 语法定义¶
命题逻辑语言(复习): [ \phi \coloneqq p \mid \neg \phi \mid \phi \land \psi ]
模态逻辑语言(新增): [ \phi \coloneqq p \mid \neg \phi \mid \phi \land \psi \mid \Box \phi ]
唯一的新增部分:如果 \(\phi\) 是公式,则 \(\Box \phi\) 也是公式。
完整语言(包含所有连接词): [ \phi \coloneqq p \mid \neg \phi \mid \phi \land \psi \mid \phi \lor \psi \mid \phi \rightarrow \psi \mid \phi \leftrightarrow \psi \mid \Box \phi ]
2.2 Diamond算子¶
定义:\(\Diamond \phi\) 是一个缩写(Abbreviation): [ \Diamond \phi \coloneqq \neg \Box \neg \phi ]
为什么这样定义?
类比命题逻辑: [ \phi \lor \psi \coloneqq \neg(\neg \phi \land \neg \psi) ] 就像 \(\lor\) 可以用 \(\neg\) 和 \(\land\) 定义,\(\Diamond\) 可以用 \(\neg\) 和 \(\Box\) 定义。
2.3 合式公式示例¶
验证:\(\Box(\Box p \lor \Diamond \Box q)\) 是合法的模态逻辑公式吗?
步骤1:p 是原子命题 → p 是公式 ✓
步骤2:p 是公式 → □p 是公式 ✓
步骤3:q 是原子命题 → q 是公式 ✓
步骤4:q 是公式 → □q 是公式 ✓
步骤5:□q 是公式 → ◇□q 是公式 ✓
(因为 ◇ 是缩写:◇□q = ¬□¬□q)
步骤6:□p 和 ◇□q 都是公式
→ □p ∨ ◇□q 是公式 ✓
步骤7:□p ∨ ◇□q 是公式
→ □(□p ∨ ◇□q) 是公式 ✓
结论:是合法公式 ✅
⚠️ 重要:模态算子可以嵌套(Stack)使用,例如: - \(\Box \Box p\)("必然地必然p") - \(\Diamond \Box \Diamond p\)("可能地必然地可能p") - \(\Box(\Diamond p \land \Box q)\)
3. Box和Diamond的含义¶
3.1 Box(\(\Box\))的六种含义¶
| 逻辑类型 | 名称 | \(\Box \phi\) 的含义 | 英文 |
|---|---|---|---|
| Alethic | 真理逻辑 | \(\phi\) 是必然真的 | \(\phi\) is necessarily true |
| Epistemic | 认知逻辑 | 我知道 \(\phi\) 是真的 | I know that \(\phi\) is true |
| Doxastic | 信念逻辑 | 我相信 \(\phi\) 是真的 | I believe that \(\phi\) is true |
| Temporal | 时态逻辑 | 将来任何时候 \(\phi\) 都为真 | At every time in the future, \(\phi\) is true |
| Deontic | 道义逻辑 | \(\phi\) 应该为真 | \(\phi\) should be true |
| Legal | 法律逻辑 | \(\phi\) 是法律要求 | \(\phi\) is legally required to be true |
3.2 Diamond(\(\Diamond\))的六种含义¶
| 逻辑类型 | \(\Diamond \phi\) 的含义 | 英文 |
|---|---|---|
| Alethic | \(\phi\) 是可能真的 | \(\phi\) is possibly true |
| Epistemic | 据我所知,\(\phi\) 可能为真 | As far as I know, \(\phi\) might be true |
| Doxastic | 我认为 \(\phi\) 可能为真 | I believe that \(\phi\) might be true |
| Temporal | 将来某时 \(\phi\) 为真 | At some time in the future, \(\phi\) will be true |
| Deontic | \(\phi\) 是被允许的 | \(\phi\) is allowed to be true |
| Legal | \(\phi\) 是合法的 | It is legal for \(\phi\) to be true |
3.3 如何选择含义?¶
原则:根据推理的主题(Context)选择。
例子: - 推理关于时间?→ 使用Temporal含义 - 推理关于知识?→ 使用Epistemic含义 - 推理关于法律?→ 使用Legal含义
3.4 为什么一个符号有这么多含义?¶
疑问:\(\Box\) 怎么能同时表示知识、必然性、义务...?
答案:在形式层面,这些不同含义的行为方式是相同的(或至少非常相似)。
注释: - 准确来说,有一些细微差别 - 这些差别将在Week 5-6(认知逻辑)讨论 - 现在,可以认为它们行为完全相同
4. 翻译技巧:从模态逻辑到英语¶
4.1 翻译步骤¶
策略:从外到内,逐层替换。
步骤: 1. 确定使用哪种含义(Alethic/Epistemic/...) 2. 替换最外层的 \(\Box\) 或 \(\Diamond\) 3. 递归处理内层算子 4. 整理成流畅的英语
4.2 例题1:Alethic逻辑¶
公式:\(\Box(\Box p \lor \Diamond \Box q)\)
翻译过程:
步骤1:确定含义
使用Alethic逻辑(真理逻辑)
□ = "is necessarily true that"
◇ = "is possibly true that"
步骤2:替换最外层的□
□(□p ∨ ◇□q)
→ "it is necessarily true that (□p ∨ ◇□q)"
步骤3:替换内层的□p
□p
→ "it is necessarily true that p"
步骤4:替换◇□q
◇□q
→ "it is possibly true that □q"
→ "it is possibly true that (it is necessarily true that q)"
步骤5:组合
"it is necessarily true that
(it is necessarily true that p
or
it is possibly true that it is necessarily true that q)"
步骤6:整理成更好的英语
"It is necessary that either p is necessary
or q is possibly necessary."
4.3 例题2:Epistemic逻辑¶
公式:\(\Box(\Box p \lor \Diamond \Box q)\)
翻译过程:
步骤1:确定含义
使用Epistemic逻辑(知识逻辑)
□ = "I know that"
◇ = "I consider it possible that"
步骤2:逐层替换
□(□p ∨ ◇□q)
→ "I know that (□p ∨ ◇□q)"
→ "I know that (I know that p or ◇□q)"
→ "I know that (I know that p
or I consider it possible that □q)"
→ "I know that (I know that p
or I consider it possible that I know that q)"
步骤3:整理成更好的英语
"I know that I either know p
or consider it possible that I know q."
4.4 是否合理?¶
疑问:这些句子看起来很奇怪,现实中会说吗?
回答: - ✅ 这些句子是逻辑上连贯的(Coherent) - ✅ 它们有明确的含义(Clearly defined meaning) - ❌ 但在日常对话中很少使用
类比: - 就像数学中的 \(x^3 + 2x^2 - 5 = 0\) - 逻辑上完全有效,但不会在日常聊天中出现
4.5 著名公式示例¶
4.5.1 Temporal逻辑:\(\Box \Diamond p\)¶
翻译:
□◇p
→ "At every point in the future, ◇p"
→ "At every point in the future,
p will be true some later time"
含义:在任何未来时刻,\(p\) 总会在更晚的某个时刻变为真。
应用:程序验证中的活性(Liveness)性质 - 例如:系统总会最终响应请求
4.5.2 Deontic逻辑:\(\Box p \rightarrow \Diamond p\)¶
翻译:
含义:如果某事是义务,那它也是被允许的。
哲学原理:"应然蕴含能然(Ought implies Can)" - 道德要求你做某事 → 你必须有能力做这件事
4.5.3 Legal逻辑:\(\neg \Diamond \Box \neg p\)¶
翻译:
¬◇□¬p
→ "it is not permitted to (□¬p)"
→ "it is not permitted to (require that ¬p)"
→ "it is not permitted to forbid p"
含义:不允许禁止 \(p\)。
应用:美国宪法第一修正案 - "国会不得制定...剥夺言论自由的法律" - 即:不允许禁止言论自由
4.5.4 Epistemic逻辑:\(\Box p \rightarrow \Box \Box p\)¶
翻译:
含义:如果你知道某事,那么你知道你知道它。
概念:正内省(Positive Introspection) - 你总能意识到自己知道什么 - 这是认知逻辑的重要性质(Week 5-6详细讨论)
5. 翻译技巧:从英语到模态逻辑¶
5.1 为什么更难?¶
原因:英语不够精确(English isn't as precise as logic)
主要问题: 1. 算子作用域不明确(Scope ambiguity) 2. 隐式逻辑结构(Implicit logical structure) 3. 自然语言歧义(Natural language ambiguity)
5.2 简单例题¶
例题5.1¶
英语:"I know that today is Thursday"
翻译:
步骤1:识别上下文
"I know that" → Epistemic逻辑
步骤2:识别原子命题
p = "today is Thursday"
步骤3:应用模态算子
"I know that p" → □p
答案:□p (其中 p = "today is Thursday")
例题5.2¶
英语:"If it is legal to walk here, then it is also legal to stand here"
翻译:
步骤1:识别上下文
"legal" → Legal逻辑
步骤2:识别原子命题
p = "walk here"
q = "stand here"
步骤3:识别结构
"it is legal to..." → ◇(...)
"if...then..." → → (蕴含)
步骤4:组合
"If ◇p, then ◇q" → ◇p → ◇q
答案:◇p → ◇q
5.3 复杂例题:歧义处理¶
例题5.3A¶
英语:"I know that it is Monday or it is Tuesday"
歧义点:"or"的作用域不明确
可能翻译1:
可能翻译2:
⭐ 考试要点: - 任何合理的(Plausible)翻译都被认为正确 - 通常情况下,翻译2更符合自然语言习惯 - 但翻译1也是语法上可能的
例题5.3B¶
英语:"I know that it is Monday or that it is Tuesday"
注意:多了一个"that"
歧义分析:
可能翻译1:
可能翻译2:
"I know that it is Monday or [I know] that it is Tuesday"
→ □p ∨ □q
理由:"or"分隔了两个"I know"
(第二个"I know"被省略了)
例题5.4¶
英语:"You are required to wash your hands if you went to the bathroom"
歧义点:"required"的作用域
原子命题:
可能翻译1:
可能翻译2:
⭐ 哪个更合理? - 翻译1 更常见:法律通常规定条件性义务 - 但两种翻译在语法上都是可能的
5.4 翻译策略总结¶
步骤1:明确上下文 - 识别关键词:know, believe, necessary, must, legal, future... - 确定使用哪种模态逻辑
步骤2:识别原子命题 - 找出不可再分的基本事实 - 用 \(p, q, r\) 表示
步骤3:识别逻辑结构 - "or" → \(\lor\) - "and" → \(\land\) - "if...then" → \(\rightarrow\) - "not" → \(\neg\)
步骤4:添加模态算子 - "I know / believe / ..." → \(\Box\) - "possibly / allowed / might" → \(\Diamond\)
步骤5:处理歧义 - 考虑不同的括号分组 - 选择最合理的解释 - 考试时:任何合理翻译都可以
6. 可能世界初步(预告Week 3)¶
⚠️ 预告:Week 3将深入学习可能世界语义。这里先做简单介绍。
6.1 什么是可能世界?¶
定义:可能世界是对宇宙某个可能状态的描述(或至少是我们关心的那部分)。
例子:假设我们只关心"利物浦是否下雨"
其中一个是真实世界(Actual World),另一个是假设的替代世界(Hypothetical Alternative)。
6.2 公式的真值取决于世界¶
命题逻辑 vs 模态逻辑:
命题逻辑:
问:"p为真吗?"
需要:一个赋值 V
答:"V(p) = 1"
模态逻辑:
问:"p为真吗?"
需要:指定在哪个世界!
M, w₁ ⊨ p (在世界w₁中,p为真)
M, w₂ ⊭ p (在世界w₂中,p为假)
例子:
6.3 世界之间的关系(Relations)¶
关键思想:世界之间有箭头(Arrows)连接。
Epistemic逻辑的关系含义:
图形表示:
模型图:
w₁ (下雨) w₂ (不下雨)
p
┌──○──┐ ┌──○──┐
│ ↻ │ ←──→ │ ↻ │
└─────┘ └─────┘
箭头说明:
- w₁ → w₁: 在w₁中,我认为可能在w₁
- w₁ → w₂: 在w₁中,我认为可能在w₂
- w₂ → w₁: 在w₂中,我认为可能在w₁
- w₂ → w₂: 在w₂中,我认为可能在w₂
原因:无窗房间内观察相同,无法区分两个世界
**形式化表示**:
\[
M = (W, R, V)
\]
其中:
- \(W = \{w_1, w_2\}\)
- \(R = \{(w_1, w_1), (w_1, w_2), (w_2, w_1), (w_2, w_2)\}\)
- \(V(p) = \{w_1\}\)
#### 情景2:有窗房间(能看到是否下雨)
模型图:
w₁ (下雨) w₂ (不下雨)
p
┌──○──┐ ┌──○──┐
│ ↻ │ │ ↻ │
└─────┘ └─────┘
箭头说明:
- w₁ → w₁: 在w₁中,我知道在w₁
- w₂ → w₂: 在w₂中,我知道在w₂
- 没有w₁ → w₂: 在w₁中,我知道不在w₂
- 没有w₂ → w₁: 在w₂中,我知道不在w₁
原因:通过窗户能观察到雨,可以区分两个世界
**形式化表示**:
\[
M' = (W, R', V)
\]
其中:
- \(W = \{w_1, w_2\}\)
- \(R' = \{(w_1, w_1), (w_2, w_2)\}\)(注意:减少了箭头!)
- \(V(p) = \{w_1\}\)
### 6.5 关系的直观理解
**自反箭头(Self-loop)**:\(w \rightarrow w\)
在世界w中,我的观察与w本身一致 (总是为真)
在w₁中无法排除w₂ 在w₂中无法排除w₁ (观察在两个世界中相同)
在w₁中认为可能在w₂ 但在w₂中知道不在w₁ (不常见,通常是对称的)
```
6.6 下周预告¶
Week 3 将学习: - 模型(Model)的完整形式化定义:\(M = (W, R, V)\) - Pointed Model:\(M, w\) - 语义规则:\(M, w \models \Box \phi\) 当且仅当对所有successor \(w'\),有 \(M, w' \models \phi\) - 模型检查(Model Checking)技巧
预习建议: - 思考:如果有3个世界,关系会是什么样? - 尝试画出一些简单模型 - 理解"successor"的概念
7. 练习题¶
Exercise 7.1 - 翻译:模态逻辑→英语¶
将以下公式翻译成英语(使用Epistemic逻辑):
- \(\Box p \land \Diamond q\)
- \(\Diamond(p \land \neg q)\)
- \(\Box(p \rightarrow \Box q)\)
- \(\Diamond \Box p \lor \Box \Diamond q\)
答案
1. "I know that p and I consider it possible that q" 2. "I consider it possible that (p and not q)" 3. "I know that (if p then I know that q)" 4. "Either I consider it possible that I know p, or I know that I consider it possible that q"Exercise 7.2 - 翻译:英语→模态逻辑¶
将以下句子翻译成模态逻辑(指定上下文):
- "It is necessarily true that p or q" (Alethic)
- "I believe that if p then q" (Doxastic)
- "It is not allowed to forbid p" (Deontic)
- "I know that I don't know q" (Epistemic)
答案
1. \(\Box(p \lor q)\) 或 \(\Box p \lor \Box q\)(两种都可能合理,取决于理解) 2. \(\Box(p \rightarrow q)\) 3. \(\neg \Diamond \Box \neg p\) 4. \(\Box \neg \Box q\) 或 \(\Box \Diamond \neg q\)(等价的)Exercise 7.3 - 识别歧义¶
指出以下句子的所有可能的模态逻辑翻译:
- "I know that p and q" (Epistemic)
- "It is possible that p is necessary" (Alethic)
- "If you must do p, then you must do q" (Deontic)
答案
1. 可能翻译: - \(\Box(p \land q)\) — "I know that (p and q)" - \(\Box p \land q\) — "(I know p) and q" - \(\Box p \land \Box q\) — "I know p and I know q" 2. 只有一种: - \(\Diamond \Box p\) 3. 可能翻译: - \(\Box p \rightarrow \Box q\) — 更常见 - \(\Box(p \rightarrow q)\) — 也可能Exercise 7.4 - 综合应用¶
情境:假设你在一个无窗房间里,不知道外面是否下雨。
用Epistemic模态逻辑表达以下句子(\(r =\) "正在下雨"):
- "我不知道是否在下雨"
- "我知道我不知道是否在下雨"
- "可能在下雨,也可能没下雨"
答案
1. \(\Diamond r \land \Diamond \neg r\) 或 \(\neg \Box r \land \neg \Box \neg r\) 2. \(\Box(\Diamond r \land \Diamond \neg r)\) 或 \(\Box \neg \Box r \land \Box \neg \Box \neg r\) 3. 同1:\(\Diamond r \land \Diamond \neg r\)Exercise 7.5 - 可能世界初步¶
根据Section 6的内容回答:
- 在无窗房间模型中,\(w_1\) 有几个successor?
- 在有窗房间模型中,\(w_1\) 有几个successor?
- 如果增加第三个世界 \(w_3\)("下雪"),无窗房间模型的箭头会如何变化?
答案
1. 2个successor:\(w_1\) 和 \(w_2\) 2. 1个successor:\(w_1\)(只有自反箭头) 3. 每个世界都会连向所有世界(包括自己),因为无法区分任何世界8. 考试重点¶
8.1 Week 2不在Class Test 1直接考察范围¶
重要提示: - Week 2内容主要是概念理解和翻译技巧 - Class Test 1不会直接考Week 2的翻译题 - 但Week 2是理解Week 3-4(模态逻辑语义)的基础
8.2 必须掌握的技能¶
| 技能 | 重要程度 | 说明 |
|---|---|---|
| 理解真值函数性 | ⭐⭐⭐⭐⭐ | 为什么需要模态逻辑 |
| 识别六种含义 | ⭐⭐⭐⭐⭐ | Alethic/Epistemic/... |
| 模态逻辑→英语 | ⭐⭐⭐⭐ | 逐层替换法 |
| 英语→模态逻辑 | ⭐⭐⭐⭐ | 识别歧义 |
| \(\Box\) 和 \(\Diamond\) 关系 | ⭐⭐⭐⭐⭐ | \(\Diamond \phi \equiv \neg \Box \neg \phi\) |
| 可能世界直观理解 | ⭐⭐⭐⭐⭐ | Week 3的前置知识 |
8.3 常见错误¶
❌ 错误1:混淆不同含义 - \(\Box p\) 在Epistemic中是"知道",在Alethic中是"必然" - 必须先确定上下文
❌ 错误2:翻译时忘记处理嵌套 - \(\Box \Diamond p\) 不是"知道可能p" - 应该是"知道(可能p)"或"I know that (it is possible that p)"
❌ 错误3:英语翻译过于死板 - "it is necessarily true that it is necessarily true that p" - 可以简化为"p is necessarily necessary"
❌ 错误4:忽略歧义 - 英语句子可能有多种理解 - 考试时应选择最合理的一种,但要意识到其他可能性
❌ 错误5:不理解可能世界的直观含义 - 世界不是"地点",是"宇宙状态" - 箭头不是"移动",是"认为可能"
8.4 学习建议¶
Day 1(今天): - 完全理解真值函数性 - 记住六种含义表格(建议制作卡片) - 做10道模态逻辑→英语练习
Day 2(明天): - 练习英语→模态逻辑翻译 - 特别关注歧义句子 - 做Exercise 7.1-7.4
Day 3(后天): - 复习可能世界初步内容 - 尝试画简单模型 - 预习Week 3内容
9. 重要公式速查¶
9.1 著名公式¶
| 公式 | 上下文 | 含义 | 名称 |
|---|---|---|---|
| \(\Box \Diamond p\) | Temporal | 总会再次发生 | Liveness |
| \(\Box p \rightarrow \Diamond p\) | Deontic | 应然蕴含能然 | Ought implies Can |
| \(\neg \Diamond \Box \neg p\) | Legal | 不得禁止p | Freedom of p |
| \(\Box p \rightarrow \Box \Box p\) | Epistemic | 知道则知道自己知道 | Positive Introspection |
| \(\neg \Box p \rightarrow \Box \neg \Box p\) | Epistemic | 不知道则知道自己不知道 | Negative Introspection |
9.2 基本等价式¶
| 等价式 | 名称 |
|---|---|
| \(\Diamond \phi \equiv \neg \Box \neg \phi\) | Diamond定义 |
| \(\Box \phi \equiv \neg \Diamond \neg \phi\) | Box的对偶定义 |
| \(\Diamond(\phi \lor \psi) \equiv \Diamond \phi \lor \Diamond \psi\) | Diamond分配律(析取) |
| \(\Box(\phi \land \psi) \equiv \Box \phi \land \Box \psi\) | Box分配律(合取) |
⚠️ 注意不等价: - \(\Box(\phi \lor \psi) \not\equiv \Box \phi \lor \Box \psi\) - \(\Diamond(\phi \land \psi) \not\equiv \Diamond \phi \land \Diamond \psi\)