| ⊦ ⟪freelist := []; let n = 0 in while n < # lpt do {/* (prepost-create-freelist: invariant n ≤ # lpt ∧ freelist-cons(subarray(lpt, 0, n), freelist) wfbound # lpt - n) */; if lpt[n].flags = LP_FREE then freelist := freelist + n; n := n + 1}⟫ freelist-cons(lpt, freelist) |
⊦ ⟪let n = 0 in {freelist := []; while n < # lpt do {/* (prepost-create-freelist: invariant n ≤ # lpt ∧ freelist-cons(subarray(lpt, 0, n), freelist) wfbound # lpt - n) */; if lpt[n].flags = LP_FREE then freelist := freelist + n; n := n + 1}}⟫ freelist-cons(lpt, freelist)