| # lax = # gndx, # lax1 = # gndx1, # lax1.to-adr(n) = # ndx, gstore[@(m1, m2, m3)] = mkgnode(nd, m4, boolvar, boolvar0), gstore[n] = groupblock(gndx, lax, m), transaction(ndx, gndx1), @(m1, m2, m3) ∈ gstore, n ∈ gstore ⊦ m1 = n, nd = nodes(gstore, ginval)[@(m1, m2, m3)], dups(lax + lax1), dups(lax), dups(lax1), m1 ∈ ginval, n ∈ ginval, @(m1, m2, m3) ∈ lax1.to-adr(n) |
# ndx = # gndx1, # lax = # gndx, # lax1 = # gndx1, gstore[n] = groupblock(gndx, lax, m), gstore[@(m1, m2, m3)] = mkgnode(nd, m4, boolvar, boolvar0), transaction(ndx, gndx1), n ∈ gstore, @(m1, m2, m3) ∈ gstore ⊦ m1 = n, nd = nodes(gstore, ginval)[@(m1, m2, m3)], dups(lax1), dups(lax), dups(lax + lax1), n ∈ ginval, m1 ∈ ginval
Used simplifier rules: ⊦ @(n0, n1, n2) ∈ lax.to-adr(n) ↔ n0 = n ∧ @(n1, n2) ∈ lax; (s)% ⊦ # lax.to-adr(n) = # lax; (s)