Z3はAUFBVをサポートしますか?AUFBVをサポートしていますか?
次のスクリプトの場合:
(set-logic AUFBV)
(declare-fun x() (_ BitVec 16))
(declare-const t (Array (_ BitVec 16) (_ BitVec 16)))
(assert (= (select t #x0000) #x0000))
オンラインZ3のデモはset-logic
コールと幸せになりそうですが、それは種類BitVec
とArray
について不平を言います。 (ちなみに、オンラインデモでも、このような(set-logic blarg)
として偽の名前で、かかわらず、論理名のset-logic
コールと幸せになりそうです。)SMT-LibのウェブサイトはUFBVもAUFBVどちらも言及していない
が、与えられました(QF_UFBVとQF_AUFBV)、私はZ3がAUFBVもサポートすることを望んでいました。
言うまでもなく、配列は実際には非常に重要な役割を果たしています。私は、AUFBVロジックは、有限の議論を考えれば決定可能なままであるべきだと思います。 Z3がそれをサポートしているのを見るのは本当にうれしいでしょう。
ありがとうございます!
Z3 3.2がリリースされました。この問題は修正されました。 –