| 0 ≤ i0 + j, 0 ≤ i0, 0 ≤ j ⊦ rk = r -- j ', ( rk ∈ (addarray(r, ty, i0 + j + 1, st)[r -- j ', val]) ↔ rk ∈ addarray(r, ty, ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j)))) + val ' + mklist(initial_value(ty), i→n(i0)), st)) ∧ (addarray(r, ty, i0 + j + 1, st)[r -- j ', val][rk]) = (addarray(r, ty, ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j)))) + val ' + mklist(initial_value(ty), i→n(i0)), st)[rk]) |
0 ≤ i0 + j, 0 ≤ i0, 0 ≤ j ⊦ rk = r -- j ', ( rk ∈ addarray(r, ty, i0 + j + 1, st) ↔ rk ∈ addarray(r, ty, ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j)))) + val ' + mklist(initial_value(ty), i→n(i0)), st)) ∧ (addarray(r, ty, i0 + j + 1, st)[rk]) = (addarray(r, ty, ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j)))) + val ' + mklist(initial_value(ty), i→n(i0)), st)[rk])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk ≠ rk0 → (st[rk0, val][rk]) = st[rk]], [CSIMPSEQ : ⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st])]]