Inadequacy of computable loop invariants
Inadequacy of computable loop invariants
复制标题
可计算循环不变量的不足
DOI:
--
复制
发表时间:
2001
期刊:
影响因子:
--
通讯作者:
Y. Gurevich
中科院分区:
文献类型:
--
作者:
A. Blass;Y. Gurevich
Hoare logic is a widely recommended verification tool. There is, however, a problem of finding easily checkable loop invariants; it is known that decidable assertions do not suffice to verify while programs, even when the pre- and postconditions are decidable. We show here a stronger result: decidable invariants do not suffice to verify single-loop programs. We also show that this problem arises even in extremely simple contexts. Let <italic>N</italic> be the structure consisting of the set of natural numbers together with the functions <italic>S(x)</italic>=<italic>x</italic>+1,<italic>D(x)</italic>=2<italic>(x)</italic>=***<italic>x</italic>/2***. There is a single-loop program *** using only three variables <italic>x,y,z</italic> such that the asserted program <italic>x</italic>=<italic>y</italic>=<italic>z</italic>=0 *** false is partially correct on <italic>N</italic> but any loop invariant <italic>I(x,y,z) for this asserted program is undecidable.