| ⊦ fs ' = _type, fs ' = _length, r -- fs ' ∈ addarray(r0, initial_value(ty), i, st[r0 -- _type, typeval(mkarraytype(ty))][r0 -- _length, intval(i)]) ↔ r -- fs ' ∈ st |
⊦ r -- fs ' ∈ addarray(r0, val, i, st) ↔ r -- fs ' ∈ st
r -- fs ' ∈ (st[r0 -- _type, typeval(mkarraytype(ty))][r0 -- _length, intval(i)]), r ∈ (st[r0 -- _type, typeval(mkarraytype(ty))][r0 -- _length, intval(i)]) ⊦ fs ' = _type, fs ' = _length, r -- fs ' ∈ st
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ ¬ ¬ (r = r0 ∧ sk = sk0)], [CSIMPSEQ : ⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st])]]