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