| ⊦ ⟪let m = 0 in {boolvar := false; while m < # wlar do {/* (prepost-wl-get-free-min : invariant m ≤ # wlar ∧ (boolvar → n = free-ecs(wlar, m).min) ∧ (¬ boolvar ↔ free-ecs(wlar, m) = ∅) wfbound # wlar - m) */; if wlar[m].status = free ∧ (¬ boolvar ∨ wlar[m].ec < n) then {boolvar := true; n := wlar[m].ec}; m := m + 1}}⟫ ((boolvar → n = free-ecs(wlar).min) ∧ (¬ boolvar ↔ free-ecs(wlar) = ∅)) |
m = 0 ⊦ ⟪boolvar := false; while m < # wlar do {/* (prepost-wl-get-free-min : invariant m ≤ # wlar ∧ (boolvar → n = free-ecs(wlar, m).min) ∧ (¬ boolvar ↔ free-ecs(wlar, m) = ∅) wfbound # wlar - m) */; if wlar[m].status = free ∧ (¬ boolvar ∨ wlar[m].ec < n) then {boolvar := true; n := wlar[m].ec}; m := m + 1}⟫ ((boolvar → n = free-ecs(wlar).min) ∧ (¬ boolvar ↔ free-ecs(wlar) = ∅))