| ∃ m. m < # wlar ∧ wlar[m].ec < n ∧ wlar[m].status = free ⊦ ⟪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].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)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic