| 2exp-size(# gch.ar), heap-order(gch.ar, gch.size), no-dups-idx(gch.ar, gch.size), valid-idx(gch.ar, lpt, gch.size), gch.size ≤ # gch.ar ⊦ bin-heap-inv(gch, lpt.mapIndices(ns, λ lp. lp.size:= LEB_SIZE)) |
gch = bin-heap(kar, m), 2exp-size(# kar), heap-order(kar, m), no-dups-idx(kar, m), valid-idx(kar, lpt, m), m ≤ # kar ⊦ bin-heap-inv(gch, lpt.mapIndices(ns, λ lp. lp.size:= LEB_SIZE))
Used simplifier rules: ⊦ kar = bh.ar ∧ m = bh.size ↔ bh = bin-heap(kar, m); (elim) Used terms: gch, kar, n