单赋值程序验证形式化技术解析
1. 验证技术的完备性
在程序验证领域,有这样一个命题:设 $C \in AComm$,$C’ \in ACommsa$,$\varphi$,$\varphi’$,$\psi$,$\psi’$,$\gamma \in Assert$ 且 $\Gamma \subseteq Assert$,使得对于某个 SA 翻译 $T$ 有 $(\varphi’, C’, \psi’) = T(\varphi, C, \psi)$,并且 $(\gamma, \Gamma) = VC(\varphi’, C’)$。如果 $\models {\varphi} \lfloor C \rfloor {\psi}$ 且 $C$ 相对于 $(\varphi, \psi)$ 注释正确,那么 $\models \Gamma, \varphi’ \land \gamma \to \psi’$。
证明过程如下:
- 首先,根据系统 $H$ 的完备性,我们有 $\vdash_H {\varphi} \lfloor C \rfloor {\psi}$。
- 由定义 2 和 6 可知,$\vdash_{Hg} {\varphi} C {\psi}$ 且 $\vdash_{Hg} {\varphi’} W(C’) {\psi’}$。
- 后一个定义意味着 $\varphi’ # C’$,根据命题 5,对于某个 $\psi’’ \in Assert$ 有 $\vdash_{Hsa} {\varphi’} C’ {\varphi’ \land \psi’‘}$,且 $\models \varphi’ \land \psi’’ \to \psi’$。
- 命题 6(2) 给出 $
单赋值程序验证形式化技术解析
超级会员免费看
订阅专栏 解锁全文
1万+

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



