| # buf = EB_PAGE_SIZE, # lpt0 = # avol1, # avol0 = # avol1, avol0[m5] = mapped(buf0), avol0[m] = mapped(buf1), bleb0 = buffered(m), m < # avol1, m5 < # avol1, abs(avol1, bleb0, mkwbuf(buf, m1, m3), avol0, false), awbuf-inv(avol1, bleb0), ebm-vol-inv(avol0), is-aligned(# avol1[m].data, EB_PAGE_SIZE), wbuf-cons(mkwbuf(buf, m1, m3), mapped(buf1), false) ⊦ bleb0 = buffered(m5), bleb0 = nobuffer, m3 = 0 |
# buf = EB_PAGE_SIZE, # lpt0 = # avol1, # avol0 = # avol1, avol0[m5] = mapped(buf0), avol0[m] = mapped(buf1), m < # avol1, m5 < # avol1, abs(avol1, buffered(m), mkwbuf(buf, m1, m3), avol0, false), awbuf-inv(avol1, buffered(m)), ebm-vol-inv(avol0), is-aligned(# avol1[m].data, EB_PAGE_SIZE), wbuf-cons(mkwbuf(buf, m1, m3), mapped(buf1), false) ⊦ m = m5, m3 = 0
Used simplifier rules: inv-buf-in-vol: ⊦ awbuf-inv(avol, buffered(n)) → n < # avol; (forward) from specification awbuf-inv%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ buffered(m) = buffered(m0) ↔ m = m0; (s)% ⊦ nobuffer ≠ buffered(m); (s)