| wlar[n] = wl-entry(m1, stat0), n ∈ bflipset → n < # wlar ∧ wlar[m, wl-entry(m0, stat)][n].status = used, ∀ n. n ∈ bflipset → n < # wlar ∧ wlar[m, wl-entry(m0, stat)][n].status = used ⊦ stat = used, (n ∈ bflipset → n < # wlar ∧ stat0 = used) ∧ ¬ m ∈ bflipset |
wlar[n] = wl-entry(m1, stat0), wlar[m, wl-entry(m0, stat)][n] = wl-entry(m2, stat1), n ∈ bflipset → n < # wlar ∧ stat1 = used, ∀ n. n ∈ bflipset → n < # wlar ∧ wlar[m, wl-entry(m0, stat)][n].status = used ⊦ stat = used, (n ∈ bflipset → n < # wlar ∧ stat0 = used) ∧ ¬ m ∈ bflipset
Used simplifier rules: ⊦ m = wle.ec ∧ stat = wle.status ↔ wle = wl-entry(m, stat); (elim) Used terms: wlar[m, wl-entry(m0, stat)][n], m2, stat1