在pysmt中,假设我已经创建了一个求解器并添加了许多断言。现在,我想复制求解器实例,因为我需要向求解器添加不同的断言。我该怎么做呢?我需要这样做,以便提高代码的性能。
我试着做一些事情,比如copy(),clone()和deepcopy(),但它们都不起作用。因此,我现在的解决方法是跟踪所有断言,创建新的求解器实例,并每次从头开始构建它。
发布于 2017-03-18 00:42:21
对于您的场景,最简单的方法似乎如下:
您可以使用" assertions ()“方法从求解器中检索所有断言。
from z3 import *
x, y = Ints('x y')
s1 = Solver()
s1.add(x <= y)
print s1
s2 = Solver()
s2.add(s1.assertions())
print s2https://stackoverflow.com/questions/42849643
复制相似问题