z3 - 如何使用 z3 获取变量的有效范围
问题描述
在给定一些约束的情况下,我想找到变量可以具有的有效值范围。例如,
x = Int('x')
s = Solver()
s.add(x >= 1)
s.add(x < 5+2)
有什么方法可以让 z3 为这个变量打印 1..6 吗?
我尝试使用以下内容,但 range() 仅适用于声明。
print("x.range():", x.range()) # this does not work
注意: 1.这个问题好像问的一样,但是我没看懂它的答案,我在找python的答案。
- 回复@Malte:我不是在寻找所有答案,我只是想将多个约束简化到一个有效范围内。如果变量两侧的约束不能合并,那么至少只有一侧的约束,如上述问题中所述。
解决方案
推荐阅读
- javascript - 如何在除某些选项卡之外的所有选项卡中运行此脚本?
- java - pop() 功能如何在 Java 的堆栈中工作?
- php - Mailchimp 批处理调用返回 0 总操作
- c# - 数据未立即保存
- java - 无法使用 Selenium + Java 定位类跨度元素
- csv - 使用 Windows CMD 计算每行的字符数
- c - 是否可以强制 GCC 在没有内联汇编的情况下输出我给它的确切位指令?
- java - CORS 允许以管理员身份登录,但不允许 put 请求
- javascript - java web应用程序生成的html页面上所有已部署图像的“访问被拒绝”javascript错误
- docker - Docker 容器 IP 被公司防火墙阻止