UVMHS.Lib.Graph
type Graph a = a ⇰ 𝑃 a Source #
graphTranspose :: forall a. Ord a => Graph a -> Graph a Source #
kosaraju :: forall a. Ord a => Graph a -> a ⇰ a Source #
sccGroups :: forall a. Ord a => (a ⇰ 𝑃 a) -> (a ⇰ a) ∧ (a ⇰ (𝑃 a ∧ 𝑃 a)) Source #
sccEachGroupM :: forall a b m. (Ord a, Monad m) => 𝐼 a -> (a ⇰ 𝑃 a) -> (𝔹 -> 𝐼 a -> m (𝐼 b)) -> m (𝐼 b) Source #
sccEachGroup :: forall a b. Ord a => 𝐼 a -> (a ⇰ 𝑃 a) -> (𝔹 -> 𝐼 a -> 𝐼 b) -> 𝐼 b Source #