I think I have a good understanding of how Cantor's argument for showing larger cardinalities works; but I do have a continuing problem with one part of it, namely the construction of the element (sequence) that serves to demonstrate that very difference in cardinality, for example by showing that the said sequence is not in the image of any function from $N$. Following the previously published and very detailed and informative answer here: How does Cantor's diagonal argument work?, I will also consider the argument for the case of a function $f$ from $N$ to $2^N$, where the latter is a set of all binary sequences.
The key is to show that for any $f: N \to 2^N$, so that $f(n) = (a_{1n}, a_{2n}, ..., a_{kn}, ...)$, where all $a$ are $0, 1$; there exists some $s_f$, an infinite binary tuple, that is not equal to $f(n)$ for any $n$. The standard way to do so seems to be to "construct" $s_f$ by the following rule:
$s_f = (s_1, s_2, ..., s_k, ...)$, such that for the particular $f(n)$ under consideration,
$s_k = 1$ if $a_{kn} = 0$ and $s_k = 0$ if $a_{kn} = 1$
Now this definition by construction gives us a tuple that is a perfect inverse of the tuple returned by $f(n)$ for any $n$ that we care to consider. In other words, for any $n$, $s_f \neq f(n)$, thus we conclude that $s_f$ is not the image of $f$, and thus $f$ is not surjective.
Now, the question that I have is why don't we just go one step further? If we can define a deliberately foiling tuple $s_f$, so why not now define a function $g(n): N \to 2^N = (b_{1n}, b_{2n}, ..., b_{kn}, ...)$, such that $b_{kn} = s_{k}$ for $n = 1$ and $b_{kn} = a_{k(n-1)}$ for all other $n$? You can even generalize it for any $k$ tuples you have managed to come up with that are not in the image of $f(n)$, enumerate these tuples, and then define $g$ by appending the image of $f(n)$ to the enumeration. If we define $g$ in this way, would not $g$ be surjective by construction, much like $s_f$ is not in the image of $f(n)$ by construction?
More generally, however, I am bugged by this question — can you really attempt to assess an equality between an object, in this case, $f(n)$ and another object, in this case, $s_f$, defined entirely in terms of the first object? Is not $s_f$ an object of a higher order, or a higher type to $f(n)$? We seem to treat $s_f$ as if it's just any infinite binary sequence, but it isn't, we can't even right it down on its own terms, until we know $f$. You could say that $s_f$ is just a name for a binary sequence that is somewhere out there in $2^N$; but because we defined $s_f$ to be a sequence not in the image of $f(n)$, the very assertion that $s_f$ refers to an extant sequence in $2^N$ is asserting our very result — that there are elements of $2^N$ that are not in the image of $f(n)$. Yet we don't seem to have done any work to actually prove that the sequence we purport to construct by the rules defining $s_f$ is constructible or that it's in $2^N$. Does it have to be in $2^N$ just because we formulated a rule on top of another, undefined rule of how to map the naturals onto {0, 1}? Wouldn't that assume that $2^N$ is closed under all fathomable operations, which seems to be a tall ask and, in any case, unproven?
Edit: Just saw your answer.
– Bacchus Jun 22 '14 at 17:37Thank you very much for your help.
– Bacchus Jun 24 '14 at 00:00