| lpt[n] = mklp(n0, n1, LP_GROUP_NODES, n2), m ≤ # lpt ⊦ key-index(n3, n4) ∈ gc-heap(lpt, n ' + nx, m) ↔ key-index(n3, n4) ≠ key-index(n0, n) ∧ key-index(n3, n4) ∈ gc-heap(lpt, nx, m), n ∈ nx |
⊦ 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)
lpt[n] = mklp(n0, n1, LP_GROUP_NODES, n2), m ≤ # lpt ⊦ n4 < m ∧ ¬ n4 ∈ n ' + nx ∧ lpt[n4].ref-size = n3 ∧ lpt[n4].flags = LP_GROUP_NODES ↔ key-index(n3, n4) ≠ key-index(n0, n) ∧ key-index(n3, n4) ∈ gc-heap(lpt, nx, m), n ∈ nx
Used terms: m, n ' + nx, lpt, n4, n3