我正在编写一个包装程序,用于为Z3 SAT解算器提供一个通用输入(通用形式,x + y> 20(非SMT2LIB格式))。目前,我正在努力将字符串类型转换为BoolExpr。至于给出的示例,
String tr = "ctx.mkLt(ctx.mkIntConst(\"x\"),ctx.mkInt(100))";
我想将上述字符串转换为BoolExpr,然后将其添加到求解器中,如下所示:
final Context ctx = new Context();
final Solver solver = ctx.mkSimpleSolver();
BoolExpr t2 = ctx.mkBoolConst(tr);
solver.add(t2);
solver.check()
在将String类型转换为BoolExpr时出现错误。我尝试使用BoolExpr t2 = ctx.mkBoolConst(tr);
,然后将其添加到求解器中,但结果为 func-declaration。
是否可以使用 Z3 JAVA API 将字符串转换为 BoolExpr ,以便可以添加表达式,然后使用Z3解算器?
请帮助并提出建议。