| buf .len = n→i(# x) + 1, a ' + x = tolist(buf, 1 + # x), 0 ≤ buf .first, buf .first < n→i(# buf .data), inv(buf) ⊦ # 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 |
⊦ inv(buf) ↔ buf .size = n→i(# buf .data) ∧ buf .size ≠ 0 ∧ 0 ≤ buf .first ∧ buf .first < buf .size ∧ 0 ≤ buf .len ∧ buf .len ≤ buf .size
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
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (buf)]]