## Reduced Graphs

Chapters > Graphs

But there are times when we would like to keep the redundant edges for the sake of expressiveness. An example is an if-then-clause in a control-flow graph of a computer program: "

*A; if T then B; C;".*

The reduction of the graph would eliminate the explicit jump over the statement B (represented by the dashed edge in the picture). The resulting graph would contain the edges; {(A,T), (A,B), (A,C), (T,B), (T,C), (B,C)}.On the other hand, modelling the clause using an edge-oriented graph would explicitly show the edge (T,C). It would contain the edges {(AT,TC), (AT,TB), (TB,BC)}. The edge-orientation allows us to represent all paths through the graph as {[A, T, C], [A, T, B, C]} instead of the only path [A, T, B, C] would otherwise be possible.