【发布时间】:2015-11-10 07:08:41
【问题描述】:
设置超时一直是一个热门话题,相关的答案也很多,但是在最新的Z3(4.4.2)(Ubuntu-12.04-64)的unstable-branch中出现了一个新的警告。
我的项目使用纯C API,我使用Z3_assert_cnstr()添加约束,Z3_check_and_get_model()查看结果。
我设置了超时时间:
Z3_set_param_value(cfg, "timeout", "10");
10 毫秒。
当我运行项目时,会出现如下警告:
WARNING: unknown parameter 'timeout'
Legal parameters are:
auto_config (bool) (default: true)
debug_ref_count (bool) (default: false)
dump_models (bool) (default: false)
model (bool) (default: true)
model_validate (bool) (default: false)
proof (bool) (default: false)
rlimit (unsigned int) (default: 4294967295)
smtlib2_compliant (bool) (default: false)
timeout (unsigned int) (default: 4294967295)
trace (bool) (default: false)
trace_file_name (string) (default: z3.log)
type_check (bool) (default: true)
unsat_core (bool) (default: false)
well_sorted_check (bool) (default: false)
从规范来看,“超时”是一个合法参数。
我错过了什么吗?
我测试了使用“10u”而不是“10”作为第三个参数来表示一个无符号数,但是没有任何改变。此外,从主分支修复的断言违规是我使用不稳定分支的原因。
【问题讨论】: