| 0 ≤ i2, ∀ i, st, fis, class, ty, r0, r, i0. i→n(i0) < i→n(i2 + 1) → ( true → r = r0 ∨ addarray(r, initial_value(ty), i0, addobj(r0, class, fis, st)[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(i)]) = addobj(r0, class, fis, addarray(r, initial_value(ty), i0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(i)]))) ⊦ (addobj(r0, class, fis, addarray(r, initial_value(ty), i2, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(i)])) [r -- i2 ', initial_value(ty) ] ) = addobj (r0, class, fis, addarray(r, initial_value(ty), i2, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(i)])[r -- i2 ', initial_value(ty)]), r = r0 |
⊦ r ≠ r0 → addobj(r, class1, fis, st[r0 -- sk, val]) = (addobj(r, class1, fis, st)[r0 -- sk, val])
⊦ r ≠ r0 → (addarray(r, val0, i, st)[r0 -- sk, val]) = addarray(r, val0, i, st[r0 -- sk, val])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (addobj(r, class1, fis, st) [r -- sk, val ] ) = addobj (r, class1, fis[sk, val], st)])], [EXTRATERMS : (initial_value(ty), i2 ', r, addarray (r, initial_value(ty), i2, st[r -- _type, typeval(mkarraytype(ty))] [r -- _length, intval(i) ]), fis, class, r0)]]