| # lpt1 = # lpt0, n < # lpt0 ∧ lpf0 = LP_INDEX_NODES ↔ n ∈ istore, lpt0[n] = mklp(m3, m4, lpf0, m5), lpt1[n] = mklp(m0, m1, lpf, m2), istore[n] = indexblock(indx, lax, m), n ∈ istore → abs-leb(avol[n], indexblock(indx, lax, m), mklp(m, m4, lpf0, m5)) ∧ m3 = m, n < # lpt0 → m3 = m0 ∧ m4 = m1 ∧ lpf0 = lpf ⊦ (n < # lpt0 ∧ lpf = LP_INDEX_NODES ↔ n ∈ istore) ∧ (n ∈ istore → abs-leb(avol[n], indexblock(indx, lax, m), mklp(m, m1, lpf, m2)) ∧ m0 = m) |
⊦ abs-leb(aleb, iblock, lp) ↔ aleb.mapped? ∧ abs-nodes(aleb.data, iblock.indlist, iblock.ladrlist, lp.size = LEB_SIZE) ∧ (lp.size ≠ LEB_SIZE → lp.size = # aleb.data)
# lpt1 = # lpt0, n < # lpt0 ∧ lpf0 = LP_INDEX_NODES ↔ n ∈ istore, istore[n] = indexblock(indx, lax, m), lpt1[n] = mklp(m0, m1, lpf, m2), lpt0[n] = mklp(m3, m4, lpf0, m5), n < # lpt0 → m3 = m0 ∧ m4 = m1 ∧ lpf0 = lpf, n ∈ istore → abs-leb(avol[n], indexblock(indx, lax, m), mklp(m, m4, lpf0, m5)) ∧ m3 = m ⊦ (n < # lpt0 ∧ lpf = LP_INDEX_NODES ↔ n ∈ istore) ∧ ( n ∈ istore → ( avol[n].mapped? ∧ abs-nodes(avol[n].data, indexblock(indx, lax, m).indlist, indexblock(indx, lax, m).ladrlist, mklp(m, m1, lpf, m2).size = LEB_SIZE) ∧ (mklp(m, m1, lpf, m2).size ≠ LEB_SIZE → mklp(m, m1, lpf, m2).size = # avol[n].data)) ∧ m0 = m)
Used terms: mklp(m, m1, lpf, m2), indexblock(indx, lax, m), avol[n]