| lpt[n] = mklp(m0, m1, lpf0, m2), keyset(gch) = gc-heap(lpt, nx, # lpt), n < # lpt ⊦ gch.size ≤ # gch.ar ∧ no-dups-idx(gch.ar, gch.size) ∧ valid-idx(gch.ar, lpt[n, mklp(n0, n1, lpf1, n2)], gch.size) ∧ 2exp-size(# gch.ar) ∧ heap-order(gch.ar, gch.size) ↔ bin-heap-inv(gch, lpt), lpf0 = LP_GROUP_NODES |
lpt[n] = mklp(m0, m1, lpf0, m2), gch = bin-heap(kar, m), keyset(gch) = gc-heap(lpt, nx, # lpt), n < # lpt ⊦ m ≤ # kar ∧ no-dups-idx(kar, m) ∧ valid-idx(kar, lpt[n, mklp(n0, n1, lpf1, n2)], m) ∧ 2exp-size(# kar) ∧ heap-order(kar, m) ↔ bin-heap-inv(gch, lpt), lpf0 = LP_GROUP_NODES
Used simplifier rules: ⊦ kar = bh.ar ∧ m = bh.size ↔ bh = bin-heap(kar, m); (elim) Used terms: gch, kar, n3