评估 Z3 表达式
Evaluate a Z3 expression
我在 Z3py 中有一个约束,比如说,
z3.Real('x')<=3
是否有一种简单的内置方法来评估潜在模型的 'true' 或 'false' 约束?例如,使用 z3.Real('x')->2
评估约束应该得到 'true'。
您可以在 Solver.check returns sat 时可以提取的模型下评估表达式(使用 Solver.model() 检索模型),或者您可以表示自己的模型作为替换(当模型只提到常量时),然后使用 'substitute' 方法将模型中的值替换到表达式中,然后使用 'simplify' 计算结果表达式。
我在 Z3py 中有一个约束,比如说,
z3.Real('x')<=3
是否有一种简单的内置方法来评估潜在模型的 'true' 或 'false' 约束?例如,使用 z3.Real('x')->2
评估约束应该得到 'true'。
您可以在 Solver.check returns sat 时可以提取的模型下评估表达式(使用 Solver.model() 检索模型),或者您可以表示自己的模型作为替换(当模型只提到常量时),然后使用 'substitute' 方法将模型中的值替换到表达式中,然后使用 'simplify' 计算结果表达式。