fact: Definition add_edge (f t : V) (g : adj_graph) : adj_graph := match lookup f g with | None => add f (t :: nil) g | Some vs => if list_in_dec t vs then g else add f (t :: vs) g end.
imports: ExtLib.Core.RelDec ExtLib.Structures.Monads ExtLib.Structures.Monoid ExtLib.Structures.Reducible ExtLib.Structures.Maps ExtLib.Data.List ExtLib.Data.PPair ExtLib.Data.Monads.WriterMonad ExtLib.Data.Monads.IdentityMonad ExtLib.Data.Graph.Graph ExtLib.Data.Graph.BuildGraph