| # refs = 3 ⊦ addarrays(refs, ty, 2 ' + 2 ', 0, st) = addarray (refs .first, mkarraytype(ty), refval(refs .rest .first) ' + refval(refs[2]) ', addarray(refs[1], ty, 2, addarray(refs .rest .rest .first, ty, 2, st))) |
refs = r + refs0 ∧ refs ≠ [], # refs = 3 ⊦ addarrays(refs, ty, 2 ' + 2 ', 0, st) = addarray(r, mkarraytype(ty), refval(refs0 .first) ' + refval(refs[2]) ', addarray(refs[1], ty, 2, addarray(refs0 .rest .first, ty, 2, st)))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ # [] = 0], [CSIMPELIM : refs ≠ [] ⊦ r = refs .first ∧ refs0 = refs .rest ↔ refs = r + refs0])], [EXTRATERMS : (refs, r, refs0)]]