| posints(ints0), ∀ st, ty, ints, i, acc, r, refs0. # refs0 < 1 → ( true → ( r ∈ refs0 ∧ n→i(# acc) + i = ints .first ∧ # refs0 = i→n(countrefs(i ' + ints .rest)) ∧ ints ≠ [] ∧ 0 ≤ i ∧ posints(ints) ∧ ¬ 0 ∈ ints .butlast ∧ i ≤ ints .first → is_arrayref(r, (addmultiarrays(refs0, i, acc, ty, ints, st)[r -- _length]) .intval, addmultiarrays(refs0, i, acc, ty, ints, st)))) ⊦ acc = [], ints0 = [], 0 ∈ ints0 .butlast, is_arrayref(r, n→i(# mkjavavalues(acc)), addarray(r, mktype_from_dims(ty, n→i(# ints0)), mkjavavalues(acc), st)) |
⊦ i ≤ n→i(# vals) → is_arrayref(r, i, addarray(r, ty, vals, st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ n→i(m) ≤ n→i(n) ↔ m ≤ n], [CSIMPSEQ : ⊦ ¬ m ≤ n ↔ n < m], [CSIMPSEQ : ⊦ ¬ n < n])], [EXTRATERMS : (st, mkjavavalues(acc), mktype_from_dims(ty, n→i(# ints0)), n→i(# mkjavavalues(acc)), r)]]