| st[m] = mkblock(x, lax, m2), m ∈ st, @(m0, m1) ∈ lax ⊦ st[n, ablock][@(m, m0, m1)] = x[pos(@(m0, m1), lax)], n ∈ st, @(m, m0, m1) ∈ st[n, ablock] |
⊦ adr ∈ st ↔ adr.lnum ∈ st ∧ @(adr.pos, adr.size) ∈ st[adr.lnum].ladrlist
Used simplifier rules: ⊦ @(m, m0, m1).lnum = m; (s)% ⊦ @(m, m0, m1).pos = m0; (s)% ⊦ @(m, m0, m1).size = m1; (s)% ⊦ n ∈ st ∧ ¬ n0 ∈ st → st[n0, ablock][n] = st[n]; (s)% ⊦ mkblock(x, lax, m).ladrlist = lax; (s)% ⊦ n ∈ st[n0, ablock] ↔ n = n0 ∨ n ∈ st; (ws) Used terms: st[n, ablock], @(m, m0, m1)