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