| m3 ∈ free-ecs(wlar, m) ↔ (∃ m1. m1 < m ∧ wlar[m1].status = free ∧ wlar[m1].ec = m3), wlar[m] = wl-entry(m2, stat), wlar[m0] = wl-entry(m3, free), stat = free, m0 < # wlar, m < # wlar, m0 ≤ m ⊦ m3 ∈ free-ecs(wlar, m) ++ m2 |
wlar[m0] = wl-entry(m3, free), wlar[m] = wl-entry(m2, free), m < # wlar, m0 < # wlar, m0 ≤ m ⊦ m3 = m2, m3 ∈ free-ecs(wlar, m), ∃ m1. m1 < m ∧ wlar[m1].status = free ∧ wlar[m1].ec = m3
Used simplifier rules: ⊦ n ∈ ns ++ n0 ↔ ¬(n ≠ n0 ∧ ¬ n ∈ ns); (ss)