An ordinal number α which satisfies $2^\alpha=\alpha$ How to prove that if an ordinal number $\alpha$ satisfies $2^\alpha=\alpha$ and $\alpha\gt\omega$ then $\alpha$ is an epsilon number, i.e., $\omega^\alpha=\alpha$. I found this question on A Book of Set Theory written by Charles C. Pinter. I have absolutely no idea about it. Can someone help me?     

In fact the original question is: Prove that $α$ ($α>ω$) is an epsilon number if and only if $2^α=α$. One way is just straightforward. But for the other way, my attempt is let $α=ωγ$. (Indeed, $α$ should be a limit ordinal.) Then it is easy to get that $2^{ωγ}=ωγ$, which implies that $ω^γ=ωγ$. Then it is easy to get that $2^{ωγ}=ωγ$, which implies that $ω^γ=ωγ$. Then let $γ=ω+$. (I will omit the proof that $γ>ω$.) From $ω^γ=ωγ$ it follows that: $$ω(ω+)=ω^{ω+}=(ω^ω)(ω^)=(ω^{1+ω}) \cdot (ω^)=ω \cdot ω^{ω+}.$$
Then from $ω(ω+)=ω \cdot ω^{ω+}$ we have $ω+=ω^{ω+}$, which means $γ=ω+$ is an epsilon number; finally $α=ωγ$ is an epsilon number. Is there any mistake? 
 A: Twice edited answer:
Yes, your attempt works. Here it is in more detail (and I mark the answer as commutity wiki).
First we divide $\alpha$ by $\omega$ to get $\alpha = \omega\gamma + n$ for some uniquely determined ordinals $\gamma$ and $n$ with $n<\omega$. Then $\alpha = 2^\alpha = 2^{\omega\gamma}2^n = (2^\omega)^\gamma 2^n = \omega^\gamma 2^n$. Since $\alpha>\omega$ we must have $\gamma>0$ and we see that $\alpha$ must be a limit ordinal, so $n$ must be $0$. We conclude that $\alpha = \omega\gamma = \omega^\gamma$.
Could we have $\gamma<\omega$? Note that $2^{\omega^{n+1}} = \omega^{\omega^n}$ for $n<\omega$ (by induction on $n$), so that cannot happen. But then we can again divide by $\omega$ to get $\gamma=\omega\beta+m$ with $\beta>0$ and $m<\omega$. Thus $\alpha=\omega\gamma = \omega^2\beta + \omega m$ with $\beta>0$. Hence $\omega + \alpha = \alpha$, and this is the key.
Now it is smooth sailing: $\omega\alpha = \omega 2^\alpha = 2^\omega 2^\alpha = 2^{\omega + \alpha} = 2^\alpha = \alpha$. And finally, $\omega^\alpha = (2^\omega)^\alpha = 2^{\omega\alpha} = 2^\alpha = \alpha$.
