我正在使用Z3 Python绑定创建一个And表达式,通过
z3.And(exprs)
,其中exprs
是一个包含48000个布尔变量的等式约束的Python列表。在2.6GHz处理器的MBP上,此操作需要2秒钟的时间。可能是什么问题导致这种情况?这是否与z3 Python绑定有关?您有没有优化这种构造的任何想法?顺便说一下,在我的实验中,构造这些表达式所需的时间比解决结果公式的时间更长:)
tmp1[i] = value == z3.is_false(interpretation)
耗时约为0.0001秒,而n.append(z3.And(tmp1))
则需要约2秒。至于检查时间,初始检查需要8.67秒,而随后的检查(加入更多约束条件(来自上述的tmp1
))只需要0.3秒。 - Venkatesh-Prasad Ranganath