| 0 ≤ i ⊦ # getarray(r, addarray(r, ty, i, st)) = # mklist(initial_value(ty), i→n(i)) ∧ (∀ n. n < # getarray(r, addarray(r, ty, i, st)) → (getarray(r, addarray(r, ty, i, st))[n]) = (mklist(initial_value(ty), i→n(i))[n])) |
0 ≤ i ⊦ # getarray(r, addarray(r, ty, i, st)) = i→n(i) ∧ (n < # getarray(r, addarray(r, ty, i, st)) → (addarray(r, ty, i, st)[r -- n→i(n) ']) = (mklist(initial_value(ty), i→n(i))[n]))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ n < # getarray(r, st) → (getarray(r, st)[n]) = st[r -- n→i(n) ']], [CSIMPSEQ : ⊦ # mklist(val, n) = n])]]