úÎ$Å!ò     #Arbitrary definition for fgl graphs(c) Ivan Lazar MiljenovicBSD3Ivan.Miljenovic@gmail.comNone4>LN6A brute-force approach to generating connected graphs.Note that this is not an instance of  L as it is not possible to arbitrarily layer a transformer on top of this.VA newtype wrapper such that each (non-loop) edge also has its reverse in the graph._Note that there is no way to guarantee this after any additional edges are added or removed.#You should also apply this wrapper after 3 or else the wrong reverse edge might be removed.EA wrapper to generate a graph without multiple edges and no loops.PA newtype wrapper to generate a graph without loops (multiple edges allowed).PA newtype wrapper to generate a graph without multiple edges (loops allowed). 8Representation of generating arbitrary graph structures.+Typically, you would only use this for the  = function or if you wanted to make a custom graph wrapper.fAny manipulation of edges that should be done to satisfy the requirements of the specified wrapper.pShrinking function (assuming only one node is removed at a time) which also returns the node that is removed.+Defined so as to be able to generate valid  node and edge lists.ŒIf any specific structure (no multiple edges, no loops, etc.) is required then you will need to post-process this after generating it.#Generally a list of labelled nodes.:Given a specified list of nodes, generate a list of edges.9Generate an arbitrary graph. Multiple edges are allowed.‡Generate an arbitrary graph, using the specified function to manipulate the generated list of edges (e.g. remove multiple edges).Generate an instance of   using the class methods.ŠFor a graph with at least two nodes, return every possible way of deleting a single node (i.e. will never shrink to an empty graph).6 !" #$ %&'()*+,-./0123456   # !" #$  %&'()*+,-./01234567      !"#$%&''()*+,-./0123456789:fglar_GnWOb4VtlB05mskSwaMlLPData.Graph.Inductive.Arbitrary Connected UndirectedUG undirGraph SimpleGraphNoLoopsNL looplessGraphNoMultipleEdgesNMEnmeGraphArbGraph BaseGraph toBaseGraph fromBaseGraphedgeF shrinkFWithGraphNodesEdgesGNEs graphNodes graphEdgesarbitraryNodesarbitraryEdgesshrinkFarbitraryGrapharbitraryGraphWitharbitraryGraphBy shrinkGraphshrinkGraphWith connGraphQuick_BnZKeqxVf7FCbnejbqAnPLTest.QuickCheck.Arbitrary arbitraryCG origGraphconnNode connEdgesProxyuniquniqBynotLoopundirect toConnGraphshrinkConnGraph$fArbitraryConnected$fArbitraryUndirected$fArbGraphUndirected$fArbitraryNoLoops$fArbGraphNoLoops$fArbitraryNoMultipleEdges$fArbGraphNoMultipleEdges $fArbitraryGr$fArbitraryGr0 $fArbGraphGr $fArbGraphGr0$fArbitraryGraphNodesEdges