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