腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
堆上
的
Dafny
迭代
器
无法
确保
有效
()
我有一个类,它在
堆上
分配一个
迭代
器
,并在该
迭代
器
上调用MoveNext()。我想证明如果MoveNext()返回true,那么Valid()对于
迭代
器
是
有效
的
。iter.MoveNext(); assert more ==> iter.Valid();} 我查看了/rprint
的
输出,M
浏览 10
提问于2019-09-06
得票数 0
回答已采纳
1
回答
Dafny
无法
验证while循环中
的
多个
迭代
器
我想要有一个分配两个
迭代
器
的
函数,然后进入一个循环,只要MoveNext()返回true,它就会重复调用
迭代
器
上
的
MoveNext()。然而,在
迭代
器
上调用MoveNext()会违反(或阻止
Dafny
验证)另一个
迭代
器
所需
的
不变量:{ yield; } { yield{ if (iter1Mor
浏览 13
提问于2019-08-07
得票数 1
回答已采纳
1
回答
达夫尼:在必须是真实常量
的
情况下违反前提条件
Dafny
无法
验证以下代码
的
m方法:requires k >= 0 true{} 它为“
确保
”行报告possible violation of function precondition,即k>=0。这肯定不是违反
的
,因为参数实际上是常数0 (0=0),为什么
dafny</em
浏览 11
提问于2022-02-22
得票数 0
1
回答
Dafny
简单
的
断言不成立
在exercise_1a中,怎样才能使断言cnt > 0
有效
?cnt := cnt + 1; assert cnt > 0; // *** invalid ***令人惊讶
的
是
浏览 2
提问于2020-06-19
得票数 0
1
回答
Dafny
/Boogie中
的
触发
器
是什么?
、
、
我一直在
Dafny
蹒跚前行,并不了解触发
器
。也许结果是,我编写
的
程序似乎给验证
器
带来了很大
的
困难。有时我花费大量
的
时间摆弄我
的
证明,试图说服
Dafny
/Boogie它是
有效
的
;当我得到一些工作,有时它是缓慢
的
验证(这严重降低了我继续
的
能力)。什么是触发
器
浏览 28
提问于2018-06-04
得票数 2
回答已采纳
1
回答
如何从C#主程序调用
Dafny
方法?
、
、
我需要向
Dafny
函数提供数据并得到它们
的
输出。为此,我试图创建一个调用
Dafny
函数
的
C#程序。为此,我应该 在步骤2中
的
csc调用中缺少
浏览 4
提问于2021-05-28
得票数 0
回答已采纳
2
回答
Dafny
谓词isBinarySearchTree
、
、
、
我必须用
Dafny
写一个BST (二进制搜索树)类。 我从
Dafny
开始,然后编写一个类,插入方法是最简单
的
部分。我多次尝试编写递归谓词,该谓词可以检查作为参数传递
的
树是否为BST (没有平衡条件,遵循规则left.value < node.value && right.value >node.value
的
简单二叉树该错误基本上是“此调用
的
预条件可能不成立”。感谢您
的
阅读。,我现在检查左侧
的
所有值是否较小,而右侧
的<
浏览 7
提问于2021-11-09
得票数 0
回答已采纳
1
回答
在
Dafny
中验证Max函数时出现断言冲突?
下面的程序在assert v==40上导致断言冲突:为什么?当数组a只包含一个元素时,可以验证程序。requires 1<=a.Lengthensures exists j:int :: 0<=j< a.Length && max == a[j] max:=a[0]; while(i
浏览 0
提问于2018-04-30
得票数 1
1
回答
std::string::resize(smaller_than_capacity)是否保证现有
迭代
器
仍然
有效
?
、
、
、
、
根据,std::vector::resize明
确保
证: 当调整到较小
的
大小时,向量容量永远不会减少,因为这将使所有
迭代
器
失效,而不仅仅是那些被等价
的
pop_back()调用序列所失效
的
迭代
器
。然而,我
无法
从 of std::string::resize那里找到任何类似的保证。std::string::resize(smaller_than_capacity) 是否保证现有
迭代
器
仍然
有效</
浏览 3
提问于2021-07-15
得票数 0
回答已采纳
1
回答
达芙妮:什么条款没有发现触发
的
平均?
、
我在达夫尼收到警告说我
的
量词对于我
的
代码,我要做
的
是找到一个平方值小于或等于给定自然数'n‘
的
最大数。下面是我到目前为止想出
的
代码: // square less than or equal to n i := i + 1;} 在这个片段中,我使用
浏览 1
提问于2018-03-21
得票数 6
1
回答
如何在
Dafny
中产生无效
的
LogicalExpression?
、
考虑下面的
dafny
函数: function method unpair(n: nat): (nat, nat) var x,y :| n == (x+y)*(x+y+1)/2 + y;return (x,y) } 给定一些自然数n,我想确定满足等式(x+y)*(x+y+1)/2 + y
的
两个自然数x和y。这可以使用Cantor
的
配对函数,但不确定我是否有正确
的
语法,因为
dafny
在返回行上抛出错误:"invalid LogicalExpression“。如何解决此错
浏览 23
提问于2021-10-04
得票数 1
回答已采纳
1
回答
dafny
初始断言在循环中没有验证相同
的
最终断言验证
、
、
您好,我已经将问题简化为一种简单地将一个数组
的
元素复制到另一个数组
的
方法。我
的
问题是,最终
的
断言会验证,而初始
的
断言却
无法
验证,即使我有一个保护措施来
确保
初始断言只在第一次进入循环之后应用。因此,我认为最终
的
断言应该暗示初始
的
断言。 任何帮助都非常感谢。
浏览 0
提问于2020-09-11
得票数 1
1
回答
不由循环维护
的
Dafny
循环不变
、
我
的
任务是初始化一个8x8矩阵,并
确保
矩阵中
的
所有元素都设置为零。我还需要使用while循环和循环不变量来实现。为了
确保
是替换了所有元素,而不仅仅是使用从矩阵实例化时开始使用
的
零,我将矩阵中
的
所有元素初始化为1s,并打印出其中
的
所有值。结果是相同
的
-所有元素在矩阵中是1s。我用手完成了我
的
算法,发现它在逻辑上应该
有效
,然而,我认为我对
Dafny
中循环不变量中量化词工作方式
的
理解可能
浏览 2
提问于2018-03-27
得票数 1
1
回答
如何管理c++缓冲区
的
生命周期
、
、
、
、
我在c++代码中在
堆上
分配了一个图像缓冲区,我希望通过JNI与其他一些c++对象以及Java共享。在本机方面,我和我正在使用shared_ptr,想知道这样做
的
最佳方式是什么?我
的
想法是将
堆上
的
缓冲区分配一次,并在任何地方共享一个引用。我正在利用智能指针,以便一旦所有引用超出范围,缓冲区就会被释放,但是在共享对java端
的
引用时,我面临一个问题。如何
确保
我
的
java对象始终具有对缓冲区
的
有效
引用?当使用c++对象引用
浏览 4
提问于2019-11-13
得票数 2
回答已采纳
1
回答
Dafny
:递归函数是否足以验证
迭代
查找和替换?
、
、
、
、
在
Dafny
中,我正在使用一种
迭代
方法来查找给定子字符串
的
所有实例,并将它们替换为另一个给定
的
子字符串。newString + next; } return newString;“
确保
我
的
问题是:是否由于
迭代
方法和递归函数之间
的
控制流
的
不同,达夫尼
无法
将它们连接起来?如果我想出一个与ver
浏览 18
提问于2021-12-07
得票数 1
回答已采纳
2
回答
如何获取std::set
的
第一个元素
、
、
、
我希望你们所有人,std::set< int*> nodes;for (int i=0; i<10nodes.begin());} 我发现以这种方式实现第一个元素对gcc
有效
,
浏览 3
提问于2012-04-27
得票数 16
回答已采纳
1
回答
修改更改对象上
的
子句错误
、
、
、
我如何声明(在
Dafny
中)一个“
确保
”保证由一个方法返回
的
对象是“新
的
”,也就是说,它不会与其他任何地方使用
的
对象相同(还)?下面的代码显示了一个最小
的
示例:requires a != null this.test[3] := 9;
浏览 3
提问于2017-12-01
得票数 3
回答已采纳
2
回答
如何从int*类型
的
堆分配数组中检索类型为int[num_elem]
的
变量?
、
、
、
我需要访问
堆上
分配
的
数组上
的
迭代
器
,如end()和array (),如下所示:它有int*类型,
迭代
器
不能立即对它工作。但是,当我在堆栈上分配它时,类型是int[NUM_ELEM],
迭代
器
可以工作:如何在init_env_heap上使用
迭代
器
?
浏览 3
提问于2017-07-30
得票数 0
回答已采纳
2
回答
是否有一种方法可以强制使用shared_ptr在
堆上
创建对象?
、
、
、
我想知道是否可以通过创建私有/受保护
的
下降
器
和使用shared_ptrs同时
确保
自动资源管理(shared_ptr
的
RAII特性)来强制在
堆上
创建对象。那能用另一种方式做吗?我问这个问题
的
原因是,根据我所听到
的
(还没有看到)在STL上没有虚拟
的
干燥
器
,所以没有办法
确保
其他than...shared_ptr
的
安全销毁?如果是这样,则
无法
将对象强制到堆中,因为shared_p
浏览 1
提问于2013-08-03
得票数 2
回答已采纳
4
回答
为什么std::vector::insert使插入点后
的
所有
迭代
器
失效?
、
当insert-ing进入std::vector时,C++标准
确保
插入点之前
的
所有
迭代
器
仍然
有效
,只要capacity没有耗尽(参见23.2.4.3/1或)。在插入点之后不允许
迭代
器
保持
有效
的
理由是什么(如果容量没有用尽)?当然,它们会指向不同
的
元素,但是(从std::vector
的
假定实现来看)仍然可以使用这样
的
迭代
器
(例如取消引用或
浏览 3
提问于2013-07-27
得票数 6
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
幻兽帕鲁进不去房间/无法创建服务器的几个有效解决方法
30天拿下Rust之智能指针
【译】Arc在Rust 中是如何工作的
Rust HashMap详解及单词统计示例
30天拿下Rust之所有权
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券