Hilbert's paradox of the Grand Hotel

Hilbert's paradox of the Grand Hotel (colloquial: Infinite Hotel Paradox or Hilbert's Hotel) is a thought experiment which illustrates a counterintuitive property of infinite sets. It is demonstrated that a fully occupied hotel with infinitely many rooms may still accommodate additional guests, even infinitely many of them, and this process may be repeated infinitely often. The idea was introduced by David Hilbert in a 1925 lecture "Über das Unendliche", reprinted in, and was popularized through George Gamow's 1947 book One Two Three... Infinity.

The paradox
Hilbert imagines a hypothetical hotel with rooms numbered 1, 2, 3, and so on with no upper limit. This is called a countably infinite number of rooms. Initially every room is occupied, and yet new visitors arrive, each expecting their own room. A normal, finite hotel could not accommodate new guests once every room is full. However, it can be shown that the existing guests and newcomers — even an infinite number of them — can each have their own room in the infinite hotel.

Finitely many new guests
With one additional guest, the hotel can accommodate them and the existing guests if infinitely many guests simultaneously move rooms. The guest currently in room 1 moves to room 2, the guest currently in room 2 to room 3, and so on, moving every guest from their current room n to room n+1. The infinite hotel has no final room, so every guest has a room to go to. After this, room 1 is empty and the new guest can be moved into that room. By repeating this procedure, it is possible to make room for any finite number of new guests. In general, when k guests seek a room, the hotel can apply the same procedure and move every guest from room n to room n + k.

Infinitely many new guests
It is also possible to accommodate a countably infinite number of new guests: just move the person occupying room 1 to room 2, the guest occupying room 2 to room 4, and, in general, the guest occupying room n to room 2n (2 times n), and all the odd-numbered rooms (which are countably infinite) will be free for the new guests.

Infinitely many coaches with infinitely many guests each
It is possible to accommodate countably infinitely many coachloads of countably infinite passengers each, by several different methods. Most methods depend on the seats in the coaches being already numbered (or use the axiom of countable choice). In general any pairing function can be used to solve this problem. For each of these methods, consider a passenger's seat number on a coach to be $$n$$, and their coach number to be $$c$$, and the numbers $$n$$ and $$c$$ are then fed into the two arguments of the pairing function.

Prime powers method
Send the guest in room $$i$$ to room $$2^i$$, then put the first coach's load in rooms $$3^n$$, the second coach's load in rooms $$5^n$$; in general for coach number $$c$$ we use the rooms $$p_{c}^n$$ where $$p_{c}$$ is the $$c$$th odd prime number. This solution leaves certain rooms empty (which may or may not be useful to the hotel); specifically, all numbers that are not prime powers, such as 15 or 847, will no longer be occupied. (So, strictly speaking, this shows that the number of arrivals is less than or equal to the number of vacancies created. It is easier to show, by an independent means, that the number of arrivals is also greater than or equal to the number of vacancies, and thus that they are equal, than to modify the algorithm to an exact fit.) (The algorithm works equally well if one interchanges $$n$$ and $$c$$, but whichever choice is made, it must be applied uniformly throughout.)

Prime factorization method
Each person of a certain seat $$s$$ and coach $$c$$ can be put into room $$2^s 3^c$$ (presuming c=0 for the people already in the hotel, 1 for the first coach, etc.). Because every number has a unique prime factorization, it is easy to see all people will have a room, while no two people will end up in the same room. For example, the person in room 2592 ($$2^5 3^4$$) was sitting in on the 4th coach, on the 5th seat. Like the prime powers method, this solution leaves certain rooms empty.

This method can also easily be expanded for infinite nights, infinite entrances, etc. ( $$2^s 3^c 5^n 7^e...$$ )

Interleaving method
For each passenger, compare the lengths of $$n$$ and $$c$$ as written in any positional numeral system, such as decimal. (Treat each hotel resident as being in coach #0.) If either number is shorter, add leading zeroes to it until both values have the same number of digits. Interleave the digits to produce a room number: its digits will be [first digit of coach number]-[first digit of seat number]-[second digit of coach number]-[second digit of seat number]-etc. The hotel (coach #0) guest in room number 1729 moves to room 01070209 (i.e., room 1,070,209). The passenger on seat 1234 of coach 789 goes to room 01728394 (i.e., room 1,728,394).

Unlike the prime powers solution, this one fills the hotel completely, and we can reconstruct a guest's original coach and seat by reversing the interleaving process. First add a leading zero if the room has an odd number of digits. Then de-interleave the number into two numbers: the coach number consists of the odd-numbered digits and the seat number is the even-numbered ones. Of course, the original encoding is arbitrary, and the roles of the two numbers can be reversed (seat-odd and coach-even), so long as it is applied consistently.

Triangular number method
Those already in the hotel will be moved to room $$(n^2+n)/2$$, or the $$n$$th triangular number. Those in a coach will be in room $$ ((c+n-1)^2+c+n-1)/2+n$$, or the $$(c+n-1)$$ triangular number plus $$n$$. In this way all the rooms will be filled by one, and only one, guest.

This pairing function can be demonstrated visually by structuring the hotel as a one-room-deep, infinitely tall pyramid. The pyramid's topmost row is a single room: room 1; its second row is rooms 2 and 3; and so on. The column formed by the set of rightmost rooms will correspond to the triangular numbers. Once they are filled (by the hotel's redistributed occupants), the remaining empty rooms form the shape of a pyramid exactly identical to the original shape. Thus, the process can be repeated for each infinite set. Doing this one at a time for each coach would require an infinite number of steps, but by using the prior formulas, a guest can determine what their room "will be" once their coach has been reached in the process, and can simply go there immediately.

Arbitrary enumeration method
Let $$ S := \{(a, b) \mid a, b \in \mathbb{N}\}$$. $$ S $$ is countable since $$\mathbb{N}$$ is countable, hence we may enumerate its elements $$s_1, s_2, \dots$$. Now if $$s_n = (a, b)$$, assign the $$b$$th guest of the $$a$$th coach to the $$n$$th room (consider the guests already in the hotel as guests of the $$0$$th coach). Thus we have a function assigning each person to a room; furthermore, this assignment does not skip over any rooms.

Further layers of infinity
Suppose the hotel is next to an ocean, and an infinite number of car ferries arrive, each bearing an infinite number of coaches, each with an infinite number of passengers. This is a situation involving three "levels" of infinity, and it can be solved by extensions of any of the previous solutions.

The prime factorization method can be applied by adding a new prime number for every additional layer of infinity ( $$2^s 3^c 5^f$$, with $$f$$ the ferry).

The prime power solution can be applied with further exponentiation of prime numbers, resulting in very large room numbers even given small inputs. For example, the passenger in the second seat of the third bus on the second ferry (address 2-3-2) would raise the 2nd odd prime (5) to 49, which is the result of the 3rd odd prime (7) being raised to the power of his seat number (2). This room number would have over thirty decimal digits.

The interleaving method can be used with three interleaved "strands" instead of two. The passenger with the address 2-3-2 would go to room 232, while the one with the address 4935-198-82217 would go to room #008,402,912,391,587 (the leading zeroes can be removed).

Anticipating the possibility of any number of layers of infinite guests, the hotel may wish to assign rooms such that no guest will need to move, no matter how many guests arrive afterward. One solution is to convert each arrival's address into a binary number in which ones are used as separators at the start of each layer, while a number within a given layer (such as a guest's coach number) is represented with that many zeroes. Thus, a guest with the prior address 2-5-1-3-1 (five infinite layers) would go to room 10010000010100010 (decimal 295458).

As an added step in this process, one zero can be removed from each section of the number; in this example, the guest's new room is 101000011001 (decimal 2585). This ensures that every room could be filled by a hypothetical guest. If no infinite sets of guests arrive, then only rooms that are a power of two will be occupied.

Infinite layers of nesting
Although a room can be found for any finite number of nested infinities of people, the same is not always true for an infinite number of layers. Even if a finite number of elements exists at each layer.

Analysis
Hilbert's paradox is a veridical paradox: it leads to a counter-intuitive result that is provably true. The statements "there is a guest to every room" and "no more guests can be accommodated" are not equivalent when there are infinitely many rooms.

Initially, this state of affairs might seem to be counter-intuitive. The properties of infinite collections of things are quite different from those of finite collections of things. The paradox of Hilbert's Grand Hotel can be understood by using Cantor's theory of transfinite numbers. Thus, in an ordinary (finite) hotel with more than one room, the number of odd-numbered rooms is obviously smaller than the total number of rooms. However, in Hilbert's Grand Hotel, the quantity of odd-numbered rooms is not smaller than the total "number" of rooms. In mathematical terms, the cardinality of the subset containing the odd-numbered rooms is the same as the cardinality of the set of all rooms. Indeed, infinite sets are characterized as sets that have proper subsets of the same cardinality. For countable sets (sets with the same cardinality as the natural numbers) this cardinality is $\aleph_0$.

Rephrased, for any countably infinite set, there exists a bijective function which maps the countably infinite set to the set of natural numbers, even if the countably infinite set contains the natural numbers. For example, the set of rational numbers—those numbers which can be written as a quotient of integers—contains the natural numbers as a subset, but is no bigger than the set of natural numbers since the rationals are countable: there is a bijection from the naturals to the rationals.