| ubi_wl_get_free_min#(WLARRAY; N; FOUND) {FOUND := false; let M = 0 in while M < # WLARRAY do {/* (prepost-wl-get-free-min : invariant M ≤ # WLARRAY ∧ (FOUND → N = free-ecs(WLARRAY, M).min) ∧ (¬ FOUND ↔ free-ecs(WLARRAY, M) = ∅) wfbound # WLARRAY - M) */; if WLARRAY[M].status = free ∧ (¬ FOUND ∨ WLARRAY[M].ec < N) then {FOUND := true; N := WLARRAY[M].ec}; M := M + 1} } |