| ⊦ ⟪persistence_create_freelist#(lpt; freelist)⟫ freelist-cons(lpt, freelist) |
⊦ ⟪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)
Used simplifier rules: create-freelist: ⊦ ;