用户指定值的Hoare Logic Loop变体

时间:2016-04-07 18:21:31

标签: logic verification variant hoare-logic

我有以下问题: 前置条件为真

int n = askUser();
int i = 0;
while(i<n){
  ...
  i++;
}

我想到的变体是:n-i。 但是,我认为没有任何东西会阻止用户提供负值,在这种情况下,变体将是负数(这与其定义相矛盾)。

是否可以将不变量指定为| n | - i,或者n> = 0必须作为前提条件包括在内吗?

非常感谢任何帮助或建议。

0 个答案:

没有答案