Z3 の一連の制約 (アサーション) を考えると、私が既に持っているモデルがこれらのアサーションを満たしているかどうかを確認する最も効率的な方法は何か疑問に思っています。モデルは、同様の一連の制約から取得されました。Z3 の初期モデル値の指定 のような柔軟な制約ではなく、はい/いいえの答えが必要です。
Windows 7 x64 で C# API を使用して、Z3 3.2 の x64 バージョンを使用してビット ベクトルを操作しています。Context
スレッドごとに 1 つずつ、複数の Z3 オブジェクトをインスタンス化することでマルチスレッド化しています。マルチスレッドがサポートされていないため、Z3 4.0 は使用していません。
私の現在のアプローチは、 を使用Context.AssertCnstr(Term)
して、単にモデルを追加の制約セットとしてアサートすることContext.Check()
です。