| st[n] = mkblock(x, lax, m3), @(m1, m2) ∈ st[m0].ladrlist, m0 ∈ st, n ∈ st ⊦ st[n, mkblock(x, lax, m)][@(m0, m1, m2)] = st[m0].list[pos(@(m1, m2), st[m0].ladrlist)] |
st[n] = mkblock(x, lax, m3), st[m0] = mkblock(x0, lax0, m4), n ∈ st, m0 ∈ st, @(m1, m2) ∈ lax0 ⊦ st[n, mkblock(x, lax, m)][@(m0, m1, m2)] = x0[pos(@(m1, m2), lax0)]
Used simplifier rules: ⊦ (x = ablock.list ∧ lax = ablock.ladrlist) ∧ m = ablock.ref-size ↔ ablock = mkblock(x, lax, m); (elim) Used terms: st[m0], x0, lax0, m4