union code will probably take it back out, an interesting exercise but not very useful or fast part of the problem is that with the global constraint and the intersection logic you can already produce any union with g-(g-a-b) = a|b since x-y = x&!y and g&x=x and due to demorgan !(x&y) = !x|!y and finally !!x=x g-(g-a-b) = g&!(g&!a&!b) = !(!a&!b) = !!a|!!b = a|b so it doesn't increase the expressive capacity it just changes the order of evaluation
union code
will probably take it back out, an interesting exercise but not very useful or fast
part of the problem is that with the global constraint and the intersection logic you can already produce any union with g-(g-a-b) = a|b
since x-y = x&!y and g&x=x and due to demorgan !(x&y) = !x|!y and finally !!x=x
g-(g-a-b) = g&!(g&!a&!b) = !(!a&!b) = !!a|!!b = a|b
so it doesn't increase the expressive capacity it just changes the order of evaluation

tolomea/hexcells