我是 ACL2 定理证明器的新手。我想根据三个变量的 XOR 结果更新变量的值。我认为“setq”会为我做到这一点。
(setq out (xor (xor a b) c))
但是,我收到此错误:
TOP-LEVEL 中的 ACL2 错误:符号 SETQ(在包“COMMON-LISP”中)在 ACL2 中既没有函数也没有宏定义。此外,这个符号在 Lisp 主包中;因此,您不能在 ACL2 中定义它。请参阅:DOC 未遂事件。注意:这个错误发生在上下文(SETQ OUT (XOR (XOR AB) C))中。
我们不能在 ACL2 中使用主要的 Lisp 函数吗?是否有另一种方法来更新 ACL2 中的变量值?我已经尝试过“分配”,但我不希望我的变量成为全局变量。