| is_array(str, r, addarray(r, mkclasstype(class), vals, st)), n < # vals, is_referencevalue(addarray(r, mkclasstype(class), vals, st)[r -- n→i(n) ']) ⊦ vals = [], is_referencevalue(vals[n]) |
0 ≤ i, i < n→i(# vals) ⊦ (addarray(r, ty, vals, st)[r -- ((* i)) ']) = vals[i→n(i)]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i→n(n→i(n)) = n], [CSIMPSEQ : ⊦ 0 ≤ n→i(n)], [CSIMPSEQ : ⊦ n→i(m) < n→i(n) ↔ m < n], [CSIMPSEQ : ⊦ ¬ m < n ↔ n ≤ m], [CSIMPSEQ : ⊦ m < n → (n ≤ m ↔ false)])], [EXTRATERMS : (n→i(n), st, vals, mkclasstype(class), r)]]