| j = 0, is_indexkey(sk), 0 ≤ i0 + j, 0 ≤ i0, 0 ≤ j, r -- sk ∈ addarray(r, ty, i0 + j + 1, st) ⊦ r -- sk ∈ addarray(r, ty, [] + val ' + mklist(initial_value(ty), i→n(i0)), st), sk = _length, sk = _type, sk = j ' |
⊦ r ∈ addarray(r, ty0, i, st)
r -- sk ∈ addarray(r, ty, 1 + i0, st), 0 ≤ i0, is_indexkey(sk) ⊦ sk = 0 ', sk = _type, sk = _length, r -- sk ∈ addarray(r, ty, val ' + mklist(initial_value(ty), i→n(i0)), st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ [] + vals = vals], [CSIMPSEQ : ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + 0 = i])]]