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