| st[r -- _type] .type = mkarraytype(ty), is_array(r, st), rk ∈ addarray(r, ty, getarray(r, st), st) ⊦ rk .ref = r, rk ∈ st |
⊦ r ≠ r0 → (r -- sk ∈ addarray(r0, ty, vals, st) ↔ r -- sk ∈ st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPELIM : ⊦ r = rk .ref ∧ sk = rk .key ↔ rk = r -- sk])], [EXTRATERMS : (rk, r0, sk)]]