| dom st0 ⊆ dom st, ∀ n. n ∈ st0 ∧ n ∈ st → st0[n].list ⊑ st[n].list ∧ st0[n].ladrlist ⊑ st[n].ladrlist ∧ # st0[n].list = # st0[n].ladrlist ∧ # st[n].list = # st[n].ladrlist ⊦ n ∈ st, dom st0 ⊆ dom st[n, ablock] ∧ (∀ n0. n0 ∈ st0 ∧ n0 ∈ st[n, ablock] → st0[n0].list ⊑ st[n, ablock][n0].list ∧ st0[n0].ladrlist ⊑ st[n, ablock][n0].ladrlist ∧ # st0[n0].list = # st0[n0].ladrlist ∧ # st[n, ablock][n0].list = # st[n, ablock][n0].ladrlist) |
n0 ∈ st0, n0 ∈ st[n, ablock], dom st0 ⊆ dom st, ∀ n. n ∈ st0 ∧ n ∈ st → st0[n].list ⊑ st[n].list ∧ st0[n].ladrlist ⊑ st[n].ladrlist ∧ # st0[n].list = # st0[n].ladrlist ∧ # st[n].list = # st[n].ladrlist ⊦ n ∈ st, st0[n0].list ⊑ st[n, ablock][n0].list ∧ st0[n0].ladrlist ⊑ st[n, ablock][n0].ladrlist ∧ # st0[n0].list = # st0[n0].ladrlist ∧ # st[n, ablock][n0].list = # st[n, ablock][n0].ladrlist
Used simplifier rules: ⊦ ns ⊆ ns0 → ns ⊆ ns0 ++ n; (s)% ⊦ dom st[n, ablock] = dom st ++ n; (s)