| # avol0 = # lpt2 + m9, avol0[m4] = mapped(mkbuf(0)), avol0[m5] = mapped(mkbuf(0)), avol0[0] = mapped(buf), subarray(avol0, m9, # lpt2) = fill(mkavolume(# lpt0), unmapped), disk-layout(mksb(adr1, m3, m4, m5, 0, m8, m9), # lpt2), ebm-vol-inv(avol0), is-encoded(mksb(adr1, m3, m4, m5, 0, m8, m9), buf), is-encoded(lpt0, lebs(avol0, m8, lptlebs(# lpt2, LEB_SIZE))), is-encoded(lpt2, lebs(avol0, m8, lptlebs(# lpt2, LEB_SIZE))), mapped-full?(avol0, m8, lptlebs(# lpt2, LEB_SIZE)), logoff ≠ LEB_SIZE → 0 = logoff ⊦ ⟨err := ESUCCESS; if err = ESUCCESS then {avol := fill(mkavolume(# lpt0), unmapped); adr := adr1; m := m3; plog := []; lpt := lpt0; ns := ∅} else avol := ?, adr := ?, m := ?, plog := ?, lpt := ?, ns := ?⟩ ( m = m3 ∧ adr = adr1 ∧ avol = subarray(avol0, m9, # lpt2) ∧ [] = plog ∧ is-encoded(lpt, lebs(avol0, m8, lptlebs(# lpt2, LEB_SIZE))) ∧ ∅ = ns ∧ ESUCCESS = err) |
# avol0 = # lpt2 + m9, avol0[0] = mapped(buf), avol0[m5] = mapped(mkbuf(0)), avol0[m4] = mapped(mkbuf(0)), err = ESUCCESS, subarray(avol0, m9, # lpt2) = fill(mkavolume(# lpt0), unmapped), disk-layout(mksb(adr1, m3, m4, m5, 0, m8, m9), # lpt2), ebm-vol-inv(avol0), is-encoded(lpt2, lebs(avol0, m8, lptlebs(# lpt2, LEB_SIZE))), is-encoded(lpt0, lebs(avol0, m8, lptlebs(# lpt2, LEB_SIZE))), is-encoded(mksb(adr1, m3, m4, m5, 0, m8, m9), buf), mapped-full?(avol0, m8, lptlebs(# lpt2, LEB_SIZE)), logoff ≠ LEB_SIZE → 0 = logoff ⊦ ⟨if err = ESUCCESS then {avol := fill(mkavolume(# lpt0), unmapped); adr := adr1; m := m3; plog := []; lpt := lpt0; ns := ∅} else avol := ?, adr := ?, m := ?, plog := ?, lpt := ?, ns := ?⟩ ( m = m3 ∧ adr = adr1 ∧ avol = subarray(avol0, m9, # lpt2) ∧ [] = plog ∧ is-encoded(lpt, lebs(avol0, m8, lptlebs(# lpt2, LEB_SIZE))) ∧ ∅ = ns ∧ ESUCCESS = err)