The following code doesn't place labels correctly for the rightmost transitions and I don't understand why.
\documentclass[crop,tikz]{standalone}
\usepackage{pgf}
\usetikzlibrary{arrows,automata}
\begin{document}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick]
\node [state] (0) {$0$};
\node [state] (1) [right of=0] {$1$};
\node [state,draw=none] (2) [right of=1] {$\dots$};
\node [state] (n) [right of=2] {$n$};
\node [state] (n+1) [right of=n] {$n+1$};
\node [state,draw=none] (n+2) [right of=n+1] {$\dots$};
\node [state] (n+m) [right of=n+2] {$n+m$};
\path (0) edge [bend left=45] node {$v_1$} (1);
\path (0) edge [bend right=45] node {$\lnot v_1$} (1);
\path (1) edge [bend left=45] node {$v_2$} (2);
\path (1) edge [bend right=45] node {$\lnot v_2$} (2);
\path (2) edge [bend left=45] node {$v_n$} (n);
\path (2) edge [bend right=45] node {$\lnot v_n$} (n);
\path (n) edge [bend left=45] node {$(c_1, l_{1,1})$} (n+1);
\path (n) edge node {$(c_1, l_{1,2})$} (n+1);
\path (n) edge [bend right=45] node {$(c_1, l_{1,3})$} (n+1);
\path (n+1) edge [bend left=45] node {$(c_2, l_{2,1})$} (n+2);
\path (n+1) edge node {$(c_2, l_{2,2})$} (n+2);
\path (n+1) edge [bend right=45] node {$(c_2, l_{2,3})$} (n+2);
\path (n+2) edge [bend left=45] node {$(c_m, l_{m,1})$} (n+m);
\path (n+2) edge node {$(c_m, l_{m,2})$} (n+m);
\path (n+2) edge [bend right=45] node {$(c_m, l_{m,3})$} (n+m);
\end{tikzpicture}
\end{document}