| # gndx1 = # lax1, # gndx = # lax, gstore[n] = groupblock(gndx, lax, m0), gndx0[pos(@(m1, m2), lax0)] = mkgnode(nd, m5, boolvar, boolvar0), gstore[m] ↓ = groupblock(gndx0, lax0, m3), @(m1, m2) ∈ lax0, n ∈ gstore, m ∈ gstore ⊦ m = n, nd = gstore ↓[@(m, m1, m2)].nd, m ∈ ginval |
# gndx = # lax, # gndx1 = # lax1, gndx0[pos(@(m1, m2), lax0)] = mkgnode(nd, m5, boolvar, boolvar0), gstore[n] = groupblock(gndx, lax, m0), gstore ↓[@(m, m1, m2)] = mkgnode(nd0, m4, boolvar1, boolvar2), gstore[m] ↓ = groupblock(gndx0, lax0, m3), m ∈ gstore, n ∈ gstore, @(m1, m2) ∈ lax0 ⊦ m = n, nd = nd0, m ∈ ginval
Used simplifier rules: ⊦ ((nd = gnd.nd ∧ m = gnd.sqnum) ∧ (boolvar ↔ gnd.start)) ∧ (boolvar0 ↔ gnd.end) ↔ gnd = mkgnode(nd, m, boolvar, boolvar0); (elim) Used terms: gstore ↓[@(m, m1, m2)], nd0, m4, boolvar1, boolvar2