| # gndx0 = # lax1, # lax = # gndx2, ri[nd.key] = @(m1, m2, m3), gstore2[m1] = groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m), inv(gstore2 \ ginval), inv(groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m)), ri-cons(ri, nodes(gstore2 ↓, ginval)), nd.key ∈ ri, m1 ∈ gstore2, @(m1, m2, m3) ∈ nodes(gstore2 ↓, ginval) ⊦ nd = gstore2 ↓[@(m1, m2, m3)].nd, m1 ∈ ginval |
# lax = # gndx2, # gndx0 = # lax1, gstore2[m1] = groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m), ri[nd.key] = @(m1, m2, m3), gstore2 ↓[@(m1, m2, m3)] = mkgnode(nd0, m4, boolvar1, boolvar2), inv(groupblock(gndx0 + mkgnode(nd, m0, boolvar, boolvar0) ' + gndx2, lax1 + @(m2, m3) ' + lax, m)), inv(gstore2 \ ginval), ri-cons(ri, nodes(gstore2 ↓, ginval)), @(m1, m2, m3) ∈ nodes(gstore2 ↓, ginval), m1 ∈ gstore2, nd.key ∈ ri ⊦ nd = nd0, m1 ∈ 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: gstore2 ↓[@(m1, m2, m3)], nd0, m4, boolvar1, boolvar2