Leonardo:迅速な返信をありがとう!とても有難い。`eval`をタイムアウトに呼び出す
私はZ3に次のスクリプトを養う場合:
は(set-option :MBQI true)
(set-option :produce-models true)
(declare-fun s1 ((_ BitVec 16)) (_ BitVec 16))
(assert (forall ((s0 (_ BitVec 16))) (bvuge s0 (s1 s0))))
(check-sat)
(get-model)
(eval (s1 #x0000))
Z3が正常にアイデンティティ機能を付与されs1
モデルを構築します。しかし、evalを呼び出すと、Z3はタイムアウトします。私が設定する必要がある特定のオプションはありますか?
(set-option :MBQI true)
その後Z3はunknown
を応答します。
はまた、私は行を削除する場合ことに気づきました。 QBVFは決定可能なので、それは私がオプションを設定する必要があったのは少し驚きでした。すべてのQBVFの問題でMBQIをtrue
に設定する必要があるのでしょうか、またはこのインスタンスに関して何か特別なことがありますか? QBVFが決定可能フラグメントであるが、唯一のMBQIエンジンがそれを決めることができる等のE-マッチング、MBQI、重ね合わせ、 :
おかげで..
Z3 3.2がリリースされました。この問題は修正されました。 –