| # 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 |
⊦ lpt.map(lptfun)[n] = (n < # lpt ⊃ lptfun(lpt[n]);lpt[n])
# lpt0 = # lpt1, (n < # lpt1 ⊃ (lpt1[n].ref-size = 0 ∧ lpt1[n].flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lpt1[n].gcheapidx);lpt1[n]);lpt1[n]) = mklp(m, m0, LP_GROUP_NODES, m1), lpt0[n] = mklp(m2, m3, LP_GROUP_NODES, m4), 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
Used terms: n, λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx) ;lp ), lpt1