私は Z3 バージョン 4.0 の Ocaml API を 1 年ほど使用しており、主にビットベクトル理論を使用しています。Z3.solver_check を実行した後、unsat コアを抽出する必要がありますが、残念ながらバージョン 4 にはこの機能がありません。仮定を使用して数式内の各ビットベクトル方程式を表し、unsat コアを取得するように書き直すことができますが、これはコードの重要な部分であるため、全体的なパフォーマンスに影響を与える可能性があります。
バージョン 4 の想定を行わずにコアを取得する方法はありますか? もちろん、長期的な解決策は最新バージョンに移行することですが、混乱の少ない解決策があればそれでよいでしょう。たとえば、unsat の証明 (Z3.solver_get_proof によって返される) から unsat コアを抽出する方法はありますか?
ありがとう!