【发布时间】:2020-03-13 07:42:44
【问题描述】:
例如,Z3中是否有类似以下的weak_Store函数?
from z3 import *
a = Array('a', IntSort(), IntSort())
a = weak_Store(a, 0, 0)
a = weak_Store(a, 1, 1)
s = Solver()
s.add(a[0] == 100)
print(s.check()) # should print "sat"
print(s.model().eval(a[0])) # should print "100"
print(s.model().eval(a[1])) # should print "1" which is stored as weak_Store.
由于 a[1] 不参与上述约束求解,因此即使在 s.check() 之后也不应计算和更改。
我认为这与z3_model_eval 中的model_completion 变量有关,
但 z3_model_eval 不适用于 z3 Array 元素。
虽然这个例子是用 Python 写的,但我想用 z3 C api 来做。
谁能帮帮我?
提前谢谢你。
【问题讨论】:
标签: z3