| ⊦ ⟪wbuf_format#(# lpt0, LEB_SIZE, lpt0, adr1, m3; wbuf, m4, adr2, m5, plog0, avol0, lpt1, ns0, bleb0, rofs0; err)⟫ ( ( err = ESUCCESS → ⟨awbuf_format#(# lpt0, LEB_SIZE, lpt0, adr1, m3; ; adr3, m6, plog1, avol1, lpt2, ns1, bleb1, rofs1, err0)⟩ ( abs(avol1, bleb0, wbuf, avol0, rofs0) ∧ bleb1 = bleb0 ∧ adr3 = adr2 ∧ m6 = m5 ∧ plog1 = plog0 ∧ lpt2 = lpt1 ∧ ns1 = ns0 ∧ (rofs1 ↔ rofs0) ∧ ESUCCESS = err0)) ∧ ( err ≠ ESUCCESS → (∀ adr, m, plog, avol, lpt, ns, bleb, rofs. ⟨awbuf_format#(# lpt0, LEB_SIZE, lpt0, adr1, m3; ; 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 ⊦ ⟪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))))
Used simplifier rules: wbuf_format# (VOLSIZE, SIZE, LPT, PROOTADR0, PMAXINO0 ; WBUF, PAGESIZE, PROOTADR, PMAXINO, PLOG, PVOL, PLPT, PORPHANS, BUFLEB, ROFS ; ERR ) {if VOLSIZE = # LPT ∧ SIZE = LEB_SIZE then {apersistence_io_format# (VOLSIZE, SIZE, LPT, PROOTADR0, PMAXINO0 ; ; PROOTADR, PMAXINO, PLOG, PVOL, PLPT, PORPHANS, ERR); if ERR = ESUCCESS then {apersistence_io_get_page_size# (PROOTADR, PMAXINO, PLOG, PVOL, PLPT, PORPHANS ; ; PAGESIZE); BUFLEB := nobuffer; WBUF.content := mkbuf(PAGESIZE); ROFS := false}} else abort };