Z3中的bitvector VS整数

时间:2012-07-02 16:09:55

标签: z3

我使用固定点phi(Real,Real,Int,Int,Int,Int)实现了一个z3,并在固定点中添加了一些规则。它给了我一个答案,但是,当我将Int类型更改为BitVector类型时,它无法解决问题,最后“超时”。我认为使用bitvector而不是int会更快,但是,它不是真的,为什么?

2 个答案:

答案 0 :(得分:2)

我猜您使用的是DL_ENGINE = 1。这会调用PDR引擎 目前仅针对纯布尔变量和线性实数算法进行了定制 (通常也适用于线性整数运算)。

答案 1 :(得分:2)

DL_ENGINE = 0调用自下而上的数据记录引擎。它使用有限表 所以它处理表格域中的位向量和布尔值 目前的两个选项是:

DL_ENGINE=0: use a Datalog engine for saturation. It works for finite domains.
DL_ENGINE=1: use a PDR engine.

http://rise4fun.com/z3py/tutorial/fixedpoints上的教程 说明了使用这两个选项的示例。