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