Suppose we have a family of functions $\{f_1,f_2,\cdots,f_n\}$, all are $ f_i:\mathbb{R}\to\mathbb{R}$. For simplicity, write $f_i(x)$ as $f_i x$. So $f_if_jx=f_i(f_j(x))$. Let $i_j$ be a number in $\{1,2,\cdots n\}$, and $j$ is the index. Now introduce the set for some $x_0\in\mathbb{R}$: $$S\equiv \{f_{i_m}f_{i_{m-1}}f_{i_{m-2}}\cdots f_{i_1}x_0 | m\in~\mathbb{N} \}$$ Are there any mathematics studying the behaviour of this set?
For example, when we have only one function $f(x)=2x$, and let $x_0=1$. Then the set $S$ is just $\{2^m|m\in\mathbb{N}\}$. When we have only two functions $f_1(x)$ and $f_2(x)$, then we can imagine a tree like structure below:
Then, $S$ is all the values appearing in these nodes.
Background
I ask this bizzare question because my friend asked me this:
If we have only functions $x^2,x^{1/2},e^x,\ln(x),\sin(x),\cos(x)$, can we compute all the numbers $\mathbb{Z}$, starting with $0$? No additional function is given, such as addition $f(x,y)=x+y$, or multiplication $f(x,y)=xy$.
I could only manage to get $0,1,2^m$, etc. There is no way to show that my method would exhaust all numbers though.
