| st[m] = mkblock(x, lax, 0), inv(st), @(m, m0, m1) ∈ st, @(m, m0, m1) ∈ as, m ∈ st, as ⊆ dom nodes(st), ∀ adr. adr ∈ as | m → adr.size = 0 ⊦ # as = 0, as = ∅, dom nodes(st) ⊆ dom nodes(remove-refsize0(st)) |
st[m] = mkblock(x, lax, 0), inv(st), m ∈ st, @(m, m0, m1) ∈ as, @(m, m0, m1) ∈ st, as ⊆ dom nodes(st), @(m, m0, m1) ∈ as | m → @(m, m0, m1).size = 0 ⊦ # as = 0, as = ∅, dom nodes(st) ⊆ dom nodes(remove-refsize0(st))
Used terms: @(m, m0, m1)