
\documentclass[tikz,border=10pt]{standalone}


\RequirePackage{luatex85}
\usepackage[utf8]{inputenc}
\usepackage{amsmath, amssymb, amsfonts, accents}
\usetikzlibrary{graphdrawing, graphs, arrows, shapes, automata, calc, decorations}
\usepackage{stix}


\newcommand{\Xund}{\rule{.4em}{.4pt}}
\newcommand{\IRE}{I\!RE}
\newcommand{\Eps}{E\!ps}
\newcommand{\Sym}{S\!ym}
\newcommand{\Alt}{Alt}
\newcommand{\Cat}{C\!at}
\newcommand{\Rep}{Rep}
\newcommand{\Xop}{X\!op}
\newcommand{\fix}{f\!ix}


\begin{document}

\def\offs{-0.5in}
\def\widd{1.6in}
\def\dist{1.15in}

\begin{tikzpicture}[>=stealth, ->, auto, node distance=\dist]

\tikzstyle{every node}=[draw=none]
\tikzstyle{every state}=[rectangle, rounded corners = 6, minimum size=0.2in, inner sep = 2pt]

\tikzset{style1/.style={draw, rectangle, rounded corners = 11, minimum width = \widd, minimum height = 0.3in, xshift = \offs}}
\tikzset{style2/.style={state, accepting, xshift = \offs}}

\newcommand \tnfa {tn\!f\!a}
\newcommand \ntags {ntag}


\begin{scope}[xshift=0in, yshift=0in]

%\begin{scope}[xshift=0in, yshift=0in]
%    \node[draw=none] (a) {$\hphantom{\hspace{1in}}$};
%\end{scope}

\begin{scope}[xshift=0in, yshift=0in]
    \node[state, accepting] (a) {$q_f$};
    \node [label={[label distance=0.1in, below right]270:\large{(a) \;}
    $\tnfa(\Eps(0, \emptyset),\; q_f) $}] (a) {};
\end{scope}

\begin{scope}[xshift=0in, yshift=-0.8in]
    \node[state] (a) {$q_0$};
    \node[state, accepting, right of=a] (b) {$q_f$};
    \path (a) edge node {$a / \epsilon$} (b);
    \node [label={[label distance=0.1in, below right]270:\large{(b) \;}
    $\tnfa(\Sym(0, \emptyset, a),\; q_f) $}] (a) {};
\end{scope}

\begin{scope}[xshift=0in, yshift=-1.6in]
    \node[state] (a1) {$q_1$};
    \node[style1, right of = a1] (a) {$\tnfa(e_1, q_2)$};
    \node[style2, right of = a] (a2) {$q_2$};
    \node[style1, right of = a2] (b) {$\tnfa(e_2, q_f)$};
    \node[style2, right of = b] (b2) {$q_f$};
    \node [label={[label distance=0.2in, below right]270:\large{(c) \;}
    $\tnfa(\Cat(0, \emptyset, e_1, e_2),\; q_f) $}] (a1) {};
\end{scope}

\begin{scope}[xshift=0in, yshift=-2.9in]
    \node[state] (a) {$q_0$};
    \node[state, above right of = a, yshift = -0.45in] (b1) {$q_1$};
    \node[style1, right of = b1] (b) {$\tnfa(e_1, q'_2)$};
    \node[style2, right of = b] (b2) {$q'_2$};
    \node[style1, right of = b2, rotate around={-16:(b2)}] (d) {$\ntags(M_2, q_f)$};

    \node[state, below right of=a, yshift = 0.45in] (c1) {$q'_1$};
    \node[style1, right of = c1] (c2) {$\ntags(M_1, q_2)$};
    \node[style2, right of = c2] (c3) {$q_2$};
    \node[style1, right of = c3, rotate around={16:(c3)}] (c) {$\tnfa(e_2, q_f)$};
    \node[style2, right of = c, rotate around={16:(c)}] (d) {$q_f$};
    \path
        (a)  edge [bend left]  node {$1 / \epsilon$} (b1)
        (a)  edge [bend right] node [below left] {$2 / \epsilon $} (c1)
    ;
    \node [label={[label distance=0.5in, below right]270:\large{(d) \;}
    $\tnfa(\Alt(0, \emptyset, e_1, e_2),\; q_f) $}] (a) {};
\end{scope}

\begin{scope}[xshift=0in, yshift=-4.2in]
    \node[state] (a1) {$q_1$};
    \node[style1, right of = a1] (a) {$\tnfa(e_1, q_2)$};
    \node[style2, right of = a] (a2) {$q_2$};
    \node[style1, right of = a2, minimum width = 2.6in, xshift = 0.5in] (b) {$\tnfa(\Rep(0, \emptyset, e_1, n\!-\!1, m\!-\!1), q_f)$};
    \node[style2, right of = b, xshift = 0.5in] (b2) {$q_f$};
    \node [label={[label distance=0.2in, below right]270:\large{(e) \;}
    $\tnfa(\Rep(0, \emptyset, e_1, n, m),\; q_f) \mid_{1 \,<\, n \,\leq\, m \,\leq\, \infty} $}] (a1) {};
\end{scope}

\begin{scope}[xshift=0in, yshift=-5.5in]
    \node[state] (a) {$q_0$};
    \node[state, above right of = a, yshift = -0.45in] (b1) {$q_1$};
    \node[style1, right of = b1, minimum width = 2.2in, xshift = 0.3in, rotate around={-11:(b1)}] (d) {$\tnfa(\Rep(0, \emptyset, e_1, 1, m),\! q_f)$};

    \node[state, below right of=a, yshift = 0.45in] (c1) {$q'_1$};
    \node[style1, right of = c1, minimum width = 2.2in, xshift = 0.3in, rotate around={11:(c1)}] (c) {$\ntags(M_1, q_f)$};
    \node[style2, right of = c, xshift = 0.3in, rotate around={11:(c)}] (d) {$q_f$};
    \path
        (a)  edge [bend left]  node {$1 / \epsilon$} (b1)
        (a)  edge [bend right] node [below left] {$2 / \epsilon $} (c1)
    ;
    \node [label={[label distance=0.5in, below right]270:\large{(f) \;}
    $\tnfa(\Rep(0, \emptyset, e_1, 0, m),\; q_f) $}] (a) {};
\end{scope}

\begin{scope}[xshift=0in, yshift=-7.2in]
    \node[state] (b1) {$q_0$};
    \node[style1, right of = b1] (b) {$\tnfa(e_1, q_1)$};
    \node[style2, right of = b] (b2) {$q_1$};

    \node[state, accepting, right of = b2] (c) {$q_f$};

    \path
        (b2) edge node {$2 / \epsilon$} (c)
    ;
    \draw (b2) .. controls ($ (b2) + (0.7, 1.5) $) and ($ (b1) + (-0.7, 1.5) $) .. node [above] {$1 / \epsilon$} (b1);
    \node [label={[label distance=0.2in, below right]270:\large{(g) \;}
    $\tnfa(\Rep(0, \emptyset, e_1, 1, \infty),\; q_f) $}] (b1) {};
\end{scope}

\begin{scope}[xshift=0in, yshift=-8.5in]
    \node[state] (b1) {$q_0$};
    \node[style1, right of = b1, xshift = -0.1in, minimum width = 1.4in] (b) {$\tnfa(e_1, q_1)$};
    \node[style2, right of = b, xshift = -0.1in] (b2) {$q_1$};

    \node[state, right of = b2, xshift = -0.6in] (c1) {$q_2$};
    \node[style1, right of = c1, xshift = 0.4in, minimum width = 2.4in] (c) {$\tnfa(\Rep(0, \emptyset, e_1, 1, m\!-\!1), q_f)$};
    \node[style2, right of = c, xshift = 0.4in] (c2) {$q_f$};

    \path
        (b2) edge node {$2 / \epsilon$} (c1)
    ;
    \draw (b2) .. controls ($ (b2) + (0, 2) $) and ($ (c2) + (0, 2) $) .. node [very near start] {$1 / \epsilon$} (c2);
    \node [label={[label distance=0.2in, below right]270:\large{(h) \;}
    $\tnfa(\Rep(0, \emptyset, e_1, 1, m),\; q_f) \mid_{1 \,<\, m \,<\, \infty} $}] (b1) {};
\end{scope}

\begin{scope}[xshift=0in, yshift=-9.5in]
    \node[state] (a) {$q_0$};
    \node[state, right of=a] (b1) {$q_1$};
    \node[style1, right of = b1] (b) {$\tnfa(e', q_2)$};
    \node[style2, right of = b] (b2) {$q_2$};
    \node[state, accepting, right of=b2] (d) {$q_f$};
    \path
        (a) edge node {$1 / 2i\!-\! 1 $} (b1)
        (b2) edge node {$1 / 2i $} (d)
    ;
    \node [label={[label distance=0.1in, below right]270:\large{(i) \;}
        $\tnfa(e,\; q_f) \mid_{i\,\neq\, 0} $
    }] (a) {};
\end{scope}

\begin{scope}[xshift=0in, yshift=-10.3in]
    \node[state] (a) {$q_0$};
    \node[state, accepting, right of = a] (b) {$q_f$};
    \path
        (a) edge node {$1 / -n $} (b)
    ;
    \node [label={[label distance=0.1in, below right]270:\large{(j) \;}
        $\ntags( M,\; q_f)$
    }] (a) {};
\end{scope}

\end{scope}


\end{tikzpicture}



\end{document}

