从exists_expr_vector_example中的模型中提取值

时间:2014-03-21 17:36:59

标签: z3

在文件exists_expr_vector_example()的{​​{1}}函数中,当我尝试使用代码提取变量值时,请说example.cpp

xs[1]

我的输出为 solver s(c); s.add(ex); s.check(); model m = s.get_model(); cout<<m.eval(xs[1]); ,而不是变量x_1的值。我们该如何处理这个问题。

1 个答案:

答案 0 :(得分:2)

在exists示例中,绑定变量。 你可以断言'b'而不是'ex'。在'b'中,xs中的变量不受约束,模型将为自由变量赋值。模型不为绑定变量赋值。

solver s(c);
s.add(b); s.check();
model m = s.get_model();
std::cout<<m.eval(xs[1]) << "\n";