| n→i(# refs) = countrefs(ints), is_fskey(sk), posints(ints) ⊦ ints = [], (addarrays(refs, ty, ints, i, st)[r -- sk]) = st[r -- sk], sk = _type, sk = _length |
⊦ 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), is_fskey(sk), posints(ints) ⊦ ints = [], (addmultiarrays(refs, ints .first, [], mktype_from_dims(ty, countdims(ints, i)), getdims(ints), st)[r -- sk]) = st[r -- sk], sk = _type, sk = _length
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, i, ints, ty, refs)]]