| # gndx1 = m0 + 1, # lax = (m0 + 1) + # gndx, gndx1.last = mkgnode(nd, m1, boolvar, boolvar0), gstore2[n] = groupblock(gndx1 + gndx, lax, m), ¬ boolvar0, valid-group-nodes(gndx1) = valid-group-nodes(gndx1 + gndx), inv(gstore2 \ ginval), inv(groupblock(gndx1 + gndx, lax, m)), n ∈ gstore2 ⊦ ax0 + prefixn(m0 + 1, lax).to-adr(n) = [], gndx1 = [], n ∈ ginval, ∃ gndx0. m0 + # gndx0 = # lax ∧ gndx1 + gndx = gndx1.butlast + gndx0 ∧ (ax0 + prefixn(m0 + 1, lax).to-adr(n)).butlast = ax0 + prefixn(m0, lax).to-adr(n) ∧ valid-group-nodes(gndx1.butlast) = valid-group-nodes(gndx1.butlast + gndx0) |
# lax = (m0 + 1) + # gndx, # gndx1 = m0 + 1, gndx1.last = mkgnode(nd, m1, boolvar, false), gstore2[n] = groupblock(gndx1 + gndx, lax, m), valid-group-nodes(gndx1) = valid-group-nodes(gndx1 + gndx), inv(groupblock(gndx1 + gndx, lax, m)), inv(gstore2 \ ginval), n ∈ gstore2 ⊦ ax0 + prefixn(m0 + 1, lax).to-adr(n) = [], gndx1 = [], n ∈ ginval, ∃ gndx0. m0 + # gndx0 = # lax ∧ gndx1 + gndx = gndx1.butlast + gndx0 ∧ (ax0 + prefixn(m0 + 1, lax).to-adr(n)).butlast = ax0 + prefixn(m0, lax).to-adr(n) ∧ valid-group-nodes(gndx1.butlast) = valid-group-nodes(gndx1.butlast + gndx0)