| st[n] = mkblock(x, lax, m0), n ∈ st ⊦ ∀ adr. (adr ∈ nodes(st[n, mkblock(x, lax, m1)]) ↔ adr ∈ nodes(st)) ∧ (adr ∈ nodes(st[n, mkblock(x, lax, m1)]) → nodes(st[n, mkblock(x, lax, m1)])[adr] = nodes(st)[adr]) |
st[n] = mkblock(x, lax, m0), n ∈ st, adr ∈ st ⊦ nodes(st[n, mkblock(x, lax, m1)])[adr] = st[adr]
Used simplifier rules: in-nodes: ⊦ adr ∈ nodes(st) ↔ adr ∈ st;%at-nodes: ⊦ adr ∈ st → nodes(st)[adr] = st[adr];%st[n].list = x, st[n].ladrlist = lax ⊦ n ∈ st → (adr ∈ st[n, mkblock(x, lax, m)] ↔ adr ∈ st); (s)% ⊦ mkblock(x, lax, m).ladrlist = lax; (s)% ⊦ mkblock(x, lax, m).list = x; (s)