| ¬ r ≠ r1 ⊦ r = r0, ( r1 = r ∧ i ≤ i0 ∧ i0 < i + n→i(# bytes) ∨ r1 -- i0 ' ∈ addobj(r0, class, fis, st) ↔ r1 -- i0 ' ∈ addobj(r0, class, fis, putByteArray(bytes, r, i, st))) ∧ (putByteArray(bytes, r, i, addobj(r0, class, fis, st))[r1 -- i0 ']) = (addobj(r0, class, fis, putByteArray(bytes, r, i, st))[r1 -- i0 ']) |
⊦ r ≠ r0 → (r -- sk ∈ addobj(r0, class1, fis, st) ↔ r -- sk ∈ st)
⊦ r ≠ r0 → (addobj(r, class1, fis, st)[r0 -- sk]) = st[r0 -- sk]
⊦ r1 = r0, (putByteArray(bytes, r1, i, addobj(r0, class, fis, st))[r1 -- i0 ']) = (putByteArray(bytes, r1, i, st)[r1 -- i0 '])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i < j → (¬ ¬ j ≤ i ↔ false)], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ i ' .index = i], [CSIMPSEQ : ⊦ is_indexkey(i ')], [CSIMPSEQ : ⊦ (r -- sk) .key = sk], [CSIMPSEQ : ⊦ (r -- sk) .ref = r], [CSIMPSEQ : ⊦ rk ∈ putByteArray(bytes, r, i, st) ↔ rk ∈ st ∨ rk .ref = r ∧ is_indexkey(rk .key) ∧ i ≤ rk .key .index ∧ rk .key .index < i + n→i(# bytes)])]]