Я использую python API Z3 [версия 4.4.2 - 64 бит] и пытаюсь понять, почему z3 упрощает выражение в этом случае:
>>> a = Array('a', IntSort(), IntSort())
>>> a = Store(a, 0, 1)
>>> a = Store(a, 0, 3)
>>> simplify(a)
Store(a, 0, 3)
но это не в этом случае:
>>> a = Array('a', IntSort(), IntSort())
>>> a = Store(a, 0, 1)
>>> a = Store(a, 1, 2)
>>> a = Store(a, 0, 3)
>>> simplify(a)
Store(Store(Store(a, 0, 1), 1, 2), 0, 3)