基于SAT的∀µ - 演算属性验证方法解析
1. 扩展µ - 演算基础
扩展µ - 演算采用扩展的不动点算子。需要注意的是,σX{}ψ ≡ σX.ψ,所以任意µ - 演算公式都能在语法上转换为等价的扩展µ - 演算公式。
2. 证明规则
在模型检查中,与一些全局模型检查算法不同,部分算法通过局部探索Kripke结构,为给定的µ - 演算属性在初始状态寻找证明。虽然基于表的算法的最坏情况复杂度与传统算法相同,但如果属性可以局部证明,基于证明理论的算法会更高效。
给定一个Kripke结构K、状态¯s和µ - 演算公式ψ,判断形式为K, ¯s ⊢ ψ。证明是根据特定规则构建的树。规则 (¬¬)、(∨L)、(∨R)、(¬∨)、(∧)、(¬∧L)、(¬∧R)、(♦)、(¬□)、(σ - Unroll) 和 (¬σ - Unroll) 会将当前判断简化为一个或多个后续需证明的判断。当证明树的所有叶子都是规则 (AP)、(¬AP)、(ν - Term) 或 (¬µ - Term) 的实例时,该证明为完整证明。
以下是具体的证明规则:
|规则|条件|判断|
|----|----|----|
|(AP)|p ∈ L(¯s)|K, ¯s ⊢ p|
|(¬AP)|p ∉ L(¯s)|K, ¯s ⊢ ¬p|
|(¬¬)|K, ¯s ⊢ ψ|K, ¯s ⊢ ¬¬ψ|
|(∨L)|K, ¯s ⊢ ψ|K, ¯s ⊢ ψ ∨ ψ′|
|(∨R)|K, ¯s ⊢ ψ′|K, ¯s ⊢ ψ ∨ ψ′|
|(¬∨)|K, ¯s ⊢ ¬ψ
K, ¯s ⊢ ¬ψ′|K, ¯s ⊢ ¬(ψ
超级会员免费看
订阅专栏 解锁全文
8297

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



