Wouldn't real set be indeed smaller rather than bigger than the integer set? This is linked to Natural and Real sets of numbers, which one is bigger than another? but clearly my question is of a different nature.
Hello there,
I would like to ask the community a question : Why is it that one say that "real" are "bigger" than "integer" ??

Now i'm well aware of the diagonal argument, but it seems to me that there is no logical connection to bigger, and even that the real set is indeed smaller than the integer set. I'll try to explain, using only logical arguments, because i don't know much about mathematics, but i hope that by using logic i'll be able to communicate with the mathematical community and be able to grasp what's wrong in my understanding.

I would like to try to define a few words i'll be using first :
Let's assume that there exists a turing complete language L, that you can write programs with, such that the program can process a finite string, and produce another finite string, and has a terminal instruction (ie programs can terminate).
Then let's call Program, something written in L, that take as input an integer (let's say as a finite string of 0/1), and output either 0 or 1 (but has no guarantee to terminate).
Let's call "List" a program that take as input an integer, and output a finite string, and is guaranteed to terminate for any integer input.
Let's call "Subpart of the Integer set" (shorten as SI) a Program that somehow is guaranteed to terminate for any integer input. (So any SI is both a List and and a program)
Let's call maximal List (of a criterion C), a list (if there exists one) that given the criterion C list all output string that meets C.

So now we can say that there is indeed a maximal list of Programs (trivial to explicit), and that there is no maximal List of SI (because if there was, then you'd be able to have a program that answer the termination problem for any input).
Now, there is another way of noticing that there is no maximal List of SI, and that is to apply the "diagonal strategy".
Let's presume that there exist an explicit List of all SI called List_SI, then you can build a new SI :
new_SI (n) :
- let a = List_SI (n) (n). If a = 0 return 1, else return 0;
new_SI is in 0/1 and terminate, so it is definitely a SI. 
Now, this look to me as exactly the diagonal argument used by Cantor, wich enable to conclude that "Real Set" is "Bigger" than "Integer Set".
Only we replaced the real set with the list of programs that represents a subpart of N, and the integer set with a generalization to programs that represents a subpart of N but might leave some integer neither into or out of the the subpart it represents.
Thus, we have to conclude that the Program that terminate Set (SI) is Bigger than the set of all programs (Program). Wich seems a bit counter intuitive to me. Indeed i would tend to assume that the set of program that terminate is indeed smaller.

And there i am, asking the mathematical community : wouldn't be the "real set" indeed be "smaller" than the "integer set" ?
 A: Sorry: I will use the word "program" in its correct meaning, i.e. something having as an input a number and as an output a number, or it does not terminate.
I recall you the notion of recursively enumerable set: a subset $A \subseteq \Bbb{N}$ is recursively enumerable if there exists a program $L(n)$ such that
$$\{ L(n): n \in \Bbb{N} \} = A$$
It is true that you can list all programs: this gives you a universal list $U(n)$ listing all programs. In particular
$$\{ n \in \Bbb{N} : U(n) \mbox{ is a program} \} = \Bbb{N}$$
is recursively enumerable.
Now, what you have proved is that
$$\{ n \in \Bbb{N} : U(n) \mbox{ is a SI (i.e. it always terminates with $0$ or $1$)} \}$$
is not recursively enumerable. This is an important result in computability theory, due to Turing himself.
Despite being recursively enumerable, $\Bbb{N}$ has some non recursively enumerable subsets. But this does not mean that the collection of SI is bigger than the collection of programs. Not at all.
This result means that you can list all programs, but you have totally no way of deciding which one of them is a SI and which one isn't. So, in particular, there is no way to ensure that a program is a list (this is referred to your sentence "is guaranteed to terminate for any integer input": you cannot have a guarantee).
