首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[ <- ]在why3中是什么意思?

[ <- ]在why3中是什么意思?
EN

Stack Overflow用户
提问于 2015-07-15 19:18:54
回答 1查看 93关注 0票数 2

我使用Frama、Alt和Why3进行系统验证.在Frama中生成并发送给Why3的一个证明义务如下所示(这是Why3版本):

代码语言:javascript
复制
(p_StableRemove t_1[a_5 <- x] a_1 x_1 a i_2)

我想知道t_1[a_5 <- x]是什么意思。

这是在访问x之前将a_5分配给t_1[a_5 <- x]吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-16 09:11:25

[ <- ]是Why3中数组修改的表示法。但是,与命令式语言不同的是,t[i <- v]是对t的功能更新,即将i映射到v的(新的)数组,以及t的所有其他有效索引在t中的值。t本身是未修改的,您将通过复制t的大部分内容来创建一个新数组。

这些是数组上的Why3标准库的相关部分

代码语言:javascript
复制
function set (a: array ~'a) (i: int) (v: 'a) : array 'a =
    { a with elts = M.set a.elts i v }

function ([<-]) (a: array 'a) (i: int) (v: 'a) : array 'a = set a i v
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31439202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档