| key-index(natkey, n) ∈ keyset(kar, m) ↔ key-index(natkey, n) ∈ gc-heap(lpt, nx, # lpt), lpt[n] = mklp(m0, m1, lpf0, m2), kar[m2] = key-index(natkey, n), 2exp-size(# kar), m2 < m, n < # lpt, m2 < # kar, heap-order(kar, m), no-dups-idx(kar, m), m ≤ # kar ⊦ lpf0 = LP_GROUP_NODES, m6 = m2 |
⊦ n ≤ # lpt → (key-index(n0, n1) ∈ gc-heap(lpt, nx, n) ↔ n1 < n ∧ ¬ n1 ∈ nx ∧ lpt[n1].ref-size = n0 ∧ lpt[n1].flags = LP_GROUP_NODES)
key-index(natkey, n) ∈ keyset(kar, m) ↔ n < # lpt ∧ ¬ n ∈ nx ∧ lpt[n].ref-size = natkey ∧ lpt[n].flags = LP_GROUP_NODES, kar[m2] = key-index(natkey, n), lpt[n] = mklp(m0, m1, lpf0, m2), 2exp-size(# kar), m2 < # kar, n < # lpt, m2 < m, heap-order(kar, m), no-dups-idx(kar, m), m ≤ # kar, # lpt ≤ # lpt ⊦ lpf0 = LP_GROUP_NODES, m6 = m2
Used simplifier rules: ⊦ m ≤ n ↔ ¬ n < m; (ss)% ⊦ ¬ n < n; (s) Used terms: # lpt, nx, lpt, n, natkey