| wlar[m].status = free, ¬ boolvar ↔ free-ecs(wlar, m) = ∅, boolvar0 ↔ false, m = m0, m1 = 0, m < # wlar, m ≤ # wlar, wlar[m].status = free → boolvar → m < # wlar, boolvar → n = free-ecs(wlar, m).min, ¬ boolvar ∨ wlar[m].ec < n ⊦ ⟪m1 := m + 1⟫ ((m1 ≤ # wlar ∧ (true → wlar[m].ec = free-ecs(wlar, m1).min) ∧ (¬ true ↔ free-ecs(wlar, m1) = ∅)) ∧ # wlar - m1 < # wlar - m0) |
wlar[m].status = free, boolvar0 ↔ false, ¬ boolvar ↔ free-ecs(wlar, m) = ∅, m = m0, m1 = 0, m < # wlar, m ≤ # wlar, boolvar → n = free-ecs(wlar, m).min, wlar[m].status = free → boolvar → m < # wlar, ¬ boolvar ∨ wlar[m].ec < n ⊦ (m + 1 ≤ # wlar ∧ (true → wlar[m].ec = free-ecs(wlar, m + 1).min) ∧ (¬ true ↔ free-ecs(wlar, m + 1) = ∅)) ∧ # wlar - m + 1 < # wlar - m0