私はZ3を初めて使用し、こことGoogleで私の質問に対する答えを検索しました。残念ながら、私は成功しませんでした。
Z3 4.0 C / C++APIを使用しています。未定義の関数d:(Int Int)Intを宣言し、いくつかのアサーションを追加して、モデルを計算しました。これまでのところ、それはうまくいきます。
ここで、モデルによって定義された関数dの特定の値、たとえばd(0,0)を抽出したいと思います。次のステートメントは機能しますが、 d(0,0)の関数値(整数)ではなく式を返します。
z3::expr args[] = {c.int_val(0), c.int_val(0)};
z3::expr result = m.eval(d(2, args));
チェック
result.is_int();
trueを返します。
私の(うまくいけばあまり愚かではない)質問は、返された式をC / C ++ intにキャストする方法ですか?
ヘルプは非常にありがたいです。ありがとうございました!