| # lax = # gndx1 + # gndx, gstore2[n] = groupblock(gndx1 + gndx, lax, m), prefixn(# gndx1, lax) = [], valid-group-nodes(gndx1) = valid-group-nodes(gndx1 + gndx), inv(gstore2 \ ginval), inv(groupblock(gndx1 + gndx, lax, m)), n ∈ gstore2 ⊦ gndx1 = [], gndx1.last.end, n ∈ ginval |
# lax = # gndx1 + # gndx, gndx1.last = mkgnode(nd, m0, boolvar, boolvar0), gstore2[n] = groupblock(gndx1 + gndx, lax, m), ¬ boolvar0, prefixn(# gndx1, lax) = [], valid-group-nodes(gndx1) = valid-group-nodes(gndx1 + gndx), inv(groupblock(gndx1 + gndx, lax, m)), inv(gstore2 \ ginval), n ∈ gstore2 ⊦ gndx1 = [], n ∈ 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: gndx1.last, nd, m0, boolvar, boolvar0