| 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)]))) ⊦ (addarray(r, initial_value(ty), i2, addobj(r0, class, fis, 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 ∨ addarray(r, initial_value(ty), i2, addobj(r0, class, fis, 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)])), 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)]))) ⊦ (addarray(r, initial_value(ty), i2, addobj(r0, class, fis, 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
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ 0 ≤ i → i→n(i + 1) = i→n(i) + 1], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ m < n + 1 ↔ ¬ n < m], [CSIMPSEQ : ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j)], [CSIMPSEQ : ⊦ 0 ≤ i → abs(i) = i], [CSIMPSEQ : ⊦ ¬ i < i], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + n = n + m])], [EXTRATERMS : (i, st, fis, class, ty, r0, r, i2)]]