| m ∈ gstore0 ↔ m ∈ gstore1, gstore1[m] = groupblock(gndx, lax, m2), gstore0[m] = groupblock(gndx0, lax0, m3), m ∈ gstore1 → gndx = gndx0 ∧ lax = lax0 ⊦ ( ¬ m ∈ ginval → (m ∈ gstore1 ∧ @(m0, m1) ∈ lax0 ↔ @(m, m0, m1).lnum ∈ gstore1 ∧ @(@(m, m0, m1).pos, @(m, m0, m1).size) ∈ gstore1[@(m, m0, m1).lnum].ladrlist)) ∧ (m ∈ gstore1 ∧ @(m0, m1) ∈ lax0 ∧ ¬ m ∈ ginval → nodes(gstore0, ginval)[@(m, m0, m1)] = nodes(gstore1, ginval)[@(m, m0, m1)]) |
m ∈ gstore0 ↔ m ∈ gstore1, gstore1[m] = groupblock(gndx, lax, m2), gstore0[m] = groupblock(gndx0, lax0, m3), m ∈ gstore1 → gndx = gndx0 ∧ lax = lax0 ⊦ (¬ m ∈ ginval → m ∈ gstore1 → (@(m0, m1) ∈ lax0 ↔ @(m0, m1) ∈ lax)) ∧ (m ∈ gstore1 ∧ @(m0, m1) ∈ lax0 ∧ ¬ m ∈ ginval → nodes(gstore0, ginval)[@(m, m0, m1)] = nodes(gstore1, ginval)[@(m, m0, m1)])
Used simplifier rules: ⊦ groupblock(gndx, lax, m).ladrlist = lax; (s)% ⊦ @(m, m0, m1).size = m1; (s)% ⊦ @(m, m0, m1).pos = m0; (s)% ⊦ @(m, m0, m1).lnum = m; (s)