私はZ3 C++ APIを使用して、いくつかのブール型変数(b0、...、bnを真と呼ぶ)に関して最小限の充足可能な式を見つけました。Z3が最後に有効なモデルを取得する
私はブール変数b0、...、bnを含む数式を持っています。そして、私はb0、...、bnの最小数が真であるいくつかの充足可能な数式を探したいと思います。
これは、真に割り当てられ、私の式を満たすことができるb0、...、bnのサブセットを最初に見つけることによって行います。そして、私はソルバーに段階的に小さい部分集合を見つけるように頼みます。偽にフリップ)。
小さいサブセットが見つからない場合、つまりZ3からの結果が不十分な場合にローカルミニマムを見つけました。この時点で、私は最後の有効なモデルにアクセスしたいと思います。
これは可能ですか? 「チェック」の呼び出しが不成功の場合、Z3はモデルを変更しますか? もしそうなら、私はC++ APIを使ってこれをどうやって行うことができますか?事前に
多くのおかげで、
ありがとうございました! – Pedro