Python z3中的空模型
z3py片段:Python z3中的空模型,python,z3,Python,Z3,z3py片段: x = Int('x') s = Solver() s.add(x <= x) print s.check() print s.model() print s.model().sexpr() sat [] x的任何值都可以,但z3返回空模型。 模型中缺少的自由变量x是否表示任何整数值都是有效的模型?是的,在Z3中,如果一个常量(如x)没有出现在模型中,则表示“不在乎”。也就是说,x的任何值都将满足该公式。在评估常数的值时,我们可以启用“模型完成”。也就是说,Z3将对“
x = Int('x')
s = Solver()
s.add(x <= x)
print s.check()
print s.model()
print s.model().sexpr()
sat
[]
x
的任何值都可以,但z3
返回空模型。
模型中缺少的自由变量x
是否表示任何整数值都是有效的模型?是的,在Z3中,如果一个常量(如x
)没有出现在模型中,则表示“不在乎”。也就是说,x
的任何值都将满足该公式。在评估常数的值时,我们可以启用“模型完成”。也就是说,Z3将对“不在乎”符号使用任意解释。这里有一个例子
x=Int('x')
s=解算器()
s、 加(x)
x = Int('x')
s = Solver()
s.add(x <= x)
print s.check()
m = s.model()
print m.evaluate(x)
print m.evaluate(x, model_completion=True)
print m