| # wbuf.content = EB_PAGE_SIZE, # lpt = # avol, buffered(m) ≠ bleb, m < # avol, ebm-vol-inv(avol), bleb ≠ nobuffer → bleb.leb < # avol ∧ wbuf-cons(wbuf, avol[bleb.leb], rofs) ⊦ ⟪wbuf_remap#(m, bleb, adr, m0, plog, lpt, ns; avol; err)⟫ ((bleb ≠ nobuffer → bleb.leb < # avol ∧ wbuf-cons(wbuf, avol[bleb.leb], rofs)) ∧ ebm-vol-inv(avol) ∧ # lpt = # avol) |
# lpt = # avol, # buf = EB_PAGE_SIZE, wbuf = mkwbuf(buf, m1, m2), m < # avol, ebm-vol-inv(avol), bleb ≠ nobuffer → bleb.leb < # avol ∧ wbuf-cons(wbuf, avol[bleb.leb], rofs) ⊦ ⟪wbuf_remap#(m, bleb, adr, m0, plog, lpt, ns; avol; err)⟫ ((bleb ≠ nobuffer → bleb.leb < # avol ∧ wbuf-cons(wbuf, avol[bleb.leb], rofs)) ∧ ebm-vol-inv(avol) ∧ # lpt = # avol), buffered(m) = bleb
Used simplifier rules: ⊦ (buf = wbuf.content ∧ m = wbuf.offset) ∧ m0 = wbuf.nbytes ↔ wbuf = mkwbuf(buf, m, m0); (elim) Used terms: wbuf, buf, m0, m1