Are all infinities equal?
At first, it is probably a good idea to specify more clearly what is meant when you say "infinite". There are many different concepts of infinity which are quite different. For example, in the context of limits you can say that a quantity or function "goes to infinity", but in that case it just means "it gets (and remains) arbitrary large". That's a completely different type of infinity than the infinity you are speaking about when you say "how many". "How many elements does this set have" is called the cardinality of that set, and that's what the argument of your friend is about. Note that "how large is" may or may not refer to cardinality, i.e. "how many" (I'll come to another notion later). This other notion also has a concept if infinite, but that concept is different from the cardinality concept. Since your friend's argument was about cardinality ("how many"), in the following I'll use "infinity" in the cardinality sense, as "infinitely many".
OK, so what does it mean if you ask "how many"? Well, with finite sets, there's a well known way to answer that question, and that way is known as "counting": You choose one element of that set and say "one". You choose another element of that set and say "two". As soon as you run out of elements, the last number you've said is the number of elements in that set.
Now let's look at what you have done that way: You've chosen one object and assigned it the number $1$ (that is, from now on, it is the "first object"). You chosen another object and assigned it the number $2$, and so on. So finally, assuming there are $n$ objects in the set, every object got a number between $1$ and $n$ inclusive, and to each number there's a unique object which got that number. In other words, by counting the objects, you've established a one-to-one relation between that set and the objects in the set "numbers from 1 to $n$". Of course you could as well start counting with $0$ (as you might do if you are a C programmer used to zero-based arrays, or a mathematician used to natural numbers to include the $0$), and end up with $n-1$ as last number. But that doesn't matter because there are as many natural numbers between $0$ and $n-1$ as there are between $1$ and $n$, as you can easily check by counting them (either count the set $\{0,\dots,n-1\}$ starting with $1$, or count the set $\{1,\dots,n\}$ starting with $0$; in both case what you do is to establish a one-to-one relation between the sets). Indeed, you can even define the natural numbers as sets of all natural numbers below, with $0$ being the empty set, in that case, the number $n$ has exactly $n$ elements, and therefore there's a one-to-one relation between the number $n$ and any $n$-element set. (Side remark: This construction of the natural numbers can also be extended to infinite numbers and gives rise to yet another concept of infinity, which I won't talk about here.)
So the point is, whenever you have a one-to-one relation between two sets, they have the same number of elements. This is a useful definition because it can be used even for infinite sets, where the literal procedure of counting one after the other would never end. So two sets have, by definition, the same number of elements if there exists a one-to-one relation between the two sets.
With this knowledge we can now see that, in the context of cardinality, the question "are all infinities equal" means "does there exist a one-to-one mapping between any two infinite sets?" And in the concrete case of the numbers between $0$ and $1$ (that is, the interval $(0,1)$) and the numbers between $0$ and $2$ (that is, the interval $(0,2)$), the question can be rephrased as: "Is there a one-to-one mapping between the numbers in the interval $(0,1)$ and the interval $(0,2)$"?
It is not true that all infinities are equal, but it is true that the interval $(0,1)$ contains as many numbers as the interval $(0,2)$. However, while there are infinitely many numbers in $(0,1)$ and also infinitely many natural numbers, there are more numbers in the interval $(0,1)$ than there are natural numbers.
To see that there are as many numbers in $(0,1)$ and in $(0,2)$, just consider the function $f:x\mapsto 2x$. That function gives for each number in $(0,1)$ a number in $(0,2)$, and each number from $(0,2)$ can indeed be reached. Thus there's a one-to-one mapping between the numbers in $(0,1)$ and $(0,2)$.
However there's no one-to-one mapping between the integers and the numbers in $(0,1)$. The classic proof for this is Cantor's diagonal argument: Assume you'd have a one-to-one mapping between the natural numbers and the numbers in $(0,1)$, i.e. a mapping $\mathbb N\to (0,1), n\mapsto a_n$. Then write the numbers in ($0,1)$ in decimal. Then you can construct a number $x\in(0,1)$ by the following rule: The number starts with $0.$, and the $n$-th decimal digit of $x$ is $3$, unless the $n$-th decimal digit of $a_n$ is $3$, in which case you choose $5$ instead. Now the number $x$ is clearly in the interval $(0,1)$, therefore it should be one of the $a_n$s. However for each $n$, it differs from $a_n$ in the $n$th decimal, thus it cannot be in the list, and therefore the list cannot be complete.
OK, but given that there are as many numbers between $0$ and $1$ as there are between $0$ and $2$, so how can $2$ be larger than $1$? Well, the simplest answer is that the number is not an indication of how many numbers are below it (this is different to the natural numbers, where there are indeed exactly $n$ natural numbers below $n$). However there's defined an order between real numbers, which coincides with that of the natural numbers embedded with it. Basically, every positive number $x$ is larger than $0$ and larger than any other positive number between $0$ and $x$, and the reverse is true for negative numbers.
However, you may still insist that the interval $(0,2)$ is twice as large as the interval $(0,1)$. And you're right! But how does that fit with the fact that there are as many numbers in $(0,1)$ as there are in $(0,2)$? Well, the point is that when determining the size of the interval, you do not count the numbers in it (indeed, as shown above in the diagonal argument, you cannot count them). Instead you define the size of the interval (and of more general sets of numbers). Such a function which tells you how large a set is is called measure. You just have to make sure that the measure has some obvious properties: The size of the set should of course not change if you just move it around, the empty set (that is, when you have no numbers at all) should have size $0$, and if you have two distinct sets (like the numbers between $1$ and $2$ and in addition the numbers between $4$ and $6$), the total size should be the sum of the sizes. With those basic properties, and the assumption that $(0,1)$ should have a finite size (this implies that a set consisting of a single number, i.e. a single point on the real line, has size $0$), you already get that the interval $(0,2)$ is twice as large as the interval $(0,1)$: You get the numbers between $0$ and $2$ as the numbers between $0$ and $1$, the number $1$ (but that has size $0$), and the numbers between $1$ and $2$ (but those are just the numbers between $0$ and $1$ shifted to the right by $1$). So if the interval $(0,1)$ has size $x$, the interval $(0,2)$ has size $x+0+x=2x$, so it is indeed twice as large.
The problem that I had with it was, if in-fact there are the same amount of numbers between 0 and 1 as there are between 0 and 2, why is 2 greater than 1?
Why do you believe those two facts conflict with each other? I don't mean this glibly: when faced with two apparently contradictory facts, one should reflect strongly upon why you think there's a conflict. Also, you should ask yourself why you believe the statements to be facts, but that's not relevant to this issue.
Only when you understand in sufficient detail why you think the two statements conflict will you be able to identify what belief you hold that is wrong so that you can go about correcting that belief.
Your friend's argument demonstrates that the notion of "the number of points in an interval" and the notion of "the length of an interval" don't line up with each other. Really, they are very different notions. In the end, this (and related) facts are what you want to intuit. But to get to that point, you have to understand why you currently intuit differently!
We can guess at the reason. I think the most likely guess is that you are extrapolating from the familiar notion of measuring equally spaced objects. e.g. the length of the following lines
-------
----------------
------------------------
directly corresponds to the number of dashes in each line. Without experience really thinking about a continuum, your intuition latched onto this idea instead (and probably without you realizing this happened).
If this really is the issue, then the way to resolve things is probably to try and understand why your intuition works in the familiar case. Why does the length of each of those lines above correspond to the number of dashes contained within?
One explanation is that we have a familiar geometric principle:
- The length of a pair of consecutive line segments is the sum of the individual lengths
and a familiar counting principle
- The number of objects in a pair of sets is the sum of the number of objects in the individual sets
For the lines above, we can split the whole into individual parts -- individual dashes -
-- and then apply the two principles in parallel to "add" them back up, and relate the total length to the total number. (Can you write a rigorous statement of the relationship and prove it?)
Now, what happens if you try to repeat this analysis in the case of a continuum interval and the number of points contained within?
I wish to address your second question "why is $2$ greater than $1$ ?" :
We should first ask: what is $1$ ? what is $2$ ?
Well, we need to start defining the natural numbers and we are working with sets, by axiom the empty set $\emptyset$ exists and since it contains $0$ elements it is natural do define $0:=\varnothing$.
Another axiom is that if $A$ is a set then also $\{A\}$ is a set, so we have $\{\varnothing\}$is a set and it contains$1$ element , so let's define $1:=\{\varnothing\}=\{0\}$.
Similarly we define $2:=\{\varnothing,\{\varnothing\}\}=\{0,1\}$ etc'.
Now that we defined the natural numbers we can define when one number is smaller than another. the definition is $x<y$ is $x\subset y$ and $x\neq y$ .
Clearly $\{\varnothing\}\neq\{\varnothing,\{\varnothing\}\}$ and $\{\varnothing\}\subsetneq\{\varnothing,\{\varnothing\}\}$
So this a proof, by definition, of why $1<2$.
You can show in exactly the same way that the are as many natural numbers as there are even natural numbers -- by multiplying or dividing by two. But that doesn't change the fact that even natural numbers are a proper subset of all natural numbers: every even natural number is a natural number, but there are natural numbers which are not even.
Similarly to the proof you've described, you can show that for any $x>0$, the interval $[0,x]$ contains the same number of points (indeed, the entire set of real numbers contains the same number of points). This only shows that the ordering of real numbers is not related on the "size" of intervals in terms of cardinality (number of points).
To answer your last question, why 2 is greater than 1 -- it is by definition. What exactly is the definition depends on how you construct real numbers and introduce ordering on them, but surely you can see that we can introduce a different linear ordering on real line, for example define $x\preceq y$ iff $x\geq y$. Then, in the sense of this "new" ordering, 2 is not greater than 1. The fact that you cited just goes to show that there's no way to linearly order the reals by comparing numbers of points in intervals (because then we will always have some elements which will be incomparable).
What your friend was trying to explain is the concept of "trans-infinite numbers". The short answer to the title question is that many infinities are equal, but some infinities are not.
The proof you give is valid; for any $0\leq x\leq 2$, if $y=x/2$ then $0<y<1$, and vice-versa. Therefore, while both ranges have an infinite number of numbers, there must be the same number of numbers in both ranges, because we have a 1:1 transformation possible between the two sets, by which every number in one set can be converted to a number in the other set and vice-versa, with no overlap (no two values from the source set may produce the same number of the resulting set), no gaps (all values in the resulting set can be produced with some value from the source set) and no ambiguity (no value from the source set may produce two values in the resulting set). If there were not the same number of numbers in both sets, then there would not be a transformation (called a bijection) meeting all the above conditions.
This number of numbers is "aleph-null" $\aleph_0$, and is the cardinality of the set of all rational numbers (because the same proof holds for any $0\leq x\leq 2n$ and $0\leq y\leq n$ as $n \to \infty$), and for the set of all natural numbers (because for any natural $0\leq x\leq 10^n$ there is a $y=x/10^n$ such that $0\leq y \leq 1$, thus there are the same number of rational numbers between 0 and 1 as between 0 and any power of 10) and the set of all integers (there is a similar bijection that can evenly project any natural $n \in \mathbb N \to i \in \mathbb Z$ and thus there are as many integers as natural numbers).
However, there are a greater number of real numbers (rationals and irrationals) than aleph-null. This theorem is based on the difference between a rational and irrational; the number of non-repeating decimals of any rational number, though it may be uncountably large, is finite by definition; we may say it has finite "precision". A real number has infinite precision; we could hook an RNG (something based on non-computational randomness) up to a printer and have it print random digits until the end of time, and after it prints each new digit, we have an entirely new real number. There are aleph-null possible real numbers that can be produced by concatenating any arbitrary natural number's digits to one existing real number. So, the cardinality of the infinite set of all irrational numbers is equal to the cardinality of the set of all sets of natural numbers. This cardinality is generally notated as "beth-one" ($\beth_1$), which is defined by stating that $\beth_0 = \aleph_0$ and that any $\beth_{n+1} = 2^{\beth_n}$ (the cardinality of the "power set" - the set of all subsets of a set). We don't use an aleph number for this because the aleph numbers are defined to be cardinal; there is a number $\aleph_1$ which is defined to be one more than $\aleph_0$, while the beth numbers are defined by an exponential series, not an incremental one.
As to why 2 is greater than 1, given that there are the same number of numbers between any two numbers, it's quite simple; the value of 2 is not dependent on how many rational or real numbers there are between it and any other reference point (such as 0). It is dependent on how many natural numbers there are between it and zero, and that set is finite and countable.