| # avol0 = # avol2, # lpt1 = # avol2, # buf = EB_PAGE_SIZE, abs(avol2, bleb0, mkwbuf(buf, m2, m3), avol0, rofs0), awbuf-inv(avol2, bleb0), ebm-vol-inv(avol0), avol0 ⊆ avol1, ⌊err0⌋ , bleb0 ≠ nobuffer → bleb0.leb < # avol2 ∧ wbuf-cons(mkwbuf(buf, m2, m3), avol0[bleb0.leb], rofs0) ⊦ ⟨awbuf_recover#(; adr4, m5, ns4, plog3, lpt4, adr5, m7, plog4, lpt5, ns5, avol3; bleb3, rofs3, err1)⟩ ( adr = adr5 ∧ m = m7 ∧ plog = plog4 ∧ avol = avol3 ∧ lpt = lpt5 ∧ ns = ns5 ∧ bleb = bleb3 ∧ (rofs ↔ rofs3) ∧ adr0 = adr4 ∧ m0 = m5 ∧ ns0 = ns4 ∧ log = plog3 ∧ lpt0 = lpt4 ∧ err0 = err1) |
# buf = EB_PAGE_SIZE, # lpt1 = # avol2, # avol0 = # avol2, adr = adr5, adr0 = adr4, avol = avol3, log = plog3, lpt = lpt5, lpt0 = lpt4, m = m7, m0 = m5, ns = ns5, ns0 = ns4, plog = plog4, abs(avol2, bleb0, mkwbuf(buf, m2, m3), avol0, rofs0), awbuf-inv(avol2, bleb0), ebm-vol-inv(avol0), avol0 ⊆ avol1, ⌊err0⌋ , bleb0 ≠ nobuffer → bleb0.leb < # avol2 ∧ wbuf-cons(mkwbuf(buf, m2, m3), avol0[bleb0.leb], rofs0) ⊦ ⟨fail_or_success#(; ; err); if err = ESUCCESS then bleb := nobuffer, rofs := false, adr0 := adr, m0 := m, log := plog, lpt0 := lpt, ns0 := ns else avol := ?, bleb := ?, rofs := ?, adr := ?, m := ?, plog := ?, lpt := ?, adr0 := ?, m0 := ?, log := ?, lpt0 := ?, ns0 := ?, ns := ?⟩ ( adr1 = adr ∧ m1 = m ∧ plog0 = plog ∧ avol4 = avol ∧ lpt2 = lpt ∧ ns1 = ns ∧ bleb1 = bleb ∧ (rofs1 ↔ rofs) ∧ adr2 = adr0 ∧ m4 = m0 ∧ ns2 = ns0 ∧ log0 = log ∧ lpt3 = lpt0 ∧ err0 = err)
Used simplifier rules: awbuf_recover# (; WROOTADR0, WMAXINO0, ORPHANS, LOG, LPT, WROOTADR, WMAXINO, WLOG, WLPT, WORPHANS, WVOL ; WBUFLEB, AROFS, ERR ) {fail_or_success#(; ; ERR); if ERR = ESUCCESS then WBUFLEB := nobuffer, AROFS := false, WROOTADR0 := WROOTADR, WMAXINO0 := WMAXINO, LOG := WLOG, LPT := WLPT, ORPHANS := WORPHANS else WVOL := ?, WBUFLEB := ?, AROFS := ?, WROOTADR := ?, WMAXINO := ?, WLOG := ?, WLPT := ?, WROOTADR0 := ?, WMAXINO0 := ?, LOG := ?, LPT := ?, ORPHANS := ?, WORPHANS := ? };