Actually, here's another attempted solution way simpler/nicer than yours... but there is a tiny gotcha, some sleaziness, and some appeal to god... Order the positive rational numbers R1, R2, R3, ... (e.g. like we've been discussing on another thread) Now scan thru this order using your random bit generator to color each one red or blue. If R is blue, then -R is red. Voila: we have a 2-coloring of the rationals, and it is dense with probability=1, and the two color sets are congruent (in fact negations). The "tiny gotcha" is: 0 (zero) is not colored. That can be got around via the following sleazy trick. Agree to color X and -1/X opposite always. Stereographically project the real line onto a circle and then 0 is the South and infinity the North pole, and then the red and blue sets are also congruent [mirrored] on that circle, including if we now color 0 and infinity red and blue (or the reverse). And oh yeah, "infinity=-1/0" is now an honorary rational number. This all works for the usual countable sets instead of rationals (algebraics...). Also it should work with appropriate PSEUDOrandom functions of the number, albeit it might be a little tricky to tell whether your function is "random enough." I might suggest the Liouville lambda function... or some suitable function based on hashing the digits... or maybe just (-1)^N... This also works for the full set of real numbers -- that's nonconstructive but still blindingly obvious.