Est-ce que Z3 supportera AUFBV?Support pour AUFBV?
Pour le script suivant:
(set-logic AUFBV)
(declare-fun x() (_ BitVec 16))
(declare-const t (Array (_ BitVec 16) (_ BitVec 16)))
(assert (= (select t #x0000) #x0000))
La démo Z3 en ligne semble être satisfait de l'appel set-logic
, mais il se plaint des sortes BitVec
et Array
. (Soit dit en passant, la démo en ligne semble être satisfait de l'appel set-logic
quel que soit le nom logique, même avec des noms fictifs tels que (set-logic blarg)
.)
Le site web SMT-Lib ne mentionne pas ni UFBV ni AUFBV, mais étant donné leurs homologues sans quantificateur (QF_UFBV et QF_AUFBV), j'espérais que Z3 supporterait aussi AUFBV.
Inutile de dire que les tableaux jouent un rôle très important dans la pratique. Je pense que la logique de l'AUFBV devrait rester décidable étant donné l'argument de la finitude. Ce serait vraiment agréable de voir Z3 le supporter.
Merci!
Z3 3.2 a été publié. Il corrige ce problème. –