首页 > 解决方案 > 带有 forall 语句的 Dafny 断言错误

问题描述

assert forall k :: 0 <= k < a.Length && index > 0 && a[0] != 0 ==> a[k] != k;

考虑上面的 dafny 代码。假设 a 是一个自然数数组。用英语,我想说“对于所有 k 使得 0 <= k < a.Length where index > 0 and a[0] != 0 then, a[k] != k”。当我写这篇文章时,我在 dafny 中得到一个断言错误。为什么我会收到此断言错误。我可以没有这样的量词吗?如果没有,我怎么能量化 dafny 断言中的变量?

标签: logicdafnyforall

解决方案


推荐阅读