Искам да знам дали мога да накарам Z3 да "запомни" актуализацията на масив.
Например следният вход е удовлетворителен:
(declare-const x Int)
(declare-const a1 (Array Int Int))
(assert (= (select (store a1 x 2) x) 2))
(assert (not (= (select a1 x) 2)))
(check-sat)
„Съхранението“ в първото твърдение не засяга второто твърдение. Мога ли да направя операцията за съхраняване на масива, което води до вечна промяна на масива? Искам да кажа, че ако използвам store върху масив, тогава масивът се променя завинаги. например, ако след като използвам „(съхранява a1 x 2)“, тогава всеки път (изберете a1 x) е равно на 2. Някой знае ли това? Благодаря.