程序验证(十二):完全正确性
完全正确性
完全正确性(total correctness),写作: [ P ] c [ Q ] [P]c[Q] [P]c[Q],意思是:
- 如果我们从一个满足 P P P的环境开始执行 c c c
- 那么 c c c一定终止
- 且它的最终的环境满足 Q Q Q
良基关系(Well-Founded Relations)
集合 S S S上的一个二元关系 ≺ \prec ≺是一个良基关系,当且仅当:
- S S S中不存在无限序列 s 1 , s 2 , s 2 , … s_1,s_2,s_2,\dots s1,s2,s2,…,使得对于所有 i > 0 i>0 i>0都有 s i + 1 ≺ s i s_{i+1}\prec s_i si+1≺si
- 也就是说, S S