The only functions $ f : \mathbb R ^ + \to \mathbb R ^ + $ satisfying
$$ f \left( x ^ { f ( y ) } \right) = f ( x ) ^ y \tag 0 \label 0 $$
are $ f ( x ) = 1 $ and $ f ( x ) = x $. It's easy to check that these indeed satisfy \eqref{0}. We show that if there is an $ a \in \mathbb R ^ + $ such that $ f ( a ) \ne 1 $, then $ f $ is the identity function, and thus those are the only solutions.
First, note that letting $ x = a $ in \eqref{0} we can conclude that if $ f ( y ) = f ( z ) $, then $ f ( a ) ^ y = f ( a ) ^ z $, and since $ f ( a ) \ne 1 $, thus $ y = z $, which shows that $ f $ is injective. Then, use \eqref{0} to get
$$ f \left( 2 ^ { f ( x y ) } \right) = f ( 2 ) ^ { x y } = \big( f ( 2 ) ^ x \big) ^ y = f \left( 2 ^ { f ( x ) } \right) ^ y = f \left( \left( 2 ^ { f ( x ) } \right) ^ { f ( y ) } \right) = f \left( 2 ^ { f ( x ) f ( y ) } \right) \text , $$
which by injectivity of $ f $ shows that
$$ f ( x y ) = f ( x ) f ( y ) \text . \tag 1 \label 1 $$
Now, using \eqref{0} and \eqref{1} we have
$$ f \left( 2 ^ { f ( x + y ) } \right) = f ( 2 ) ^ { x + y } = f ( 2 ) ^ x f ( 2 ) ^ y = f \left( 2 ^ { f ( x ) } \right) f \left( 2 ^ { f ( y ) } \right) = f \left( 2 ^ { f ( x ) } 2 ^ { f ( y ) } \right) = f \left( 2 ^ { f ( x ) + f ( y ) } \right) \text , $$
which again shows that
$$ f ( x + y ) = f ( x ) + f ( y ) \text . \tag 2 \label 2 $$
It's a well-known fact that the only functions $ f : \mathbb R ^ + \to \mathbb R ^ + $ satisfying \eqref{2} are the functions of the form $ f ( x ) = c x $ for some $ c \in \mathbb R ^ + $. The idea is to follow these steps:
- show $ f ( n x ) = n f ( x ) $ for every $ n \in \mathbb Z ^ + $ and every $ x \in \mathbb R ^ + $, by induction and using \eqref{2};
- show $ f ( q ) = c q $ for every $ q \in \mathbb Q ^ + $ where $ c = f ( 1 ) $, using the previous step;
- use the fact that $ f $ is increasing by \eqref{2} and the fact that $ f $ only takes positive values.
The additional property \eqref{1} forces $ c = 1 $ by letting $ x = y = 1 $, and thus the only function $ f : \mathbb R ^ + \to \mathbb R ^ + $ satisfying both \eqref{1} and \eqref{2} is the identity function.