用于修剪析取谓词以支持验证的特化演算
1. 引言
在逻辑和验证领域,对于析取谓词的处理往往是一个复杂的问题。为了更高效地处理这些谓词,我们引入了一种特化演算,它能够在不明确展开谓词定义的情况下检测不可行的析取项,并对纯部分进行相应的强化,同时保持可满足性。
2. 基本概念
2.1 闭包与约束
理想情况下, closure(π(w∗)) 包含由 π(w∗) 蕴含的所有更强的原子公式。不过,根据所使用的抽象域,这个集合可能无法计算。更大的闭包集会导致更积极的修剪。我们的系统目前支持任意线性算术约束以及集合约束,这通过将 Omega 和 MONA 求解器集成到系统中来实现。原则上,只要有适合的求解器,系统可以支持任意约束域。
2.2 注释规范语言
我们的特化演算基于注释规范语言。为了便于表示,我们的语言仅包含规范化的线性算术约束。通过初始化和推理过程,我们可以自动生成特化所需的所有注释(包括 I 和 R )。
3. 特化演算规则
3.1 格式良好性条件
对于每个注释谓词 p(v∗)@L#R ,需要满足以下条件:
- L ⊆ {1, ..., n}
- R ⊆ R
- 对于所有 α←L0 ∈ R ,有 L ∩ L0 ≠ ∅
超级会员免费看
订阅专栏 解锁全文

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



