| buf .len = 1 + n→i(# x), a ' + x = tolist(buf, i→n(buf .len)), inv(buf), a2 = a0 ∧ ar0 = buf .data ∧ i0 = buf .first, 0 ≤ i0 ∧ i0 < n→i(# ar0), ¬ inv(buf .first:= ((buf .first + 1) % buf .size) .len:= ((buf .first:= ((buf .first + 1) % buf .size)) .len - 1)) ∨ ¬ abs(buf .first:= ((buf .first + 1) % buf .size) .len:= ((buf .first:= ((buf .first + 1) % buf .size)) .len - 1), x) ∨ a ≠ ar0[i→n(i0)] ⊦ |
a ' + x = tolist(buf, i→n(buf .len)), buf .len = 1 + n→i(# x), 0 ≤ buf .first, buf .first < n→i(# buf .data), inv(buf), ¬ inv(buf .first:= ((buf .first + 1) % buf .size) .len:= (buf .len - 1)) ∨ ¬ abs(buf .first:= ((buf .first + 1) % buf .size) .len:= (buf .len - 1), x) ∨ a ≠ (buf .data)[i→n(buf .first)] ⊦ # buf .data = 0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ 0 < m ↔ m ≠ 0], [CSIMPSEQ : 0 ≤ i ⊦ ((* i)) < n→i(n) ↔ i→n(i) < n], [CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ (buf .first:= i0) .len = buf .len])]]