\definecolor{myred}{HTML}{d01e1e} \definecolor{myblue}{HTML}{0000FF} \definecolor{mygreen}{HTML}{129d1c} \begin{tikzpicture}[>=latex, node distance=1cm, on grid, auto] %, scale=0.6, transform shape] %Seq \node (S1) [draw, regular polygon, regular polygon sides=3, minimum size=1cm, shape border rotate=180, color=mygreen] {}; %{;}; \path (S1.west)+(-0.5,-1) node (SA2) [draw, circle, minimum size=0.5mm, dashed, color=myred] {}; \path (S1.east)+(0.5,-1) node (S2) [draw, rectangle, minimum size=0.5mm, color=mygreen] {}; \path[-,color=mygreen] (SA2) edge (S1); \path[-,color=mygreen] (S1) edge (S2); %A \node (A1) [draw, regular polygon, regular polygon sides=6, minimum size=1cm, color=myred, left of=SA2,xshift=-0.5cm] {}; %{A}; \path (A1.east)+(0.25,1) node (A2) [draw, circle, minimum size=0.5mm, color=myred] {}; \path[-,color=myred] (A1) edge (A2); %B \node (B1) [draw, regular polygon, regular polygon sides=5, minimum size=1cm, color=myblue, right of=S2,xshift=0.5cm] {}; %{B}; \path (B1.west)+(-0.25,1) node (B2) [draw, rectangle, minimum size=0.5mm, color=mygreen, dashed] {}; \path[-,color=myblue] (B2) edge (B1); \path (A2.west)+(-1.75,-0.5) node (arrow) [minimum size=0.5cm] {$\longrightarrow$}; \node at (arrow.north) (c) {$c$}; \path (arrow.west)+(-0.5,0) node (A) {A;B}; \end{tikzpicture}