| n→i(# refs) = countrefs(ints), rk ∈ st, posints(ints) ⊦ ints = [], rk ∈ addarrays(refs, ty, ints, i, st) |
⊦ ints ≠ [] ∧ n→i(# refs) = countrefs(ints) ∧ posints(ints) → addarrays(refs, ty, ints, i, st) = addmultiarrays(refs, ints .first, [], mktype_from_dims(ty, countdims(ints, i)), getdims(ints), st)
ints ≠ [] ∧ n→i(# refs) = countrefs(ints) ∧ posints(ints), n→i(# refs) = countrefs(ints), rk ∈ st, posints(ints) ⊦ ints = [], rk ∈ addmultiarrays(refs, ints .first, [], mktype_from_dims(ty, countdims(ints, i)), getdims(ints), st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, i, ints, ty, refs)]]