| # lpt0 = # lpt1, lpt1.map(λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx);lp))[n] = mklp(m, m0, LP_GROUP_NODES, m1), lpt0[n] = mklp(m2, m3, lpf, m4), lpf = LP_GROUP_NODES, n < # lpt1, ∀ n. n < # lpt1 ∧ lpt0[n].flags = LP_GROUP_NODES ∧ lpt1[n].flags = LP_GROUP_NODES → lpt1[n].size = lpt0[n].size ⊦ m0 = m3 |
# lpt0 = # lpt1, lpt0[n] = mklp(m2, m3, LP_GROUP_NODES, m4), lpt1.map(λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx);lp))[n] = mklp(m, m0, LP_GROUP_NODES, m1), n < # lpt1, ∀ n. n < # lpt1 ∧ lpt0[n].flags = LP_GROUP_NODES ∧ lpt1[n].flags = LP_GROUP_NODES → lpt1[n].size = lpt0[n].size ⊦ m0 = m3