Q: Show that $\{a,b\}^* = \{a\}^*(\{b\}\{a\}^*)^*$.
I am aware of the fact that both sides are sets, infinite sets actually. So for example showing that both sides are subsets of each other would be a proof. But I don't know how to proceed if I choose to do that way. Should I use mathematical induction instead on the string length? It's my first time seeing something like this so I really am lost and open to any help.

HINT: Since $\{a,b\}^*$ is the set of all finite strings over the alphabet $\{a,b\}$, and every member of $\{a\}^*(\{b\}\{a\}^*)^*$ is clearly a string over that alphabet, the inclusion
$$\{a\}^*(\{b\}\{a\}^*)^*\subseteq\{a,b\}^*$$
is clear. Thus, you really just have to show that every string over $\{a,b\}$ is in $\{a\}^*(\{b\}\{a\}^*)^*$.
Induction on the length of the string is a reasonable idea, but you may find it easier to proceed by induction on the number of $b$s in the string. If there are none, then the string is clearly in $\{a\}^*$, which is easily seen to be a subset of $\{a\}^*(\{b\}\{a\}^*)^*$. For the induction step, suppose that every string in $\{a,b\}^*$ with $n$ $b$s is in $\{a\}^*(\{b\}\{a\}^*)^*$, let $\sigma\in\{a,b\}^*$ have $n+1$ $b$s, and show that $\sigma\in\{a\}^*(\{b\}\{a\}^*)^*$. To do this, you’ll want to split $\sigma$ appropriately into two substrings.