| # avol0 = # avol, # lpt0 = # avol, # buf = EB_PAGE_SIZE, wbuf = mkwbuf(buf, m0, m2), m < # avol, abs(avol, bleb0, wbuf, avol0, rofs), awbuf-inv(avol, bleb0), ebm-vol-inv(avol0), synced(avol), bleb0 ≠ nobuffer → bleb0.leb < # avol ∧ wbuf-cons(wbuf, avol0[bleb0.leb], rofs) ⊦ ⟪wbuf_unmap#(m, bleb0, adr0, m1, plog0, lpt0, ns0; avol0)⟫ ⟨awbuf_unmap#(m, adr0, m1, plog0, lpt0, ns0, bleb0, rofs; avol)⟩ abs(avol, bleb0, wbuf, avol0, rofs), buffered(m) = bleb0 |
# buf = EB_PAGE_SIZE, # lpt0 = # avol, # avol0 = # avol, buffered(m) ≠ bleb0, m < # avol, abs(avol, bleb0, mkwbuf(buf, m0, m2), avol0, rofs), awbuf-inv(avol, bleb0), ebm-vol-inv(avol0), synced(avol), bleb0 ≠ nobuffer → bleb0.leb < # avol ∧ wbuf-cons(mkwbuf(buf, m0, m2), avol0[bleb0.leb], rofs) ⊦ ⟪wbuf_unmap#(m, bleb0, adr0, m1, plog0, lpt0, ns0; avol0)⟫ ⟨awbuf_unmap#(m, adr0, m1, plog0, lpt0, ns0, bleb0, rofs; avol)⟩ abs(avol, bleb0, mkwbuf(buf, m0, m2), avol0, rofs)