| ⟨awbuf_unmap#(m, adr, m0, nx, lpt, ns, bleb, isbuf; avol)⟩ (avol = avol1), # lpt = # avol, adr0 = adr, lpt0 = lpt, m1 = m0, ns0 = ns, nx0 = nx, m < # avol, awbuf-inv(avol, bleb), synced(avol), avol0 ↓ avol1 ⊦ buffered(m) = bleb, adr0 = adr ∧ m1 = m0 ∧ nx0 = nx ∧ lpt0 = lpt ∧ avol0 ↓ avol ∧ ns0 = ns, synced(avol1) ∧ adr0 = adr ∧ m1 = m0 ∧ nx0 = nx ∧ lpt0 = lpt ∧ avol0 ↓ avol1 ∧ ns0 = ns |
⟨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 ⊦
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