| (∅)[m] = mkblock(x, lax, m2), st[m] = mkblock(x0, lax0, 0), inv(st), m ∈ st, @(m, m0, m1) ∈ as, @(m, m0, m1) ∈ st, @(m, m0, m1) ∈ as | m → @(m, m0, m1).size = 0 ⊦ # as = 0, as = ∅ |
(∅)[m] = mkblock(x, lax, m2), st[m] = mkblock(x0, lax0, 0), inv(st), m ∈ st, @(m, m0, 0) ∈ as, @(m, m0, 0) ∈ st ⊦ # as = 0, as = ∅
Used simplifier rules: restrict-in: ⊦ @(m, m0, m1) ∈ as | m ↔ @(m, m0, m1) ∈ as;% ⊦ @(m, m0, m1).size = m1; (s)