VST 版本 1.7。
当我尝试在函数调用中使用它们时,我遇到了一个问题,即 coq 无法识别本地声明的变量。我有代码:
void deSignArray(int bits[], int invKey, int size)
{
int i = 0;
while (i < size) {
int bit = bits[i];
int ans = deSignInt(bit, invKey);
bits[i] = ans;
i++;
}
}
使用 coq 类型位:列表 Z,invKey:Z,大小:Z。
我成功地完成了 bit = bits[i] 步骤,但是当我尝试使用
forward_call((Int.repr bit), (Int.repr invKey)).
该步骤失败,在环境中找不到位。我尝试使用
forward_call(_bit, (Int.repr invKey)).
因为 _bit 出现在 LOCAL 子句中,但这提供了类型不匹配,因为 _bit 是 ident 类型而不是 int 或 Z 类型。我想知道我应该如何使用我本地定义的值来调用其他函数,任何帮助将不胜感激。