| n ∈ st, m0 ∈ st, @(m1, m2) ∈ st[m0].ladrlist ⊦ st[n, mkblock(st[n].list, st[n].ladrlist, m)][@(m0, m1, m2)] = st[m0].list[pos(@(m1, m2), st[m0].ladrlist)] |
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)]
Used simplifier rules: ⊦ (x = ablock.list ∧ lax = ablock.ladrlist) ∧ m = ablock.ref-size ↔ ablock = mkblock(x, lax, m); (elim) Used terms: st[n], x, lax, m5, m6, m7, boolvar0