| # ax = # ndx, gstore[@(m0, m1, m2)].nd = ndx[n0], gstore[n, groupblock(gndx, lax, m)][@(m0, m1, m2)] = mkgnode(nd, m4, boolvar, boolvar0), ax[n0] = @(m0, m1, m2), gstore[n] = groupblock(gndx, lax, m3), n0 < # ndx, @(m0, m1, m2) ∈ gstore ⊦ ndx = [], m0 ∈ ginval, @(m0, m1, m2) ∈ gstore[n, groupblock(gndx, lax, m)] ∧ nd = ndx[n0] |
# ax = # ndx, gstore[n] = groupblock(gndx, lax, m3), ax[n0] = @(m0, m1, m2), gstore[n, groupblock(gndx, lax, m)][@(m0, m1, m2)] = mkgnode(nd, m4, boolvar, boolvar0), gstore[@(m0, m1, m2)] = mkgnode(nd0, m5, boolvar1, boolvar2), nd0 = ndx[n0], n0 < # ndx, @(m0, m1, m2) ∈ gstore ⊦ ndx = [], m0 ∈ ginval, @(m0, m1, m2) ∈ gstore[n, groupblock(gndx, lax, m)] ∧ nd = ndx[n0]
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[@(m0, m1, m2)], nd0, m5, boolvar1, boolvar2