簡単な質問があります。簡単なプログラム (Z3 NET API を使用) を作成し、次のような出力を得ました。
プログラム(一部):
Sort[] domain = new Sort[3];
domain[0] = intT;
domain[1] = intT;
domain[2] = intT;
FPolicy = z3.MkFuncDecl("FPolicy", domain, boolT);
Term[] args = new Term[3];
args[0] = z3.MkNumeral(0, intT);
args[1] = z3.MkNumeral(1, intT);
args[2] = z3.MkNumeral(30, intT);
z3.AssertCnstr(z3.MkApp(FPolicy, args));
args[1] = z3.MkNumeral(2, intT);
args[2] = z3.MkNumeral(20, intT);
z3.AssertCnstr(z3.MkApp(FPolicy, args));
出力:
FPolicy -> {
0 1 30 -> true
0 2 20 -> true
else -> true
}
「else -> true」を false (つまり、「else -> false」) にできるかどうか疑問に思っています。