Proof
-
Let , be distinct SCC of
-
Define
max_finish(C) = max{finish_time(u) | u in C} -
If some vertex has an edge in to some then:
-
max_finish(C) > max_finish(C')- discovered earlier - will go from to then finish then back to finish
- discovered earlier - finished without visiting because no path from to
-
In if some vertex has an edge to some , then
max_finish(C) > max_finish(C') -
If
max_finish(C) > max_finish(C')then in no edge from to