Z3中的位向量与整数
我使用fixedpoint phiReal、Real、Int、Int、Int实现了一个z3,并在fixedpoint中添加了一些规则。它给了我一个答案,但是,当我将Int类型更改为bit vector类型时,它无法解决问题,最终超时。我原以为使用位向量而不是int会更快,但事实并非如此,为什么 我猜您使用的是DL_ENGINE=1。这将调用PDR引擎,该引擎是 目前仅为纯布尔变量和线性实数算法量身定制Z3中的位向量与整数,z3,Z3,我使用fixedpoint phiReal、Real、Int、Int、Int实现了一个z3,并在fixedpoint中添加了一些规则。它给了我一个答案,但是,当我将Int类型更改为bit vector类型时,它无法解决问题,最终超时。我原以为使用位向量而不是int会更快,但事实并非如此,为什么 我猜您使用的是DL_ENGINE=1。这将调用PDR引擎,该引擎是 目前仅为纯布尔变量和线性实数算法量身定制 通常也适用于线性整数运算 我猜您使用的是DL_ENGINE=1。这将调用PDR引擎,该引擎是
通常也适用于线性整数运算 我猜您使用的是DL_ENGINE=1。这将调用PDR引擎,该引擎是 目前仅为纯布尔变量和线性实数算法量身定制
通常也适用于线性整数运算 DL_ENGINE=0调用自底向上的数据日志引擎。它使用有限表 所以它处理表域中的位向量和布尔值。 目前的两个选择是:
DL_ENGINE=0: use a Datalog engine for saturation. It works for finite domains.
DL_ENGINE=1: use a PDR engine.
关于
演示了使用这两个选项的示例。DL_ENGINE=0调用自底向上的数据日志引擎。它使用有限表 所以它处理表域中的位向量和布尔值。 目前的两个选择是:
DL_ENGINE=0: use a Datalog engine for saturation. It works for finite domains.
DL_ENGINE=1: use a PDR engine.
关于
说明了使用这两个选项的示例。你是对的,我使用的是DL_ENGINE=1,当我运行程序时,它没有显示任何错误,只是超时。但是,当我删除DL_ENGINE=1时,它显示错误说规则中有未绑定的var。我使用ctx.mkbind创建了有界变量,我不知道为什么会有这样的错误?顺便说一句,是否有INI参数的详细描述,我发现我不知道如何使用它们。你是对的,我使用的是DL_ENGINE=1,当我运行程序时,它没有显示任何错误,只是超时。但是,当我删除DL_ENGINE=1时,它显示错误说规则中有未绑定的var。我使用ctx.mkbound创建了绑定变量,我不知道为什么会有这样的错误?顺便问一下,有没有INI参数的详细描述,我发现我不知道如何使用它们。谢谢,所以如果有真实的,DL_ENGINE=0不适合它,对吗?因为Real不是有限域,所以如果有Real,DL_ENGINE=0不适合它,对吗?因为实域不是有限域