| 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 |
wlar[m, wl-entry(m0, stat)][n] = wl-entry(m2, stat1), wlar[n] = wl-entry(m1, stat0), n ∈ bflipset → n < # wlar ∧ stat1 = used, ∀ n. n ∈ bflipset → n < # wlar ∧ wlar[m, wl-entry(m0, stat)][n].status = used ⊦ n = m, stat = used, (n ∈ bflipset → n < # wlar ∧ stat0 = used) ∧ ¬ m ∈ bflipset
Used simplifier rules: ⊦ m < # wlar → wlar[m, wle][m] = wle; (s)% ⊦ wl-entry(m, stat) = wl-entry(m0, stat0) ↔ m = m0 ∧ stat = stat0; (ws) Used formulas: n = m