| buf .len = i0 + 1, 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:= i0) ∨ ¬ abs(buf .first:= ((buf .first + 1) % buf .size) .len:= i0, x) ∨ a ≠ (buf .data)[i→n(buf .first)] ⊦ # buf .data = 0 |
buf .len = n→i(# x) + 1, a ' + x = tolist(buf, 1 + # x), 0 ≤ buf .first, buf .first < n→i(# buf .data), inv(buf), ¬ inv(buf .first:= ((buf .first + 1) % buf .size) .len:= n→i(# x)) ∨ ¬ abs(buf .first:= ((buf .first + 1) % buf .size) .len:= n→i(# x), x) ∨ a ≠ (buf .data)[i→n(buf .first)] ⊦ # buf .data = 0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ a ∈ b ' ↔ a = b], [CSIMPSEQ : ⊦ a ∈ x0 + x1 ↔ ¬ ¬ (a ∈ x0 ∨ a ∈ x1)], [CSIMPSEQ : ⊦ 0 ≤ i → i→n(i + n→i(n)) = i→n(i) + n], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = i + i0 ↔ j = i0], [CSIMPSEQ : ⊦ (x0 + x1) + x2 = x0 + x1 + x2], [CSIMPFORWARD : ⊦ a ' + x0 = x1 → a ∈ x1])]]