Z3 4.3.2中的潜在配置错误

时间:2015-01-21 08:02:01

标签: configuration warnings z3

我可能找到了与mbqi相关的配置错误。考虑以下简短程序:

(set-option :smt.mbqi true)
  ; Set to false and the warnings disappear
(set-option :smt.relevancy 2)
  ; On my local machine I got
  ;   0 and 1 - three times the same warning
  ;   2 (or higher) - one warning
  ; but on rise4fun I always got the same warning three times
(set-option :smt.case_split 3)
  ; WARNING: relevacy must be enabled to use option CASE_SPLIT=3, 4 or 5

(declare-fun fun (Int) Bool)
(assert (forall ((x Int)) (fun x)))

(check-sat)

在Windows 7 x64上使用Z3 4.3.2的官方下载版本在本地运行我得到关于未启用相关性的意外警告。更改relevancy的值只会影响我获得的警告数量(三个或一个)。

无论为relevancy选择的值如何,运行script on rise4fun始终会产生相同警告的三倍。

这实际上是一个错误还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

这可能是一个错误,但它与mbqi没有任何关系;当它被设置为false时,你获得较少警告的原因是它只是更早地放弃,永远不会到达抛出额外警告的部分。

虽然参数没有通过所有必需的部分,但是存在很多问题,所以我怀疑这是另一个问题。

请注意,对于smt.case_split = 3,4,5,也必须禁用auto_config(但这是调试版本中的默认设置)。

编辑:结果警告信息是虚假的;现在,这已在unstable(从this提交时)修复。