| buf .len = n→i(# x) + 1, a ' + x = tolist(buf, 1 + # x), 0 ≤ buf .first, buf .first < n→i(# buf .data), buf .size = n→i(# buf .data) ∧ buf .size ≠ 0 ∧ 0 ≤ buf .first ∧ buf .first < buf .size ∧ 0 ≤ buf .len ∧ buf .len ≤ buf .size ⊦ # buf .data = 0, buf .size = n→i(# buf .data) ∧ buf .size ≠ 0 ∧ 0 ≤ (buf .first + 1) % buf .size ∧ (buf .first + 1) % buf .size < buf .size ∧ n→i(# x) ≤ buf .size |
buf .size = n→i(# buf .data), a ' + x = tolist(buf, 1 + # x), buf .len = n→i(# x) + 1, 0 ≤ buf .len, buf .len ≤ buf .size, 0 ≤ buf .first, buf .first < buf .size, 0 < buf .size ⊦ buf .size = 0, # buf .data = 0, n→i(# x) ≤ buf .size ∧ 0 ≤ (buf .first + 1) % buf .size
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ 0 < j → i % j < j], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ 0 < j → ¬ j ≤ i % j], [CSIMPSEQ : ⊦ i ≠ j → (i ≤ j ↔ i < j)], [CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1], [CSIMPFORWARD : ⊦ i < j ∧ j ≤ j0 → i < j0], [CSIMPFORWARD : ⊦ i ≤ j ∧ j < j0 → i < j0], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0])]]