z3 - 变量是否有最大值大小?
问题描述
假设我有以下(故意简单的)约束小节:
..... SOME STUFF .....
(declare-const I Int)
(assert (and (>= I 0) (<= I 1)))
(define-fun W () Int
2251799813685248
)
..... MORE STUFF .....
(maximize (* I W))
(check-sat)
(get-model)
我给 W 的尺寸是不是太大了?或者更一般地说,Z3 中是否可以分配最大大小值(例如,如果变量存储为常规 ints/floats/longs/etc 而不是可变精度)?
解决方案
一个Int
值对应于一个数学整数。它可以是任意大小。没有最大值。
对于调整大小的版本,您应该使用 bit-vectors:(_ BV n)
是 size 的位向量的类型n
,它遵循机器算术规则。
推荐阅读
- javascript - xhr.response 文本正在返回对象对象
- javascript - 仪表板应用程序中的 React 15 和 16 组件
- graphql - 如何通过 aws-cognito 属性将用户分组?
- aframe - aframe walk/click 如何在手机和台式机上工作?
- javascript - 如何在 Mozilla Firefox 浏览器中加载“chrome-extension”?
- sql - 我如何编写一个查询来计算两个表中一个条件中一个 id 的行数?
- node.js - 模拟测试不会失败
- erlang - 用系统命令替换 Erlang shell
- javascript - PWA 中 Android 后退按钮的自定义事件
- c++ - 无法在文件 C++ 上写入字符串