| # 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) |
# avol0 = # avol2, # lpt1 = # avol2, # buf = EB_PAGE_SIZE, 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) ⊦ ⟨choose err0 with ⌊err0⌋ ∨ err0 = ESUCCESS in err := err0; 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: fail_or_success#(; ; ERR) {choose ERR0 with ⌊ERR0⌋ ∨ ERR0 = ESUCCESS in ERR := ERR0};