?
离散数学基础
2017-11-19?定义:谓词逻辑的推理结构
?设有谓词公式 A、B,若在令 A 为真的任一解释下,B 亦为真,则说 B 是 A 的逻辑推论,或称推理结构 A├ B 是正确的(或者有效的),记为 A ? B。 ?例1:所有的整数都是有理数,所有的有理数都是实数,所以所有的整数都是实
数。
?解:设 P(x):x 是整数。
Q(x):x 是有理数。
R(x):x 是实数。
形式化: ① (?x)(P(x) →Q(x))
②(?x)(Q(x) →R(x))
③(?x)(P(x) →R(x))
推理结构: ①, ② ├ ③
?例2:人总是要死的,苏格拉底是人,所以苏格拉底也是要死的。
?解:设 P(x):x 总是要死的。
Q(x):x 是人。
形式化: ① (?x)(Q(x) →P(x))
②Q(苏格拉底)
③P(苏格拉底)
推理结构: ①, ② ├ ③
?例3:有一个人又高又胖,所以必有一个高个子和一个胖子。
?解:设论域为人的集合
P(x):x 是高的。
Q(x):x 是胖的。
推理结构:
(?x)(P(x)∧Q(x)) ├ (?x)P(x)∧(?x)Q(x)
?定理:演绎定理
?设谓词公式 A、B,如果从 A 应用推理规则得到 B,并且在推出过程中,A 中
的自由变量保持不变,则A→B 是普遍有效的。
?由于普遍有效性的不可判定性,在谓词逻辑中应用推理规则更为重要。 ?推理定理
?若干常用的正确的推理形式:
(1)(?x)P(x)∨(?x)Q(x) ? (?x)(P(x)∨Q(x))
(2)(?x)(P(x)∧Q(x)) ? (?x)P(x)∧(?x)Q(x)
(3)(?x)(P(x)→Q(x)) ? (?x)P(x)→(?x)Q(x)
(4)(?x)(P(x)→Q(x)) ? (?x)P(x)→(?x)Q(x)
(5)(?x)(?y)P(x, y) ? (?y)(?x)P(x, y)
(6)(?x)(?y)P(x, y) ? (?y)(?x)P(x, y)
(7)(?x)(?y)P(x, y) ? (?x)(?y)P(x, y)
?推理定理
?(3) 证:(?x)(P(x)→Q(x)) ? (?x)P(x)→(?x)Q(x)
?设 (?x)(P(x)→Q(x))=T
?当 (?x)P(x)=T时,对任意 x0,有P(x0)=T。
?对此 x0,由假设知,P(x0)→Q(x0)=T
?故此时只能 Q(x0)=T
?从 x0 的任意性得 (?x)Q(x)=T
?即 (?x)P(x)→(?x)Q(x)=T
?故上述推理形式是有效的。
?推理定理
?(5) 证: (?x)(?y)P(x, y) ? (?y)(?x)P(x, y)
?设 (?x)(?y)P(x, y)=T
?即任意的 x 与所有的 y 都有 P(x, y)=T
?则对任意的 x 与某一固定的 y0,都有 P(x, y0)=T
?即 (?x)P(x, y0)=T
?故 (?y)(?x)P(x, y)=T
?即上述推理形式是有效的。
?推理规则
?在谓词逻辑的推理中,可以直接引用命题逻辑的推理规则。我们还需要建立一些新的推理规则处理与个体和量词相关的推理过程。
?(1) 全称量词消去 US
?① (?x)A(x) ? A(y)
–假设 y 不在 A(x) 中约束出现
?② (?x)A(x) ? A(c)
–假设 c 是个体域中的任一常量
?(2) 全称量词引入 UG
?A(y) ? (?x)A(x)
–y 具有任意性,并假设 x 不在 A(y) 中约束出现 ?(3) 存在量词消去 ES
?(?x)A(x) ? A(c)
–c 是个体域中的某一常量,且未出现在 A(x) 以及此前的证明序列中。
?例: (?x)A(x, c) ? A(c, c) 不成立
?例:证明序列
(i) (?x)A(x) 前提
(i+1) A(c) ES
(i+2) (?x)B(x) 前提
(i+3) B(c) ES
是错误的。
?(4) 存在量词引入 EG
?A(c) ? (?x)A(x)
–设 x 不在 A(c) 中出现
?(5) 分离、代入和置换规则
?必须保证变换发生前后公式形式的一致性(符合合式公式的定义)。
?(6) 其他推理公式
?应用谓词逻辑的7条推理定理或直接使用命题逻辑中讨论的14条推理定
律。
?演绎证明的形式结构
?例:证明 (?x)(P(x)→Q(x)), P(苏格拉底) ? Q(苏格拉底)
?证:
(1)(?x)(P(x) → Q(x)) P
(2)P(苏格拉底) → Q(苏格拉底) US
(3)P(苏格拉底) P
(4)Q(苏格拉底) T(2)(3), I
?演绎证明的形式结构
?例:证明 (?x)P(x)→(?x)(P(x)∨Q(x)→R(x)), (?x)P(x) ? (?x)(?y)(R(x)∧R(y))
?证:
(1)(?x)P(x)→(?x)(P(x)∨Q(x)→R(x)) P
(2)(?x)P(x) P
(3)(?x)(P(x)∨Q(x)→R(x)) T(1)(2), I
(4)P(c) T(2),ES
(5)P(c)∨Q(c) T(4),I
(6)P(c)∨Q(c)→R(c) T(3),US
(7)R(c) T(5)(6),I
(8)(?x)R(x) T(7),EG
(9)(?y)R(y) T(7),EG
(10)(?x)R(x)∧(?y)R(y) T(8)(9),I
(11)(?x)(R(x)∧(?y)R(y)) T(10),I
(12)(?x)(?y)(R(x)∧R(y)) T(11),I
?演绎证明的形式结构
?例:设 P(x, y):x > y。已知前提 (?x)(?y)P(x, y),下列推理是否正确?
(1) (?x)(?y)P(x, y) P
(2) (?y)P(z, y) T(1),US
(3) P(z, b) T(2),ES
(4) (?z)P(z, b) T(3),UG
(5) P(b, b) T(4),US
所以, b > b
?解:由已知前提 (?x)(?y)P(x, y), (?y) 在 (?x) 的辖域内,y 的存在性对 x 形成依赖。这种依赖并非函数依赖,称之为Skolem 依赖,写成 y= f Skolem(x),f Skolem 为 Skolem 函数。故在公式 (3) 中,b 对z 形成依赖:b = f Skolem(z) ?要特别注意的是,当 ? 处于?的辖域内时,须先消去该 ? ,且须引入 Skolem 函数描述依赖关系。如上例:
(1) (?x)(?y)P(x, y)
(2) (?x)P(x, f Skolem(x))
(3) P(b, f Skolem(b))
?例:有的病人喜欢任何医生;没有病人喜欢庸医;所以没有医生是庸医。
设 P(x):x 是病人。 Q(x):x 是庸医。
D(x):x 是医生。 L(x, y):x 喜欢 y。
前提:(?x)(P(x)∧(? y)(D(y)→L(x, y)))
?(?x)(P(x)∧(? y)(Q(y)∧L(x, y)))
结论:?(?x)(D(x)∧Q(x))
?演绎证明的形式结构
(1)(?x)(P(x)∧(?y)(D(y)→L(x, y))) P
(2)P(c)∧(?y)(D(y)→L(c, y)) T(1),ES
(3)?(?x)(P(x)∧(?y)(Q(y)∧L(x, y))) P
(4)(?x)(P(x)→(?y)(Q(y)→?L(x, y))) T(3),I
(5)P(c)→(?y)(Q(y)→?L(c, y))) T(4),US
(6)P(c) T(2),I
(7)(?y)(Q(y)→?L(c, y)) T(5)(6),I
(8)Q(y)→?L(c, y) T(7),US
(9)L(c, y)→?Q(y) T(8),I
(10)(?y)(D(y)→L(c, y)) T(2),I
(11)D(y)→L(c, y) T(10),US
(12)D(y)→ ? Q(y) T(11)(9),I
(13)(?y)(D(y)→ ?Q(y)) T(12),UG
(14)(?x)(D(x)→ ?Q(x)) T(13),I
(15)?(?x)(D(x)∧Q(x)) T(14),I
下一节内容提示
?谓词逻辑的归结原理