| # lpt1 = n1 + m2, lpt1[m2] = mklp(m, m0, LP_GROUP_NODES, m1), gc-heap(lpt2, log, m2) = keyset(bin-heap(kar, m3)), bin-heap-inv(bin-heap(kar, m3), lpt1), id-idx(lpt2, lpt1), key-index(natkey, m2) ∈ gc-heap(lpt2, log, m2) ⊦ # gc-heap(lpt2, log, m2) = 0, gc-heap(lpt2, log, m2) = ∅, m3 = 0, n1 = 0, m2 ∈ log, m2 ≤ # lpt2 |
# lpt1 = n1 + m2, lpt1[m2] = mklp(m, m0, LP_GROUP_NODES, m1), gc-heap(lpt2, log, m2) = keyset(bin-heap(kar, m3)), # lpt2 < m2, bin-heap-inv(bin-heap(kar, m3), lpt1), id-idx(lpt2, lpt1), key-index(natkey, m2) ∈ gc-heap(lpt2, log, m2) ⊦ # gc-heap(lpt2, log, m2) = 0, gc-heap(lpt2, log, m2) = ∅, m3 = 0, n1 = 0, m2 ∈ log
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≤ n ↔ ¬ n < m; (ss)