| # gndx = # lax, # gndx1 = # lax1, prefixn(valid-group-nodes(gndx), gndx)[pos(@(m1, m2), lax)] = mkgnode(nd, m5, boolvar, boolvar0), gstore[n] = groupblock(gndx, lax, m0), n ∈ gstore, @(m1, m2) ∈ prefixn(valid-group-nodes(gndx), lax), @(m1, m2) ∈ lax ⊦ nd = gstore ↓[n, groupblock(gndx + gndx1, lax + lax1, m0)][@(n, m1, m2)].nd, n ∈ ginval |
# gndx1 = # lax1, # gndx = # lax, gstore[n] = groupblock(gndx, lax, m0), prefixn(valid-group-nodes(gndx), gndx)[pos(@(m1, m2), lax)] = mkgnode(nd, m5, boolvar, boolvar0), gstore ↓[n, groupblock(gndx + gndx1, lax + lax1, m0)][@(n, m1, m2)] = mkgnode(nd0, m, boolvar1, boolvar2), @(m1, m2) ∈ lax, @(m1, m2) ∈ prefixn(valid-group-nodes(gndx), lax), n ∈ gstore ⊦ nd = nd0, n ∈ 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 ↓[n, groupblock(gndx + gndx1, lax + lax1, m0)][@(n, m1, m2)], nd0, m, boolvar1, boolvar2