| freelist-cons(lpt, freelist) ⊦ freelist-cons(remove-wbufs(ns, lpt), freelist) |
∀ n. n < # lpt ∧ lpt[n].flags = LP_FREE ↔ n ∈ freelist ⊦ n < # lpt ∧ lpt.mapIndices(ns, λ lp. lp.size:= LEB_SIZE)[n].flags = LP_FREE ↔ n ∈ freelist, dups(freelist)
Used simplifier rules: freelist-cons: ⊦ freelist-cons(lpt, freelist) ↔ ¬ dups(freelist) ∧ (∀ n. n < # lpt ∧ lpt[n].flags = LP_FREE ↔ n ∈ freelist);%remove-wbufs: ⊦ remove-wbufs(ns, lpt) = lpt.mapIndices(ns, λ lp. lp.size:= LEB_SIZE);% ⊦ # lpt.mapIndices(ns, lptfun) = # lpt; (s)