this Z3 issue comment建议选项rlimit
优先于timeout
:
将超时与搜索算法相结合可以实现一切 非确定性的,所以现在你甚至不必改变随机性 种子让它失败!使用rlimits(
(set-option :rlimit <n>)
和 类似的)确定资源边界的方式。
我试图在Z3的帮助中找到有关rlimit
的更多信息(z3 -pd
),但提供的说明只有非常短的内容。
具体来说,我有以下问题:
rlimit
限制 - 只是时间还是记忆?:rlimit 1000
等同于:timeout 1000
,因为解算器必须在1000
毫秒后终止?rlimit
(timeout
可以)还是只设置一次?答案 0 :(得分:5)
A2:不,没有等价,但一旦超过rlimit,Z3将终止。我们最近修复了一些它没有终止的错误,我确定那里还有一些错误,但我们当然会修复它们。
A3:是的,你可以做到
...
(set-option :rlimit 12345)
(check-sat)
...