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