Z3 在exists\u expr\u vector\u示例中从模型中提取值

Z3 在exists\u expr\u vector\u示例中从模型中提取值,z3,Z3,在文件example.cpp中的exists\u expr\u vector\u example()函数中,当我试图提取变量的值时,例如xs[1],使用以下代码: solver s(c); s.add(ex); s.check(); model m = s.get_model(); cout<<m.eval(xs[1]); s(c); s、 加(ex);s、 检查(); 模型m=s.get_模型(); cout在exists示例中,变量是有界的。 您

在文件
example.cpp
中的
exists\u expr\u vector\u example()
函数中,当我试图提取变量的值时,例如
xs[1]
,使用以下代码:

    solver s(c);
    s.add(ex); s.check();
    model m = s.get_model();
    cout<<m.eval(xs[1]);
s(c);
s、 加(ex);s、 检查();
模型m=s.get_模型();

cout在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";
s(c);
s、 添加(b);s、 检查();
模型m=s.get_模型();
标准::cout