【发布时间】:2017-06-29 21:17:11
【问题描述】:
有没有在 Z3 中定义有界整数的聪明方法?
例如,假设我想定义一个整数变量“x”,它可以从 [1,4] 中获取值。我可以执行以下操作(我正在使用 Java API)
IntExpr x = ctx.mkIntConst("x");
solver.add(ctx.mkGT(x, ctx.mkInt(0))); // (assert (> x 0))
solver.add(ctx.mkLT(x, ctx.mkInt(5))); // (assert (< x 5))
但是,我想知道是否有更聪明的方法来做到这一点?可以在声明时自动为变量设置上限/下限的东西。我遇到了枚举,但我不确定这是否是最佳选择。
谢谢
【问题讨论】: