| gch = bin-heap(kar, m) ⊦ bin-heap-inv(gch, lpt.map(λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx);lp))) ↔ m ≤ # kar ∧ no-dups-idx(kar, m) ∧ valid-idx(kar, lpt, m) ∧ 2exp-size(# kar) ∧ heap-order(kar, m) |
⊦ bin-heap-inv(bin-heap(kar, m), lpt.map(λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx);lp))) ↔ m ≤ # kar ∧ no-dups-idx(kar, m) ∧ valid-idx(kar, lpt, m) ∧ 2exp-size(# kar) ∧ heap-order(kar, m)