叠加与归纳结合的实际实现
1. 引言
在处理包含被解释为自然数的算术常量(或参数)的子句集时,现有的基于标准一阶逻辑的定理证明器,如基于归结或叠加的证明器,在证明某些公式的不可满足性时存在局限性。例如,对于公式 $\varphi$:
- $p(0, a)$
- $\forall x, y \neg p(x, y) \vee p(x + 1, f(y))$
- $\exists n\forall x \neg p(n, x)$
该公式在通常意义下是可满足的,但当 $p$ 的第一个参数的类型被解释为自然数时,它是不可满足的。因为通过对自然数 $k$ 进行归纳,可以发现前两个公式蕴含 $p(k, f^k(a))$ 成立,这与第三个公式矛盾。
现有的一些处理混合公式(结合一阶逻辑和解释理论,如 Presburger 算术)的证明过程,在处理此类公式时,会推断出无限集的公式 $n \not\equiv 0, n \not\equiv 1, n \not\equiv 2, \cdots$,但由于 Presburger 算术的非紧致性,无法在有限时间内检测到不可满足性。
传统处理一阶定理证明中归纳定理的方法是添加显式的归纳方案。例如,将 $\exists n\forall x \neg p(n, x)$ 替换为 $\exists n\forall x \neg p(n, x) \land \forall m m + 1 \not\equiv n \vee \exists x p(m, x)$ ,或者添加以 $\exists x p(m, x)$ 为归纳不变量的归纳方案:$(\exists x p(0, x) \land \forall m((\
超级会员免费看
订阅专栏 解锁全文
4338

被折叠的 条评论
为什么被折叠?



