| st[r -- _type] .type = mkarraytype(ty), is_fskey(sk), is_array(r, st) ⊦ (r -- sk ∈ addarray(r, ty, getarray(r, st), st) → r -- sk ∈ st) ∧ (addarray(r, ty, getarray(r, st), st)[r -- sk]) = st[r -- sk], sk ≠ _type ∧ sk ≠ _length |
st[r -- _type] .type = mkarraytype(ty), is_fskey(sk), is_array(r, st) ⊦ sk ≠ _type, (r -- sk ∈ addarray(r, ty, getarray(r, st), st) → r -- sk ∈ st) ∧ (addarray(r, ty, getarray(r, st), st)[r -- sk]) = st[r -- sk]
st[r -- _type] .type = mkarraytype(ty), is_fskey(sk), is_array(r, st) ⊦ sk ≠ _length, (r -- sk ∈ addarray(r, ty, getarray(r, st), st) → r -- sk ∈ st) ∧ (addarray(r, ty, getarray(r, st), st)[r -- sk]) = st[r -- sk]
[[CONCRETESIMPRULES : ()]]