| m < n, n ≤ # lpt ⊦ cleanup-lpt(lpt, n)[m] = (lpt[m].ref-size = 0 ∧ lpt[m].flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lpt[m].gcheapidx);lpt[m]) |
m < n, m < # lpt, n ≤ # lpt ⊦ cleanup-lpt(lpt, n)[m] = (lpt[m].ref-size = 0 ∧ lpt[m].flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lpt[m].gcheapidx);lpt[m])
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic