2.3 谓词逻辑

谓词逻辑的主要思想:世界是由对象组成的,可以由标识符和属性区分它们,并且它们存在相互之间的关系。

该部分是 离散数学 一阶逻辑 部分的内容,故略去。

如果谓词 $P$ 中的所有个体都是个体常量、变元或函数,则该谓词为一阶谓词。

如果某个个体本身又是一个一阶谓词,则称 $P$ 为二阶谓词,以此类推。

将公式 $A$ 在结构 $\mathcal U$ 及指派 $A$ 取值为真记为 $\vDash_U A[s]$,否则为 $\not \vDash_U A[s]$

2.4 归结推理

逻辑推理的三种形式:演绎推理、归纳推理、溯因推理

归结推理:证明 $P \to Q$ 等价于证明 $\boldsymbol F = (P_1 \land P_2 \land \cdots \land P_n) \land \lnot Q$ 为假,转换为证明 子句集 $\boldsymbol S = \{P_1, P_2, \cdots, P_n, Q\}$ 是不可满足的。

文字:原子公式及其否定

子句:任何文字的析取。

子句集:由子句构成的集合。

命题逻辑的归结推理

对于前提集 $F$ 和命题 $P$,将 $F$ 和 $\lnot P$ 写成子句集 $S = S_0 \cup S_{\lnot P}$,对其反复应用归结推理,直至导出空子句(False),说明找到矛盾,则证明结束。

谓词逻辑的归结推理

合一:寻找项之间合适的变量置换使得表达式一致。

变量到项的置换: $\sigma = \{t_1/v_1, t_2/v_2,\cdots,t_n/v_n\}$,$S$ 做 $\sigma$ 置换后记为 $S\sigma$

  • $t_i/v_i$ 表示用 $t_i$ 替换 $v_i$,$t_i$ 是项,$v_i$ 是互不相同的变量
  • $t_i \ne v_i$,$t_i$ 不能与 $v_i$ 有关,不允许置换本质上形成了环(包括自环)
  • 变量到项的置换本质上是一种 一般到特殊 的过程。

合成置换:$(E\theta)\lambda = E(\theta\circ\lambda)$

  • 若 $\theta = \{ t_1/x_1, t_2/x_2, \cdots, t_n/x_n\}$,$\lambda = \{u_1/y_1, u_2/y_2, \cdots, u_m/y_m\}$
  • 那么它们的复合为 $$\theta\circ \lambda = \{t_1\lambda/x_1, t_2\lambda/x_2, \cdots, t_n\lambda/x_n, ,u_1/y_1, u_2/y_2, \cdots, u_m/y_m\}$$
  • 需要删去自环:$t_i\lambda /x_i = x_i / x_i$
  • 需要删去第二次置换中变得无用的替换:$u_i/y_i,, y_i \in \{x_1,x_2,\cdots,x_n\}$

公式集的合一:对于 $F = \{F_1,F_2,\cdots,F_n\}$,若存在置换 $\lambda$ 使得 $F_1\lambda=F_2\lambda=\cdots=F_n\lambda$,则称公式集 $F$ 是合一的。

  • 通常而言,使得公式集合一的置换是不唯一的。
  • 使得公式集合一的置换可能不存在。

最一般合一(MGU):对于 $F$ 的一个合一 $\sigma$,若对于其他合一 $\theta$,均 $\exists \lambda,, \theta = \sigma\circ\lambda$,则称 $\sigma$ 是 $F$ 的最一般合一。

  • 如果可合一,那么一定就存在 MGU
  • 最一般合一在变量重命名/等价代换意义下唯一。

MGU 的求解算法:对于 $F$,找出其差异集 $D$(两个公式在相同位置处不同符号的集合),并将其置换 $t_i/x_i$,并合并相同的表达式。

  • 最终如果 $F$ 只有一个表达式,则算法终止,并且 $F$ 存在 MGU
  • 最终如果 $F$ 仍有多个表达式且没法再置换,则算法终止,并且 $F$ 不存在 MGU,不可合一

在归结推理时,若 $C$ 有可合一的文字,那么在归结之前应当对这些文字进行合一。

二元归结式:对于两个没有相同变元的子句 $C_1,C_2$,若它们各自的一个文字 $L_1$ 和 $L_2$,若 $\sigma$ 是 $L_1$ 和 $L_2$ 的最一般合一,则它们的二元归结式为 $$C_{12} = (C_1\sigma - \{L_1\sigma\})\cup (C_2\sigma - \{L_2\sigma\})$$

对于一节谓词逻辑,归结推理是完备的。