| ⊦ m ∈ gstore, (adr ∈ gstore[m, groupblock([], [], m0)] ∧ (adr.lnum = m ∨ ¬ adr.lnum ∈ ginval) → adr ∈ gstore ∧ ¬ adr.lnum ∈ ginval) ∧ ( adr ∈ gstore[m, groupblock([], [], m0)] ∧ (adr.lnum = m ∨ ¬ adr.lnum ∈ ginval) → nodes(gstore[m, groupblock([], [], m0)], ginval -- m)[adr] = nodes(gstore, ginval)[adr]) |
adr = @(m1, m2, m3) ⊦ m ∈ gstore, (adr ∈ gstore[m, groupblock([], [], m0)] ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → adr ∈ gstore ∧ ¬ m1 ∈ ginval) ∧ ( adr ∈ gstore[m, groupblock([], [], m0)] ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → nodes(gstore[m, groupblock([], [], m0)], ginval -- m)[adr] = nodes(gstore, ginval)[adr])
Used simplifier rules: ⊦ (m = adr.lnum ∧ m0 = adr.pos) ∧ m1 = adr.size ↔ adr = @(m, m0, m1); (elim) Used terms: adr, m3, m4, m5