| st[n] = mkblock(x, lax, m), refsize-cons(st, as), n ∈ st, as ⊆ dom nodes(st) ⊦ refsize-cons(st[n, mkblock(x + a ', lax + @(m0, m1) ', m + m1)], as ++ @(n, m0, m1)), @(m0, m1) ∈ lax |
st[n] = mkblock(x, lax, m), n ∈ st, n0 ∈ st[n, mkblock(x + a ', lax + @(m0, m1) ', m + m1)], as ⊆ dom nodes(st), ∀ n. n ∈ st → st[n].ref-size = (as | n).size ⊦ st[n, mkblock(x + a ', lax + @(m0, m1) ', m + m1)][n0].ref-size = ((as ++ @(n, m0, m1)) | n0).size, @(m0, m1) ∈ lax
Used simplifier rules: refsize-cons-def: ⊦ refsize-cons(st, as) ↔ (∀ n. n ∈ st → st[n].ref-size = (as | n).size);