G55.5.0+dev0-2025-04-28/=Strongly_connected_components!SmDӱ"IdA@,Identifiable!S@ -../../utils/strongly_connected_components.mliY02Y0L@=Strongly_connected_components@@@@.directed_graph B;@@@A"Id#Map!t"Id#Set!t@@@ @@@ @@@@"[NP#[Nw@@@@!A@A@)componenthC;@@(Has_loopi$list"Id!t@@@@@@ @@AaPTBaPk@@@C@'No_loopj"Id!t@@@!@@SblpTbl@@RD@@@A@@@@@W`=?@@@@UB@A@ .connected_components_sorted_from_roots_to_leafk@=Strongly_connected_components!S.directed_graph@@@.%array=Strongly_connected_components!S)component@@@/@@@1@@2@|d}f@@{E@@/component_graphl@=Strongly_connected_components!S.directed_graph@@@3&@=Strongly_connected_components!S)component@@@4@t#int@@@5@@@7@@8@@@:@@;@hh,@@F@@@@Xi-0@G@@ӱ$MakeE@"IdF!SG;@@@A#Map!t#Set!t@@@@@@@@@@k2Vk2l@@@@A@G;@@K !t@@@@@@@@@*!t@@@@@ @@@A@@@@@ @@@A@@=@@@J-@@@@@@@@@4@@@@@@@@@@@>A@@@@@@@@@@@@@@U@@@@5k22U@3I@@@@3 7Kosaraju's algorithm for strongly connected components.@# (Warning:@ ' this module is unstable and part of -Compiler_libs@-compiler-libs@!.@@@@@@@@@@@@AR?Strongly_connected_components.S@fAX/ "Strongly_connected_components.S.Idf@A^.Identifiable.S@ @ge@@@@@# .Strongly_connected_components.S.directed_graph3 KIf (a -> set) belongs to the map, it means that there are edges from !a5 to every element of #set R. It is assumed that no edge points to a vertex not represented in the map.@@@@@@@@@@@@@@As@`_@@# )Strongly_connected_components.S.component@@[Z@@@FE@@@@A@@;>@@ NStrongly_connected_components.S.connected_components_sorted_from_roots_to_leaf@8@ :@@@@! /Strongly_connected_components.S.component_graph@@ @@@@@@@/ "Strongly_connected_components.Make@A됐,Identifiable!S.Identifiable.S.Identifiable.S@eg5 with module Id := Id@@@@@@@@@@A,Identifiable@@@@@