制限付きプログラム検証のバックエンドソルバーとしてZ3を使用します。異なるオペレーティングシステム、Windows7X64とSuSe10.3X64のZ3に同じ数式をフィードします。どちらのZ3も、バージョン3.2です。
それらの入力は次の とおりです。run.z3、ネストされた数量詞が含まれています。
明示的なオプションが有効になっていない場合(デフォルトモード)、Z3はWindowsで非常にうまく機能しますが、Linuxでは「セグメンテーション違反」が発生します。
../solvers/z3/bin/z3:行11:27951セグメンテーション違反
次に、唯一のオプションを追加します
(set-option:PULL_NESTED_QUANTIFIERS true)
数式に追加して再実行すると、今回はLinuxで動作し、Windowsでも動作し、より高速に解決されます。このオプションは、Linuxでの私の問題を解決します。
WindowsとLinuxのバージョン3.2のZ3は異なる機能を提供しますか?それは本当です、他に何の違いがありますか?前もって感謝します!