Equation connected by lines

From the question, without code given, it is difficult to tell how easy/difficult the OP's current implementation is. So I put this forward, realizing that it may be step backward. If so, please advise, and I will remove the answer.

REVISED ANSWER:

Here, I create three macros \topeq, \mideq, and \boteq, each with one optional argument. The first extends a short vertical bar downward from the equal sign, as if were the top equation in the list; the second extends a short bar upward and downward; the third extends a bar upward, as if it were the last equation on the list. For textstyle equations, this should be sufficient to solve the problem. However, if the equations extend vertically in display style, the bars will be too short as shown below:

enter image description here

For this reason, the optional argument to each of these macros is a length to make one of the bars (for \topeq, it is the bar length below the =, for \mideq and \boteq, it is the length to extend above the =).

THE ADVANTAGE TO THIS APPROACH over my original solution is that one does not need the exact length of the vertical bar, rather one only needs to make it long enough to overlay the adjacent bar. Thus, the optional argument length typically has to only be accurate to, let's say, 1ex. The other advantage, as already mentioned, is that for textstyle equations, no optional arguments should be needed.

\documentclass{article}
\usepackage{amsmath}
\usepackage{stackengine}
\newcommand\topeq[1][1ex]{%
  \mathrel{\stackunder[0pt]{=}{\smash{\rule[-#1]{.5pt}{#1}}}}%
}
\newcommand\boteq[1][1.5ex]{%
  \mathrel{\stackon[1.6pt]{=}{\smash{\rule{.5pt}{#1}}}}%
}
\newcommand\mideq[1][1.5ex]{%
  \mathrel{\stackon[1.6pt]{%
    \stackunder[0pt]{=}{\smash{\rule[-1ex]{.5pt}{1ex}}}%
  }{\smash{\rule{.5pt}{#1}}}}}
\begin{document}
\begin{align*}
\prod_{z^n=-1}(w_1(z)^n+1) &\topeq \prod_{z^n=-1}(w_1(z)^n+1) + \prod_{z^n=-1}(w_1(z)^n+1) \\
&\mideq[5ex] \prod_{z^n=-1}(w_1(z)^n+1)\\
&\mideq[4ex] mx+b\\
&\boteq Ax + By + C
\end{align*}
\end{document}

This same result, with the extensions is shown here:

enter image description here


ORIGINAL ANSWER:

In this MWE, I implement \coneq (connect equal sign) which draws a vertical bar upward from an equal sign. The downside is that the user must specify how long the vertical bar is. The upside is the implementation is trivial. (I have a slightly revised notion that I am working on, and will post, if successful).

\documentclass{article}
\usepackage{amsmath}
\usepackage{stackengine}
\def\coneq#1{\mathrel{\stackon[2pt]{=}{\smash{\rule{.5pt}{#1}}}}}
\begin{document}
\begin{align*}
\prod_{z^n=-1}(w_1(z)^n+1) &= \prod_{z^n=-1}(w_1(z)^n+1) + \prod_{z^n=-1}(w_1(z)^n+1) \\
&\coneq{5.1ex} \prod_{z^n=-1}(w_1(z)^n+1)\\
&\coneq{4.5ex} mx+b\\
&\coneq{2.0ex} Ax + By + C
\end{align*}
\end{document}

enter image description here


Run it with xelatex:

\documentclass{article}
\usepackage{amsmath}
\usepackage{pst-node}
\begin{document}
\begin{align*}
\prod_{z^n=-1}(w_1(z)^n+1) & \rnode{A}{\;=\;} \prod_{z^n=-1}(w_1(z)^n+1)+\prod_{z^n=-1}(w_1(z)^n+1) \\
                           & \rnode{B}{\;=\;} \prod_{z^n=-1}(w_1(z)^n+1)\\
                           & \rnode{C}{\;=\;} mx+b\\
                           & \rnode{D}{\;=\;} Ax + By + C
\end{align*}
\psset{nodesepB=2pt}\ncline{A}{B}\ncline{B}{C}\ncline{C}{D}
\end{document}

enter image description here