组合验证框架详解
一、覆盖节点的概念
在模型检查图(mc - graph)中,直观地说,如果函数 (f) 定义了子节点的值,当一个子节点 (n’) 覆盖另一个子节点 (n’‘) 时,为了确定节点 (n) 的值,只考虑 (n’) 而忽略 (n’‘) 就足够了。在某些情况下,(f) 仅能提供节点值关于 (\leq_i) 的下界,但第二个要求确保了对于每个 (f’ \geq_i f),覆盖关系仍然成立。需要注意的是,覆盖的概念在 mc - graph 的节点上定义了一个偏序关系。因此,对于每个被覆盖的节点 (n’‘),都存在一个非被覆盖的覆盖节点 (n’)。
例如,考虑图 3(b) 中的 mc - graph,假设底层结构是 3×3 结构(图 1(e)、(f))。边的值为 (R(n_0, n_1) =?T) 和 (R(n_0, n_2) =??),设 (f(n_1) =?T) 且 (f(n_2) = F?)。可以证明在 (f) 下 (n_2) 被 (n_1) 覆盖:
- 条件 (1) 显然成立,即 (F? \land?? \leq_t?T \land?T)。
- 对于条件 (2),需要证明对于所有 (v_1, v_2 \in L),如果 (f(n_1) \leq_i v_2) 且 (f(n_2) \leq_i v_2),那么 ((R(n_0, n_2) \land v_2) \leq_t (R(n_0, n_1) \land v_1))。具体来说,就是要证明对于所有 (v_1 \in {?T, TT, FT}) 和 (v_2 \in {F?, FF, FT}),都有 (v_2 \land?? \leq_t v_1 \land?T),这显然是成立的。
在这个例子中,基
超级会员免费看
订阅专栏 解锁全文
1552

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



