如何使用Z3 JAVA API将String转换为BoolExpr类型?

时间:2019-06-01 00:08:56

标签: java z3 sat satisfiability sat-solvers

我正在编写一个包装程序,用于为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解算器?

请帮助并提出建议。

0 个答案:

没有答案