To clarify from the beginning: I'm having a foreign source which I struggle to interpret. So, I don't even know which of the three free objects it is I'm asking about and will just try to faithfully translate the problem.
We've got a set $M$ of equations. Each equation is of the form $a = b$, where $a,b$ are terms as defined by predicate logic.
For $F\in M$, we define a one-step term rewriting as $\xrightarrow{F}\quad$ , which works like this:
If $G,G'$ are terms, then $G \xrightarrow{F}G'$ means that there's some substitution $\sigma$ (i.e. a number of variables are replaced by terms that don't contain the variable the're supposed to replace)
, so that the left-hand-side of $\sigma(F)$ matches a term in $G$, and replacing this single term by the right-hand-side of $\sigma(F)$ gives us $G'$.
Further, we define $\xrightarrow{M}$ as the term rewriting system over the set $M$, so that $G \xrightarrow{M}G'$ means that there's a chain
$G \xrightarrow{F_1}G_1 \xrightarrow{F_2}... \xrightarrow{F_{n-1}} G_{n-1} \xrightarrow{F_n}G'$, and
$\stackrel{\mathrm{M}}{\longleftrightarrow}$ as the reflexive, symmetric, transitive hull of $\xrightarrow{M}$, where the orientation of the equations in $M$ doesn't matter anymore
(i.e. similar to $G \xrightarrow{M}G'$, $G\stackrel{\mathrm{M}}{\longleftrightarrow} G'$ means there's a chain $G \stackrel{\mathrm{F_1}}{\longleftrightarrow}G_1 \stackrel{\mathrm{F_2}}{\longleftrightarrow} ... \stackrel{\mathrm{F_{n-1}}}{\longleftrightarrow}G_{n-1} \stackrel{\mathrm{F_{n}}}{\longleftrightarrow}G'$ where $G_{i-1}\stackrel{\mathrm{F_{i}}}{\longleftrightarrow}G_i$ means either $G_{i-1} \xrightarrow{F_i}G_i\,\,$ or $\,\,G_{i-1} \xleftarrow{F_i}G_i$ )
Now, we build two sets out of $M$:
1) $X$ - the set that contains all variables that appear in $M$
2) $T$ - the set that contains all terms we can build using the variables and terms that appear in $M$
Now, finally, we can define the free modell/algebra/theory:
As $\,\,\stackrel{\mathrm{F}}{\longleftrightarrow}$ is an equivalence relation, we create another set $T/M$ out of $T$, by sorting $T$ into equivalence classes, with $T/M$ being the free modell/algebra/theory and having the following property:
For all equations F: $l=r$ in $M$ and every fitting interpretation $\alpha = (T/M,\phi)$ (where $\phi$ assigns the function symbols to functions) holds $\alpha(F) = 1$, i.e. no matter how you interpret the variables, the equation holds.
This simply doesn't make sense to me, unless of cause $|U| = 1$, where of cause everything is equal.
Let's say e.g. I have an equation $a = b$ in $M$, where $a,b$ are variables. Then, if there were two elements in $U$, then we'd be able to substitute both elements on either side, and therefore they'd be, seen by the equivalence relation, the same equivalence class, hence one element.
Same if I got an equation of two functions $f(...) = g(...)$ - as I can interpret them as I want, if there were two elements in $U$, I could simply set $f$ constant to the first element, and $g$ constant to the second element, and once again there'd only be one equivalence class if the statement actually holds.
Finally, same happens if you got a variable on one side and a function on the other.
So, is the free whatever simply pointless, or where is my grave missunderstanding?
For good measure I'll put the proof as in the book:
For all equations F: $l=r$ in $M$ and every fitting interpretation $\alpha = (T/M,\phi)$ (where $\phi$ assigns the function symbols to functions) holds $\alpha(F) = 1$, i.e. no matter how you interpret the variables, the equation holds.
Proof
Let $\beta = (T/M,\phi,\xi) $ be a structure that fits to $\alpha$ (and where $\xi$ maps the variable symbols to elements of the universe).
Let $\xi(x_i) = [t_i]$ where $t_i\in T$ (and $[t_i]$ stands for the equivalence class of the term $t_i$).
Further let $\sigma$ be the substitution $x_i \rightarrow t_i $ for $x_i\in X$.
To proof $\beta(x) = 1$, we have to show $[\sigma(l)] = [\sigma(r)]$. This means $\sigma(l) \stackrel{\mathrm{M}}{\longleftrightarrow} \sigma(r)$, and follows from $l \stackrel{\mathrm{M}}{\longleftrightarrow} r$ (by a previous theorem)
Let's say I've got two equations: $$ f_1(x) = f_2(y) \\ f_3(x) = f_4(x) $$
As there's no possibility to get from $f_1 $ to $ f_3$, there's at least two equivalence classes, i.e. $[f_1(x)]$ and $[f_3(x)]$. Let's call them $0$ and $1$.
Now, as $0,1 \in T/M$, the statement says, that no matter how I interpret the functions, the equations above both will be true.
But if I now pick
$\phi(f_1) = 0 \quad$ (for all possible values of x)
$\phi(f_2) = 1 \quad$ (for all possible values of x)
The equations $ f_1(x) = f_2(y)$ obviously is false, as all substitutions lead to $ 0 = 1$.
You have things backwards: the point is that in forming the free model, we only make two terms equivalent if the absolutely have to be. Just because there is some way of interpreting the variables/functions involved such that the terms are equal doesn't mean that they're equivalent, since what we need is that every way of interpreting the variables/functions involved makes the terms in question equal.
I think it's best to define the free model in a slightly different way. I'm going to give that definition here, and look at the specific example of a free group.
We start with a language $L$ and a set $\mathcal{E}$ of equations in $L$ using some set of variables $Y$. The idea is that from a set of variables $X$ disjoint from $Y$ (for simplicity), $\mathcal{E}$ determines a rewriting system - and hence an equivalence relation - on the set $T_{L, X}$ of terms in the language $L$ using the variables from $X$.
For example, take $L=\{*, ^{-1}, e\}$ to be the language of groups, $Y=\{a, b, c\}$, and $\mathcal{E}$ the set consisting of the following equations:
$a*(b*c)=(a*b)*c$
$a*e=a$
$e*a=a$
$a*a^{-1}=e$
$a^{-1}*a=e$
$(a^{-1})^{-1}=a$
(I'm not claiming that $\mathcal{E}$ isn't redundant, but who cares?)
The rewriting system corresponding to $\mathcal{E}$ is given in the obvious way: we allow substitution of terms for variables in $Y$. And we get the natural equivalence relation $\equiv_\mathcal{E}$ corresponding to this. So for example if our set of variables $X$ contains $x_1, x_2, x_3$ and $\mathcal{E}$ is as above, we have that the terms $x_1*((x_2*x_2)*x_3)$ and $(x_1*(x_2*x_2))*x_3$ are $\mathcal{E}$-equivalent. Namely, apply the first equation in $\mathcal{E}$, substituting $x_1$ for $a$, $x_2*x_2$ for $b$, and $x_3$ for $c$. I'm not going to precisely define this, but it should be clear what it means, and giving a precise definition is a good exercise.
Let's now look at a few cases, where $L, Y,\mathcal{E}$ are as above:
Suppose $X=\emptyset$. Then the only terms we have are built out of $L$ itself; for example, $e^{-1}*(e*e)$ is such a term. It's not hard to show by induction that they are all $\mathcal{E}$-equivalent, by induction on the complexity of the term. So our free model in this case has a single element, and is the trivial group.
Suppose $X=\{x\}$. We have all the same terms as in the previous case, plus new ones such as $x*(e^{-1}*x)$. We can now prove a normal form theorem, that every term in this context is $\mathcal{E}$-equivalent to either $e$, or a term of the form $(...((x*x)*x)*x)*x)...)$, or a term of the form $(...((x^{-1}*x^{-1})*x^{-1})*x^{-1})*x^{-1})...)$; however, we can also prove that this is all we can say. E.g. the terms $x$ and $x*x$ are not equivalent! I'm going to leave this argument for the end of the answer, but it should be clear intuitively that there's no way to get from $x$ to $x*x$ by repeatedly applying equations in $\mathcal{E}$.
Suppose $X=\{x_1, x_2\}$. Now we have a more complicated situation. In the previous case, we could prove by induction on the complexity of the terms involved that $t_1*t_2$ and $t_2*t_1$ are always equivalent, whenever $t_1,t_2$ are terms in $L$ using variables from $\{x\}$. Now, however, commutativity fails: there is no way to go from $x_1*x_2$ to $x_2*x_1$ using the equations we have.
In general, taking $X$ to be a set containing $n$ variables, we get the free group on $n$ generators.
Now, let me end by saying a bit about how we analyze these objects. In particular, I made the claim above in my second example that $x$ and $x*x$ are not equivalent; how is this proved?
There are many ways to think about it; let me give a "syntactic" one, since I think this will at first be more comfortable. To any term $t$ in $L$ with variables from $X$ we can associate a number $\#(t)$, which is the "net number of $x$s in $t$." Basically, we put $t$ into normal form, and count the number of $x$s (treating "$x^{-1}$" as "negative one $x$s"). For example, you can show:
$\#(e*x)=1$
$\#((x*x)^{-1}*x)=-1$
Now the key point is this: if $t_1$ and $t_2$ are equivalent, then $\#(t_1)=\#(t_2)$. This is pretty easy to prove by induction on the complexity of the terms, and it immediately shows that $x$ and $x*x$ aren't equivalent. So our free model doesn't collapse!
Now go back to the bolded statement above. It's not hard to show that the converse holds as well - that is, if $\#(t_1)=\#(t_2)$ then $t_1$ and $t_2$ are equivalent. So we have a bijection from elements of the free model to integers! In fact, it's not hard to prove that this preserves the group structure:
(Here "$-$" is a unary function: "$-(x)$" is just "$-x$.")
In general, you can find an appropriate normal form theorem, and use it to give concrete descriptions of the free models which you can analyze directly. For example, a similar argument can show that in the third example, the terms "$x_1*x_2$" and "$x_2*x_1$" aren't equivalent. It's harder however, since the normal form in that situation is messier.
The most important fact, though, is the following theorem:
(We can replace "$n$" here by any cardinal, by the way.) This lets us immediately prove that the free group on $2$ generators isn't abelian, for example, since the quaternion group is nonabelian and generated by two elements but there is never a surjective homomorphism from an abelian group to a nonabelian group.