1. Assume naturals.gif ~2^^naturals.gif^^^.

2. Then exists.gif b:naturals.gif ↔2^^naturals.gif^^^, a bijection.

3. Let D' = { x | x element.gif/b(x) }.

4. D' subset.gif naturals.gif, so D' element.gif 2^^ naturals.gif^^^. Since b is a bijection, there must be some n s.t. b(n) = D'.

5. But by construction, for all x, D' differs from b(x) on the membership of x.

6. (More detailed version of 5): Suppose for some n, b(n) = D'.
6a. Case 1. n element.gif D'. Then n element.gif b(n), since #6. But by definition of D', if n element.gif D', n element.gif/b(n). Contradiction.
6b. Case 2. n element.gif/D'. Since #6, n element.gif/b(n). But by definition of D', n element.gif D'. Contradiction.

(Make sure you refer to #6 in each case!)

7. So there is no n s.t. b(n) = D'.

8. #4 and #7 are contradictory, so there is no such bijection b.

9. So naturals.gif ~/2^^naturals.gif^^^.

Even shorter, and maybe more elegant for its brevity (note, none of this case1, case2 stuff actually needs to be said!):

1. Assume b:naturals.gif ↔2^^naturals.gif^^^, bijective.
2. D' = { x | x element.gif/b(x) } element.gif 2^^naturals.gif^^^.
3. For all n, b(n) neq.gif D' because [n element.gif b(n) XOR n element.gif D'].
4. So b is not surjective, hence not bijective.
5. So naturals.gif ~/2^^naturals.gif^^^.