Generating Infinite Set with Function Composition

I imagined myself today being infinitely small, standing on the inside of a closed and perfectly mirrored surface and holding a laser. Could this surface be shaped in some way where I could turn on the laser and light up every point on the surface (including the one I am standing on)?

Without having to deal with the actual geometry I was wondering if it was possible to create some function that acts like the mirrored surface by mapping each point to its reflection. We are looking for a function where every point can be reached by every other point through a series of these "reflections."

Explicity: Does there exist some function $f:S\to S$ such that $\forall a, b\in S$ $(f\circ\ldots\circ f)(a) = b$?

Starting from some point $p$ this function could be used to iteratively generate every other point of $S$ before once again generating $p$. For finite sets this function clearly exists. But what about for $\mathbb{N}$ or $\mathbb{R}$?

• There are only countably many points in the orbit of $a$. – André Nicolas Jan 30 '16 at 7:02

We are looking for a function where every point can be reached by every other point through a series of these "reflections."

The formal way to write that proposition is:

$\exists f:S\to S$ such that $\forall a,b\in S$, $\exists n\in\mathbb{N}$, $f^n(a)=b$, where $f^n$ is $n$ iterations of $f$.

As you pointed out, if $S$ is finite then this function exists. However, there can't be such a function if $S$ is infinite: Because if such a function exists (say $f$), every point become periodic under this function; meaning that if you start with arbitrary $a$, sooner or later you will reach $a$ again; since the next point of $a$'s orbit (which is $f(a)$) is an element of $S$, and we know that every element of $S$ can be reached by another element of $S$; so $a$ can be reached from $f(a)$. Obviously, this means that every point's orbit is finite, so it can't cover infinite elements.