[proofplan]
We sum the node balance equation over all vertices. Since the network is finite, all sums may be rearranged by reindexing finite sums. Each arc contributes exactly once to the total incoming flow, at its head, and exactly once to the total outgoing flow, at its tail. These two total contributions are equal, so their difference is zero, leaving the total node balance equal to zero.
[/proofplan]
[step:Sum the node balance equations over all vertices]
For every $v \in V$, the balance equation is
\begin{align*}
\sum_{a \in \delta^-(v)} f(a) - \sum_{a \in \delta^+(v)} f(a) = b(v).
\end{align*}
Summing this equality over all $v \in V$ gives
\begin{align*}
\sum_{v \in V} b(v)
=
\sum_{v \in V}
\left(
\sum_{a \in \delta^-(v)} f(a)
-
\sum_{a \in \delta^+(v)} f(a)
\right).
\end{align*}
Distributing the finite outer sum across the difference gives
\begin{align*}
\sum_{v \in V} b(v)
=
\sum_{v \in V}\sum_{a \in \delta^-(v)} f(a)
-
\sum_{v \in V}\sum_{a \in \delta^+(v)} f(a).
\end{align*}
The sums are finite because $V$ and $A$ are finite.
[guided]
For each vertex $v \in V$, feasibility with node balance $b$ means that the net inflow at $v$ equals $b(v)$:
\begin{align*}
\sum_{a \in \delta^-(v)} f(a) - \sum_{a \in \delta^+(v)} f(a) = b(v).
\end{align*}
To detect a condition on the total balance, we add this equation over every vertex. Since $V$ is finite, summing both sides over $v \in V$ is an ordinary finite algebraic operation:
\begin{align*}
\sum_{v \in V} b(v)
=
\sum_{v \in V}
\left(
\sum_{a \in \delta^-(v)} f(a)
-
\sum_{a \in \delta^+(v)} f(a)
\right).
\end{align*}
Because this is a finite sum, we may distribute the outer sum across the difference:
\begin{align*}
\sum_{v \in V} b(v)
=
\sum_{v \in V}\sum_{a \in \delta^-(v)} f(a)
-
\sum_{v \in V}\sum_{a \in \delta^+(v)} f(a).
\end{align*}
The first double sum records every appearance of an arc as incoming to a vertex. The second double sum records every appearance of an arc as outgoing from a vertex. The next step identifies both double sums with the same total flow over all arcs.
[/guided]
[/step]
[step:Reindex the incoming and outgoing sums by arcs]
Each arc $a \in A$ has exactly one head $\operatorname{head}(a) \in V$ and exactly one tail $\operatorname{tail}(a) \in V$. Therefore $a$ belongs to $\delta^-(v)$ for exactly one vertex, namely $v = \operatorname{head}(a)$, and $a$ belongs to $\delta^+(v)$ for exactly one vertex, namely $v = \operatorname{tail}(a)$. Reindexing the finite incoming sum gives
\begin{align*}
\sum_{v \in V}\sum_{a \in \delta^-(v)} f(a)
=
\sum_{a \in A} f(a).
\end{align*}
Reindexing the finite outgoing sum gives
\begin{align*}
\sum_{v \in V}\sum_{a \in \delta^+(v)} f(a)
=
\sum_{a \in A} f(a).
\end{align*}
Hence
\begin{align*}
\sum_{v \in V}\sum_{a \in \delta^-(v)} f(a)
-
\sum_{v \in V}\sum_{a \in \delta^+(v)} f(a)
=
\sum_{a \in A} f(a) - \sum_{a \in A} f(a)
=
0.
\end{align*}
[/step]
[step:Conclude that the total node balance vanishes]
Combining the summed balance identity with the cancellation of the incoming and outgoing total arc contributions, we obtain
\begin{align*}
\sum_{v \in V} b(v) = 0.
\end{align*}
This is the desired total balance condition.
[/step]