| ⊦ m ∈ gstore, ( ( @(m1, m2, m3).lnum ∈ gstore[m, groupblock([], [], m0)] ∧ @(@(m1, m2, m3).pos, @(m1, m2, m3).size) ∈ gstore[m, groupblock([], [], m0)][@(m1, m2, m3).lnum].ladrlist) ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → @(m1, m2, m3) ∈ gstore ∧ ¬ m1 ∈ ginval) ∧ ( ( @(m1, m2, m3).lnum ∈ gstore[m, groupblock([], [], m0)] ∧ @(@(m1, m2, m3).pos, @(m1, m2, m3).size) ∈ gstore[m, groupblock([], [], m0)][@(m1, m2, m3).lnum].ladrlist) ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → nodes(gstore[m, groupblock([], [], m0)], ginval -- m)[@(m1, m2, m3)] = nodes(gstore, ginval)[@(m1, m2, m3)]) |
⊦ m ∈ gstore, ( m1 ∈ gstore[m, groupblock([], [], m0)] ∧ @(m2, m3) ∈ gstore[m, groupblock([], [], m0)][m1].ladrlist ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → @(m1, m2, m3) ∈ gstore ∧ ¬ m1 ∈ ginval) ∧ ( m1 ∈ gstore[m, groupblock([], [], m0)] ∧ @(m2, m3) ∈ gstore[m, groupblock([], [], m0)][m1].ladrlist ∧ (m1 = m ∨ ¬ m1 ∈ ginval) → nodes(gstore[m, groupblock([], [], m0)], ginval -- m)[@(m1, m2, m3)] = nodes(gstore, ginval)[@(m1, m2, m3)])
Used simplifier rules: ⊦ @(m, m0, m1).size = m1; (s)% ⊦ @(m, m0, m1).pos = m0; (s)% ⊦ @(m, m0, m1).lnum = m; (s)