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