| gstore[m] = groupblock(gndx, lax, m2), m ∈ gstore, @(m0, m1) ∈ lax, @(m, m0, m1) ∈ gstore ⊦ gstore[@(m, m0, m1)].nd = nodes(gstore, ginval)[@(m, m0, m1)], m = n, @(m, m0, m1) ∈ dom nodes(gstore, ginval) | n, m ∈ ginval |
gstore[m] = groupblock(gndx, lax, m2), gstore[@(m, m0, m1)] = mkgnode(nd, m3, boolvar, boolvar0), @(m, m0, m1) ∈ gstore, @(m0, m1) ∈ lax, m ∈ gstore ⊦ m = n, nd = nodes(gstore, ginval)[@(m, m0, m1)], m ∈ ginval, @(m, m0, m1) ∈ dom nodes(gstore, ginval) | n
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, m0, m1)], nd, m5, boolvar0, boolvar1