I was going through some of my intro maths logic textbooks, and tried to re-read them to kill sometime, but then I saw this
(a) All variables $v_n$ and all constant symbols $c_k$ are terms.
(b) If $t_1, \dots, t_{\mu(j)}$ are terms, then so is $f_j(t_1, \dots, t_{\mu(j)})$.
(c) No other strings of symbols are terms.
Here $\mu$ is a function that, to each $j \in J$, assigns the "arity" (= number of arguments) $\mu(j)$ to the function symbol $f_j$; thus, $\mu(j) \ge 1$.
This $\mu(j)$ was concerning. If $f_j$ is a function with $j$-arity, then isn't valid to say that $\mu_1(j_{\mu'(1)})$ is a $1$-arity function? Then, it means that there is another $\mu'$ function to do the work (and the cycle keeps repeating...)? This seems circular to me, and I don't see why it is even needed. We could just assume that this is some indexing without needing to define a function for it (i.e. notation with some meta interpretation which shouldn't be syntactically formed and is just there for readability), or does that guarantee some sort of distinctiveness (although, it is not clear how this "function" works so far)?
Also, it seems bad to use $\in$ this early on but I do get the author's intention here, and how it is not a part of FOL (first-order logic). Can someone tell me if this circular method causes any trouble, and if so, how could it be fixed (I think I already know how, but I want to see what other peeps have to say)? And also, whether this should be a primitive notion (i.e. the function) or not? (Ps. a primitive is an unbreakable/intuitive idea... for example, logical connectives like "AND" which are just primitives.)