首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更新ACL2中的变量值?

如何更新ACL2中的变量值?
EN

Stack Overflow用户
提问于 2017-11-15 05:35:59
回答 1查看 132关注 0票数 1

我是ACL2定理证明的新手。我想根据三个变量的XOR结果更新变量的值。我想“setq”会帮我做到的。

代码语言:javascript
复制
(setq out (xor (xor a b) c))

但是,我得到了以下错误:

顶层的ACL2错误:在ACL2中,符号SETQ (在软件包“COMMON”中)既没有函数也没有宏定义。此外,这个符号在主Lisp包中;因此,您不能在ACL2中定义它。你看,医生差一点就错过了。注意:此错误发生在上下文中(SETQ OUT (XOR (XOR )A、B) C)。

我们不能在ACL2中使用主要的Lisp函数吗?是否有另一种方法来更新ACL2中的变量值?我已经尝试过“分配”,但我不希望我的变量变成全局的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-21 00:14:13

ACL2是一个应用程序设计语言 (实际上ACL2代表的是“应用程序通用Lisp的计算逻辑”),所以您不能在代码中修改值;您只能绑定新的值。所以也许letlet*就是你要找的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47300102

复制
相关文章

相似问题

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