| gstore0[nx.last] = groupblock(gndx, lax, m), gstore1[nx.last] = groupblock(gndx0, lax0, m0), gstore0 =○refsize gstore1, nx.last ∈ gstore0, gndx = [] ∨ gndx.last.end ⊦ nx = [], nx.last ∈ ginval, nx.last ∈ gstore1 ∧ (gndx0 = [] ∨ gndx0.last.end) |
gndx.last = mkgnode(nd, m1, boolvar, boolvar0), gstore1[nx.last] = groupblock(gndx0, lax0, m0), gstore0[nx.last] = groupblock(gndx, lax, m), gstore0 =○refsize gstore1, nx.last ∈ gstore0, gndx = [] ∨ boolvar0 ⊦ nx = [], nx.last ∈ ginval, nx.last ∈ gstore1 ∧ (gndx0 = [] ∨ gndx0.last.end)
Used simplifier rules: ⊦ ((nd = gnd.nd ∧ m = gnd.sqnum) ∧ (boolvar ↔ gnd.start)) ∧ (boolvar0 ↔ gnd.end) ↔ gnd = mkgnode(nd, m, boolvar, boolvar0); (elim) Used terms: gndx.last, nd, m1, boolvar, boolvar0