はArithExpr
秒で行うことができます。Z3 Java APIでの厳密な型指定ですか? Z3、さらに、その他の類似の事業者のためのJava APIで
ArithExpr x = ctx.mkInt(0);
ArithExpr y = ctx.mkInt(1);
// Compiles:
ctx.mkAdd(x, y);
// Does not compile:
ctx.mkAdd((Expr) x, (Expr) y);
しかしArithExpr
Javaクラスは、すべての可能な表現が含まれていないよう。たとえば、mkITE
はExpr
を返しますが、if-then-elseの結果が整数であっても、正しいJavaクラスではないため、Java APIはその操作を許可しません。
Java APIの何かが不足していますか、これは(おそらく意図しない)制限ですか?これは、私のコードで実行されている問題です。
ctx.mkITEの結果を(ArithExpr)にキャストできます。 –