| # gndx1 = # lax1, gstore[n] = groupblock(gndx0 + gnd ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0), inv(groupblock(gndx0 + gnd ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0)), ri-cons(ri, nodes(gstore ↓, ginval)), @(n, n0, n1) ∈ ri ⊦ gnd.nd.key ∈ ri ∧ ri[gnd.nd.key] = @(n, n0, n1) |
# gndx1 = # lax1, gstore[n] = groupblock(gndx0 + gnd ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0), gnd = mkgnode(nd, m, boolvar, boolvar0), inv(groupblock(gndx0 + gnd ' + gndx1, lax0 + @(n0, n1) ' + lax1, m0)), ri-cons(ri, nodes(gstore ↓, ginval)), @(n, n0, n1) ∈ ri ⊦ nd.key ∈ ri ∧ ri[nd.key] = @(n, n0, n1)
Used simplifier rules: ⊦ ((nd = gnd.nd ∧ m = gnd.sqnum) ∧ (boolvar ↔ gnd.start)) ∧ (boolvar0 ↔ gnd.end) ↔ gnd = mkgnode(nd, m, boolvar, boolvar0); (elim) Used terms: gnd, nd, m, boolvar0, boolvar1