问题标签 [dafny]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - Dafny 将 int 插入排序数组方法
我试图在 dafny 中证明这个程序,但我仍然得到最后一个不变量的错误,我不明白为什么它不起作用。
该程序包含一个将 int 插入排序数组的方法。int 将插入正确的位置,即:将 5 插入 1,2,3,4,5,6,7 将返回:1,2,3,4,5,5,6,7
谢谢
arrays - Dafny:旋转区域的数组方法验证
这个证明在 Dafnys 的验证器中给出了一个无限循环:
这指向某种不确定性问题还是它?有没有更好的方法来呈现这个问题以避免无限循环?
以前的版本:
functional-programming - Dafny:帮助正确的不变量,减少语句
谁能帮我解决这里的问题。验证此程序时出现以下错误。
我尝试了各种方法,但它从未通过验证。请帮忙。
......
counting - 达夫尼和发生次数
我一直在研究 Dafny 中引理的使用,但发现很难理解,显然下面的示例无法验证,很可能是因为 Dafny 没有看到归纳法或类似引理的东西来证明计数的某些属性? 基本上,我不知道我需要如何定义或定义什么来帮助说服 Dafny 计数是归纳性的等等。一些确保和不变量规范不是必需的,但这不是重点。顺便说一句,这在 Spec# 中更容易。
binary-tree - Dafny 中的二叉树
来自办公室的问题 - 树的边界是从左到右顺序的提示值序列。我需要开发迭代代码,使用以下 IO 类的 OUTPUT 方法打印给定树的边界
formal-verification - Dafny“找不到触发条件”错误消息
我有一个数组line
,其中包含一个长度为 的字符串l
,
pat
是另一个数组,其中包含一个长度为 的字符串p
。注意:p
andl
不是数组的长度
目的是查看 中包含的字符串是否pat
存在于 中line
。如果是这样,这个方法应该返回line
单词第一个字母的索引,如果不是,它应该返回-1
。
给我们“没有发现触发”错误的不变量是ensures exists j :: ( 0<= j < l) && j == pos;
和invariant forall j :: 0 <= j < iline ==> j != pos;
我对循环的逻辑是,当它们在循环中时,找不到索引。并且确保它遇到索引时。
有什么可能是错的?
这是代码:
我收到以下错误: Dafny 输出的屏幕截图
dafny - Dafny 可以以非交互方式使用,例如从 python 程序中使用吗?
我想查询一个特定的 Dafny 程序是否验证。Dafny 通常用于在 Visual Studio IDE 中以交互方式开发程序。
但是,我需要以非交互方式执行查询。特别是我需要从 python 程序中查询 Dafny。这可能吗?
induction - 验证移动数组区域的 Dafny 方法
我正在使用 Dafny 制作一个删除方法,您会收到:
字符数组
line
数组的长度
l
一个位置
at
要删除的字符数
p
首先从 at to 删除 line 的字符at + p
,然后必须移动at + p
to右边的所有字符at
。
例如,如果您有[e][s][p][e][r][m][a]
, and at = 3
, and p = 3
, 那么最终结果应该是[e][s][p][a]
我试图证明一个有意义的后置条件,例如:
ensures forall j :: (at<=j<l) ==> line[j] == old(line[j+p]);
确保 at + p 右侧的所有字符都在新位置。
但是 Dafny 输出两个错误:
索引超出范围 7 53
后置条件可能不会在此返回路径上成立。19 2
dafny - 为什么在 Dafny 函数中使用 new 会出错?
我想知道为什么我收到以下程序的错误:
我得到了:invalid UnaryExpression
当我运行这个时。