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