| # lpt = # avol, buffered(m) ≠ bleb, m < # avol, awbuf-inv(avol, bleb), synced(avol0), synced(avol), avol0 ↓ avol ⊦ ⟨awbuf_unmap#(m, adr0, m1, nx0, lpt, ns0, bleb, isbuf; avol)⟩ (avol0 ↓ avol) |
# lpt = # avol, adr = adr0, m = m1, m0 = m2, ns = ns0, nx = nx0, m2 < # avol, awbuf-inv(avol, bleb), synced(avol), synced(avol0), avol0 ↓ avol ⊦ ⟨if synced(avol) ∧ m0 < # avol ∧ buffered(m0) ≠ bleb then avol[m0] := unmapped else abort⟩ (avol0 ↓ avol), buffered(m2) = bleb
Used simplifier rules: unmap: ⊦ ;