| gndx0[pos(@(m0, m1), lax0)] = mkgnode(nd, m2, boolvar, boolvar0), gndx[pos(@(m0, m1), lax)] = mkgnode(nd0, m3, boolvar1, boolvar2), gstore0[m] = groupblock(gndx, lax, m4), gstore1[m] = groupblock(gndx0, lax0, m5), gstore1 =○refsize gstore0, @(m, m0, m1) ∈ gstore0, @(m, m0, m1) ∈ gstore1 ⊦ nd = nd0, m ∈ ginval |
⊦ gstore =○refsize gstore0 ↔ (∀ n. (n ∈ gstore ↔ n ∈ gstore0) ∧ gstore[n].gndlist = gstore0[n].gndlist ∧ gstore[n].ladrlist = gstore0[n].ladrlist)
gstore1[m] = groupblock(gndx0, lax0, m5), gstore0[m] = groupblock(gndx, lax, m4), gndx[pos(@(m0, m1), lax)] = mkgnode(nd0, m3, boolvar1, boolvar2), gndx0[pos(@(m0, m1), lax0)] = mkgnode(nd, m2, boolvar, boolvar0), @(m, m0, m1) ∈ gstore1, @(m, m0, m1) ∈ gstore0, ∀ n. (n ∈ gstore1 ↔ n ∈ gstore0) ∧ gstore1[n].gndlist = gstore0[n].gndlist ∧ gstore1[n].ladrlist = gstore0[n].ladrlist ⊦ nd = nd0, m ∈ ginval
Used terms: gstore0, gstore1