| 0 ≤ i ⊦ rk .ref = r, rk ∈ addarray(r, ty, i, st) ↔ rk ∈ addarray(r, ty, mklist(initial_value(ty), i→n(i)), st) |
⊦ r ≠ r0 → (r -- sk ∈ addarray(r0, ty, i, st) ↔ r -- sk ∈ st)
⊦ r ≠ r0 → (r -- sk ∈ addarray(r0, ty, vals, st) ↔ r -- sk ∈ st)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ r = rk .ref ∧ sk = rk .key ↔ rk = r -- sk])], [EXTRATERMS : (rk, r0, sk)]]