Arith-lhs для бит-векторов в z3 - PullRequest
0 голосов
/ 03 июля 2019

Я использую интерфейс z3 python и пытаюсь упростить некоторые выражения битовых векторов. Моя цель - получать выражения только с константой справа. Для арифметических выражений использование функции упрощения с опцией arith-lhs = true работает нормально, но для битовых векторов это не работает (я полагаю, это не было предназначено для этого).

Например, распечатывается следующий код 4294967295 <= x дважды, и я хочу напечатать x >= 4294967295.

x = BitVec('x',32)
a = BitVecVal(-1, 32)
print(simplify(a<=x))
print(simplify(a<=x,arith_lhs=True))

Есть ли способ заставить z3 сделать это?

...