时态逻辑中的不变式搜索与特征交互证明规划
1. 时态逻辑中的不变式搜索
1.1 逻辑规则示例
在时态逻辑中,存在一些有趣的逻辑规则示例,如下所示:
- m4: ∃x deliver eggs(x) ⇒ ❣∃x (deliver flour(x) ∨ deliver wood(x))
- m5: ∃x deliver wood(x) ⇒ ❣∃x deliver eggs(x)
- m6: ∃x deliver flour(x) ⇒ ❣∃x deliver eggs(x)
建立 S ∪ U ⊢ ψ ∧ ∃x (deliver eggs(x) ∨ deliver wood(x) ∨ deliver flour(x)) 相对直接,并且所有定理 5 的条件都能得到满足。
1.2 系统实现
该方法在 λClam 环境中作为时态规范原型证明器的一部分得以实现。λClam 是一个基于证明规划理念的系统,使用高阶类型逻辑编程语言 Teyjus λProlog 实现。证明规划是对证明在一定抽象层次上的表示,通常高于基本推理规则的层次。在 λClam 中,通过应用称为证明方法的规划算子从目标生成证明计划。原子方法适用于实现基本证明规则或自动化证明程序,而复合方法用于从原子方法构建更复杂的证明策略。
我们的系统处理时态公式的算术翻译。对于证明器内所需的一阶(非时态)证明,使用原子方法证明表,该方法在 λProlog 中重新实现了简单且方便的 LeanTap 表证明器。系统的核心是原子方法相互归纳,它实现了比上述讨论更通用的不变式方案,不仅适用于单声道规范。给定一组公式,相互归纳首先将其分离为步骤规则集、通用部分和