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