标签: logic verification invariants loop-invariant
x := 0; y := 0; while (x < a) x := x + 2; y := y + 1;
我希望使用Hoare Logic来证明:{True}一半{x = 2 ∗ y} 在下面的问题(以及您的答案)中,我们可以将循环代码称为Loop。
1。鉴于所需的后置条件{x = 2 ∗ y},Loop合适的不变式是什么?
我认为不变性应该只是期望的后置条件x = 2y。这是对的吗?