| # lpt0 = # lpt1, (lpt1[n].ref-size = 0 ∧ lpt1[n].flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lpt1[n].gcheapidx);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 |
# lpt0 = # lpt1, (m5 = 0 ∧ lpf ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, m7);lpt1[n]) = mklp(m, m0, LP_GROUP_NODES, m1), lpt0[n] = mklp(m2, m3, LP_GROUP_NODES, m4), lpt1[n] = mklp(m5, m6, lpf, m7), 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 simplifier rules: ⊦ ((m = lp.ref-size ∧ m0 = lp.size) ∧ lpf = lp.flags) ∧ m1 = lp.gcheapidx ↔ lp = mklp(m, m0, lpf, m1); (elim) Used terms: lpt1[n], m5, m6, lpf, m7