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