0
我們可以使用下面的代碼來解決教程中的狗,貓,鼠標拼圖。z3py能否通過閱讀模型添加新的斷言?
dog, cat, mouse = Ints('dog cat mouse')
s = Solver();
s.add(dog>=1)
s.add(cat>=1)
s.add(mouse>=1)
s.add(dog+cat+mouse==100)
s.add(1500 * dog + 100 * cat + 25 * mouse == 10000)
print s.check()
print s.model()
嗯,我知道我可以使用
m=s.model
for d in m.decls():
print "%s = %s" % (d.name(), m[d])
得到變量的名稱和值。例如,貓= 41。我不知道我可以創建的名稱和值,如貓新主張!= 41.我用
s.add(d.name != m[d])
s.add("%s != %s" % (d.name(), m[d]))
但是,它們都不能正常工作。任何人都知道如何通過閱讀模型的名稱和值來添加新的斷言?非常感謝。
非常感謝克里斯。有用。 – Kun