úÎ!3Œ/¾C      !"#$%&'()*+,-./0123456789:;<=>?@AB#Arbitrary definition for fgl graphs(c) Ivan Lazar MiljenovicBSD3Ivan.Miljenovic@gmail.comNone>HVX.¢ fgl-arbitrary6A brute-force approach to generating connected graphs.#The resultant graph (obtained with ") will nevera be empty: it will, at the very least, contain an additional connected node (obtained with ).Note that this is not an instance of L as it is not possible to arbitrarily layer a transformer on top of this. fgl-arbitraryVA 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. fgl-arbitraryEA wrapper to generate a graph without multiple edges and no loops. fgl-arbitraryPA newtype wrapper to generate a graph without loops (multiple edges allowed).  fgl-arbitraryPA newtype wrapper to generate a graph without multiple edges (loops allowed). fgl-arbitrary#A simple graph-specific proxy type. fgl-arbitrary8Representation of generating arbitrary graph structures.+Typically, you would only use this for the = function or if you wanted to make a custom graph wrapper.ƒThe intent of this class is to simplify defining and using different wrappers on top of graphs (e.g. you may wish to have an  graph, or one with , or possibly both!). fgl-arbitraryfAny manipulation of edges that should be done to satisfy the requirements of the specified wrapper. fgl-arbitrarypShrinking function (assuming only one node is removed at a time) which also returns the node that is removed. fgl-arbitrary+Defined so as to be able to generate valid C 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, or else create a new instance of . fgl-arbitrary#Generally a list of labelled nodes. fgl-arbitrary:Given a specified list of nodes, generate a list of edges. fgl-arbitrary"In most cases, for an instance of  the D& instance definition will/can have shrink = shrinkF. fgl-arbitrary9Generate an arbitrary graph. Multiple edges are allowed. fgl-arbitrary‡Generate an arbitrary graph, using the specified function to manipulate the generated list of edges (e.g. remove multiple edges). fgl-arbitraryGenerate an instance of  using the class methods.  fgl-arbitraryŠ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).! fgl-arbitraryAs with  ,, but also return the node that was deleted." fgl-arbitrary)The underlying graph represented by this  value.#  !"# !  "E      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFDEGH,fgl-arbitrary-0.2.0.5-BvSb2dXEqFY2lL4nUynX5XData.Graph.Inductive.Arbitrary ConnectedCGconnNode connArbGraph UndirectedUG undirGraph SimpleGraphNoLoopsNL looplessGraphNoMultipleEdgesNMEnmeGraphGrProxyArbGraph BaseGraph toBaseGraph fromBaseGraphedgeF shrinkFWithGraphNodesEdgesGNEs graphNodes graphEdgesarbitraryNodesarbitraryEdgesshrinkFarbitraryGrapharbitraryGraphWitharbitraryGraphBy shrinkGraphshrinkGraphWith connGraph $fArbitraryGr$fArbitraryGr0$fArbitraryGraphNodesEdges $fArbGraphGr $fArbGraphGr0$fArbitraryNoMultipleEdges$fArbGraphNoMultipleEdges$fArbitraryNoLoops$fArbGraphNoLoops$fArbitraryUndirected$fArbGraphUndirected$fArbitraryConnected$fEqGraphNodesEdges$fOrdGraphNodesEdges$fShowGraphNodesEdges$fReadGraphNodesEdges $fEqGrProxy $fOrdGrProxy $fShowGrProxy $fReadGrProxy$fEqNoMultipleEdges$fShowNoMultipleEdges$fReadNoMultipleEdges $fEqNoLoops $fShowNoLoops $fReadNoLoops$fEqUndirected$fShowUndirected$fReadUndirected $fEqConnected$fShowConnected$fReadConnected(QuickCheck-2.13.2-1FftnVviu6BCWJanU0jy5VTest.QuickCheck.Arbitrary arbitrary Arbitrary