Tricki

A good way of proving that a set is countable

Prerequisites

The definition of a countable set, function-related notions such as injections and surjections.

Quick description

If you can find a function from to such that every has finitely many preimages, then is countable.

A quick way of recognising countable sets

General discussion

Here is a quick informal account of a standard proof that the set is countable: we can list its elements in the order , , , , , , , and so on. (This is informal because I have talked about "lists" and have not actually defined how the sequence continues.) We can view this proof geometrically as follows: in order to count through the set , which forms an infinite grid in the plane, we note that each downward-sloping diagonal (that is, a set of pairs of positive integers with constant sum) is finite, and then we count through each of these sets in turn.

Here, we are making use of the very simple principle that a countable union of finite sets is countable. To put this more formally, if is a set that can be written as a union for some collection of finite sets, then is countable.

This is very easy to see informally: one just counts through each in turn (leaving out elements that have already been counted). It is not important for this article, but for completeness let us briefly see how we might prove it more formally. We could write each set as , where is the size of . And then we could define an ordering on all pairs with by taking if and only if either (i) or (ii) and . And then we would define a function by the following procedure. We would repeatedly choose the element with minimal index for which was not yet defined, and we would define it to be the minimal integer that was not yet assigned as a value of . It is not hard to check that one ends up assigning a value to all elements of and we never assign the same value twice. Thus, is an injection and is countable.

In particular, a set is countable if there is a function such that every has finitely many preimages. (This means that for every there are only finitely many with .) This follows because we can define to be , and then we have expressed as a countable union of finite sets.

This observation is not particularly interesting as a theoretical statement, but as a tool for giving quick proofs of countability it is extremely useful. Here are some examples.

Example 1

To prove that the rational numbers form a countable set, define a function that takes each rational number (which we assume to be written in its lowest terms, with ) to the positive integer . The number of preimages of is certainly no more than , so we are done.

As another aside, it was a bit irritating to have to worry about the lowest terms there. For some reason many mathematicians are afraid of multifunctions (that is, things that are like functions except that each element in the domain can map to several elements in the range) and sweep them under the carpet. But for the rationals it is convenient to have them. We define a multifunction from to by mapping to . This looks as though it isn't well-defined, which as a function it isn't, but if we think of it as a multifunction, then for instance the rational number maps to all possible values of for which . (If you really don't like this, then you could rephrase it in terms of bipartite graphs or something like that.) Each positive integer still has only finitely many preimages (defined to be any rational number that has at least one image equal to ), and this proves the result since any multifunction with that property can clearly be restricted to a function with that property (just select, for each element of the domain, one of its images).

Example 2

To prove that the set of all finite subsets of is countable, how might we find a suitable function? An obvious function to consider is , but this doesn't work since there are infinitely many sets of any given size. (OK, apart from size zero.) But there's another very simple function that works: . Clearly, the number of sets with maximal element is finite (in fact, it is ), so we are done.

Example 3

To prove that the set of all polynomials with integer coefficients is countable is a similar exercise, but slightly more complicated. It is tempting to consider the sum of the absolute values of the coefficients, but then we notice that the polynomials all have coefficients with absolute values adding up to 1. So we need to restrict the degree somehow. But that is very easy indeed: given a polynomial we define to be the degree of plus the sum of the absolute values of the coefficients of .

Example 4

To prove that the set of all algebraic numbers is countable, it helps to use the multifunction idea. Then we map each algebraic number to every polynomial with integer coefficients that has as a root, and compose that with the function defined in Example 3. It is easy to check (using the fact that every polynomial has finitely many roots) that for every integer there are at most finitely many algebraic numbers that map to , and we are done.

General discussion

A tool that is more often presented in treatments of countability is the fact that a countable union of countable sets is countable. That translates into the more general principle that if you can find a function such that each has at most countably many preimages, then is countable. The point of this article is that it is almost always possible to use a function with only finitely many preimages for each , and that this often leads to short, easy proofs.

The following comments were made inline in the article. You can click on 'view commented text' to see precisely where they were made.

Doesn't need to be finitely many.

Actually, a weaker requirement is that the preimages be countable (i.e. they could be countably infinite). This works because as mentioned earlier in the article, the countable union of countable sets is countable.

I started editing the article, but couldn't phrase it well without making it sound recursive. We're trying to show that A is countable, and I'm saying the pre-image of every n is countable. Strictly speaking, I'm not being recursive or circular, but I'd like someone to write it in a way that won't confuse any one.

Although that's true, I'm not

Although that's true, I'm not completely in favour of mentioning it, because the point of this particular article is to encourage the reader to use the result with "finite". For example, to prove that is countable, I prefer defining to defining and using induction, even though both proofs are correct.

True, but I just feel that

True, but I just feel that fact should be mentioned somewhere in the article - if only as a sidenote.

I'm merely worried someone relatively new to the issue of countability may think finiteness is *required*. Perhaps a note in parentheses at the end of the paragraph stating that countably infinite inverses work as well, but it's usually more appropriate/easier to find a finite case?

OK, I've now added a

OK, I've now added a paragraph making this point but without compromising the theme of the article.

Thanks!