| wlar[n0] = wl-entry(m0, stat), n0 < # wlar, ∀ wlar, m. n0 ≤ # wlar → (m ∈ ecs(wlar, n0) ↔ (∃ n1. n1 < n0 ∧ wlar[n1].ec = m)), ∃ n. ¬ n0 < n ∧ wlar[n].ec = m ⊦ m ∈ ecs(wlar, n0) ++ m0 |
wlar[n0] = wl-entry(m0, stat), n0 < # wlar, n < # wlar, n ≤ n0, ∀ wlar, m. n0 ≤ # wlar → (m ∈ ecs(wlar, n0) ↔ (∃ n1. n1 < n0 ∧ wlar[n1].ec = m)) ⊦ wlar[n].ec = m0, wlar[n].ec ∈ ecs(wlar, n0)
Used simplifier rules: fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ n ∈ bag0 ++ n0 ↔ n ∈ bag0 ∨ n = n0; (ws)