| 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) |
buf .size = n→i(# buf .data), (buf .first + buf .len) % buf .size < 0, buf .len < buf .size, buf .first < buf .size, buf .len ≤ buf .size, 0 ≤ buf .len, 0 < buf .size, 0 ≤ buf .first ⊦ buf .size = 0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i < 0 ∧ 0 ≤ j → i < j], [CSIMPFORWARD : ⊦ j < i ∧ i ≤ 0 → j < 0], [CSIMPFORWARD : ⊦ i < j ∧ j ≤ j0 → i < j0], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ 0 < j → i % j < j], [CSIMPSEQ : ⊦ i ≠ j → (i ≤ j ↔ i < j)], [CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1])]]