カスタム理論プラグインを作成しましたが、現時点では何もしません。コールバックはすべて実装および登録されていますが、単純に返されます。次に、Z3_parse_smtlib2_string を使用して一連の declare-consts、declare-fun、および assert を読み込み、結果の ast を Z3_assert_cnstr に渡します。Z3_check_and_get_model への後続の呼び出しは、次のエラーで失敗します。
mk_fresh_ext_data コールバックはユーザー理論用に設定されていません。Z3_theory_set_mk_fresh_ext_data_callback を使用する必要があります
私の知る限り、Z3_theory_set_mk_fresh_ext_data_callback は存在しません。
同じ文字列を使用しますが、理論プラグインを登録せずに、Z3_check_and_get_model は sat を返し、期待どおりのモデルを提供します。
バージョン 4 と Linux 64 ビット ライブラリを使用しています。
完全な例はこちら: http://pastebin.com/hLJ8hFf1