| # x1 = # lax1, # x = # lax, st[n] = mkblock(x, lax, m0), n ∈ st ⊦ m1 ∈ st[n, mkblock(x + x1, lax + lax1, m)] ∧ @(m2, m3) ∈ st[n, mkblock(x + x1, lax + lax1, m)][m1].ladrlist ↔ @(m1, m2, m3) ∈ st ∨ @(m1, m2, m3) ∈ lax1.to-adr(n) |
⊦ adr ∈ st ↔ adr.lnum ∈ st ∧ @(adr.pos, adr.size) ∈ st[adr.lnum].ladrlist
# x = # lax, # x1 = # lax1, st[n] = mkblock(x, lax, m0), n ∈ st ⊦ m1 ∈ st[n, mkblock(x + x1, lax + lax1, m)] ∧ @(m2, m3) ∈ st[n, mkblock(x + x1, lax + lax1, m)][m1].ladrlist ↔ @(m1, m2, m3).lnum ∈ st ∧ @(@(m1, m2, m3).pos, @(m1, m2, m3).size) ∈ st[@(m1, m2, m3).lnum].ladrlist ∨ @(m1, m2, m3) ∈ lax1.to-adr(n)
Used terms: st, @(m1, m2, m3)