What does exactly it means when we say $f(S)$ generates a free module 

In the theorem above, it proves that $f(S)$ generates $F$, but I didn't understand which definition of 'generating' it used. It doesn't look like every element in $F$ can be written as a linear combination of elements in $f(S)$. What does it mean for $F$ to be generated by $f(S)$?
 A: The definition of "generated" is the usual one.  The proof doesn't directly show how to express an arbitrary element of $F$ as a linear combinations of elements of $f(S)$.  Rather, it defines $A$ as the submodule of $F$ generated by $f(S)$ (that is, the set of all elements of $F$ that can be written as linear combinations of elements of $f(S)$), and then proves that the inclusion map $i:A\to F$ is surjective (using a general criterion for when a homomorphism between modules is surjective, which it refers to as (2.5)).  This means that actually $F=A$, which is exactly what you want.
A: At the very beginning you have the definition of a free module. It seems that you would rather think of free modules as having a basis, which is completely fine. It can help at first if you think of them similarly as vector spaces. I suggest that you convince yourself that the given definition is equivalent with  $S$ being a basis for $F$. So in the language you are using, $f(S)$ is just another basis.
However, I do suggest that you work with the categorical approach used rather than using the bases.
