| m0 < n, ∀ n, n0, n1, n2, nx. m0 ≤ n → # gc-heap(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2)), nx, m0) = 0 ∨ gc-heap(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2)), nx, m0) = ∅ ⊦ # gc-heap(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2)), nx, m0 + 1) = 0, gc-heap(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2)), nx, m0 + 1) = ∅ |
⊦ n < # lpt → gc-heap(lpt, nx, n + 1) = gc-heap(lpt, nx, n) ∪ (¬ n ∈ nx ∧ lpt[n].flags = LP_GROUP_NODES ⊃ {key-index(lpt[n].ref-size, n)} ;∅)
m0 < n, m0 < # fill(mklparray(n), mklp(n0, n1, LP_FREE, n2)), ∀ n, n0, n1, n2, nx. m0 ≤ n → # gc-heap(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2)), nx, m0) = 0 ∨ gc-heap(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2)), nx, m0) = ∅ ⊦ # ( gc-heap(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2)), nx, m0) ∪ (¬ m0 ∈ nx ∧ fill(mklparray(n), mklp(n0, n1, LP_FREE, n2))[m0].flags = LP_GROUP_NODES ⊃ {key-index(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2))[m0].ref-size, m0)} ;∅ )) = 0, gc-heap(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2)), nx, m0) ∪ (¬ m0 ∈ nx ∧ fill(mklparray(n), mklp(n0, n1, LP_FREE, n2))[m0].flags = LP_GROUP_NODES ⊃ {key-index(fill(mklparray(n), mklp(n0, n1, LP_FREE, n2))[m0].ref-size, m0)} ;∅ ) = ∅
Used simplifier rules: ⊦ # fill(lpt, lp) = # lpt; (s)% ⊦ # mklparray(n) = n; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m < n → (n ≤ m ↔ false); (s) Used terms: m0, nx, fill(mklparray(n), mklp(n0, n1, LP_FREE, n2))