| is_indexkey(sk), 0 ≤ i0 + j, 0 ≤ i0, 0 ≤ j, r -- sk ∈ addarray(r, ty, ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j)))) + val ' + mklist(initial_value(ty), i→n(i0)), st), sk .index ≤ n→i(# ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j))))) + i0, 0 ≤ sk .index, 0 ≤ n→i(# ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j))))) + i0 ⊦ sk = _length, sk = _type, sk = j ', r -- sk ∈ addarray(r, ty, i0 + j + 1, st) |
sk = i ', is_indexkey(sk), 0 ≤ i0 + j, 0 ≤ i0, 0 ≤ j, r -- sk ∈ addarray(r, ty, ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j)))) + val ' + mklist(initial_value(ty), i→n(i0)), st), i ≤ n→i(# ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j))))) + i0, 0 ≤ i, 0 ≤ n→i(# ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j))))) + i0 ⊦ sk = _length, sk = _type, sk = j ', r -- sk ∈ addarray(r, ty, i0 + j + 1, st)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_indexkey(sk) → (i = sk .index ↔ sk = i ')])], [EXTRATERMS : (sk, i)]]