| # ints = m + 1, ints = ints .first ', i < n→i(m), 0 ≤ i, ∀ st, r, i, ints0. # ints0 < m + 1 → (0 ≤ i ∧ i < n→i(# ints0) → ints0 = [] ∨ is_bytevalue(addarray(r, byte_type, mkjavavalues(is2bs(ints0)), st)[r -- i '])) ⊦ i = n→i(m), ints = [], m = 0, is_bytevalue(addarray(r, byte_type, mkjavavalues(is2bs(ints .butlast)), st)[r -- i ']) |
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i + ints = i ' + ints], [CSIMPSEQ : ⊦ # (ints + ints0) = # ints + # ints0], [CSIMPSEQ : ⊦ # i ' = 0 +1], [CSIMPSEQ : ⊦ (ints + ints0) + ints1 = ints + ints0 + ints1], [CSIMPSEQ : ⊦ m + n = m + n0 ↔ n = n0], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ i ' = i0 ' + ints ↔ i = i0 ∧ ints = []], [CSIMPSEQ : ⊦ i ' + ints ≠ []], [CSIMPSEQ : ⊦ # [] = 0], [CSIMPELIM : ints ≠ [] ⊦ i = ints .first ∧ ints0 = ints .rest ↔ ints = i + ints0])], [EXTRATERMS : (ints, i0, ints1)]]