unsat クエリでアサーションの順序を変更すると、sat になります。
クエリ構造は次のとおりです。
definitions1
assertions1
definitions2
bad_assertions
check-sat
Python の sorted 関数で bad_assertions をソートすると、Unsat クエリが Sat になります。
Z3 バージョン 4.0、4.1; Ubuntu 12.04
残念ながら、クエリは非常に大きく、デバッグが難しいため、その他の追加情報があれば提供できます。
これは、混合用にマークされた行を含む元の unsatクエリと、クエリ内の行を混合するための単純な pythonスクリプトです。