| rofs ↔ rofs0, adr = adr2, adr0 = adr1, avol = avol0, bleb = bleb0, lpt = lpt1, m = m5, m0 = m4, m1 = m7, m2 = LEB_SIZE, m3 = # lpt0, ns = ns0, plog = plog0 ⊦ ⟪if m3 = # lpt0 ∧ m2 = LEB_SIZE then {apersistence_io_format#(m3, m2, lpt0, adr0, m1; ; adr, m, plog, avol, lpt, ns, err); if err = ESUCCESS then {apersistence_io_get_page_size#(adr, m, plog, avol, lpt, ns; ; m0); bleb := nobuffer; wbuf.content := mkbuf(m0); rofs := false}} else abort⟫ ( ( 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)))) |
rofs ↔ rofs0, adr = adr2, adr0 = adr1, avol = avol0, bleb = bleb0, lpt = lpt1, m = m5, m0 = m4, m1 = m7, m2 = LEB_SIZE, m3 = # lpt0, ns = ns0, plog = plog0 ⊦ ⟪apersistence_io_format#(m3, m2, lpt0, adr0, m1; ; adr, m, plog, avol, lpt, ns, err); 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))))