| # lax = (# gndx0 + 1) + # gndx, gstore2[n] = groupblock((gndx0 + mkgnode(nd, m1, boolvar, false) ') + gndx, lax, m), valid-group-nodes(gndx0) = valid-group-nodes((gndx0 + mkgnode(nd, m1, boolvar, false) ') + gndx), inv(gstore2 \ ginval), inv(groupblock((gndx0 + mkgnode(nd, m1, boolvar, false) ') + gndx, lax, m)), n ∈ gstore2 ⊦ ax0 + prefixn(# gndx0 + 1, lax).to-adr(n) = [], (ax0 + prefixn(# gndx0 + 1, lax).to-adr(n)).butlast = ax0 + prefixn(# gndx0, lax).to-adr(n), n ∈ ginval |
⊦ ax ≠ [] → (ax0 + ax).butlast = ax0 + ax.butlast
# lax = (# gndx0 + 1) + # gndx, prefixn(# gndx0 + 1, lax).to-adr(n) = [], gstore2[n] = groupblock((gndx0 + mkgnode(nd, m1, boolvar, false) ') + gndx, lax, m), valid-group-nodes(gndx0) = valid-group-nodes((gndx0 + mkgnode(nd, m1, boolvar, false) ') + gndx), inv(groupblock((gndx0 + mkgnode(nd, m1, boolvar, false) ') + gndx, lax, m)), inv(gstore2 \ ginval), n ∈ gstore2 ⊦ ax0 + prefixn(# gndx0 + 1, lax).to-adr(n) = [], (ax0 + prefixn(# gndx0 + 1, lax).to-adr(n)).butlast = ax0 + prefixn(# gndx0, lax).to-adr(n), n ∈ ginval
# lax = (# gndx0 + 1) + # gndx, gstore2[n] = groupblock((gndx0 + mkgnode(nd, m1, boolvar, false) ') + gndx, lax, m), valid-group-nodes(gndx0) = valid-group-nodes((gndx0 + mkgnode(nd, m1, boolvar, false) ') + gndx), inv(groupblock((gndx0 + mkgnode(nd, m1, boolvar, false) ') + gndx, lax, m)), inv(gstore2 \ ginval), n ∈ gstore2 ⊦ ax0 + (prefixn(# gndx0 + 1, lax).to-adr(n)).butlast = ax0 + prefixn(# gndx0, lax).to-adr(n), ax0 + prefixn(# gndx0 + 1, lax).to-adr(n) = [], prefixn(# gndx0 + 1, lax).to-adr(n) = [], n ∈ ginval
Used terms: prefixn(# gndx0 + 1, lax).to-adr(n), ax0