基于扩展规则的定理证明的研究
【摘要】:自动定理证明自从二十世纪五十年代被提出,已经成为计算机科学中最重要的领域之一。归结方法是其中最著名、应用最广的方法之一。扩展规则方法将定理证明沿着归结的反方向进行,是一种新的定理证明方法。为了使扩展规则方法更好的用于定理证明,本文改进和完善了经典逻辑中的扩展规则定理证明方法,提出了模态逻辑中基于扩展规则的定理证明方法。本文的主要贡献如下:
(1)用化简规则和启发式对命题扩展规则算法进行改进,从而提高命题扩展规则方法的效率。充分利用基于扩展规则方法和基于归结方法的推理特点来提高推理效率,给出了结合这两种推理方法的结合算法。实验结果表明,我们的改进算法大幅度提高了推理效率,特别是带化简规则和启发式函数的扩展规则算法表现得尤为突出。通过把结合算法与相关工作进行比较,可以看出结合算法是一个快速的命题SAT问题求解器。
(2)扩展规则方法是通过部分实例化方法的思想从命题逻辑提升到一阶逻辑的。为了完善Hooker的部分实例化方法,本文重新给出阻塞定义并重新证明了一些定理。为了完善并改进一阶扩展规则算法,本文重新给出潜在阻塞定义,在算法中增加M-可满足的情形,并调用命题逻辑中改进后的扩展规则算法。实现了相应的一阶定理证明器,并用其快速准确的求解了两类非常典型的规划问题。
(3)把扩展规则方法推广到模态典逻辑中。通过破坏性方法直接把扩展规则方法推广到模态逻辑中,主要讨论了模态系统K中的破坏性扩展规则方法。实现了相应的模态定理证明器,用其快速的证明了模态系统K中的所有公理和四类标准的benchmark问题。通过关系转换方法和函数转换方法把扩展规则方法推广到模态逻辑中,提出关系扩展规则方法,函数扩展规则方法和广义函数扩展规则方法。