Baby Rudin exercise 1.6: Is this the proof Rudin expects? 
$\bf Exercise\, 1.6$
Fix $b>1.$
Prove that if $m,n,p,q$ are integers, $n>0,q>0$ and $r=m/n=p/q$, then
$$
(b^m)^{1/n}=(b^p)^{1/q}.
$$

I'm not really sure what I can assume and what  I can't assume, I think that all I need is $(x^y)^z=x^{yz}$ for integers $y,z$, but I'm not sure how to prove this (I don't even know what the expected definition of exponentiation is!).
Attempt
$$
\begin{align}
\left((b^m)^{1/n}\right)^n&=b^m\quad \text{By Theorem 1.21 (I think).}\\
\left((b^m)^{1/n}\right)^{nq}&=b^{mq}\quad \text{Here I use $(x^y)^z=x^{yz}$.}\\
\left((b^m)^{1/n}\right)^{nq}&=b^{np}\quad \text{As $mq=np$.}\\
\left((b^m)^{1/n}\right)^{qn}&=b^{pn}\quad 
\end{align}
$$
Then, taking $n$-th and then $q$-th roots, we get our desired result (I think this is possible, again, by theorem $1.21$, but I'm not sure).
Could someone check my proof and tell me which facts about exponentiation we are allowed to assume and use for these kind of proofs?

Rudin defined $b^n; n \in \mathbb Z$ as notation to mean $b^n = b\cdot b ..b$.  Simple grouping allows you to assume $b^nb^m = b \cdot b...b \cdot b\cdot b....b = b^{n+m}$ and $(b^n)^m = b^{nm}$.
By theorem 1.21 you know that for $b^m$ there exists a unique $d := (b^m)^{1/n}$ such that $d^n = b^m$.
The excercise is to show if $m/n = p/q$ then $(b^p)^{1/q} = (b^m)^{1/n}$.
Your proof is mostly good.
$((b^p)^{1/q})^{mq} = ([(b^p)^{1/q})^q]^m = ([b^p]^m) = b^{pm}$  So $(b^p)^{1/q} = (b^{pm})^{1/mq}$ which is a uniquely defined number by th 1.21
$((b^m)^{1/n})^{np} = ([(b^m)^{1/n})^n]^p = ([b^m]^p) = b^{pm}$  So $(b^m)^{1/n} = (b^{pm})^{1/np}$ which is a uniquely defined number by th 1.21
But $1/np = 1/mq$ so $(b^{pm})^{1/np} =(b^{pm})^{1/mq}$ are both the same unique number.
So $(b^p)^{1/q} = (b^{pm})^{1/mq} = (b^{pm})^{1/np}= (b^m)^{1/n}$ are all different ways of expressing the same unique number.
Thus defining $b^r$ as $(b^m)^{1/n}$ when $r = m/n$ is consistant, not ambiguous, and always existent.  Thus it is "well-defined".
