| st[n] = mkblock(x, lax, m), n ∈ st, st0 ⊑ st ⊦ st0 ⊑ st[n, mkblock(x, lax, n0)] |
st[n] = mkblock(x, lax, m), n ∈ 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 ⊦ st0 ⊑ st[n, mkblock(x, lax, n0)]
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);