% The block diagram code is probably more verbose than necessary \begin{tikzpicture}[auto, node distance=2cm] \node[problem] (kol) {\problem{KOL}}; \node[solution, right of=kol] (r-kol) {T/N}; \node[left of=kol] (i-kol) {$G, n$}; \node[problem, below of=kol] (kk) {\problem{KK}}; \node[solution, right of=kk] (r-kk) {T/N}; \node[left of=kk, align=center] (i-kk) {$G, c, c_k, k,$ \\ $c_{k+1}, c_{k+2}, \ldots$}; \draw[->, alpha, left] (i-kol) -- node[right] {$f$} (i-kk); \draw[->] (kol) -- (r-kol); \draw[->] (kk) -- (r-kk); \draw[->] (i-kol) -- (kol); \draw[->] (i-kk) -- (kk); \draw[Implies-Implies, double distance=2pt] (r-kol) -- (r-kk); \end{tikzpicture}