| inv(st), adr ∈ as, adr ∈ st, as ⊆ dom nodes(st), ∀ n. n ∈ st → st[n].ref-size = (as | n).size ⊦ # as = 0, as = ∅, adr ∈ remove-refsize0(st), dom nodes(st) ⊆ dom nodes(remove-refsize0(st)) |
adr = @(m, m0, m1), inv(st), adr ∈ st, adr ∈ as, as ⊆ dom nodes(st), ∀ n. n ∈ st → st[n].ref-size = (as | n).size ⊦ # as = 0, as = ∅, adr ∈ remove-refsize0(st), dom nodes(st) ⊆ dom nodes(remove-refsize0(st))
Used simplifier rules: address freely generated by @;;