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