How can we determine $2^\kappa$ for singular $\kappa$ assuming that $2^\lambda=\lambda^+$ whenever $2^{\operatorname{cof}(\lambda)}<\lambda$? I got an exercise in set theory and can't seem to solve it:
If we assume that $2^\lambda = \lambda^+ $ holds for every singular cardinal with $2^{\operatorname{cof}(\lambda)}<\lambda$, then how can we determine the value of $2^\kappa$ from the value of $2^{<\kappa}$ for all singular cardinals $\kappa$?
I tried using Silver's Theorem, but couldn't seem to get it right...
 A: Let me consider separately two cases, and afterward indicate how to tell the cases apart.
Case 1: $2^\mu$ has the same value for all sufficiently large $\mu<\kappa$. In this case, we can invoke the Bukovsky-Hechler theorem (see for example Corollary 5.17 in http://fa.its.tudelft.nl/~hart/onderwijs/set_theory/Jech/05-AC_and_cardinal_arithmetic.pdf ) to conclude that $2^\kappa=2^{<\kappa}$.
Case 2: As $\mu$ ranges over infinite cardinals $<\kappa$, the exponential $2^\mu$ increases cofinally often. So the supremum $2^{<\kappa}$ of these exponentials is a cardinal $\lambda$ with cf$(\lambda)=\,$cf$(\kappa)<\kappa$. So $2^{\text{cf}(\lambda)}$ is one of the cardinals whose supremum defines $\lambda$ and is, by the case hypothesis, $<\lambda$.  Now the hypothesis of your exercise gives us that $2^\lambda=\lambda^+$. So we have 
$$
\lambda=2^{<\kappa}\leq2^\kappa\leq2^\lambda=\lambda^+,
$$
which means $2^\kappa$ has one of just two possible values, namely $\lambda$ and $\lambda^+$.  But the first of these isn't really possible, by König's theorem, because it has cofinality $<\kappa$.  So $2^\kappa=\lambda^+=(2^{<\kappa})^+$.
To complete the answer, I still need to tell you how to distinguish the two cases, given only $2^{<\kappa}$. Fortunately, I already pointed out that in Case 2, $2^{<\kappa}$ (there called $\lambda$) has cofinality $<\kappa$. In Case 1, on the other hand, $2^{<\kappa}$ is equal to $2^\mu$ for arbitrarily large $\mu<\kappa$ and therefore, by König's theorem again, cannot have cofinality $<\kappa$.  
So the final result is (under the hypothesis of the exercise) that $2^\kappa$ equals $2^{<\kappa}$ if this has cofinality $\geq\kappa$, and equals $(2^{<\kappa})^+$ otherwise.  (Less rigorous but easy to remember summary: $2^\kappa$ has the smallest value it could possibly have, given $2^{<\kappa}$ and given König's theorem.)
