【发布时间】:2014-04-18 17:42:50
【问题描述】:
我尝试用另一个变量 y 简单地替换一个变量 x(如果重要,请设置变量)。从这里的帖子 (Substitution in Z3 java),我认为替代品在 Java 中可以正常工作。但是,我得到与返回相同的表达式对象(打印时)。替换是否正确实施或我犯了错误?下面是关于我如何定义变量和调用替代方法的代码 sn-p,以防万一。
EnumSort xSort = ctx.mkEnumSort(xs, ctx.mkSymbol("A"),ctx.mkSymbol("B"));
SetSort xSet = ctx.mkSetSort(xSort);
Expr x = ctx.mkConst("x",xSet);
/*Construct the formula "formOld".....*/
Expr y = ctx.mkConst("y",x.getSort());
BoolExpr form_sub = (BoolExpr)formOld.substitute(x, y);
当我打印时,formSub 公式似乎没有改变。无法从调试中找到任何提示。
谢谢。
【问题讨论】:
标签: z3 substitution