| dom st0 \ ns ⊆ dom st \ ns, ∀ n. n ∈ st0 \ ns ∧ n ∈ st \ ns → (st0 \ ns)[n].list ⊑ (st \ ns)[n].list ∧ (st0 \ ns)[n].ladrlist ⊑ (st \ ns)[n].ladrlist ∧ # (st0 \ ns)[n].list = # (st0 \ ns)[n].ladrlist ∧ # (st \ ns)[n].list = # (st \ ns)[n].ladrlist ⊦ n ∈ st, st0 \ (ns ++ n) ⊑ st[n, ablock] \ (ns -- n) |
⊦ st0 ⊑ st ↔ 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)
dom st0 \ ns ⊆ dom st \ ns, ∀ n. n ∈ st0 \ ns ∧ n ∈ st \ ns → (st0 \ ns)[n].list ⊑ (st \ ns)[n].list ∧ (st0 \ ns)[n].ladrlist ⊑ (st \ ns)[n].ladrlist ∧ # (st0 \ ns)[n].list = # (st0 \ ns)[n].ladrlist ∧ # (st \ ns)[n].list = # (st \ ns)[n].ladrlist ⊦ n ∈ st, dom(st0 \ (ns ++ n)) ⊆ dom(st[n, ablock] \ (ns -- n)) ∧ (∀ n0. n0 ∈ st0 \ (ns ++ n) ∧ n0 ∈ st[n, ablock] \ (ns -- n) → (st0 \ (ns ++ n))[n0].list ⊑ (st[n, ablock] \ (ns -- n))[n0].list ∧ (st0 \ (ns ++ n))[n0].ladrlist ⊑ (st[n, ablock] \ (ns -- n))[n0].ladrlist ∧ # (st0 \ (ns ++ n))[n0].list = # (st0 \ (ns ++ n))[n0].ladrlist ∧ # (st[n, ablock] \ (ns -- n))[n0].list = # (st[n, ablock] \ (ns -- n))[n0].ladrlist)
Used terms: st[n, ablock] \ (ns -- n), st0 \ (ns ++ n)