以Z3中的表达式形式获取战术应用的结果 在C++中,有类似Z3PY接口的ASAXPRE()的任何类似内容。我正在尝试将策略应用为z3表达式,exp,而不是类型apply\u result

以Z3中的表达式形式获取战术应用的结果 在C++中,有类似Z3PY接口的ASAXPRE()的任何类似内容。我正在尝试将策略应用为z3表达式,exp,而不是类型apply\u result,c++,z3,z3py,C++,Z3,Z3py,例如,在下面的代码中 context c; expr x = c.bool_const("x"); expr y = c.bool_const("y"); expr f = ( (x || y) && (x && y) ); solver s(c); goal g(c); g.add( f ); tactic t1(c, "simplify"); apply_result r = t1(g); std::cout << r << "\n";

例如,在下面的代码中

context c;
expr x = c.bool_const("x");
expr y = c.bool_const("y");
expr f = ( (x || y) && (x && y) );
solver s(c);
goal g(c);
g.add( f );
tactic t1(c, "simplify");
apply_result r = t1(g);
std::cout << r << "\n";
context c;
expr x=c.bool_const(“x”);
expr y=c.bool_const(“y”);
expr f=((x | y)和&(x&&y));
s(c);
目标g(c);
g、 添加(f);
战术t1(c,“简化”);
应用结果r=t1(g);

通常,战术应用的结果是一组目标。大多数战术只产生一个目标,但有些战术产生不止一个目标。对于这些子目标中的每一个子目标,您都可以使用
作为_expr()
,然后将它们逻辑或组合在一起。如果有帮助的话,我们可以将
作为expr(…)
添加到
类apply\u result
。(我现在正忙于其他事情;如果您自己添加,请提交请求,非常欢迎!)

谢谢。是的,我要明白这一点,我会努力做到的。最初,我在这个问题上被困了几个小时,这就是我寻求帮助的原因:)现在已经添加了(截至)