| (∅)[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 = ∅ |
⊦ inv(st) ↔ (∀ n. n ∈ st → inv(st[n]))
st[m] = mkblock(x0, lax0, 0), (∅)[m] = mkblock(x, lax, m2), @(m, m0, 0) ∈ st, @(m, m0, 0) ∈ as, m ∈ st, ∀ n. n ∈ st → inv(st[n]) ⊦ # as = 0, as = ∅
Used terms: st