| ⊦ ⟪choose err0 with ⌊err0⌋ ∨ err0 = ESUCCESS in err := err0; if err = ESUCCESS then {avol := fill(mkavolume(# lpt0), unmapped); adr := adr1; m := m7; plog := []; lpt := lpt0; ns := ∅} else avol := ?, adr := ?, m := ?, plog := ?, lpt := ?, ns := ?; if err = ESUCCESS then {apersistence_io_get_page_size#(adr, m, plog, avol, lpt, ns; ; m0); bleb := nobuffer; wbuf.content := mkbuf(m0); rofs := false}⟫ ( ( err = ESUCCESS → ⟨awbuf_format#(# lpt0, LEB_SIZE, lpt0, adr1, m7; ; adr3, m6, plog1, avol1, lpt2, ns1, bleb1, rofs1, err0)⟩ ( abs(avol1, bleb, wbuf, avol, rofs) ∧ bleb1 = bleb ∧ adr3 = adr ∧ m6 = m ∧ plog1 = plog ∧ lpt2 = lpt ∧ ns1 = ns ∧ (rofs1 ↔ rofs) ∧ ESUCCESS = err0)) ∧ ( err ≠ ESUCCESS → (∀ adr, m, plog, avol, lpt, ns, bleb, rofs. ⟨awbuf_format#(# lpt0, LEB_SIZE, lpt0, adr1, m7; ; adr3, m6, plog1, avol1, lpt2, ns1, bleb1, rofs1, err0)⟩ (adr = adr3 ∧ m = m6 ∧ plog = plog1 ∧ avol = avol1 ∧ lpt = lpt2 ∧ ns = ns1 ∧ bleb = bleb1 ∧ (rofs ↔ rofs1) ∧ err = err0)))) |
⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪err := err0; if err = ESUCCESS then {avol := fill(mkavolume(# lpt0), unmapped); adr := adr1; m := m7; plog := []; lpt := lpt0; ns := ∅} else avol := ?, adr := ?, m := ?, plog := ?, lpt := ?, ns := ?; if err = ESUCCESS then {apersistence_io_get_page_size#(adr, m, plog, avol, lpt, ns; ; m0); bleb := nobuffer; wbuf.content := mkbuf(m0); rofs := false}⟫ ( ( err = ESUCCESS → ⟨awbuf_format#(# lpt0, LEB_SIZE, lpt0, adr1, m7; ; adr3, m6, plog1, avol1, lpt2, ns1, bleb1, rofs1, err1)⟩ ( abs(avol1, bleb, wbuf, avol, rofs) ∧ bleb1 = bleb ∧ adr3 = adr ∧ m6 = m ∧ plog1 = plog ∧ lpt2 = lpt ∧ ns1 = ns ∧ (rofs1 ↔ rofs) ∧ ESUCCESS = err1)) ∧ ( err ≠ ESUCCESS → (∀ adr, m, plog, avol, lpt, ns, bleb, rofs. ⟨awbuf_format#(# lpt0, LEB_SIZE, lpt0, adr1, m7; ; adr3, m6, plog1, avol1, lpt2, ns1, bleb1, rofs1, err1)⟩ (adr = adr3 ∧ m = m6 ∧ plog = plog1 ∧ avol = avol1 ∧ lpt = lpt2 ∧ ns = ns1 ∧ bleb = bleb1 ∧ (rofs ↔ rofs1) ∧ err = err1))))
⊦ ∃ err0. ⌊err0⌋ ∨ err0 = ESUCCESS