| # avol2 = # lpt1 + m10, # avol0 = # avol2, # lpt2 = # lpt1, # lpt3 = # lpt1, avol2[m6] = mapped(buf4), avol2[m7] = mapped(buf3), avol2[0] = mapped(buf2), avol0[0] = mapped(buf), avol0[m2] = mapped(buf0), avol0[m1] = mapped(buf1), err = err1, err = ESUCCESS, subarray(avol2, m10, # lpt1) = subarray(avol0, m10, # lpt1), disk-layout(mksb(adr2, m11, m6, m7, m8, m9, m10), # lpt1), disk-layout(mksb(adr3, m12, m1, m2, m4, m5, m10), # lpt1), ebm-vol-inv(avol0), ebm-vol-inv(subarray(avol0, m10, # lpt1)), ebm-vol-inv(avol2), is-encoded(mksb(adr2, m11, m6, m7, m8, m9, m10), buf2), is-encoded(plog, buf1), is-encoded(lpt2, lebs(avol0, m5, lptlebs(# lpt1, LEB_SIZE))), is-encoded(mksb(adr3, m12, m1, m2, m4, m5, m10), buf), is-encoded(lpt1, lebs(avol2, m9, lptlebs(# lpt1, LEB_SIZE))), is-encoded(log, buf4), is-encoded-pad(orphans1, m8, buf3), is-encoded-pad(ns, m4, buf0), mapped-full?(avol0, m5, lptlebs(# lpt1, LEB_SIZE)), mapped-full?(avol2, m9, lptlebs(# lpt1, LEB_SIZE)), err1 = ESUCCESS → adr2 = adr1 ∧ m11 = m3 ∧ buf4 = mkbuf(0) ∧ lpt1 = lpt3 ∧ orphans1 = ns0, logoff ≠ LEB_SIZE → # buf1 = logoff, err1 ≠ ESUCCESS → mksb(adr2, m11, m6, m7, m8, m9, m10) = mksb(adr3, m12, m1, m2, m4, m5, m10) ∧ avol2[m1] = mapped(buf1) ∧ avol2[m2] = mapped(buf0) ∧ lebs(avol2, m5, lptlebs(# lpt1, LEB_SIZE)) = lebs(avol0, m5, lptlebs(# lpt1, LEB_SIZE)), logoff0 ≠ LEB_SIZE → # buf4 = logoff0, err1 = ESUCCESS ∨ ⌊err1⌋ ⊦ ⟨m12 := m3; plog := []; lpt2 := lpt3; ns := ns0; ns0 := ?⟩ ( m12 = m11 ∧ adr1 = adr2 ∧ log = plog ∧ is-encoded(lpt2, lebs(avol2, m9, lptlebs(# lpt1, LEB_SIZE))) ∧ orphans1 = ns ∧ orphans0 = ns0 ∧ err1 = err) |
# lpt3 = # lpt1, # lpt2 = # lpt1, # avol0 = # avol2, # avol2 = # lpt1 + m10, avol0[m1] = mapped(buf1), avol0[m2] = mapped(buf0), avol0[0] = mapped(buf), avol2[0] = mapped(buf2), avol2[m7] = mapped(buf3), avol2[m6] = mapped(buf4), err = ESUCCESS, err = err1, subarray(avol2, m10, # lpt1) = subarray(avol0, m10, # lpt1), disk-layout(mksb(adr3, m12, m1, m2, m4, m5, m10), # lpt1), disk-layout(mksb(adr2, m11, m6, m7, m8, m9, m10), # lpt1), ebm-vol-inv(avol2), ebm-vol-inv(subarray(avol0, m10, # lpt1)), ebm-vol-inv(avol0), is-encoded(log, buf4), is-encoded(lpt1, lebs(avol2, m9, lptlebs(# lpt1, LEB_SIZE))), is-encoded(mksb(adr3, m12, m1, m2, m4, m5, m10), buf), is-encoded(lpt2, lebs(avol0, m5, lptlebs(# lpt1, LEB_SIZE))), is-encoded(plog, buf1), is-encoded(mksb(adr2, m11, m6, m7, m8, m9, m10), buf2), is-encoded-pad(ns, m4, buf0), is-encoded-pad(orphans1, m8, buf3), mapped-full?(avol2, m9, lptlebs(# lpt1, LEB_SIZE)), mapped-full?(avol0, m5, lptlebs(# lpt1, LEB_SIZE)), logoff0 ≠ LEB_SIZE → # buf4 = logoff0, err1 ≠ ESUCCESS → mksb(adr2, m11, m6, m7, m8, m9, m10) = mksb(adr3, m12, m1, m2, m4, m5, m10) ∧ avol2[m1] = mapped(buf1) ∧ avol2[m2] = mapped(buf0) ∧ lebs(avol2, m5, lptlebs(# lpt1, LEB_SIZE)) = lebs(avol0, m5, lptlebs(# lpt1, LEB_SIZE)), logoff ≠ LEB_SIZE → # buf1 = logoff, err1 = ESUCCESS → adr2 = adr1 ∧ m11 = m3 ∧ buf4 = mkbuf(0) ∧ lpt1 = lpt3 ∧ orphans1 = ns0, err1 = ESUCCESS ∨ ⌊err1⌋ ⊦ ⟨plog := []; lpt2 := lpt3; ns := ns0; ns0 := ?⟩ ( m3 = m11 ∧ adr1 = adr2 ∧ log = plog ∧ is-encoded(lpt2, lebs(avol2, m9, lptlebs(# lpt1, LEB_SIZE))) ∧ orphans1 = ns ∧ orphans0 = ns0 ∧ err1 = err)