There are only countably many sets of natural numbers that form (the nonnegative part of) a congruence classes. Here's a natural way to list them as bit strings: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ... 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ... 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 ... 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 ... 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 ... 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ... 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ... 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ... 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ... 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ... 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 ... 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 ... 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 ... 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 ... 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 ... ... We can use diagonalization to construct a set that isn't a congruence class: 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 ... Does this pattern continue? Jim Propp