模型检查完整性探究
1. 模型检查概述
在时态规范语言的研究中,模型检查是一项重要技术。传统的基于状态的模型检查可视为对跟踪语义的抽象解释,但通常是不完整的。对于时态公式 φ,其经典状态解释对应于 [[φ]]∀τ 。抽象状态语义的合理性是通过构造实现的,对于任意 φ ∈L↶⋆µ 和 ξ ∈E,有 α∀Mτ ([[φ]]ξ) ⊇[[φ]]∀τ ˙α∀Mτ (ξ) 和 α∃Mτ ([[φ]]ξ) ⊆[[φ]]∀τ ˙α∃Mτ (ξ)。
2. 完整性问题
2.1 一般情况
即使状态集是有限的,完整性通常也不成立。例如,存在封闭公式 φ ∈L↶⋆µ 和状态 s ∈S,使得 s ∈α∀Mτ ([[φ]]∅) ∖[[φ]]∀τ∅,这意味着基于跟踪和基于状态的模型检查对于 φ 并不等价。直观地说,为了处理 ↶⋆µ - 演算的时态规范,模型检查算法应处理跟踪集,但这显然是不可行的。
2.2 不完整的模型转换器
- 前驱运算符 ⊕ :对于通用检查抽象,前驱运算符 ⊕ 是不完整的。当 X = Fd(X) 时,ρ∀Mτ (⊕(ρ∀Mτ (X))) = ρ∀Mτ (⊕(X)),即对于任何前向封闭的公式,前驱转换器是完整的。对偶地,后继模型转换器 ⊖ 也是不完整的。
- 析取(集合并集) :析取(即集合并集 ∪)是第二个不完整的模型转换器。对于任意 X, Y ∈M,如果 X = St(X) 或 Y = St(Y),则 ρ∀Mτ (ρ∀Mτ (X) ∪ρ∀Mτ (Y)) = ρ∀Mτ (X ∪Y),这意味着对至少一个状态封闭的公式进
超级会员免费看
订阅专栏 解锁全文
1855

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



