| is2bs(ints) ≠ [], # ints = m + 1, 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), is2bs(ints) = [], ints = [], m = 0, is_bytevalue(addarray(r, byte_type, mkjavavalues(is2bs(ints) .butlast), st)[r -- i ']) |
# ints = m + 1, 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 : ⊦ ints ≠ [] → is2bs(ints) .butlast = is2bs(ints .butlast)], [CSIMPSEQ : ⊦ is2bs(ints) = [] ↔ ints = []])]]