| kar[m6] = key-index(natkey, m4), lpt.map(λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx);lp))[m4] = mklp(m1, m2, lpf, m3), lpt[m4] = mklp(m0, m5, lpf0, m6), 2exp-size(# kar), m6 < # kar, m6 < m, m4 < # lpt, heap-order(kar, m), no-dups-idx(kar, m), m ≤ # kar ⊦ m3 = m6 |
⊦ lpt.map(lptfun)[n] = (n < # lpt ⊃ lptfun(lpt[n]);lpt[n])
(m4 < # lpt ⊃ (lpt[m4].ref-size = 0 ∧ lpt[m4].flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lpt[m4].gcheapidx);lpt[m4]);lpt[m4]) = mklp(m1, m2, lpf, m3), lpt[m4] = mklp(m0, m5, lpf0, m6), kar[m6] = key-index(natkey, m4), 2exp-size(# kar), m4 < # lpt, m6 < m, m6 < # kar, heap-order(kar, m), no-dups-idx(kar, m), m ≤ # kar ⊦ m3 = m6
Used terms: m4, λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx) ;lp ), lpt