| # lpt0 = m0, m1 = LEB_SIZE, adr0 = adr1, m2 = m3 ⊦ ⟪persistence_io_format#(m0, m1, lpt0, adr0, m2; sb, m4, m5, avol0; logoff, err)⟫ ( ( err = ESUCCESS → ⟨apersistence_io_format#(m0, m1, lpt0, adr1, m3; ; adr2, m6, plog, avol1, lpt1, ns0, err0)⟩ ( ( m6 = sb.maxino ∧ adr2 = sb.indexaddr ∧ # avol0 = sb.main + # avol1 ∧ avol1 = subarray(avol0, sb.main, # avol0 - sb.main) ∧ is-encoded(plog, avol0[sb.log].data) ∧ is-encoded(lpt1, lebs(avol0, sb.lpt, lptlebs(# avol1, LEB_SIZE))) ∧ is-encoded-pad(ns0, sb.orphsize, avol0[sb.orph].data)) ∧ err = err0)) ∧ ( err ≠ ESUCCESS → (∀ adr, m, log, avol, lpt, ns. ⟨apersistence_io_format#(m0, m1, lpt0, adr1, m3; ; adr2, m6, plog, avol1, lpt1, ns0, err0)⟩ (adr = adr2 ∧ m = m6 ∧ log = plog ∧ avol = avol1 ∧ lpt = lpt1 ∧ ns = ns0 ∧ err = err0)))) |
# lpt0 = m0, adr0 = adr1, m1 = LEB_SIZE, m2 = m3 ⊦ ⟪persistence_io_format#(m0, m1, lpt0, adr0, m2; sb, m4, m5, avol0; logoff, err)⟫ ( ( err = ESUCCESS → ⟨apersistence_io_format#(m0, m1, lpt0, adr1, m3; ; adr2, m6, plog, avol1, lpt1, ns0, err0)⟩ ( ( m6 = sb.maxino ∧ adr2 = sb.indexaddr ∧ # avol0 = sb.main + # avol1 ∧ avol1 = subarray(avol0, sb.main, # avol0 - sb.main) ∧ is-encoded(plog, avol0[sb.log].data) ∧ is-encoded(lpt1, lebs(avol0, sb.lpt, lptlebs(# avol1, LEB_SIZE))) ∧ is-encoded-pad(ns0, sb.orphsize, avol0[sb.orph].data)) ∧ err = err0)) ∧ ( err ≠ ESUCCESS → (∀ adr, m, log, avol, lpt, ns. ⟨apersistence_io_format#(m0, m1, lpt0, adr1, m3; ; adr2, m6, plog, avol1, lpt1, ns0, err0)⟩ (adr = adr2 ∧ m = m6 ∧ log = plog ∧ avol = avol1 ∧ lpt = lpt1 ∧ ns = ns0 ∧ err = err0))))