| ⊦ r0 ∈ addarray(r, initial_value(ty), i, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(i)]) ↔ r0 = r ∨ r0 ∈ st .refs |
⊦ r ≠ r0 → (r ∈ addarray(r0, val, i, st) ↔ r ∈ st)
⊦ r ≠ r0 → (r ∈ addarray(r0, val, i, st) ↔ r ∈ st)
⊦ r ∈ addarray(r, val, i, st) ↔ 0 < i ∨ r ∈ st
r0 ≠ r ⊦ r0 ∈ (st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(i)]) ↔ r0 = r ∨ r0 ∈ st .refs
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r ∈ st[r0 -- sk, val] ↔ r = r0 ∨ r ∈ st], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i])], [EXTRATERMS : (st[r -- _type, typeval(mkarraytype(ty))] [r -- _length, intval(i) ], i, initial_value(ty), r, r0)]]