| wlar[m0].status = free, wlar[m0].ec < n, m0 < # wlar ⊦ ⟪ubi_wl_find_free_max_below#(n, wlar; m)⟫ (m < # wlar ∧ wlar[m].status = free ∧ wlar[m].ec = below(free-ecs(wlar), n).max) |
wlar[m0] = wl-entry(m1, stat), stat = free, m0 < # wlar, m1 < n ⊦ ⟪ubi_wl_find_free_max_below#(n, wlar; m)⟫ (m < # wlar ∧ wlar[m].status = free ∧ wlar[m].ec = below(free-ecs(wlar), n).max)
Used simplifier rules: ⊦ m = wle.ec ∧ stat = wle.status ↔ wle = wl-entry(m, stat); (elim) Used terms: wlar[m0], m1, stat