The proof is as follows: we count by matching the natural numbers to some set. For example, the set:
In infinite sets, we do the same thing. For example, the number of squares and the number of natural numbers is the same. To show this rather odd result, consider the following matching:
1 4 9 16 25 36 ... ^ ^ ^ ^ ^ ^ | | | | | | v v v v v v 1 2 3 4 5 6 ...You can continue this matching; as you can see, every natural number gets a unique square, so the number of squares and the number of natural numbers is the same. (Another way of putting this is that every natural number has a square, and every square is associated with a natural number).
How about the rational numbers? It might seem that the set of all rationals, like 3/8 and 5/9 and 12321/98732 would be much larger than the set of natural numbers. However, you can match them up. The proof is fairly simple, but difficult to format in html. But here's a variant, which introduces an important idea: matching each number with a natural number is equivalent to writing an itemized list. Let's write our list of rationals as follows:
Now for the real numbers. Cantor's first proof is complicated, but his second is much nicer and is the standard proof today. Again, suppose we could list every one of the real numbers. A list might look like this:
How about the points in the plane? You can describe any point in the plane with two coordinates. Suppose we're talking about the point (0.2132... , 0.9879...). This can get matched to the real number 0.29183727... Thus, every point in the plane is "counted" by a real number. An obvious extension says that the number of points in n-dimensional space is the same as the number of points on the line segment (0,1).
For a nice proof (with pictures) of these ideas, I can think of no more accessible source than George Gamow's One, Two, Three...Infinity. The science in the book is hopeless dated, but the mathematics (which make up the first and last sections) are still superb.