\begin{circuitikz}
%Normal sintaxis
\draw[color=blue] (0,0) 
    to [lamp, l=Sup-Lg,i_=i] ++(1.5,0)
    to [lamp, l=Sup-Rg,i=i] ++(1.5,0)
    to [lamp, l_=Inf-Rg,i=i] ++(1.5,0)
    to [lamp, l_=Inf-Lg,i=i] ++(1.5,0)
    to [short] ++(0,2)
    to [lamp, l=Sup-Lg,i=i] ++(-1.5,0)
    to [lamp, l=Sup-Rg,i=i] ++(-1.5,0)
    to [lamp, l_=Inf-Rg,i=i,invert] ++(-1.5,0) %invert command change symbol direction, has no effect in lamp
    to [lamp, l_=Inf-Lg,i=i] ++(-1.5,0);

%Bad sintaxis, that not define a circuit
\draw[color=blue] (1.5,-2)
    to [lamp, l=Sup-Rg,i=i] ++(1.5,0)
    to [lamp, l_=Inf-Lg,i=i] ++(1.5,0);
\draw[color=red] (6,-2)
    to [lamp, l=Sup-Rg,i=i] ++(-1.5,0);
\draw[color=green] (1.5,-2)
    to [lamp, l_=Inf-Lg,i=i] ++(-1.5,0);

%Revision draws
\draw[|-|,orange,thick] (1.2,0) -- ++(0,0.55) node[midway,right=-2pt]{\scriptsize 0.55};
\draw[|-|,orange,thick] (3.8,0) -- ++(0,-0.6) node[midway,right=4pt]{\scriptsize 0.6};
\draw[|-|,orange,thick] (1.2,2) -- ++(0,0.6) node[midway,right=-2pt]{\scriptsize 0.6};
\draw[|-|,orange,thick] (5.5,2) -- ++(0,-0.55) node[midway,right=4pt]{\scriptsize 0.55};

\draw[|-|,orange,thick] (1.2,-2) -- ++(0,0.6) node[midway,right=-2pt]{\scriptsize 0.6};
\draw[|-|,blue,thick] (5.5,-2) -- ++(0,-0.55) node[midway,right=4pt]{\scriptsize 0.55};

\draw[->,orange,thick] (.5,-.5) -- ++(2,0) node[midway,below=-2pt]{\scriptsize normal};
\draw[->,orange,thick] (3.5,.5) -- ++(2,0) node[midway,above=-2pt]{\scriptsize normal};
\draw[->,orange,thick] (2.5,-2) -- ++(1,0) node[midway,above=-2pt]{\scriptsize normal};
\draw[<-,orange,thick] (5,-1.5) -- ++(1,0) node[midway,above=-2pt]{\scriptsize reverse};
\draw[<-,orange,thick] (0.5,-2.5) -- ++(1,0) node[midway,below=-2pt]{\scriptsize reverse};
\draw[<-,orange,thick] (0.5,1.5) -- ++(2,0) node[midway,below=-2pt]{\scriptsize reverse};
\draw[<-,orange,thick] (3.5,2.5) -- ++(2,0) node[midway,above=-2pt]{\scriptsize reverse};

%finally with diodes:
\draw[color=blue](0,-4)
    to [D*,l=Sup-Lg,i=i] ++(1.5,0)
    to [D*,l=Sup-Rg,i=i,invert] ++(1.5,0) % invert has effect, but not in current.
    to [D*,l_=Inf-Lg,i<=i,invert] ++(1.5,0) % i<, is used to change the current.
    to [D*,l_=Inf-Lg,i=i] ++(1.5,0);

\draw[color=blue](1.5,-6)
    to [D*,l=Sup-Lg,i=i] ++(1.5,0)
    to [D*,l_=Inf-Rg,i=i] ++(1.5,0);
\draw[color=green](1.5,-6)
    to [D*,l_=Inf-Lg,i=i] ++(-1.5,0);
\draw[color=red](6,-6)
    to [D*,l=Sup-Lg,i=i] ++(-1.5,0);

\end{circuitikz}