跳转至

Week 1: 课程介绍 + 命题逻辑基础

COMP304/521 知识表示与推理
Knowledge Representation & Reasoning


目录

  1. 课程概览
  2. 命题逻辑语言
  3. 语义与真值表
  4. 有效性
  5. 证明系统P
  6. 可靠性与完备性
  7. 练习题
  8. 考试重点

1. 课程概览

1.1 课程信息

  • 讲师:Dr. Louwe Kuijer
  • 课程代码
  • COMP304:本科Year 3
  • COMP521:研究生MSc
  • 差异:COMP521对证明系统要求更高,需要主动构造证明

1.2 评估方式

考核项目 占比 时间 时长 形式
Class Test 1 13% Week 6 (10月28日) 45分钟 线下笔试
Class Test 2 12% Week 11 45分钟 线下笔试
期末考试 75% 考试周 - 线下笔试

⚠️ 重点:Class Test 1 覆盖 Week 1-5(命题逻辑 + 模态逻辑基础)

1.3 课程结构(11周)

周次 主题 说明
Week 1 命题逻辑(Propositional Logic) 前置知识复习
Week 2-4 模态逻辑(Modal Logic) 核心内容
Week 5-7 认知逻辑(Epistemic Logic) 特化的模态逻辑
Week 8-10 描述逻辑(Description Logic) 本体论应用
Week 11 复习 考试准备

1.4 学习资源

  • Canvas:所有课件、练习题、往年试卷
  • Panopto:讲座录播(2025现场 + 2020专门录播)
  • Message Board:提问优先渠道
  • 教材(可选):图书馆有电子版和纸质版

1.5 练习题类型

1. 普通练习(Regular Exercises) - 难度:从简单到考试难度 - 目标:60-70分及格水平 - 答案:每个block结束后一周公布

2. 额外练习(Extra Exercises) - 难度:超过考试难度 - 目标:90+分追求卓越 - 答案:不公布(但逻辑题容易自我验证) - 注意:Tutor可能不会帮助这部分


2. 命题逻辑语言

命题逻辑是最简单的逻辑系统,也是所有其他逻辑的基础。

2.1 语法定义

最小语言(核心): [ \phi \coloneqq p \mid \neg \phi \mid \phi \land \psi ]

其中: - \(p \in \mathbb{P}\):原子命题集合 \(\{p, q, r, p_1, q_1, \ldots\}\) - \(\neg\):否定(Negation) - \(\land\):合取(Conjunction)

完整语言(包含派生连接词): [ \phi \coloneqq p \mid \neg \phi \mid \phi \land \psi \mid \phi \lor \psi \mid \phi \rightarrow \psi \mid \phi \leftrightarrow \psi ]

2.2 逻辑连接词

符号 名称 读作 英文
\(\neg\) 否定 not Negation
\(\land\) 合取 and Conjunction
\(\lor\) 析取 or Disjunction
\(\rightarrow\) 蕴含 implies / if...then Implication
\(\leftrightarrow\) 双向蕴含 if and only if (iff) Bi-implication

符号读音指南: - \(\phi\):phi(发音:fai) - \(\psi\):psi(发音:sai) - \(\gamma\):gamma - \(\Gamma\):大写Gamma(表示公式集合)

2.3 合式公式(Well-Formed Formulas, WFF)

递归构造规则: 1. 每个原子命题 \(p \in \mathbb{P}\) 是公式 2. 如果 \(\phi\) 是公式,则 \(\neg \phi\) 是公式 3. 如果 \(\phi\)\(\psi\) 都是公式,则以下都是公式: - \((\phi \land \psi)\) - \((\phi \lor \psi)\) - \((\phi \rightarrow \psi)\) - \((\phi \leftrightarrow \psi)\) 4. 仅此而已(没有其他方式构造公式)

括号省略规则

允许省略(不产生歧义): - \(p \lor q \lor r\)(结合律成立) - 最外层括号可以省略

不允许省略(会产生歧义): - \(p \lor q \land r\)(可能是 \((p \lor q) \land r\)\(p \lor (q \land r)\)) - \(p \rightarrow q \rightarrow r\)(蕴含不满足结合律)

⭐ 否定绑定优先级最高: - \(\neg p \rightarrow q\) = \((\neg p) \rightarrow q\)不是 \(\neg(p \rightarrow q)\)


3. 语义与真值表

3.1 赋值函数(Valuation)

定义: [ V: \mathbb{P} \rightarrow {0, 1} ] 给每个原子命题分配真值(True = 1,False = 0)。

3.2 基本连接词真值表

否定(\(\neg\)

p | ¬p
---+----
0 |  1
1 |  0

合取(\(\land\)):"and",全真才真

p | q | p∧q
---+---+----
0 | 0 |  0
0 | 1 |  0
1 | 0 |  0
1 | 1 |  1

析取(\(\lor\)):"or",至少一个真

p | q | p∨q
---+---+----
0 | 0 |  0
0 | 1 |  1
1 | 0 |  1
1 | 1 |  1

蕴含(\(\rightarrow\))⭐ 重点理解

p | q | p→q | 解释
---+---+-----+------------------
0 | 0 |  1  | 前件假,空虚为真
0 | 1 |  1  | 前件假,空虚为真
1 | 0 |  0  | 唯一为假的情况
1 | 1 |  1  | 承诺履行

理解方法1:承诺解释

\(p \rightarrow q\) 看作承诺"如果 \(p\),那么 \(q\)"。

例子:"如果下雨(\(p\)),我就带伞(\(q\))"

情况分析:

1. 不下雨,不带伞 (p=0, q=0) → 承诺未触发 → 没违背 → 真
2. 不下雨,带伞   (p=0, q=1) → 承诺未触发 → 没违背 → 真
3. 下雨,不带伞   (p=1, q=0) → 违背承诺 → 假 ❌
4. 下雨,带伞     (p=1, q=1) → 履行承诺 → 真 ✓

理解方法2:等价变换 [ p \rightarrow q \equiv \neg p \lor q ] "要么前提不成立,要么结论成立"

⚠️ 空虚为真(Vacuously True): - 当前件 \(p\) 为假时,无论 \(q\) 真假,\(p \rightarrow q\) 都为真 - 例子:"如果我是总统,月亮是奶酪做的" — 逻辑上是(因为我不是总统)

常见错误: - ❌ 不要把 \(p \rightarrow q\) 理解成因果关系 - ❌ 不要认为 \(p\)\(q\) 必须有实际联系 - ✅ 蕴含只是逻辑关系,不是时间或因果关系

双向蕴含(\(\leftrightarrow\)

p | q | p↔q
---+---+----
0 | 0 |  1
0 | 1 |  0
1 | 0 |  0
1 | 1 |  1

含义\(p\)\(q\) 真值相同时为真。

等价定义: [ p \leftrightarrow q \equiv (p \rightarrow q) \land (q \rightarrow p) ]

3.3 缩写符号

符号 定义 名称
\(\top\) \(p \lor \neg p\) True / Tautology
\(\bot\) \(p \land \neg p\) False / Contradiction

派生连接词的等价定义: - \(\phi \land \psi \coloneqq \neg(\neg \phi \lor \neg \psi)\)(德摩根律) - \(\phi \rightarrow \psi \coloneqq \neg \phi \lor \psi\) - \(\phi \leftrightarrow \psi \coloneqq (\phi \rightarrow \psi) \land (\psi \rightarrow \phi)\)


4. 有效性(Validity)

4.1 公式分类

4.1.1 有效公式(Valid / Tautology)

定义:在所有赋值下都为真。记号:\(\models \phi\)

例子: - \(p \lor \neg p\)(排中律) - \(p \rightarrow p\) - \((p \land q) \rightarrow p\) - \(\neg(p \land \neg p)\)(矛盾律) - \((p \rightarrow q) \leftrightarrow (\neg q \rightarrow \neg p)\)(逆否命题)

4.1.2 矛盾公式(Contradiction)

定义:在所有赋值下都为假。记号:\(\models \neg \phi\)

例子: - \(p \land \neg p\) - \((p \rightarrow q) \land (p \land \neg q)\)

4.1.3 偶然公式(Contingent)

定义:真值取决于赋值(有时真,有时假)。

例子: - \(p \land q\) - \(p \rightarrow q\)

关系总结

公式类型 含义 否定
Valid 永真 否定是Contradiction
Satisfiable 至少有一个赋值为真 否定不是Valid
Contradiction 永假 否定是Valid

4.2 有效推理(Valid Inference)

定义: [ \Gamma \models \phi ] 对于所有赋值 \(V\),如果 \(\Gamma\) 中所有公式为真,则 \(\phi\) 也为真。

特殊情况: [ \models \phi \equiv \emptyset \models \phi ] 表示 \(\phi\) 无条件为真(即valid)。

例子

有效推理: - \(\{p, p \rightarrow q\} \models q\)(Modus Ponens) - \(\{p \rightarrow q, \neg q\} \models \neg p\)(Modus Tollens) - \(\{p \land q\} \models p\)(合取消除)

无效推理(常见谬误): - \(\{p \rightarrow q, q\} \not\models p\)(肯定后件谬误) - \(\{p \rightarrow q, \neg p\} \not\models \neg q\)(否定前件谬误)

4.3 用真值表验证推理

步骤: 1. 列出所有原子命题的所有可能赋值(\(2^n\) 行) 2. 计算前提和结论的真值 3. 检查:是否存在前提全真但结论为假的行 - 不存在 → 有效 - 存在 → 无效(该行是反例)

完整例题:验证 \(\{p \rightarrow (p \land q)\} \models \neg q \rightarrow \neg p\)

步骤1:构造真值表

p | q | p∧q | p→(p∧q) | ¬q | ¬p | ¬q→¬p
---+---+-----+---------+----+----+-------
0 | 0 |  0  |    1    | 1  | 1  |   1
0 | 1 |  0  |    1    | 0  | 1  |   1
1 | 0 |  0  |    0    | 1  | 0  |   0
1 | 1 |  1  |    1    | 0  | 0  |   1

步骤2:标记前提为真的行
第1行:前提=1, 结论=1 ✓
第2行:前提=1, 结论=1 ✓
第3行:前提=0 (跳过)
第4行:前提=1, 结论=1 ✓

步骤3:结论
所有前提为真的行(1,2,4),结论也为真
因此推理 VALID ✅

反例示例:验证 \(\{q, p \rightarrow q\} \models p\)

真值表:

p | q | p→q | 前提q | 前提p→q | 结论p | 分析
---+---+-----+-------+---------+-------+------
0 | 0 |  1  |   0   |    1    |   0   | 前提不全真
0 | 1 |  1  |   1   |    1    |   0   | ❌反例
1 | 0 |  0  |   0   |    0    |   1   | 前提不全真
1 | 1 |  1  |   1   |    1    |   1   | ✓

反例:第2行
前提全真 (q=1, p→q=1)
但结论为假 (p=0)

因此推理 INVALID ❌

4.4 可满足性(Satisfiability)

定义:公式 \(\phi\) 是可满足的,当且仅当至少存在一个赋值使其为真。

关系: - \(\phi\) 是satisfiable ⟺ \(\phi\) 不是contradiction - \(\phi\) 是valid ⟺ \(\neg \phi\) 是unsatisfiable

重要性:SAT问题是NP-完全问题 - 判断可满足性在理论上很难(指数时间) - 但验证一个解是容易的(多项式时间)


5. 证明系统P(可选内容)

⚠️ 提示:证明系统P不在Class Test 1考试范围,但了解它有助于理解后续的证明系统K。

5.1 什么是形式化证明?

\(\Gamma\)\(\phi\) 的证明是一个编号的公式列表,满足: 1. 最后一行是结论 \(\phi\) 2. 每一行都有正当理由(Justification): - Premise:来自 \(\Gamma\) - Axiom:来自证明系统的公理 - Rule:从前面的行通过规则推导

5.2 证明系统P的公理

蕴含公理(→): - (→1)\(\phi \rightarrow (\psi \rightarrow \phi)\) - (→2)\((\phi \rightarrow (\chi \rightarrow \psi)) \rightarrow ((\phi \rightarrow \chi) \rightarrow (\phi \rightarrow \psi))\)

合取公理(∧): - (∧1)\((\phi \land \psi) \rightarrow \phi\) - (∧2)\((\phi \land \psi) \rightarrow \psi\) - (∧3)\(\phi \rightarrow (\psi \rightarrow (\phi \land \psi))\)

析取公理(∨): - (∨1)\(\phi \rightarrow (\phi \lor \psi)\) - (∨2)\(\psi \rightarrow (\phi \lor \psi)\) - (∨3)\(((\phi \rightarrow \chi) \land (\psi \rightarrow \chi)) \rightarrow ((\phi \lor \psi) \rightarrow \chi)\)

否定公理(¬): - (¬1)\(((\phi \rightarrow \psi) \land (\phi \rightarrow \neg \psi)) \rightarrow \neg \phi\) - (¬2)\((\phi \land \neg \phi) \rightarrow \psi\) - (¬3)\(\phi \lor \neg \phi\)

双向蕴含公理(↔): - (↔1)\((\phi \leftrightarrow \psi) \rightarrow (\phi \rightarrow \psi)\) - (↔2)\((\phi \leftrightarrow \psi) \rightarrow (\psi \rightarrow \phi)\) - (↔3)\(((\phi \rightarrow \psi) \land (\psi \rightarrow \phi)) \rightarrow (\phi \leftrightarrow \psi)\)

推理规则: - Modus Ponens (MP):从 \(\phi\)\(\phi \rightarrow \psi\) 推出 \(\psi\)

5.3 证明示例

证明\(p \land q \vdash_{\mathcal{P}} q \land p\)

1. p ∧ q                    Premise
2. (p ∧ q) → p              (∧1)
3. (p ∧ q) → q              (∧2)
4. p                        MP on 1,2
5. q                        MP on 1,3
6. q → (p → (q ∧ p))        (∧3)
7. p → (q ∧ p)              MP on 5,6
8. q ∧ p                    MP on 4,7

5.4 记号说明

语义推理(Semantic Entailment): [ \Gamma \models \phi ] 基于含义,用真值表验证

语法推理(Syntactic Derivation): [ \Gamma \vdash_{\mathcal{P}} \phi ] 基于符号操作,用形式化证明


6. 可靠性与完备性

6.1 可靠性(Soundness)

定义: [ \text{如果 } \Gamma \vdash_{\mathcal{P}} \phi, \text{ 则 } \Gamma \models \phi ]

含义:证明系统不会产生假阳性 - 如果能证明,那么语义上也有效 - 证明系统不会证明错误的东西

6.2 完备性(Completeness)

定义: [ \text{如果 } \Gamma \models \phi, \text{ 则 } \Gamma \vdash_{\mathcal{P}} \phi ]

含义:证明系统不会产生假阴性 - 如果语义上有效,一定能找到证明 - 证明系统足够强大

6.3 重要性

证明系统P是可靠且完备的,因此: [ \Gamma \vdash_{\mathcal{P}} \phi \Longleftrightarrow \Gamma \models \phi ]

这保证了语法推理语义推理的完全一致性。


7. 练习题

Exercise 7.1 - 公式分类

判断以下公式是 validcontradiction 还是 contingent

  1. \(p \rightarrow (q \rightarrow p)\)
  2. \(p \rightarrow (p \rightarrow q)\)
  3. \(p \lor \neg q\)
  4. \((p \rightarrow q) \lor (q \rightarrow p)\)
  5. \(p \land \neg p\)
  6. \((p \lor q) \rightarrow p\)
答案 1. **Valid** —— 蕴含公理(→1) 2. **Contingent** —— 当p=1,q=0时为假 3. **Contingent** —— 取决于赋值 4. **Valid** —— 验证真值表 5. **Contradiction** —— 矛盾律 6. **Contingent** —— 当p=0,q=1时为假

Exercise 7.2 - 真值表验证

使用真值表验证以下推理:

  1. \(\{p, p \rightarrow q\} \models q\)
  2. \(\{\neg q, p \rightarrow q\} \models \neg p\)
  3. \(\{p, p \rightarrow q, \neg r \rightarrow \neg q\} \models r\)
答案 1. **Valid** —— Modus Ponens 2. **Valid** —— Modus Tollens 3. **Valid** —— 链式推理 详细真值表请自行构造练习。

Exercise 7.3 - 构造反例

给出以下无效推理的反例

  1. \(\{q, p \rightarrow q\} \models p\)
  2. \(\{\neg p, p \rightarrow q\} \models \neg q\)
答案 1. **反例**:\(V(p)=0, V(q)=1\) - 前提全真,结论为假 2. **反例**:\(V(p)=0, V(q)=1\) - 前提全真,结论为假

Exercise 7.4 - 等价性证明

用真值表证明以下等价关系:

  1. \(\neg(p \land q) \equiv \neg p \lor \neg q\)(德摩根律)
  2. \(p \rightarrow q \equiv \neg q \rightarrow \neg p\)(逆否命题)
  3. \(p \rightarrow (q \rightarrow r) \equiv (p \land q) \rightarrow r\)

8. 考试重点

8.1 Class Test 1命题逻辑部分(约20分)

根据2019和2022年真题:

第1题:概念解释(5分)

问题:解释 \(\Gamma \models \phi\) 的含义

答题要点: - 对于所有赋值 \(V\)... - 如果 \(\Gamma\) 中所有公式为真... - 则 \(\phi\) 也为真

第2题:方法说明(5分)

问题:如何用真值表验证推理有效性

答题要点: - 列出所有原子命题的赋值组合 - 计算前提和结论的真值 - 检查是否存在前提全真但结论为假的行 - 不存在则有效,存在则无效

第3题:实际验证(10-11分)

问题:用真值表判断具体推理是否valid

答题结构: 1. 画出完整真值表(使用代码块格式) 2. 标注前提为真的行 3. 检查这些行的结论 4. 给出明确结论

8.2 答题模板

问题:判断 \(\{p \rightarrow (p \land q)\} \models \neg q \rightarrow \neg p\)

步骤1:构造真值表

p | q | p∧q | p→(p∧q) | ¬q | ¬p | ¬q→¬p
---+---+-----+---------+----+----+-------
0 | 0 |  0  |    1    | 1  | 1  |   1
0 | 1 |  0  |    1    | 0  | 1  |   1
1 | 0 |  0  |    0    | 1  | 0  |   0
1 | 1 |  1  |    1    | 0  | 0  |   1

步骤2:分析
前提为真的行:第1、2、4行

- 第1行:结论为真 ✓
- 第2行:结论为真 ✓
- 第4行:结论为真 ✓

步骤3:结论
在所有前提为真的行中,结论也为真。
因此,{p→(p∧q)} ⊨ ¬q→¬p 是 VALID。

8.3 必须掌握的技能

技能 重要程度 练习建议
快速构造真值表 ⭐⭐⭐⭐⭐ 每天练5题
理解蕴含的空虚为真 ⭐⭐⭐⭐⭐ 专项练习
识别反例 ⭐⭐⭐⭐ 练无效推理
清晰解释过程 ⭐⭐⭐⭐ 模拟写作

8.4 常见错误

错误1:忘记检查所有行 - 必须遍历整个真值表

错误2:混淆"前提假"和"推理无效" - 前提假的行可以跳过

错误3:蕴含理解错误 - \(p \rightarrow q\)\(p=0\) 时总是真

错误4:省略解释 - 必须有清晰的文字说明

8.5 三天复习计划

Day 1(今天): - 复习所有定义 - 做10道真值表练习 - 熟记等价式

Day 2(明天): - 做2019 Class Test 1命题逻辑部分 - 对照答案找错误 - 总结答题技巧

Day 3(考前): - 做2022 Class Test 1命题逻辑部分 - 计时模拟考试 - 整理错误清单


9. 公式速查表

9.1 重要等价公式

名称 公式
德摩根律 \(\neg(p \land q) \equiv \neg p \lor \neg q\)
德摩根律 \(\neg(p \lor q) \equiv \neg p \land \neg q\)
双重否定 \(\neg \neg p \equiv p\)
蕴含消除 \(p \rightarrow q \equiv \neg p \lor q\)
逆否命题 \(p \rightarrow q \equiv \neg q \rightarrow \neg p\)
双向蕴含 \(p \leftrightarrow q \equiv (p \rightarrow q) \land (q \rightarrow p)\)
分配律 \(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)\)
交换律 \(p \land q \equiv q \land p\)
结合律 \((p \land q) \land r \equiv p \land (q \land r)\)
幂等律 \(p \land p \equiv p\)
吸收律 \(p \land (p \lor q) \equiv p\)

9.2 重要推理规则

名称 规则 拉丁名
分离规则 \(\{p, p \rightarrow q\} \models q\) Modus Ponens
否定后件式 \(\{p \rightarrow q, \neg q\} \models \neg p\) Modus Tollens
假言三段论 \(\{p \rightarrow q, q \rightarrow r\} \models p \rightarrow r\) Hypothetical Syllogism
析取三段论 \(\{p \lor q, \neg p\} \models q\) Disjunctive Syllogism
合取引入 \(\{p, q\} \models p \land q\) Conjunction Introduction
合取消除 \(\{p \land q\} \models p\) Conjunction Elimination