Finitely presented module + flat implies projective Let $M$ be a finitely presented module. Show that $M$ is flat if and only if $M$ is projective. I think I am fine with the part "projective" implies flatness but I need help on showing that flatness + finitely presented modules implies projective. 
Any help on this part will be great.
 A: This proof maybe is too long, but anyways I decided to post it. We begin with the following definition: if $B$ is a right $R$-module, the its character module is defined by $B^*=\text{Hom}_{\Bbb{Z}}(B,\Bbb{Q}/\Bbb{Z})$. This is a left $R$-module by defining $(rf)(m)\mapsto f(mr)$ for $r\in R$ and $f\in \text{Hom}_{\Bbb Z}(B,\Bbb{Q}/\Bbb{Z})$.
We have the following lemmas:
Lemma 1: A sequence of right $R$-modules $$A_1\longrightarrow A\longrightarrow A_2$$ is exact if only if the sequence of character modules $$A_2^*\longrightarrow A^*\longrightarrow A_1^*$$ is exact.
Proof: I let you to prove this nice result.
Lemma 2: Let $R, S$ be rings. If $M$ is a finitely presented (f.p.) left $R$-module and $N$ is a $(R,S)$-bimodule, then $$\sigma:N^*\otimes_{R}M\longrightarrow \text{Hom}_{R}(M,N)^*$$ is an isomorphism.
Proof: As $M$ is f.p. then there are $m,n\in \Bbb{N}$ such that $$R^m\longrightarrow R^n\longrightarrow M\longrightarrow 0$$ is an exact sequence of left $R$-modules.
If $M=R$, then as $N^*\otimes R\cong N^*$ and $\text{Hom}_R(R,N)\cong N$ it follows that $\text{Hom}_{R}(R,N)^*\cong N^*\otimes R$. Therefore $$N^*\otimes_{R} R^m=N^*\otimes \bigoplus_{i=1}^m R \cong \bigoplus_{i=1}^m (N^*\otimes_{R} R)\cong \bigoplus_{i=1}^m \text{Hom}_R(R,N)^*=\bigoplus_{i=1}^m\text{Hom}_{\Bbb Z}\Bigl(\text{Hom}_R(R,N),\Bbb Q/\Bbb Z\Bigr)\cong \text{Hom}_{\Bbb Z}\Bigl(\bigoplus_{i=1}^m \text{Hom}_R(R,N),\Bbb Q/\Bbb Z\Bigr)\cong \text{Hom}_{\Bbb Z}(\text{Hom}_R(R^m,N),\Bbb Q/\Bbb Z)=\text{Hom}_R(R^m,N)^*.$$
Now, if we apply $N^*\otimes_R$ to the exact sequence given lines above we get the following commutative diagram 
$$
\newcommand{\ra}[1]{\kern-1.5ex\xrightarrow{\ \ #1\ \ }\phantom{}\kern-1.5ex}
\newcommand{\ras}[1]{\kern-1.5ex\xrightarrow{\ \ \smash{#1}\ \ }\phantom{}\kern-1.5ex}
\newcommand{\da}[1]{\bigg\downarrow\raise.5ex\rlap{\scriptstyle#1}}
\begin{array}{c}
N^*\otimes_R R^m & \longrightarrow & N^*\otimes_R R^n & \longrightarrow & N^*\otimes_R M & \longrightarrow & 0 \\
\da{\cong} & & \da{\cong} & & \da{\sigma} \\
\text{Hom}_R(R^m,N)^* & \longrightarrow & \text{Hom}_R(R^n,N)^* & \longrightarrow & \text{Hom}_R(M,N)^* & \longrightarrow & 0 \\
\end{array}
$$ 
Where the exactness of the top row follows by applying $\text{Hom}_R(\_\,,N)$ and $\text{Hom}_R(\_\,,\Bbb Q/\Bbb Z)$, noting that $\Bbb Q/\Bbb Z$ is an injective $R$-module. Finally, by the three lemma we deduce that $\sigma$ is an isomorphism.

Now we'll prove the theorem. Let 
$$\begin{array}{c}
N & \ra{\phi} & N_0\longrightarrow 0
\end{array}
$$
be an exact sequence. It's enough to prove that
$$\begin{array}{c}
\text{Hom}_R(M,N) & \ra{\phi_*} & \text{Hom}_R(M,N_0)\longrightarrow 0
\end{array}
$$
is an exact sequence. Remember that $\phi_*\colon \text{Hom}_R(M,N)\rightarrow \text{Hom}_R(M,N_0)$ is defined by $\phi_*(f)=\phi\circ f$.
By lemma 1 we have that $$0\longrightarrow N_0^*\longrightarrow N^*$$ is exact. Applying $\otimes_R M$ we find the commutative diagram
$$
\newcommand{\ra}[1]{\kern-1.5ex\xrightarrow{\ \ #1\ \ }\phantom{}\kern-1.5ex}
\newcommand{\ras}[1]{\kern-1.5ex\xrightarrow{\ \ \smash{#1}\ \ }\phantom{}\kern-1.5ex}
\newcommand{\da}[1]{\bigg\downarrow\raise.5ex\rlap{\scriptstyle#1}}
\begin{array}{c}
0 & \longrightarrow & N_0^*\otimes_R M & \longrightarrow & N^*\otimes_R M\\
& & \da{\cong} & & \da{\cong}\\
0 & \longrightarrow & \text{Hom}_R(M,N_0)^* & \longrightarrow & \text{Hom}_R(M,N)^*\\
\end{array}
$$
As $M$ is flat then the top row is exact, and the vertical maps are isomorphisms by lemma 2, so the bottom row is also exact. Thus by lemma 1 we deduce that $$\text{Hom}_R(M,N)\longrightarrow \text{Hom}_R(M,N_0)\longrightarrow 0$$ is an exact sequence. Hence, $M$ is projective.   
