| # lpt = # avol, m < # avol, awbuf-inv(avol, bleb), synced(avol) ⊦ ⟪awbuf_unmap#(m, adr, m0, nx, lpt, ns, bleb, isbuf; avol)⟫ (awbuf-inv(avol, bleb) ∧ # lpt = # avol), buffered(m) = bleb |
# lpt = # avol, buffered(m) ≠ bleb, m < # avol, awbuf-inv(avol, bleb), synced(avol) ⊦ ⟪awbuf_unmap#(m, adr, m0, nx, lpt, ns, bleb, isbuf; avol)⟫ (awbuf-inv(avol, bleb) ∧ # lpt = # avol)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic