| adr = @(n, m, m0) ⊦ n ∈ st, (adr ∈ st[n, mkblock(a ', @(m, m0) ', m1)] ↔ adr ∈ nodes(st)[@(n, m, m0), a]) ∧ (adr ∈ st[n, mkblock(a ', @(m, m0) ', m1)] → st[n, mkblock(a ', @(m, m0) ', m1)][adr] = nodes(st)[@(n, m, m0), a][adr]) |
⊦ st[n, mkblock(a ', @(m, m0) ', m1)][@(n, m, m0)] = a, n ∈ st
Used simplifier rules: ⊦ ast[adr, a0][adr] = a0; (s)% ⊦ adr ∈ ast[adr, a0]; (s)% ⊦ ladr ∈ ladr0 ' ↔ ladr = ladr0; (s)% ⊦ mkblock(x, lax, m).ladrlist = lax; (s)% ⊦ @(n, n0, n1) ∈ st[n, ablock] ↔ @(n0, n1) ∈ ablock.ladrlist; (s)