Проверьте переполнение с Z3

Я новичок в Z3, и я проверял онлайн-учебник по Python.

Тогда я подумал, что смогу проверить поведение переполнения в BitVecs.

Я написал этот код:

x = BitVec('x', 3)
y = Int('y')

solve(BV2Int(x) == y, Not(BV2Int(x + 1) == (y + 1)))

и я ожидал [y = 7, x = 7] (то есть, когда значения равны, но преемники не, потому что x + 1 будет 0, а y + 1 будет 8)

Но Z3 отвечает [y = 0, x = 0].

Что я делаю неправильно?

Ответы на вопрос(2)

Ваш ответ на вопрос