I am self-studying formal languages and want to solve an example problem. Given formal languages $A,B\subset\Sigma^*$ over an alphabet $\Sigma=\{a,b,c\}$ with $$A=\{\omega\in\Sigma^*\vert\left|\omega_a\right|=\left|\omega_b\right|=\left|\omega_c\right|\}$$ and $$B=\{a^ib^jc^k\vert i,j,k\in\mathbb{N}\}$$ where $\left|\omega_n\right|$ denotes the number of $n$s in the word $\omega\in\Sigma^*$, I want to prove that $A$ is reducible to $B$, i.e. that there exists a computable (total) function $f:\Sigma^*\rightarrow\Sigma^*$ for which it holds that $\omega\in A\iff f(x)\in B$ for all words $\omega\in\Sigma^*$.
I think a suitable function would be given by $f(\omega):=abca^{\vert\left|\omega_a\right|-\left|\omega_b\right|\vert}b^{\vert\left|\omega_b\right|-\left|\omega_c\right|\vert}$, for which the required equivalence obviously holds. But it is not clear to me how I would best prove that this function is (Turing-)computable. Do I have to produce an explicit Turing machine which takes a word $\omega$ as input and outputs $f(\omega)$, or is there a more straightforward way? Also, is there a way to intuitively see that this function is computable?