5 2020 - - PowerPoint PPT Presentation

5 2020
SMART_READER_LITE
LIVE PREVIEW

5 2020 - - PowerPoint PPT Presentation

0 linzuoquan@pku.edu.cn 1 5 2020 4 4 2 4.1 4.2


slide-1
SLIDE 1

数理逻辑

讲义,第 5 版,2020 年 北京大学 信息与计算科学系

林作铨 linzuoquan@pku.edu.cn

北京大学 信息与计算科学系 数理逻辑 1

slide-2
SLIDE 2

4 一阶逻辑:证明论

4.1 形式系统 4.2 等价和替换 4.3 前束范式 4.4 完全性定理 4.5 模型

北京大学 信息与计算科学系 数理逻辑 4 2

slide-3
SLIDE 3

形式系统 等价和替换 前束范式 完全性定理 模型

北京大学 信息与计算科学系 数理逻辑 4 278

slide-4
SLIDE 4

等价和替换

定义 (A ↔ B) 表示 ∼((A → B)→∼(B → A )) 命题 4.16 对 L 中任意公式 A ,B,⊢K (A ↔ B) 当且仅 当 ⊢K (A → B) 且 ⊢K (B → A ) ♢ 证 (⇒)若 ⊢K (A ↔ B),即 ⊢K∼((A → B)→∼(B → A )) 易验重言式 (∼((A → B)→∼(B → A ))→ (A → B)) 和 (∼((A → B)→∼(B → A ))→ (B → A )) 由 命题 4.4,它们都是 K 中定理,用 MP 得 ⊢K (A → B) 且 ⊢K (B → A ) (⇐)若 ⊢K (A → B) 且 ⊢K (B → A ) 易验重言式 (A → B)→ ((B → A )→∼((A → B)→∼(B → A ))) 由 命题 4.4,它是 K 中定理,用两次 MP 得 ⊢K (A ↔ B)

北京大学 信息与计算科学系 数理逻辑 4 279

slide-5
SLIDE 5

定义 4.17 (可证等价) 若 L 中的公式 A ,B 满足 ⊢K A ↔ B,则称 A 和 B 是可证等价的 (provably equivalent) ♢ 推论 4.18 对 L 中任意公式 A ,B,C ,若 A 和 B,B 和 C 分别是可证等价 的,则 A 和 C 也是可证等价的 ♢ 证 应用 命题 4.16 和 HS 规则

北京大学 信息与计算科学系 数理逻辑 4 280

slide-6
SLIDE 6

令 A (xi) 为 L 中一个公式,其中 xi 自由出现(可能不只一次) , 对任何变元 xj,用 A (xj)(或 A (xi/xj))表示对 A (xi) 中 xi 的每个自由 出现都用 xj 替换所得的公式 命题 4.19 (变元换名) 若 xi 在 A (xi) 中自由出现,且 xj 是不在 A (xi) 中自由或约束出现的变 元,则 ⊢K ((∀xi)A (xi) ↔ (∀xj)A (xj)) ♢ 注 可选择一个适当的变元替换一个特定的约束变元,替换所得的公式与原 公式是可证等价的

北京大学 信息与计算科学系 数理逻辑 4 281

slide-7
SLIDE 7

证 xj 是对 xi 在 A (xi) 中自由的,且 xi 是对 xj 在 A (xj) 中自由的 构造如下演绎 (1) (∀xi)A (xi) 假设 (2) (∀xi)A (xi)→ A (xj) (K5) (3) A (xj) (1)(2)MP (4) (∀xj)A (xj) (3)概括规则 (∀xi)A (xi) ⊢K (∀xj)A (xj)

北京大学 信息与计算科学系 数理逻辑 4 282

slide-8
SLIDE 8

证 (续) 由于 xj 不在 (∀xi)A (xi) 中自由出现,由演绎定理 ⊢K ((∀xi)A (xi)→ (∀xj)A (xj)) 反之,同理可证 ⊢K ((∀xj)A (xj)→ (∀xi)A (xi)) 据 命题 4.16 ⊢K ((∀xi)A (xi) ↔ (∀xj)A (xj))

北京大学 信息与计算科学系 数理逻辑 4 283

slide-9
SLIDE 9

命题 4.20 令 A 是 L 中公式,y1, · · · , yn 是 A 中自由变元,则 ⊢K A 当且仅当 ⊢K (∀y1) · · · (∀yn)A ♢ 证 (⇒)设 ⊢K A (对 A 中自由变元个数 n 归纳) A 中没有自由变元的情况是平凡的 考虑 n = 1,A 只有一个自由变元 y1 若 ⊢K A (y1) ⊢K (∀y1)A (y1) (概括规则) 令 n > 1,假设对 L 中所有包含 n - 1 个自由变元的公式结论都成立

北京大学 信息与计算科学系 数理逻辑 4 284

slide-10
SLIDE 10

证 (续) 考虑 (∀yn)A ,有 n - 1 个自由变元 由 ⊢K A ⊢K (∀yn)A (概括规则) 由归纳假设 ⊢K (∀y1) · · · (∀yn)A (⇐)设 ⊢K (∀y1) · · · (∀yn)A ,欲证 ⊢K A 应用 (K5),并对 n 进行类似归纳

北京大学 信息与计算科学系 数理逻辑 4 285

slide-11
SLIDE 11

定义 4.21 (全称闭式) 令 A 是 L 的一个只包含自由变元 y1, · · · , yn 的公式, 则 (∀y1) · · · (∀yn)A 称为 A 的全称闭式(universal closure) ,记作 A ′ ♢ 注 命题 4.20 表明:⊢K A 当且仅当 ⊢K A ′ 但 A 和 A ′ 并不是可证等价的 ⊢K A ′ → A 但 ̸⊢K A → A ′ (例 4.8)

北京大学 信息与计算科学系 数理逻辑 4 286

slide-12
SLIDE 12

命题 4.22 令 A ,B 是 L 中公式,设 B0 是通过用 B 替换 A0 中 A 的一次或 多次出现所得的公式,则 ⊢K ((A ↔ B)′ → (A0 ↔ B0)) ♢ 证 (基始)由 A0 (必)含 A 作为子公式 A0 含最少连接符和量词 A0 就是 A B0 就是 B ⊢ (A ↔ B)′ → (A ↔ B) (定义 4.21 注) ⊢ (A ↔ B)′ → (A0 ↔ B0)

北京大学 信息与计算科学系 数理逻辑 4 287

slide-13
SLIDE 13

证 (续) (归纳)假设 A0 含 A 作为严格子公式,对所有比 A0 短且含 A 作为 子公式的公式所欲证的结论成立 (1) A0 是 ∼C0,则 B0 是 ∼D0,D0 是用 B 替换 C0 中 A 的结果 C0 含有比 A0 少的连接符和量词 ⊢ (A ↔ B)′ → (C0 ↔ D0) (归纳假设) 通过演算(⊢ (C0 ↔ D0) → (∼C0 ↔∼D0)) ⊢ (A ↔ B)′ → (∼C0 ↔∼D0) (HS) ⊢ (A ↔ B)′ → (A0 ↔ B0)

北京大学 信息与计算科学系 数理逻辑 4 288

slide-14
SLIDE 14

证 (续) (2) A0 是 C0 → D0,则 B0 是 E0 → F0,E0, F0 是用 B 分别替 换 C0, D0 中 A 的结果 C0, D0 含有比 A0 少的连接符和量词 ⊢ (A ↔ B)′ → (C0 ↔ E0) ⊢ (A ↔ B)′ → (D0 ↔ F0) (归纳假设) 通过演算可得 ⊢ (A ↔ B)′ → ((C0 → D0) ↔ (E0 → F0)) ⊢ (A ↔ B)′ → (A0 ↔ B0)

北京大学 信息与计算科学系 数理逻辑 4 289

slide-15
SLIDE 15

证 (续) (演算) 已知 ⊢ (A ↔ B)′ → (C0 ↔ E0) ⊢ (A ↔ B)′ → (D0 ↔ F0) 证明 ⊢ (A ↔ B)′ → ((C0 → D0) ↔ (E0 → F0)) 据演绎定理(及其逆) ,只需证 {(A ↔ B)′, C0 → D0} ⊢ E0 → F0 (类似地, {(A ↔ B)′, E0 → F0} ⊢ C0 → D0)

北京大学 信息与计算科学系 数理逻辑 4 290

slide-16
SLIDE 16

证 (续) (1) (A ↔ B)′ (2) (A ↔ B)′ → (D0 ↔ F0) (3) D0 ↔ F0 (1)(2)MP (4) D0 → F0 命题 4.16 (5) C0 → D0 (6) C0 → F0 (4)(5)HS (7) (A ↔ B)′ → (C0 ↔ E0) (8) E0 ↔ C0 (1)(7)MP (9) E0 → C0 命题 4.16 (10) E0 → F0 (6)(9)HS

北京大学 信息与计算科学系 数理逻辑 4 291

slide-17
SLIDE 17

证 (续) (3) A0 是 ∀xiC0,则 B0 是 ∀xiD0,D0 是用 B 替换 C0 中 A 的结果 C0 含有比 A0 少的连接符和量词 ⊢ (A ↔ B)′ → (C0 ↔ D0) (归纳假设) 由概括规则 ⊢ ∀xi((A ↔ B)′ → (C0 ↔ D0)) xi 不自由出现在 (A ↔ B)′,由(K6) ⊢ ∀xi((A ↔ B)′ → (C0 ↔ D0)) → ((A ↔ B)′ → ∀xi(C0 ↔ D0)) 用 MP ⊢ (A ↔ B)′ → ∀xi(C0 ↔ D0) 通过演算可得 ⊢ (A ↔ B)′ → (∀xiC0 ↔ ∀xiD0) ⊢ (A ↔ B)′ → (A0 ↔ B0)

北京大学 信息与计算科学系 数理逻辑 4 292

slide-18
SLIDE 18

推论 4.23 令 A , B, A0, B0 如同 命题 4.22 所述 若 ⊢K (A ↔ B),则 ⊢K (A0 ↔ B0) ♢ 证 设 ⊢K (A ↔ B) ⊢K (A ↔ B)′ (命题 4.20) ⊢K ((A ↔ B)′ → (A0 ↔ B0)) (命题 4.22) 用 MP ⊢K (A0 ↔ B0)

北京大学 信息与计算科学系 数理逻辑 4 293

slide-19
SLIDE 19

推论 4.24 若 xj 不在 A (xi) 中出现, B0 是通过用 (∀xj)A (xj) 替换 A0 中 的 (∀xi)A (xi) 的一次或多次出现所得的公式,则 ⊢K (A0 ↔ B0) ♢ 证 据 命题 4.19 和 推论 4.23

北京大学 信息与计算科学系 数理逻辑 4 294

slide-20
SLIDE 20

形式系统 等价和替换 前束范式 完全性定理 模型

北京大学 信息与计算科学系 数理逻辑 4 295

slide-21
SLIDE 21

前束范式

范式:析取范式 DNF 和合取范式 CNF 前束范式(prenex form) :考虑量词的排列 命题 4.25 令 A ,B 是 L 的公式 (1) 若 xi 不在 A 中自由出现,则 ⊢K ((∀xi)(A → B) ↔ (A → (∀xi)B)) ⊢K ((∃xi)(A → B) ↔ (A → (∃xi)B))

北京大学 信息与计算科学系 数理逻辑 4 296

slide-22
SLIDE 22

命题 (续) (2) 若 xi 不在 B 中自由出现,则 ⊢K ((∀xi)(A → B) ↔ ((∃xi)A → B)) ⊢K ((∃xi)(A → B) ↔ ((∀xi)A → B)) ♢

北京大学 信息与计算科学系 数理逻辑 4 297

slide-23
SLIDE 23

证 (K6) 的实例 ⊢K ((∀xi)(A → B)→ (A → (∀xi)B)) 例 4.13 ⊢K ((A → (∀xi)B)→ (∀xi)(A → B)) 从 例 4.14 (⊢ ∀xi(A → B)→ (∃xiA → ∃xiB))可推出 ⊢K ((∀xi)(A → B) → ((∃xi)A → B))

北京大学 信息与计算科学系 数理逻辑 4 298

slide-24
SLIDE 24

证 (续) (1) (∀xi)(A → B) 假设 (2) (∼B) 假设 (3) (∀xi)(A → B)→ (A → B) (K4)或(K5) (4) (A → B) (1)(3)MP (5) (A → B)→ (∼B →∼A ) 重言式 (6) (∼B →∼A ) (4)(5)MP (7) ∼A (2)(6)MP (8) (∀xi)(∼A ) (7)概括 由此可得 {(∀xi)(A → B), (∼B)} ⊢K (∀xi)(∼A ) 因 xi 不在 B 中自由出现,由演绎定理

北京大学 信息与计算科学系 数理逻辑 4 299

slide-25
SLIDE 25

证 (续) (∀xi)(A → B) ⊢K (∼B)→ (∀xi)(∼A ) 由 ⊢K ((∼B)→ (∀xi)(∼A ))→ (∼(∀xi)(∼A )→∼(∼B)),用 MP (∀xi)(A → B) ⊢K (∼(∀xi)(∼A )→∼(∼B)), 由 ⊢ (∼(∼B)→ B),用 HS ⊢K ((∀xi)(A → B)→ ((∃xi)A → B)) 其余 5 个证明类似可得

北京大学 信息与计算科学系 数理逻辑 4 300

slide-26
SLIDE 26

例 4.26 (∀x1)A1

1(x1)→ (∀x2)(∃x3)A2 1(x2, x3)

可证等价于 (∃x1)(∀x2)(∃x3)(A1

1(x1)→ A2 1(x2, x3))

据命题 4.25 给出一个公式序列,使得序列中公式都可证等价 (∀x1)A1

1(x1)→ (∀x2)(∃x3)A2 1(x2, x3)

(∃x1)(A1

1(x1)→ (∀x2)(∃x3)A2 1(x2, x3))

(∃x1)(∀x2)(A1

1(x1)→ (∃x3)A2 1(x2, x3))

(∃x1)(∀x2)(∃x3)(A1

1(x1)→ A2 1(x2, x3))

北京大学 信息与计算科学系 数理逻辑 4 301

slide-27
SLIDE 27

定义 4.27 (前束范式) L 的公式 A 称为前束范式,若它具有如下形式: (Q1xi1)(Q2xi2) · · · (Qkxik)D 其中 D 是 L 中不带量词的公式,每个 Qi 是 ∀ 或 ∃ 一个不带量词的公式可看作前束范式的特殊情况 定义 4.28 (前束合取(析取)范式) 对前束范式 (Q1xi1)(Q2xi2) · · · (Qkxik)D,其中 D 是 CNF(DNF) ,称 为前束合取(析取)范式

北京大学 信息与计算科学系 数理逻辑 4 302

slide-28
SLIDE 28

命题 4.29 对 L 中任何公式 A ,都存在一个前束范式 B 与它是可证等价的 ♢ 证 据 命题 4.19,可改变 A 中所有约束变元,使得与 A 中所有自由变元 相区别(换名) 例如,(∀x1)A2

1(x1, x2)→ (∀x2)A1 1(x2) 可改变为

(∀x1)A2

1(x1, x2)→ (∀x3)A1 1(x3))

由此可得一个公式 A1,显然 ⊢ A ↔ A1 (对 A1 的长度进行归纳)

北京大学 信息与计算科学系 数理逻辑 4 303

slide-29
SLIDE 29

证 (续) A1 是原子,即前束范式的特殊情况 令 A1 不是原子,假设每个比 A1 短的公式都可证等价于一个前束范式 (1) A1 是 ∼C 对 C (较短)存在一个前束范式 C1 使得 ⊢K C ↔ C1 ⊢K A1 ↔∼C1 (演算) ⊢K A1 ↔∼Q1xi1Q2xi2 · · · QkxikD ⊢K A1 ↔ Q∗

1xi1Q∗ 2xi2 · · · Q∗ kxik ∼D

其中,若 Qi (1 ≤ i ≤ k) 是 ∀,则 Q∗

i 是 ∃;若 Qi 是 ∃,则 Q∗ i 是 ∀

令 B 是 Q∗

1xi1Q∗ 2xi2 · · · Q∗ kxik ∼D

⊢ A1 ↔ B

北京大学 信息与计算科学系 数理逻辑 4 304

slide-30
SLIDE 30

证 (续) (2) A1 是 (C → D) 对 C , D(较短)分别存在前束范式 C1, D1 使得 ⊢ C ↔ C1 ⊢ D ↔ D1 据推论 4.23 ⊢ (C → D) ↔ (C → D1) ⊢ (C → D1) ↔ (C1 → D1) ⊢ (C → D) ↔ (C1 → D1) (推论 4.18) ⊢ A1 ↔ (C1 → D1) ⊢ A ↔ (C1 → D1)

北京大学 信息与计算科学系 数理逻辑 4 305

slide-31
SLIDE 31

(2) 续 C1 → D1 形如 Q1xi1Q2xi2 · · · QkxikC2 → R1xj1R2xj2 · · · RkxjlD2 这里 C2, D2 不含量词,Q, R 都是 ∀ 或 ∃ 重复应用 命题 4.25,把量词提到前面(xi1xi2 · · · xik; xj1xj2 · · · xjl 不重名 且与 C2, D2 中自由变元不重名) ⊢ (C1 → D1) ↔ Q∗

1xi1Q∗ 2xi2 · · · Q∗ kxikR1xj1R2xj2 · · · RkxjlC2 → D2

令 B 是 Q∗

1xi1Q∗ 2xi2 · · · Q∗ kxikR1xj1R2xj2 · · · RkxjlC2 → D2

⊢ A1 ↔ B

北京大学 信息与计算科学系 数理逻辑 4 306

slide-32
SLIDE 32

证 (续) (3) A1 是 (∀xi)C 对 C (较短)存在一个前束范式 C1 使得 ⊢ C ↔ C1 不妨设 ⊢ C ↔ (Q1xi1)(Q2xi2) · · · (Qkxik)D 用概括规则 ⊢ (∀xi)(C ↔ (Q1xi1)(Q2xi2) · · · (Qkxik)D) 据 命题 4.22 ⊢ (∀xi)C ↔ (∀xi)(Q1xi1)(Q2xi2) · · · (Qkxik)D 即所求的 B

北京大学 信息与计算科学系 数理逻辑 4 307

slide-33
SLIDE 33

例 4.30 求前束范式 (a) A1

1(x1)→ (∀x2)A2 1(x1, x2)

据 命题 4.25 (1) (∀x2)(A1

1(x1)→ A2 1(x1, x2))

(b) (((∀x1)A2

1(x1, x2)→∼(∃x2)A1 1(x2))→ (∀x1)(∀x2)A2 2(x1, x2))

给约束变元更名 (((∀x1)A2

1(x1, x2)→∼(∃x3)A1 1(x3))→

(∀x4)(∀x5)A2

2(x4, x5))

处理前面有 “∼ ” 的量词

北京大学 信息与计算科学系 数理逻辑 4 308

slide-34
SLIDE 34

例 (续) (((∀x1)A2

1(x1, x2)→ (∀x3) ∼A1 1(x3))→ (∀x4)(∀x5)A2 2(x4, x5))

据 命题 4.25,可得下列可证等价的公式序列 ((∀x3)((∀x1)A2

1(x1, x2)→∼A1 1(x3))→ (∀x4)(∀x5)A2 2(x4, x5))

((∀x3)(∃x1)(A2

1(x1, x2)→∼A1 1(x3))→ (∀x4)(∀x5)A2 2(x4, x5))

(∃x3)(∀x1)((A2

1(x1, x2)→∼A1 1(x3))→ (∀x4)(∀x5)A2 2(x4, x5))

(∃x3)(∀x1)(∀x4)(∀x5)((A2

1(x1, x2)→∼A1 1(x3))→ A2 2(x4, x5))

北京大学 信息与计算科学系 数理逻辑 4 309

slide-35
SLIDE 35

注 这个求前束范式的过程(算法)并不导致唯一解答 (∀x4)(∀x5)(∀x1)(∃x3)((A2

1(x1, x2)→∼A1 1(x3))→ A2 2(x4, x5))

亦是前束范式

北京大学 信息与计算科学系 数理逻辑 4 310

slide-36
SLIDE 36

K 中公式的复杂性度量: 复杂程度与量词的交叉次数有关 定义 4.31 (Πn Σn 式) (1) 令 n > 0,一个前束范式称为一个 Πn 式,若它以全称量词开始,并 且有 n - 1 次量词的交叉 (2) 令 n > 0,一个前束范式称为一个Σn 式,若它以存在量词开始,并 且有 n - 1 次量词的交叉 ♢ 例 4.32 (1) (∀x1)(∀x2)(∃x3)A3

1(x1, x2, x3) 是 Π2 式

(2) (∀x1)(A1

1(x1)→ A1 2(x2)) 是 Π1 式

(3) (∃x1)(∀x2)(∃x3)(∃x4)(A2

1(x1, x2)→ A2 1(x3, x4)) 是 Σ3 式

北京大学 信息与计算科学系 数理逻辑 4 311

slide-37
SLIDE 37

定义 4.33 (文字和子句) 一个⽂字是一个原子或原子的否定式 一个⼦句是指一些文字的析取,即每个析取项都是一个原子或者原子的 否定式 定义 4.34 (子句式) 一个公式被称为⼦句(范)式(亦即合取范式),若它是一些子句的合取 注 子句(式)不带量词 子句(式)是逻辑程序设计和 Prolog 语言的基本形式

北京大学 信息与计算科学系 数理逻辑 4 312

slide-38
SLIDE 38

求子句范式的算法 通过下列步骤(算法)可得到一个给定公式的子句式 1 求前束范式(可证等价) 2 将前束范式斯科伦化(弱等价,命题 3.53) 3 删除所有全称量词(不是可证等价,但在同一解释下同为真,命 题 3.37) 4 将每个原子看作命题变元,按命题演算得到合取范式(对非重言式逻 辑等价,命题 1.37) 5 每个合取项就是子句 由此即证 命题 4.35 L 中任一非重言式的公式都有一个弱等价于它的子句(范)式 ♢

北京大学 信息与计算科学系 数理逻辑 4 313

slide-39
SLIDE 39

例 4.36 (((∀x1)A2

1(x1, x2)→ (∀x3) ∼A1 1(x3))→ (∀x4)(∀x5)A2 2(x4, x5))

前束范式 (∃x3)(∀x1)(∀x4)(∀x5)((A2

1(x1, x2)→∼A1 1(x3))→ A2 2(x4, x5))

斯科伦化 ((∀x1)(∀x4)(∀x5)((A2

1(x1, x2)→∼A1 1(c3))→ A2 2(x4, x5))

删除全称量词 ((A2

1(x1, x2)→∼A1 1(c3))→ A2 2(x4, x5))

合取范式 (A2

1(x1, x2) ∨ A2 2(x4, x5)) ∧ (A1 1(c3) ∨ A2 2(x4, x5))

北京大学 信息与计算科学系 数理逻辑 4 314