我正在试验Z3战术。我注意到
返回的求解器context.MkSimpleSolver()
具有与解算器不同的性能配置文件
context.MkSolver(context.MkTactic("smt"))
我明白了" smt"策略应该执行Z3具有的最通用的算法。所以这两个解算器应该具有相同的输出。鉴于此,为什么他们有不同的性能配置文件?
我在一个通过位向量量化的公式上测试它。量词体使用整数和位向量。简单的求解器立即返回sat。另一个比我愿意等待的时间更长。
(如果它有帮助,这里有一点背景:我试图让Z3比特爆炸所有整数项到bitvectors希望这会加速。所有涉及的整数都被限制为[0,3]。我'我试图获得bit-blast
战术"采取"。)