Did you even read my post ? :) Yes. It is vague enough to be misunderstood.
edge 2 edge 1
Source > A > Sink
This cannot be a correct example of a residual network because Sink can be reached from Source. Consider three possible options: 1. capacity(edge 1) > capacity(edge 2) = X Here we can push X units of flow from Source to Sink which leads to
edge 2 edge 1
Source < A <> Sink
2. capacity(edge 1) < capacity(edge 2), which in the same way leads to
edge 2 edge 1
Source <> A < Sink
In both cases dfs yields the correct answer
3. capacity(edge 1) = capacity(edge 2) Here only two but not three edges(unlike above) are left in the residual network:
edge 2 edge 1
Source < A < Sink
Here what we need is a matter of definitions. In fact, dfs works right if you want any minimum cut.
It doesn't work if we want the minimum set of edges with smallest index. Oh, now I get what you wanted to say. Well, do we need it? :) I mean, is there any more or less practical problem that asks it? After thinking more about it, I have no idea of how to do it :) Here is a tough case: Source and Sink are both connected to a complete graph K_n(which has only edges of capacity n) with egdes of capacity 1. Depending on how you push the flow, you can form a lot(if not all) of subsets of edges which will form a cut.
edit: some new thoughts
