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