谓词抽象与排名抽象:程序验证的有效方法
1. 谓词抽象
谓词抽象是一种将具体系统状态映射到抽象状态的方法。给定一个有限状态系统 (S = \langle V, \Theta, \rho, J, C \rangle),其状态集为 (\Sigma),谓词抽象是一个映射 (\alpha: \Sigma \to {0, 1}^n),其中 (n) 为正整数。({0, 1}^n) 被称为抽象状态集。
谓词抽象可以通过一组方程 ({u_i = P_i(V) | i = 1, \ldots, n}) 来表示,其中 (P_i) 是关于具体变量 (V) 的断言,称为谓词,(U = {u_1, \ldots, u_n}) 是布尔抽象变量集。映射 (\alpha) 也可以简洁地表示为 (U = P(V))。
对于断言 (p(V)),其抽象定义为:
(\alpha(p): \exists V.(U = P(V) \land p(V)))
(\alpha(p)) 的语义是 (|\alpha(p)| = {\alpha(s) | s \in |p|}),通常是一个过近似。如果一个断言 (p) 满足 (|p| = \alpha^{-1}(|\alpha(p)|)),则称 (p) 相对于抽象 (\alpha) 是精确的。
系统 (S) 通过 (\alpha) 进行抽象得到的系统为:
(S_{\alpha} = \langle U, \alpha(\Theta), \alpha(\rho), \bigwedge_{J \in J} \alpha(J), \bigwedge_{(p,q) \in C} (\alpha(p), \alpha(q)) \rangle) <
超级会员免费看
订阅专栏 解锁全文
98

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



