| ⊦ r0 -- sk ∈ addarray(r, ty, n→i(# vals), st) ∨ (r0 -- sk) .ref = r ∧ is_indexkey((r0 -- sk) .key) ∧ 0 ≤ (r0 -- sk) .key .index ∧ (r0 -- sk) .key .index < 0 + n→i(# vals) ↔ r0 -- sk ∈ addarray(r, ty, vals, st) |
⊦ r0 -- sk ∈ addarray(r, ty, n→i(# vals), st) ∨ r0 = r ∧ is_indexkey(sk) ∧ 0 ≤ sk .index ∧ sk .index < n→i(# vals) ↔ r0 -- sk ∈ addarray(r, ty, vals, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + 0 = i], [CSIMPSEQ : ⊦ (r -- sk) .key = sk], [CSIMPSEQ : ⊦ (r -- sk) .ref = r])]]