| # lpt = # avol, adr = adr3, adr0 = adr1, adr2 = adr3, lpt0 = lpt1, lpt2 = lpt, m = m3, m0 = m1, m2 = m3, ns = ns3, ns0 = ns1, ns2 = ns3, nx = nx3, nx0 = nx1, nx2 = nx3, awbuf-inv(avol, bleb), synced(avol0), avol0 ↓ avol ⊦ ⟨choose err0 with ⌊err0⌋ ∨ err0 = ESUCCESS in err := err0; if err = ESUCCESS then bleb := nobuffer, isbuf := false, adr0 := adr, m0 := m, nx0 := nx, lpt0 := lpt, ns0 := ns else avol := ?, bleb := ?, isbuf := ?, adr := ?, m := ?, nx := ?, lpt := ?, adr0 := ?, m0 := ?, nx0 := ?, lpt0 := ?, ns0 := ?, ns := ?⟩ (synced(avol0) ∧ adr2 = adr ∧ m2 = m ∧ nx2 = nx ∧ lpt2 = lpt ∧ avol0 ↓ avol ∧ ns2 = ns) |
# lpt = # avol, adr = adr3, adr0 = adr1, adr2 = adr3, lpt0 = lpt1, lpt2 = lpt, m = m3, m0 = m1, m2 = m3, ns = ns3, ns0 = ns1, ns2 = ns3, nx = nx3, nx0 = nx1, nx2 = nx3, awbuf-inv(avol, bleb), synced(avol0), avol0 ↓ avol ⊦ ∃ err0. (⌊err0⌋ ∨ err0 = ESUCCESS) ∧ ⟨err := err0; if err = ESUCCESS then bleb := nobuffer, isbuf := false, adr0 := adr, m0 := m, nx0 := nx, lpt0 := lpt, ns0 := ns else avol := ?, bleb := ?, isbuf := ?, adr := ?, m := ?, nx := ?, lpt := ?, adr0 := ?, m0 := ?, nx0 := ?, lpt0 := ?, ns0 := ?, ns := ?⟩ (synced(avol0) ∧ adr2 = adr ∧ m2 = m ∧ nx2 = nx ∧ lpt2 = lpt ∧ avol0 ↓ avol ∧ ns2 = ns)