Jestem nowy w Z3 i sprawdzałem samouczek online python.Sprawdź przepełnienie za pomocą Z3
Potem pomyślałem, że mogę sprawdzić zachowanie przepełnienia w BitVecs.
NapisaĹ,em ten kod:
x = BitVec('x', 3)
y = Int('y')
solve(BV2Int(x) == y, Not(BV2Int(x + 1) == (y + 1)))
i oczekiwał [Y = 7, x = 7] (to znaczy, gdy wartości są takie same, ale następcy nie ponieważ x + 1 będzie wynosiła 0, y + 1 będzie 8)
Ale odpowiedzi Z3 [y = 0, x = 0].
Co robię źle?