| ∀ n1. n1 ∈ st → # st[n1].list = # st[n1].ladrlist ∧ inv-flashsize(st[n1].list, st[n1].ladrlist) ∧ ¬ dups(st[n1].ladrlist) ⊦ n ∈ st, dom st ⊆ dom st[n, mkblock(x, lax, n0)] ∧ (∀ n1. n1 ∈ st ∧ n1 ∈ st[n, mkblock(x, lax, n0)] → st[n1].list ⊑ st[n, mkblock(x, lax, n0)][n1].list ∧ st[n1].ladrlist ⊑ st[n, mkblock(x, lax, n0)][n1].ladrlist ∧ # st[n1].list = # st[n1].ladrlist ∧ # st[n, mkblock(x, lax, n0)][n1].list = # st[n, mkblock(x, lax, n0)][n1].ladrlist) |
n1 ∈ st, n1 ∈ st[n, mkblock(x, lax, n0)], ∀ n1. n1 ∈ st → # st[n1].list = # st[n1].ladrlist ∧ inv-flashsize(st[n1].list, st[n1].ladrlist) ∧ ¬ dups(st[n1].ladrlist) ⊦ # st[n1].list = # st[n1].ladrlist, n ∈ st
Used simplifier rules: ⊦ lax ⊑ lax; (s)% ⊦ x ⊑ x; (s)% ⊦ n ∈ st ∧ ¬ n0 ∈ st → st[n0, ablock][n] = st[n]; (s)% ⊦ ns ⊆ ns ++ n; (s)% ⊦ dom st[n, ablock] = dom st ++ n; (s)