Z3中PDR引擎的“官方”版本是什么?

时间:2014-08-30 00:43:06

标签: z3

我在Z3中试用了PDR引擎,我不知道要使用哪个版本的Z3。

"官方"来自git的master分支似乎工作但是日期是2012年11月。我确信从那以后有了改进。另一方面,不稳定的分支可能包含不稳定和/或未经测试的代码",这似乎是真的。

什么是最近的"稳定"发动机的版本?

例如

(declare-rel R (Real Real))
(declare-var x Real)
(declare-var y Real)

(rule 
  (=> (and (= x 0) (= y 0)) (R x y)) 
)

(rule 
  (=> (R x y) (R (+ x 1) (+ y 1)))
)

(query 
  (and (R x y) (not (= x y)))
)

以上在master中工作,返回不满,但在不稳定的分支中,引擎徘徊不解决问题。同样适用于CAV最近的一篇论文中的example

1 个答案:

答案 0 :(得分:1)

这有点回归,感谢你指出这一点。 在检查归纳性时,旧版本的PDR使用查询中的谓词。更新后的版本省略了此功能,即使该属性很容易被视为归纳,也会有所不同。 使用查询中的谓词并不是很通用,我试图用其他方法替换它。例如,你可以做一个"魔术套装"转型应该推动适当的谓词。