| i→n(i) < # getarray(r, st), st[r -- _type] .type = mkarraytype(ty), is_array(r, st), 0 ≤ i, i < st[r -- _length] .intval, 0 ≤ st[r -- _length] .intval, 0 < st[r -- _length] .intval ⊦ getarray(r, st) = [], r -- i ' ∈ st ∧ st[r -- n→i(i→n(i)) '] = st[r -- i '] |
st[r -- _type] .type = mkarraytype(ty), 0 < st[r -- _length] .intval, 0 ≤ st[r -- _length] .intval, i < st[r -- _length] .intval, 0 ≤ i, is_array(r, st), i→n(i) < # getarray(r, st) ⊦ getarray(r, st) = [], r -- i ' ∈ st
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ # vals = 0 ↔ vals = []], [CSIMPFORWARD : ⊦ m < n → n ≠ 0], [CSIMPSEQ : ⊦ 0 ≤ i → n→i(i→n(i)) = i])]]