| lpt-leb-size(lpt) ⊦ lpt-leb-size(cleanup-lpt(lpt)) |
LEB_SIZE < lpt.map(λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx);lp))[n].size, n < # lpt, ∀ n. n < # lpt → lpt[n].size ≤ LEB_SIZE ⊦
Used simplifier rules: lpt-leb-size: ⊦ lpt-leb-size(lpt) ↔ (∀ n. n < # lpt → lpt[n].size ≤ LEB_SIZE);%cleanup-lpt: ⊦ cleanup-lpt(lpt) = lpt .map (λ lp. (lp.ref-size = 0 ∧ lp.flags ≠ LP_FREE ⊃ mklp(0, 0, LP_FREE, lp.gcheapidx) ;lp ) );% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≤ n ↔ ¬ n < m; (ss)% ⊦ # lpt.map(lptfun) = # lpt; (s)