| (buf[n0] = empty ⊃ datasize(buf, n0);n0 + 1) < datasize(buf, m), n0 < # buf, m < # buf, m ≤ n0 ⊦ datasize(buf, n0) < datasize(buf, m) |
m < # buf, n0 < # buf, (buf[n0] = empty ⊃ datasize(buf, n0);n0 + 1) < datasize(buf, m), (buf[n0] = empty ⊃ datasize(buf, n0);n0 + 1) < datasize(buf, n0), m ≤ n0, datasize(buf, m) ≤ datasize(buf, n0) ⊦
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat% ⊦ m < n ↔ ¬ n ≤ m; (ss)