| st0 ⊑ st1, st1 ⊑ st2 ⊦ st0 ⊑ st2 |
n ∈ st0, n ∈ st2, dom st0 ⊆ dom st2, dom st0 ⊆ dom st1, dom st1 ⊆ dom st2, ∀ n. n ∈ st0 ∧ n ∈ st1 → st0[n].list ⊑ st1[n].list ∧ st0[n].ladrlist ⊑ st1[n].ladrlist ∧ # st0[n].list = # st0[n].ladrlist ∧ # st1[n].list = # st1[n].ladrlist, ∀ n. n ∈ st1 ∧ n ∈ st2 → st1[n].list ⊑ st2[n].list ∧ st1[n].ladrlist ⊑ st2[n].ladrlist ∧ # st1[n].list = # st1[n].ladrlist ∧ # st2[n].list = # st2[n].ladrlist ⊦ st0[n].list ⊑ st2[n].list ∧ st0[n].ladrlist ⊑ st2[n].ladrlist ∧ # st0[n].list = # st0[n].ladrlist ∧ # st2[n].list = # st2[n].ladrlist
Used simplifier rules: blockstore-prefix: ⊦ 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);%sub-trans: ⊦ ns ⊆ ns0 ∧ ns0 ⊆ ns1 → ns ⊆ ns1; (forward) from specification set-basic[nat-set]