| # ints = m + 1 ∧ # ints ≠ 0, i < n→i(# ints), 0 ≤ i, ∀ st, r, i, ints0. # ints0 < # ints → (0 ≤ i ∧ i < n→i(# ints0) → ints0 = [] ∨ is_bytevalue(addarray(r, byte_type, mkjavavalues(is2bs(ints0)), st)[r -- i '])) ⊦ ints = [], is2bs(ints) = [], is_bytevalue((i = n→i(m) ⊃ mkjavavalues(is2bs(ints)) .last; 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 '])) ⊦ ints = [], is2bs(ints) = [], is_bytevalue((i = n→i(m) ⊃ mkjavavalues(is2bs(ints)) .last; addarray(r, byte_type, mkjavavalues(is2bs(ints)) .butlast, st)[r -- i ']))
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPSEQ : ⊦ i < j + 1 ↔ i ≤ j], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ 0 ≤ n→i(n)], [CSIMPSEQ : ⊦ (~1) < i ↔ 0 ≤ i], [CSIMPSEQ : ⊦ ((* j)) < i0 + ((* j0)) ↔ j - j0 < i0], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ n→i(m + n) = n→i(m) + n→i(n)], [CSIMPFORWARD : ⊦ i ≤ j ∧ j < j0 → i < j0], [CSIMPSEQ : ⊦ # ints = 0 ↔ ints = []])]]