Module "GraphInductive" (Just (Exporting (26,23) [(Export (QualIdent Nothing (Ident "empty" 0))),(Export (QualIdent Nothing (Ident "mkGraph" 0))),(Export (QualIdent Nothing (Ident "buildGr" 0))),(Export (QualIdent Nothing (Ident "mkUGraph" 0))),(Export (QualIdent Nothing (Ident ":&" 0))),(Export (QualIdent Nothing (Ident "insNode" 0))),(Export (QualIdent Nothing (Ident "insNodes" 0))),(Export (QualIdent Nothing (Ident "insEdge" 0))),(Export (QualIdent Nothing (Ident "insEdges" 0))),(Export (QualIdent Nothing (Ident "delNode" 0))),(Export (QualIdent Nothing (Ident "delNodes" 0))),(Export (QualIdent Nothing (Ident "delEdge" 0))),(Export (QualIdent Nothing (Ident "delEdges" 0))),(Export (QualIdent Nothing (Ident "isEmpty" 0))),(Export (QualIdent Nothing (Ident "match" 0))),(Export (QualIdent Nothing (Ident "matchAny" 0))),(Export (QualIdent Nothing (Ident "noNodes" 0))),(Export (QualIdent Nothing (Ident "nodeRange" 0))),(Export (QualIdent Nothing (Ident "context" 0))),(Export (QualIdent Nothing (Ident "lab" 0))),(Export (QualIdent Nothing (Ident "neighbors" 0))),(Export (QualIdent Nothing (Ident "suc" 0))),(Export (QualIdent Nothing (Ident "lsuc" 0))),(Export (QualIdent Nothing (Ident "pre" 0))),(Export (QualIdent Nothing (Ident "lpre" 0))),(Export (QualIdent Nothing (Ident "out" 0))),(Export (QualIdent Nothing (Ident "outdeg" 0))),(Export (QualIdent Nothing (Ident "inn" 0))),(Export (QualIdent Nothing (Ident "indeg" 0))),(Export (QualIdent Nothing (Ident "deg" 0))),(Export (QualIdent Nothing (Ident "gelem" 0))),(Export (QualIdent Nothing (Ident "equal" 0))),(Export (QualIdent Nothing (Ident "node'" 0))),(Export (QualIdent Nothing (Ident "lab'" 0))),(Export (QualIdent Nothing (Ident "labNode'" 0))),(Export (QualIdent Nothing (Ident "neighbors'" 0))),(Export (QualIdent Nothing (Ident "suc'" 0))),(Export (QualIdent Nothing (Ident "lsuc'" 0))),(Export (QualIdent Nothing (Ident "pre'" 0))),(Export (QualIdent Nothing (Ident "lpre'" 0))),(Export (QualIdent Nothing (Ident "out'" 0))),(Export (QualIdent Nothing (Ident "outdeg'" 0))),(Export (QualIdent Nothing (Ident "inn'" 0))),(Export (QualIdent Nothing (Ident "indeg'" 0))),(Export (QualIdent Nothing (Ident "deg'" 0))),(Export (QualIdent Nothing (Ident "labNodes" 0))),(Export (QualIdent Nothing (Ident "labEdges" 0))),(Export (QualIdent Nothing (Ident "nodes" 0))),(Export (QualIdent Nothing (Ident "edges" 0))),(Export (QualIdent Nothing (Ident "newNodes" 0))),(Export (QualIdent Nothing (Ident "ufold" 0))),(Export (QualIdent Nothing (Ident "gmap" 0))),(Export (QualIdent Nothing (Ident "nmap" 0))),(Export (QualIdent Nothing (Ident "emap" 0))),(Export (QualIdent Nothing (Ident "labUEdges" 0))),(Export (QualIdent Nothing (Ident "labUNodes" 0))),(Export (QualIdent Nothing (Ident "showGraph" 0))),(Export (QualIdent Nothing (Ident "Graph" 0))),(Export (QualIdent Nothing (Ident "Node" 0))),(Export (QualIdent Nothing (Ident "LNode" 0))),(Export (QualIdent Nothing (Ident "UNode" 0))),(Export (QualIdent Nothing (Ident "Edge" 0))),(Export (QualIdent Nothing (Ident "LEdge" 0))),(Export (QualIdent Nothing (Ident "UEdge" 0))),(Export (QualIdent Nothing (Ident "Context" 0))),(Export (QualIdent Nothing (Ident "MContext" 0))),(Export (QualIdent Nothing (Ident "Context'" 0))),(Export (QualIdent Nothing (Ident "UContext" 0))),(Export (QualIdent Nothing (Ident "GDecomp" 0))),(Export (QualIdent Nothing (Ident "Decomp" 0))),(Export (QualIdent Nothing (Ident "UDecomp" 0))),(Export (QualIdent Nothing (Ident "Path" 0))),(Export (QualIdent Nothing (Ident "LPath" 0))),(Export (QualIdent Nothing (Ident "UPath" 0))),(Export (QualIdent Nothing (Ident "UGr" 0)))])) [(ImportDecl (1,1) "Prelude" False Nothing Nothing) ,(ImportDecl (85,1) "FiniteMap" False Nothing Nothing) ,(ImportDecl (86,1) "Sort" False Nothing (Just (Importing (86,13) [(Import (Ident "mergeSort" 0))]))) ,(ImportDecl (87,1) "Maybe" False Nothing Nothing) ,(DataDecl (119,1) (Ident "Graph" 0) [(Ident "nodeLabel" 0),(Ident "edgeLabel" 0)] [(ConstrDecl (119,34) [] (Ident "Gr" 0) [(ConstructorType (QualIdent Nothing (Ident "GraphRep" 0)) [(VariableType (Ident "nodeLabel" 0)),(VariableType (Ident "edgeLabel" 0))])])]) ,(TypeDecl (129,1) (Ident "Node" 0) [] (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])) ,(TypeDecl (131,1) (Ident "LNode" 0) [(Ident "a" 0)] (TupleType [(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(VariableType (Ident "a" 0))])) ,(TypeDecl (133,1) (Ident "UNode" 0) [] (ConstructorType (QualIdent Nothing (Ident "LNode" 0)) [(TupleType [])])) ,(TypeDecl (138,1) (Ident "Edge" 0) [] (TupleType [(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])])) ,(TypeDecl (140,1) (Ident "LEdge" 0) [(Ident "b" 0)] (TupleType [(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(VariableType (Ident "b" 0))])) ,(TypeDecl (142,1) (Ident "UEdge" 0) [] (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(TupleType [])])) ,(TypeDecl (148,1) (Ident "Context" 0) [(Ident "a" 0),(Ident "b" 0)] (TupleType [(ConstructorType (QualIdent Nothing (Ident "Adj" 0)) [(VariableType (Ident "b" 0))]),(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(VariableType (Ident "a" 0)),(ConstructorType (QualIdent Nothing (Ident "Adj" 0)) [(VariableType (Ident "b" 0))])])) ,(TypeDecl (151,1) (Ident "Adj" 0) [(Ident "b" 0)] (ListType (TupleType [(VariableType (Ident "b" 0)),(ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])]))) ,(TypeDecl (155,1) (Ident "MContext" 0) [(Ident "a" 0),(Ident "b" 0)] (ConstructorType (QualIdent Nothing (Ident "Maybe" 0)) [(ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])])) ,(TypeDecl (157,1) (Ident "Context'" 0) [(Ident "a" 0),(Ident "b" 0)] (TupleType [(ConstructorType (QualIdent Nothing (Ident "Adj" 0)) [(VariableType (Ident "b" 0))]),(VariableType (Ident "a" 0)),(ConstructorType (QualIdent Nothing (Ident "Adj" 0)) [(VariableType (Ident "b" 0))])])) ,(TypeDecl (159,1) (Ident "UContext" 0) [] (TupleType [(ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])),(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []))])) ,(TypeDecl (185,1) (Ident "GDecomp" 0) [(Ident "a" 0),(Ident "b" 0)] (TupleType [(ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]),(ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])])) ,(TypeDecl (188,1) (Ident "Decomp" 0) [(Ident "a" 0),(Ident "b" 0)] (TupleType [(ConstructorType (QualIdent Nothing (Ident "MContext" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]),(ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])])) ,(TypeDecl (191,1) (Ident "UDecomp" 0) [(Ident "g" 0)] (TupleType [(ConstructorType (QualIdent Nothing (Ident "Maybe" 0)) [(ConstructorType (QualIdent Nothing (Ident "UContext" 0)) [])]),(VariableType (Ident "g" 0))])) ,(TypeDecl (464,1) (Ident "Path" 0) [] (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []))) ,(TypeDecl (466,1) (Ident "LPath" 0) [(Ident "a" 0)] (ListType (ConstructorType (QualIdent Nothing (Ident "LNode" 0)) [(VariableType (Ident "a" 0))]))) ,(TypeDecl (468,1) (Ident "UPath" 0) [] (ListType (ConstructorType (QualIdent Nothing (Ident "UNode" 0)) []))) ,(TypeDecl (470,1) (Ident "GraphRep" 0) [(Ident "a" 0),(Ident "b" 0)] (ConstructorType (QualIdent Nothing (Ident "FM" 0)) [(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Context'" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])])) ,(TypeDecl (473,1) (Ident "UGr" 0) [] (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(TupleType []),(TupleType [])])) ,(InfixDecl (89,1) InfixR 5 [(Ident ".:" 0)]) ,(InfixDecl (96,1) InfixR 5 [(Ident ":&" 0)]) ,(TypeSig (108,1) [(Ident ":&" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "nl" 0)),(VariableType (Ident "el" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "nl" 0)),(VariableType (Ident "el" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "nl" 0)),(VariableType (Ident "el" 0))])))) ,(FunctionDecl (109,1) (Ident ":&" 0) [(Equation (109,1) (OpLhs (TuplePattern [(VariablePattern (Ident "p" 2)),(VariablePattern (Ident "v" 2)),(VariablePattern (Ident "l" 2)),(VariablePattern (Ident "s" 2))]) (Ident ":&" 0) (ParenPattern (ConstructorPattern (QualIdent (Just "GraphInductive") (Ident "Gr" 0)) [(VariablePattern (Ident "g" 2))]))) (GuardedRhs [(CondExpr (110,3) (Apply (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "elemFM" 0))) (Variable (QualIdent Nothing (Ident "v" 2)))) (Variable (QualIdent Nothing (Ident "g" 2)))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "error" 0))) (Paren (InfixApply (Literal (String "Node Exception, Node: ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "v" 2)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ": ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "l" 2)))))))))),(CondExpr (111,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Constructor (QualIdent (Just "GraphInductive") (Ident "Gr" 0))) (Variable (QualIdent Nothing (Ident "g3" 3)))))] [(PatternDecl (112,13) (VariablePattern (Ident "g1" 3)) (SimpleRhs (112,18) (Apply (Apply (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "addToFM" 0))) (Variable (QualIdent Nothing (Ident "g" 2)))) (Variable (QualIdent Nothing (Ident "v" 2)))) (Tuple [(Variable (QualIdent Nothing (Ident "p" 2))),(Variable (QualIdent Nothing (Ident "l" 2))),(Variable (QualIdent Nothing (Ident "s" 2)))])) [])),(PatternDecl (113,13) (VariablePattern (Ident "g2" 3)) (SimpleRhs (113,18) (Apply (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "updAdj" 0))) (Variable (QualIdent Nothing (Ident "g1" 3)))) (Variable (QualIdent Nothing (Ident "p" 2)))) (Paren (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "addSucc" 0))) (Variable (QualIdent Nothing (Ident "v" 2)))))) [])),(PatternDecl (114,13) (VariablePattern (Ident "g3" 3)) (SimpleRhs (114,18) (Apply (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "updAdj" 0))) (Variable (QualIdent Nothing (Ident "g2" 3)))) (Variable (QualIdent Nothing (Ident "s" 2)))) (Paren (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "addPred" 0))) (Variable (QualIdent Nothing (Ident "v" 2)))))) []))]))]) ,(TypeSig (175,1) [(Ident "matchAny" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "GDecomp" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]))) ,(FunctionDecl (176,1) (Ident "matchAny" 0) [(Equation (176,1) (FunLhs (Ident "matchAny" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "GraphInductive") (Ident "Gr" 0)) [(VariablePattern (Ident "g" 7))]))]) (GuardedRhs [(CondExpr (177,3) (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "isEmptyFM" 0))) (Variable (QualIdent Nothing (Ident "g" 7)))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "error" 0))) (Literal (String "Match Exception, Empty Graph")))),(CondExpr (178,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Case (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Paren (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "fmToListPreOrder" 0))) (Variable (QualIdent Nothing (Ident "g" 7)))))) [(Alt (179,19) (TuplePattern [(VariablePattern (Ident "v" 9)),(VariablePattern (Ident "_" 10))]) (SimpleRhs (179,28) (Case (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "match" 0))) (Variable (QualIdent Nothing (Ident "v" 9)))) (Paren (Apply (Constructor (QualIdent (Just "GraphInductive") (Ident "Gr" 0))) (Variable (QualIdent Nothing (Ident "g" 7)))))) [(Alt (180,29) (TuplePattern [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "Just" 0)) [(VariablePattern (Ident "c" 12))]),(VariablePattern (Ident "g'" 12))]) (SimpleRhs (180,44) (Tuple [(Variable (QualIdent Nothing (Ident "c" 12))),(Variable (QualIdent Nothing (Ident "g'" 12)))]) []))]) []))]))] []))]) ,(TypeSig (203,1) [(Ident "empty" 0)] (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))])) ,(FunctionDecl (204,1) (Ident "empty" 0) [(Equation (204,1) (FunLhs (Ident "empty" 0) []) (SimpleRhs (204,9) (Apply (Constructor (QualIdent (Just "GraphInductive") (Ident "Gr" 0))) (Paren (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "emptyFM" 0))) (Variable (QualIdent (Just "Prelude") (Ident "<" 0)))))) []))]) ,(TypeSig (207,1) [(Ident "mkGraph" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "LNode" 0)) [(VariableType (Ident "a" 0))])) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))])) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (208,1) (Ident "mkGraph" 0) [(Equation (208,1) (FunLhs (Ident "mkGraph" 0) [(VariablePattern (Ident "vs" 16)),(VariablePattern (Ident "es" 16))]) (SimpleRhs (208,18) (Apply (Paren (InfixApply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "insEdges" 0))) (Variable (QualIdent Nothing (Ident "es" 16)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "insNodes" 0))) (Variable (QualIdent Nothing (Ident "vs" 16)))))) (Variable (QualIdent (Just "GraphInductive") (Ident "empty" 0)))) []))]) ,(TypeSig (211,1) [(Ident "buildGr" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]))) ,(FunctionDecl (212,1) (Ident "buildGr" 0) [(Equation (212,1) (FunLhs (Ident "buildGr" 0) []) (SimpleRhs (212,11) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "foldr" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident ":&" 0)))) (Variable (QualIdent (Just "GraphInductive") (Ident "empty" 0)))) []))]) ,(TypeSig (215,1) [(Ident "mkUGraph" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "Edge" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(TupleType []),(TupleType [])])))) ,(FunctionDecl (216,1) (Ident "mkUGraph" 0) [(Equation (216,1) (FunLhs (Ident "mkUGraph" 0) [(VariablePattern (Ident "vs" 20)),(VariablePattern (Ident "es" 20))]) (SimpleRhs (216,18) (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "mkGraph" 0))) (Paren (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "labUNodes" 0))) (Variable (QualIdent Nothing (Ident "vs" 20)))))) (Paren (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "labUEdges" 0))) (Variable (QualIdent Nothing (Ident "es" 20)))))) []))]) ,(TypeSig (224,1) [(Ident "insNode" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "LNode" 0)) [(VariableType (Ident "a" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (225,1) (Ident "insNode" 0) [(Equation (225,1) (FunLhs (Ident "insNode" 0) [(TuplePattern [(VariablePattern (Ident "v" 22)),(VariablePattern (Ident "l" 22))])]) (SimpleRhs (225,17) (LeftSection (Tuple [(List []),(Variable (QualIdent Nothing (Ident "v" 22))),(Variable (QualIdent Nothing (Ident "l" 22))),(List [])]) (InfixOp (QualIdent (Just "GraphInductive") (Ident ":&" 0)))) []))]) ,(TypeSig (228,1) [(Ident "insEdge" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (229,1) (Ident "insEdge" 0) [(Equation (229,1) (FunLhs (Ident "insEdge" 0) [(TuplePattern [(VariablePattern (Ident "v" 24)),(VariablePattern (Ident "w" 24)),(VariablePattern (Ident "l" 24))]),(VariablePattern (Ident "g" 24))]) (SimpleRhs (229,21) (InfixApply (Tuple [(Variable (QualIdent Nothing (Ident "pr" 25))),(Variable (QualIdent Nothing (Ident "v" 24))),(Variable (QualIdent Nothing (Ident "la" 25))),(InfixApply (Tuple [(Variable (QualIdent Nothing (Ident "l" 24))),(Variable (QualIdent Nothing (Ident "w" 24)))]) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "su" 25))))]) (InfixOp (QualIdent (Just "GraphInductive") (Ident ":&" 0))) (Variable (QualIdent Nothing (Ident "g'" 25)))) [(PatternDecl (230,27) (TuplePattern [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "Just" 0)) [(TuplePattern [(VariablePattern (Ident "pr" 25)),(VariablePattern (Ident "_" 26)),(VariablePattern (Ident "la" 25)),(VariablePattern (Ident "su" 25))])]),(VariablePattern (Ident "g'" 25))]) (SimpleRhs (230,52) (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "match" 0))) (Variable (QualIdent Nothing (Ident "v" 24)))) (Variable (QualIdent Nothing (Ident "g" 24)))) []))]))]) ,(TypeSig (233,1) [(Ident "delNode" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (234,1) (Ident "delNode" 0) [(Equation (234,1) (FunLhs (Ident "delNode" 0) [(VariablePattern (Ident "v" 28))]) (SimpleRhs (234,13) (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "delNodes" 0))) (List [(Variable (QualIdent Nothing (Ident "v" 28)))])) []))]) ,(TypeSig (237,1) [(Ident "delEdge" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Edge" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (238,1) (Ident "delEdge" 0) [(Equation (238,1) (FunLhs (Ident "delEdge" 0) [(TuplePattern [(VariablePattern (Ident "v" 30)),(VariablePattern (Ident "w" 30))]),(VariablePattern (Ident "g" 30))]) (SimpleRhs (238,19) (Case (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "match" 0))) (Variable (QualIdent Nothing (Ident "v" 30)))) (Variable (QualIdent Nothing (Ident "g" 30)))) [(Alt (239,19) (TuplePattern [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "Nothing" 0)) []),(VariablePattern (Ident "_" 33))]) (SimpleRhs (239,41) (Variable (QualIdent Nothing (Ident "g" 30))) [])),(Alt (240,19) (TuplePattern [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "Just" 0)) [(TuplePattern [(VariablePattern (Ident "p" 35)),(VariablePattern (Ident "v'" 35)),(VariablePattern (Ident "l" 35)),(VariablePattern (Ident "s" 35))])]),(VariablePattern (Ident "g'" 35))]) (SimpleRhs (240,43) (InfixApply (Tuple [(Variable (QualIdent Nothing (Ident "p" 35))),(Variable (QualIdent Nothing (Ident "v'" 35))),(Variable (QualIdent Nothing (Ident "l" 35))),(Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Paren (InfixApply (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Variable (QualIdent Nothing (Ident "w" 30)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))))) (Variable (QualIdent Nothing (Ident "s" 35))))]) (InfixOp (QualIdent (Just "GraphInductive") (Ident ":&" 0))) (Variable (QualIdent Nothing (Ident "g'" 35)))) []))]) []))]) ,(TypeSig (243,1) [(Ident "insNodes" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "LNode" 0)) [(VariableType (Ident "a" 0))])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (244,1) (Ident "insNodes" 0) [(Equation (244,1) (FunLhs (Ident "insNodes" 0) [(VariablePattern (Ident "vs" 37)),(VariablePattern (Ident "g" 37))]) (SimpleRhs (244,17) (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "foldr" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "insNode" 0)))) (Variable (QualIdent Nothing (Ident "g" 37)))) (Variable (QualIdent Nothing (Ident "vs" 37)))) []))]) ,(TypeSig (247,1) [(Ident "insEdges" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (248,1) (Ident "insEdges" 0) [(Equation (248,1) (FunLhs (Ident "insEdges" 0) [(VariablePattern (Ident "es" 39)),(VariablePattern (Ident "g" 39))]) (SimpleRhs (248,17) (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "foldr" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "insEdge" 0)))) (Variable (QualIdent Nothing (Ident "g" 39)))) (Variable (QualIdent Nothing (Ident "es" 39)))) []))]) ,(TypeSig (251,1) [(Ident "delNodes" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (252,1) (Ident "delNodes" 0) [(Equation (252,1) (FunLhs (Ident "delNodes" 0) [(ListPattern []),(VariablePattern (Ident "g" 41))]) (SimpleRhs (252,21) (Variable (QualIdent Nothing (Ident "g" 41))) [])),(Equation (253,1) (FunLhs (Ident "delNodes" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "v" 43)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "vs" 43)))),(VariablePattern (Ident "g" 43))]) (SimpleRhs (253,21) (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "delNodes" 0))) (Variable (QualIdent Nothing (Ident "vs" 43)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "snd" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "match" 0))) (Variable (QualIdent Nothing (Ident "v" 43)))) (Variable (QualIdent Nothing (Ident "g" 43)))))))) []))]) ,(TypeSig (256,1) [(Ident "delEdges" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "Edge" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (257,1) (Ident "delEdges" 0) [(Equation (257,1) (FunLhs (Ident "delEdges" 0) [(VariablePattern (Ident "es" 45)),(VariablePattern (Ident "g" 45))]) (SimpleRhs (257,17) (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "foldr" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "delEdge" 0)))) (Variable (QualIdent Nothing (Ident "g" 45)))) (Variable (QualIdent Nothing (Ident "es" 45)))) []))]) ,(TypeSig (265,1) [(Ident "isEmpty" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (266,1) (Ident "isEmpty" 0) [(Equation (266,1) (FunLhs (Ident "isEmpty" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "GraphInductive") (Ident "Gr" 0)) [(VariablePattern (Ident "g" 47))]))]) (SimpleRhs (266,19) (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "isEmptyFM" 0))) (Variable (QualIdent Nothing (Ident "g" 47)))) []))]) ,(TypeSig (270,1) [(Ident "match" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Decomp" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (271,1) (Ident "match" 0) [(Equation (271,1) (FunLhs (Ident "match" 0) [(VariablePattern (Ident "v" 49)),(ParenPattern (ConstructorPattern (QualIdent (Just "GraphInductive") (Ident "Gr" 0)) [(VariablePattern (Ident "g" 49))]))]) (SimpleRhs (272,3) (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "maybe" 0))) (Tuple [(Constructor (QualIdent (Just "Prelude") (Ident "Nothing" 0))),(Apply (Constructor (QualIdent (Just "GraphInductive") (Ident "Gr" 0))) (Variable (QualIdent Nothing (Ident "g" 49))))])) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "g'" 51)),(TuplePattern [(VariablePattern (Ident "_" 52)),(TuplePattern [(VariablePattern (Ident "p" 51)),(VariablePattern (Ident "l" 51)),(VariablePattern (Ident "s" 51))])])])] (Let [(PatternDecl (275,18) (VariablePattern (Ident "s'" 53)) (SimpleRhs (275,25) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Paren (InfixApply (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Variable (QualIdent Nothing (Ident "v" 49)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))))) (Variable (QualIdent Nothing (Ident "s" 51)))) [])),(PatternDecl (276,18) (VariablePattern (Ident "p'" 53)) (SimpleRhs (276,25) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Paren (InfixApply (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Variable (QualIdent Nothing (Ident "v" 49)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))))) (Variable (QualIdent Nothing (Ident "p" 51)))) [])),(PatternDecl (277,18) (VariablePattern (Ident "g1" 53)) (SimpleRhs (277,25) (Apply (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "updAdj" 0))) (Variable (QualIdent Nothing (Ident "g'" 51)))) (Variable (QualIdent Nothing (Ident "s'" 53)))) (Paren (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "clearPred" 0))) (Variable (QualIdent Nothing (Ident "v" 49)))))) [])),(PatternDecl (278,18) (VariablePattern (Ident "g2" 53)) (SimpleRhs (278,25) (Apply (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "updAdj" 0))) (Variable (QualIdent Nothing (Ident "g1" 53)))) (Variable (QualIdent Nothing (Ident "p'" 53)))) (Paren (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "clearSucc" 0))) (Variable (QualIdent Nothing (Ident "v" 49)))))) []))] (Tuple [(Apply (Constructor (QualIdent (Just "Prelude") (Ident "Just" 0))) (Tuple [(Variable (QualIdent Nothing (Ident "p'" 53))),(Variable (QualIdent Nothing (Ident "v" 49))),(Variable (QualIdent Nothing (Ident "l" 51))),(Variable (QualIdent Nothing (Ident "s" 51)))])),(Apply (Constructor (QualIdent (Just "GraphInductive") (Ident "Gr" 0))) (Variable (QualIdent Nothing (Ident "g2" 53))))]))))) (Paren (Apply (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "splitFM" 0))) (Variable (QualIdent Nothing (Ident "g" 49)))) (Variable (QualIdent Nothing (Ident "v" 49)))))) []))]) ,(TypeSig (285,1) [(Ident "noNodes" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (286,1) (Ident "noNodes" 0) [(Equation (286,1) (FunLhs (Ident "noNodes" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "GraphInductive") (Ident "Gr" 0)) [(VariablePattern (Ident "g" 58))]))]) (SimpleRhs (286,20) (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "sizeFM" 0))) (Variable (QualIdent Nothing (Ident "g" 58)))) []))]) ,(TypeSig (289,1) [(Ident "nodeRange" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (TupleType [(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])]))) ,(FunctionDecl (290,1) (Ident "nodeRange" 0) [(Equation (290,1) (FunLhs (Ident "nodeRange" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "GraphInductive") (Ident "Gr" 0)) [(VariablePattern (Ident "g" 60))]))]) (GuardedRhs [(CondExpr (290,18) (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "isEmptyFM" 0))) (Variable (QualIdent Nothing (Ident "g" 60)))) (Tuple [(Literal (Int (Ident "_" 63) 0)),(Literal (Int (Ident "_" 64) 0))])),(CondExpr (291,18) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Tuple [(Apply (Variable (QualIdent Nothing (Ident "ix" 61))) (Paren (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "minFM" 0))) (Variable (QualIdent Nothing (Ident "g" 60)))))),(Apply (Variable (QualIdent Nothing (Ident "ix" 61))) (Paren (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "maxFM" 0))) (Variable (QualIdent Nothing (Ident "g" 60))))))]))] [(PatternDecl (291,66) (VariablePattern (Ident "ix" 61)) (SimpleRhs (291,71) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "fst" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Maybe") (Ident "fromJust" 0)))) []))]))]) ,(TypeSig (297,1) [(Ident "context" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (298,1) (Ident "context" 0) [(Equation (298,1) (FunLhs (Ident "context" 0) [(VariablePattern (Ident "g" 65)),(VariablePattern (Ident "v" 65))]) (SimpleRhs (298,15) (Case (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "match" 0))) (Variable (QualIdent Nothing (Ident "v" 65)))) (Variable (QualIdent Nothing (Ident "g" 65)))) [(Alt (299,17) (TuplePattern [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "Nothing" 0)) []),(VariablePattern (Ident "_" 68))]) (SimpleRhs (299,32) (Apply (Variable (QualIdent (Just "Prelude") (Ident "error" 0))) (Paren (InfixApply (Literal (String "Match Exception, Node: ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "v" 65))))))) [])),(Alt (300,17) (TuplePattern [(ConstructorPattern (QualIdent (Just "Prelude") (Ident "Just" 0)) [(VariablePattern (Ident "c" 70))]),(VariablePattern (Ident "_" 71))]) (SimpleRhs (300,32) (Variable (QualIdent Nothing (Ident "c" 70))) []))]) []))]) ,(TypeSig (303,1) [(Ident "lab" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "_" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Maybe" 0)) [(VariableType (Ident "a" 0))])))) ,(FunctionDecl (304,1) (Ident "lab" 0) [(Equation (304,1) (FunLhs (Ident "lab" 0) [(VariablePattern (Ident "g" 73)),(VariablePattern (Ident "v" 73))]) (SimpleRhs (304,11) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "fst" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "match" 0))) (Variable (QualIdent Nothing (Ident "v" 73)))) (Variable (QualIdent Nothing (Ident "g" 73)))))) (InfixOp (QualIdent (Just "Maybe") (Ident ">>-" 0))) (InfixApply (Constructor (QualIdent (Just "Prelude") (Ident "Just" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "lab'" 0))))) []))]) ,(TypeSig (307,1) [(Ident "neighbors" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []))))) ,(FunctionDecl (308,1) (Ident "neighbors" 0) [(Equation (308,1) (FunLhs (Ident "neighbors" 0) []) (SimpleRhs (308,13) (InfixApply (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "p" 77)),(VariablePattern (Ident "_" 78)),(VariablePattern (Ident "_" 79)),(VariablePattern (Ident "s" 77))])] (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "p" 77))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Variable (QualIdent Nothing (Ident "s" 77)))))))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context" 0)))) []))]) ,(TypeSig (311,1) [(Ident "suc" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []))))) ,(FunctionDecl (312,1) (Ident "suc" 0) [(Equation (312,1) (FunLhs (Ident "suc" 0) []) (SimpleRhs (312,7) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context4" 0)))) []))]) ,(TypeSig (315,1) [(Ident "pre" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []))))) ,(FunctionDecl (316,1) (Ident "pre" 0) [(Equation (316,1) (FunLhs (Ident "pre" 0) []) (SimpleRhs (316,7) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context1" 0)))) []))]) ,(TypeSig (319,1) [(Ident "lsuc" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(VariableType (Ident "b" 0))]))))) ,(FunctionDecl (320,1) (Ident "lsuc" 0) [(Equation (320,1) (FunLhs (Ident "lsuc" 0) []) (SimpleRhs (320,8) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "flip2" 0)))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context4" 0)))) []))]) ,(TypeSig (323,1) [(Ident "lpre" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(VariableType (Ident "b" 0))]))))) ,(FunctionDecl (324,1) (Ident "lpre" 0) [(Equation (324,1) (FunLhs (Ident "lpre" 0) []) (SimpleRhs (324,8) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "flip2" 0)))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context1" 0)))) []))]) ,(TypeSig (327,1) [(Ident "out" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))]))))) ,(FunctionDecl (328,1) (Ident "out" 0) [(Equation (328,1) (FunLhs (Ident "out" 0) [(VariablePattern (Ident "g" 88)),(VariablePattern (Ident "v" 88))]) (SimpleRhs (328,11) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "l" 90)),(VariablePattern (Ident "w" 90))])] (Tuple [(Variable (QualIdent Nothing (Ident "v" 88))),(Variable (QualIdent Nothing (Ident "w" 90))),(Variable (QualIdent Nothing (Ident "l" 90)))])))) (Paren (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "context4" 0))) (Variable (QualIdent Nothing (Ident "g" 88)))) (Variable (QualIdent Nothing (Ident "v" 88)))))) []))]) ,(TypeSig (331,1) [(Ident "inn" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))]))))) ,(FunctionDecl (332,1) (Ident "inn" 0) [(Equation (332,1) (FunLhs (Ident "inn" 0) [(VariablePattern (Ident "g" 91)),(VariablePattern (Ident "v" 91))]) (SimpleRhs (332,11) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "l" 93)),(VariablePattern (Ident "w" 93))])] (Tuple [(Variable (QualIdent Nothing (Ident "w" 93))),(Variable (QualIdent Nothing (Ident "v" 91))),(Variable (QualIdent Nothing (Ident "l" 93)))])))) (Paren (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "context1" 0))) (Variable (QualIdent Nothing (Ident "g" 91)))) (Variable (QualIdent Nothing (Ident "v" 91)))))) []))]) ,(TypeSig (335,1) [(Ident "outdeg" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])))) ,(FunctionDecl (336,1) (Ident "outdeg" 0) [(Equation (336,1) (FunLhs (Ident "outdeg" 0) []) (SimpleRhs (336,10) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context4" 0)))) []))]) ,(TypeSig (339,1) [(Ident "indeg" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])))) ,(FunctionDecl (340,1) (Ident "indeg" 0) [(Equation (340,1) (FunLhs (Ident "indeg" 0) []) (SimpleRhs (340,10) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context1" 0)))) []))]) ,(TypeSig (343,1) [(Ident "deg" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) [])))) ,(FunctionDecl (344,1) (Ident "deg" 0) [(Equation (344,1) (FunLhs (Ident "deg" 0) []) (SimpleRhs (344,7) (InfixApply (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "p" 100)),(VariablePattern (Ident "_" 101)),(VariablePattern (Ident "_" 102)),(VariablePattern (Ident "s" 100))])] (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "p" 100)))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "s" 100))))))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context" 0)))) []))]) ,(TypeSig (347,1) [(Ident "gelem" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) [])))) ,(FunctionDecl (348,1) (Ident "gelem" 0) [(Equation (348,1) (FunLhs (Ident "gelem" 0) [(VariablePattern (Ident "v" 103)),(VariablePattern (Ident "g" 103))]) (SimpleRhs (348,13) (Apply (Variable (QualIdent (Just "Maybe") (Ident "isJust" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "fst" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "match" 0))) (Variable (QualIdent Nothing (Ident "v" 103)))) (Variable (QualIdent Nothing (Ident "g" 103)))))))) []))]) ,(TypeSig (352,1) [(Ident "equal" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) [])))) ,(FunctionDecl (353,1) (Ident "equal" 0) [(Equation (353,1) (FunLhs (Ident "equal" 0) [(VariablePattern (Ident "g" 105)),(VariablePattern (Ident "g'" 105))]) (SimpleRhs (353,14) (InfixApply (InfixApply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "slabNodes" 0))) (Variable (QualIdent Nothing (Ident "g" 105)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "slabNodes" 0))) (Variable (QualIdent Nothing (Ident "g'" 105))))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "slabEdges" 0))) (Variable (QualIdent Nothing (Ident "g" 105)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "slabEdges" 0))) (Variable (QualIdent Nothing (Ident "g'" 105)))))) []))]) ,(TypeSig (356,1) [(Ident "nodeComp" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "LNode" 0)) [(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "LNode" 0)) [(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Ordering" 0)) [])))) ,(FunctionDecl (357,1) (Ident "nodeComp" 0) [(Equation (357,1) (FunLhs (Ident "nodeComp" 0) [(VariablePattern (Ident "n" 107)),(VariablePattern (Ident "n'" 107))]) (GuardedRhs [(CondExpr (357,15) (InfixApply (Variable (QualIdent Nothing (Ident "n" 107))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Variable (QualIdent Nothing (Ident "n'" 107)))) (Constructor (QualIdent (Just "Prelude") (Ident "EQ" 0)))),(CondExpr (358,15) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "fst" 0))) (Variable (QualIdent Nothing (Ident "n" 107)))) (InfixOp (QualIdent (Just "Prelude") (Ident "<" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "fst" 0))) (Variable (QualIdent Nothing (Ident "n'" 107))))) (Constructor (QualIdent (Just "Prelude") (Ident "LT" 0)))),(CondExpr (359,15) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "GT" 0))))] []))]) ,(TypeSig (362,1) [(Ident "slabNodes" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "_" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "LNode" 0)) [(VariableType (Ident "a" 0))])))) ,(FunctionDecl (363,1) (Ident "slabNodes" 0) [(Equation (363,1) (FunLhs (Ident "slabNodes" 0) []) (SimpleRhs (363,13) (InfixApply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "sortBy" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "nodeComp" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "labNodes" 0)))) []))]) ,(TypeSig (366,1) [(Ident "edgeComp" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Ordering" 0)) [])))) ,(FunctionDecl (367,1) (Ident "edgeComp" 0) [(Equation (367,1) (FunLhs (Ident "edgeComp" 0) [(VariablePattern (Ident "e" 111)),(VariablePattern (Ident "e'" 111))]) (GuardedRhs [(CondExpr (367,15) (InfixApply (Variable (QualIdent Nothing (Ident "e" 111))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Variable (QualIdent Nothing (Ident "e'" 111)))) (Constructor (QualIdent (Just "Prelude") (Ident "EQ" 0)))),(CondExpr (368,15) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "v" 112))) (InfixOp (QualIdent (Just "Prelude") (Ident "<" 0))) (Variable (QualIdent Nothing (Ident "x" 112)))) (InfixOp (QualIdent (Just "Prelude") (Ident "||" 0))) (Paren (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "v" 112))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Variable (QualIdent Nothing (Ident "x" 112)))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "w" 112))) (InfixOp (QualIdent (Just "Prelude") (Ident "<" 0))) (Variable (QualIdent Nothing (Ident "y" 112))))))) (Constructor (QualIdent (Just "Prelude") (Ident "LT" 0)))),(CondExpr (369,15) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "GT" 0))))] [(PatternDecl (372,5) (TuplePattern [(VariablePattern (Ident "v" 112)),(VariablePattern (Ident "w" 112)),(VariablePattern (Ident "_" 113))]) (SimpleRhs (372,15) (Variable (QualIdent Nothing (Ident "e" 111))) [])),(PatternDecl (373,5) (TuplePattern [(VariablePattern (Ident "x" 112)),(VariablePattern (Ident "y" 112)),(VariablePattern (Ident "_" 114))]) (SimpleRhs (373,15) (Variable (QualIdent Nothing (Ident "e'" 111))) []))]))]) ,(TypeSig (376,1) [(Ident "slabEdges" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))])))) ,(FunctionDecl (377,1) (Ident "slabEdges" 0) [(Equation (377,1) (FunLhs (Ident "slabEdges" 0) []) (SimpleRhs (377,13) (InfixApply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "sortBy" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "edgeComp" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "labEdges" 0)))) []))]) ,(TypeSig (384,1) [(Ident "node'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []))) ,(FunctionDecl (385,1) (Ident "node'" 0) [(Equation (385,1) (FunLhs (Ident "node'" 0) [(TuplePattern [(VariablePattern (Ident "_" 120)),(VariablePattern (Ident "v" 119)),(VariablePattern (Ident "_" 121)),(VariablePattern (Ident "_" 122))])]) (SimpleRhs (385,19) (Variable (QualIdent Nothing (Ident "v" 119))) []))]) ,(TypeSig (388,1) [(Ident "lab'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "_" 0))]) (VariableType (Ident "a" 0)))) ,(FunctionDecl (389,1) (Ident "lab'" 0) [(Equation (389,1) (FunLhs (Ident "lab'" 0) [(TuplePattern [(VariablePattern (Ident "_" 125)),(VariablePattern (Ident "_" 126)),(VariablePattern (Ident "l" 124)),(VariablePattern (Ident "_" 127))])]) (SimpleRhs (389,18) (Variable (QualIdent Nothing (Ident "l" 124))) []))]) ,(TypeSig (392,1) [(Ident "labNode'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "_" 0))]) (ConstructorType (QualIdent Nothing (Ident "LNode" 0)) [(VariableType (Ident "a" 0))]))) ,(FunctionDecl (393,1) (Ident "labNode'" 0) [(Equation (393,1) (FunLhs (Ident "labNode'" 0) [(TuplePattern [(VariablePattern (Ident "_" 130)),(VariablePattern (Ident "v" 129)),(VariablePattern (Ident "l" 129)),(VariablePattern (Ident "_" 131))])]) (SimpleRhs (393,22) (Tuple [(Variable (QualIdent Nothing (Ident "v" 129))),(Variable (QualIdent Nothing (Ident "l" 129)))]) []))]) ,(TypeSig (396,1) [(Ident "neighbors'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])))) ,(FunctionDecl (397,1) (Ident "neighbors'" 0) [(Equation (397,1) (FunLhs (Ident "neighbors'" 0) [(TuplePattern [(VariablePattern (Ident "p" 133)),(VariablePattern (Ident "_" 134)),(VariablePattern (Ident "_" 135)),(VariablePattern (Ident "s" 133))])]) (SimpleRhs (397,24) (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))) (Variable (QualIdent Nothing (Ident "p" 133)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))) (Variable (QualIdent Nothing (Ident "s" 133))))) []))]) ,(TypeSig (400,1) [(Ident "suc'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])))) ,(FunctionDecl (401,1) (Ident "suc'" 0) [(Equation (401,1) (FunLhs (Ident "suc'" 0) [(TuplePattern [(VariablePattern (Ident "_" 138)),(VariablePattern (Ident "_" 139)),(VariablePattern (Ident "_" 140)),(VariablePattern (Ident "s" 137))])]) (SimpleRhs (401,18) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))) (Variable (QualIdent Nothing (Ident "s" 137)))) []))]) ,(TypeSig (404,1) [(Ident "pre'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])))) ,(FunctionDecl (405,1) (Ident "pre'" 0) [(Equation (405,1) (FunLhs (Ident "pre'" 0) [(TuplePattern [(VariablePattern (Ident "p" 142)),(VariablePattern (Ident "_" 143)),(VariablePattern (Ident "_" 144)),(VariablePattern (Ident "_" 145))])]) (SimpleRhs (405,18) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))) (Variable (QualIdent Nothing (Ident "p" 142)))) []))]) ,(TypeSig (408,1) [(Ident "lpre'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (409,1) (Ident "lpre'" 0) [(Equation (409,1) (FunLhs (Ident "lpre'" 0) [(TuplePattern [(VariablePattern (Ident "p" 147)),(VariablePattern (Ident "_" 148)),(VariablePattern (Ident "_" 149)),(VariablePattern (Ident "_" 150))])]) (SimpleRhs (409,19) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "flip2" 0)))) (Variable (QualIdent Nothing (Ident "p" 147)))) []))]) ,(TypeSig (412,1) [(Ident "lsuc'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "Node" 0)) []),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (413,1) (Ident "lsuc'" 0) [(Equation (413,1) (FunLhs (Ident "lsuc'" 0) [(TuplePattern [(VariablePattern (Ident "_" 153)),(VariablePattern (Ident "_" 154)),(VariablePattern (Ident "_" 155)),(VariablePattern (Ident "s" 152))])]) (SimpleRhs (413,19) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "flip2" 0)))) (Variable (QualIdent Nothing (Ident "s" 152)))) []))]) ,(TypeSig (416,1) [(Ident "out'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))])))) ,(FunctionDecl (417,1) (Ident "out'" 0) [(Equation (417,1) (FunLhs (Ident "out'" 0) [(TuplePattern [(VariablePattern (Ident "_" 158)),(VariablePattern (Ident "v" 157)),(VariablePattern (Ident "_" 159)),(VariablePattern (Ident "s" 157))])]) (SimpleRhs (417,18) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "l" 161)),(VariablePattern (Ident "w" 161))])] (Tuple [(Variable (QualIdent Nothing (Ident "v" 157))),(Variable (QualIdent Nothing (Ident "w" 161))),(Variable (QualIdent Nothing (Ident "l" 161)))])))) (Variable (QualIdent Nothing (Ident "s" 157)))) []))]) ,(TypeSig (420,1) [(Ident "inn'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))])))) ,(FunctionDecl (421,1) (Ident "inn'" 0) [(Equation (421,1) (FunLhs (Ident "inn'" 0) [(TuplePattern [(VariablePattern (Ident "p" 162)),(VariablePattern (Ident "v" 162)),(VariablePattern (Ident "_" 163)),(VariablePattern (Ident "_" 164))])]) (SimpleRhs (421,18) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "l" 166)),(VariablePattern (Ident "w" 166))])] (Tuple [(Variable (QualIdent Nothing (Ident "w" 166))),(Variable (QualIdent Nothing (Ident "v" 162))),(Variable (QualIdent Nothing (Ident "l" 166)))])))) (Variable (QualIdent Nothing (Ident "p" 162)))) []))]) ,(TypeSig (424,1) [(Ident "outdeg'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (425,1) (Ident "outdeg'" 0) [(Equation (425,1) (FunLhs (Ident "outdeg'" 0) [(TuplePattern [(VariablePattern (Ident "_" 168)),(VariablePattern (Ident "_" 169)),(VariablePattern (Ident "_" 170)),(VariablePattern (Ident "s" 167))])]) (SimpleRhs (425,21) (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "s" 167)))) []))]) ,(TypeSig (428,1) [(Ident "indeg'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (429,1) (Ident "indeg'" 0) [(Equation (429,1) (FunLhs (Ident "indeg'" 0) [(TuplePattern [(VariablePattern (Ident "p" 172)),(VariablePattern (Ident "_" 173)),(VariablePattern (Ident "_" 174)),(VariablePattern (Ident "_" 175))])]) (SimpleRhs (429,20) (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "p" 172)))) []))]) ,(TypeSig (432,1) [(Ident "deg'" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []))) ,(FunctionDecl (433,1) (Ident "deg'" 0) [(Equation (433,1) (FunLhs (Ident "deg'" 0) [(TuplePattern [(VariablePattern (Ident "p" 177)),(VariablePattern (Ident "_" 178)),(VariablePattern (Ident "_" 179)),(VariablePattern (Ident "s" 177))])]) (SimpleRhs (433,18) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "p" 177)))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "s" 177))))) []))]) ,(FunctionDecl (440,1) (Ident "labNodes" 0) [(Equation (440,1) (FunLhs (Ident "labNodes" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "GraphInductive") (Ident "Gr" 0)) [(VariablePattern (Ident "g" 181))]))]) (SimpleRhs (440,19) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "v" 183)),(TuplePattern [(VariablePattern (Ident "_" 184)),(VariablePattern (Ident "l" 183)),(VariablePattern (Ident "_" 185))])])] (Tuple [(Variable (QualIdent Nothing (Ident "v" 183))),(Variable (QualIdent Nothing (Ident "l" 183)))])))) (Paren (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "fmToList" 0))) (Variable (QualIdent Nothing (Ident "g" 181)))))) []))]) ,(TypeSig (443,1) [(Ident "labEdges" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "LEdge" 0)) [(VariableType (Ident "b" 0))])))) ,(FunctionDecl (444,1) (Ident "labEdges" 0) [(Equation (444,1) (FunLhs (Ident "labEdges" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "GraphInductive") (Ident "Gr" 0)) [(VariablePattern (Ident "g" 186))]))]) (SimpleRhs (444,20) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concatMap" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "v" 188)),(TuplePattern [(VariablePattern (Ident "_" 189)),(VariablePattern (Ident "_" 190)),(VariablePattern (Ident "s" 188))])])] (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "l" 191)),(VariablePattern (Ident "w" 191))])] (Tuple [(Variable (QualIdent Nothing (Ident "v" 188))),(Variable (QualIdent Nothing (Ident "w" 191))),(Variable (QualIdent Nothing (Ident "l" 191)))])))) (Variable (QualIdent Nothing (Ident "s" 188))))))) (Paren (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "fmToList" 0))) (Variable (QualIdent Nothing (Ident "g" 186)))))) []))]) ,(TypeSig (447,1) [(Ident "nodes" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) [])))) ,(FunctionDecl (448,1) (Ident "nodes" 0) [(Equation (448,1) (FunLhs (Ident "nodes" 0) []) (SimpleRhs (448,9) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "Prelude") (Ident "fst" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "labNodes" 0)))) []))]) ,(TypeSig (451,1) [(Ident "edges" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "Edge" 0)) [])))) ,(FunctionDecl (452,1) (Ident "edges" 0) [(Equation (452,1) (FunLhs (Ident "edges" 0) []) (SimpleRhs (452,9) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "v" 196)),(VariablePattern (Ident "w" 196)),(VariablePattern (Ident "_" 197))])] (Tuple [(Variable (QualIdent Nothing (Ident "v" 196))),(Variable (QualIdent Nothing (Ident "w" 196)))])))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "labEdges" 0)))) []))]) ,(TypeSig (455,1) [(Ident "newNodes" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ListType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []))))) ,(FunctionDecl (456,1) (Ident "newNodes" 0) [(Equation (456,1) (FunLhs (Ident "newNodes" 0) [(VariablePattern (Ident "i" 198)),(VariablePattern (Ident "g" 198))]) (SimpleRhs (456,16) (EnumFromTo (InfixApply (Variable (QualIdent Nothing (Ident "n" 199))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 202) 1))) (InfixApply (Variable (QualIdent Nothing (Ident "n" 199))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Variable (QualIdent Nothing (Ident "i" 198))))) [(PatternDecl (456,33) (TuplePattern [(VariablePattern (Ident "_" 200)),(VariablePattern (Ident "n" 199))]) (SimpleRhs (456,41) (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "nodeRange" 0))) (Variable (QualIdent Nothing (Ident "g" 198)))) []))]))]) ,(TypeSig (480,1) [(Ident "ufold" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ArrowType (VariableType (Ident "c" 0)) (VariableType (Ident "c" 0)))) (ArrowType (VariableType (Ident "c" 0)) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (VariableType (Ident "c" 0)))))) ,(FunctionDecl (481,1) (Ident "ufold" 0) [(Equation (481,1) (FunLhs (Ident "ufold" 0) [(VariablePattern (Ident "f" 203)),(VariablePattern (Ident "u" 203)),(VariablePattern (Ident "g" 203))]) (GuardedRhs [(CondExpr (481,13) (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "isEmpty" 0))) (Variable (QualIdent Nothing (Ident "g" 203)))) (Variable (QualIdent Nothing (Ident "u" 203)))),(CondExpr (482,13) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent Nothing (Ident "f" 203))) (Variable (QualIdent Nothing (Ident "c" 204)))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "ufold" 0))) (Variable (QualIdent Nothing (Ident "f" 203)))) (Variable (QualIdent Nothing (Ident "u" 203)))) (Variable (QualIdent Nothing (Ident "g'" 204)))))))] [(PatternDecl (483,19) (TuplePattern [(VariablePattern (Ident "c" 204)),(VariablePattern (Ident "g'" 204))]) (SimpleRhs (483,28) (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "matchAny" 0))) (Variable (QualIdent Nothing (Ident "g" 203)))) []))]))]) ,(TypeSig (486,1) [(Ident "gmap" 0)] (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Context" 0)) [(VariableType (Ident "c" 0)),(VariableType (Ident "d" 0))])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "c" 0)),(VariableType (Ident "d" 0))])))) ,(FunctionDecl (487,1) (Ident "gmap" 0) [(Equation (487,1) (FunLhs (Ident "gmap" 0) [(VariablePattern (Ident "f" 206))]) (SimpleRhs (487,10) (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "ufold" 0))) (Paren (Lambda [(VariablePattern (Ident "c" 208))] (LeftSection (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 206))) (Variable (QualIdent Nothing (Ident "c" 208))))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ":&" 0))))))) (Variable (QualIdent (Just "GraphInductive") (Ident "empty" 0)))) []))]) ,(TypeSig (490,1) [(Ident "nmap" 0)] (ArrowType (ArrowType (VariableType (Ident "a" 0)) (VariableType (Ident "c" 0))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "c" 0)),(VariableType (Ident "b" 0))])))) ,(FunctionDecl (491,1) (Ident "nmap" 0) [(Equation (491,1) (FunLhs (Ident "nmap" 0) [(VariablePattern (Ident "f" 209))]) (SimpleRhs (491,10) (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "gmap" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "p" 211)),(VariablePattern (Ident "v" 211)),(VariablePattern (Ident "l" 211)),(VariablePattern (Ident "s" 211))])] (Tuple [(Variable (QualIdent Nothing (Ident "p" 211))),(Variable (QualIdent Nothing (Ident "v" 211))),(Apply (Variable (QualIdent Nothing (Ident "f" 209))) (Variable (QualIdent Nothing (Ident "l" 211)))),(Variable (QualIdent Nothing (Ident "s" 211)))])))) []))]) ,(TypeSig (494,1) [(Ident "emap" 0)] (ArrowType (ArrowType (VariableType (Ident "b" 0)) (VariableType (Ident "c" 0))) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "c" 0))])))) ,(FunctionDecl (495,1) (Ident "emap" 0) [(Equation (495,1) (FunLhs (Ident "emap" 0) [(VariablePattern (Ident "f" 212))]) (SimpleRhs (495,10) (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "gmap" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "p" 217)),(VariablePattern (Ident "v" 217)),(VariablePattern (Ident "l" 217)),(VariablePattern (Ident "s" 217))])] (Tuple [(Apply (Apply (Variable (QualIdent Nothing (Ident "map1" 213))) (Variable (QualIdent Nothing (Ident "f" 212)))) (Variable (QualIdent Nothing (Ident "p" 217)))),(Variable (QualIdent Nothing (Ident "v" 217))),(Variable (QualIdent Nothing (Ident "l" 217))),(Apply (Apply (Variable (QualIdent Nothing (Ident "map1" 213))) (Variable (QualIdent Nothing (Ident "f" 212)))) (Variable (QualIdent Nothing (Ident "s" 217))))])))) [(FunctionDecl (496,16) (Ident "map1" 213) [(Equation (496,16) (FunLhs (Ident "map1" 213) [(VariablePattern (Ident "g" 214))]) (SimpleRhs (496,25) (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "l" 216)),(VariablePattern (Ident "v" 216))])] (Tuple [(Apply (Variable (QualIdent Nothing (Ident "g" 214))) (Variable (QualIdent Nothing (Ident "l" 216)))),(Variable (QualIdent Nothing (Ident "v" 216)))])))) []))])]))]) ,(FunctionDecl (499,1) (Ident "labUEdges" 0) [(Equation (499,1) (FunLhs (Ident "labUEdges" 0) []) (SimpleRhs (499,13) (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(TuplePattern [(VariablePattern (Ident "v" 220)),(VariablePattern (Ident "w" 220))])] (Tuple [(Variable (QualIdent Nothing (Ident "v" 220))),(Variable (QualIdent Nothing (Ident "w" 220))),(Tuple [])])))) []))]) ,(FunctionDecl (502,1) (Ident "labUNodes" 0) [(Equation (502,1) (FunLhs (Ident "labUNodes" 0) []) (SimpleRhs (502,13) (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (Lambda [(VariablePattern (Ident "v" 223))] (Tuple [(Variable (QualIdent Nothing (Ident "v" 223))),(Tuple [])])))) []))]) ,(TypeSig (509,1) [(Ident "showGraph" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "_" 0))]) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (510,1) (Ident "showGraph" 0) [(Equation (510,1) (FunLhs (Ident "showGraph" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "GraphInductive") (Ident "Gr" 0)) [(VariablePattern (Ident "g" 224))]))]) (SimpleRhs (510,20) (Apply (Variable (QualIdent (Just "Prelude") (Ident "unlines" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "showNode" 0)))) (Paren (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "fmToList" 0))) (Variable (QualIdent Nothing (Ident "g" 224)))))))) []))]) ,(FunctionDecl (513,1) (Ident "showNode" 0) [(Equation (513,1) (FunLhs (Ident "showNode" 0) [(TuplePattern [(VariablePattern (Ident "v" 226)),(TuplePattern [(VariablePattern (Ident "_" 227)),(VariablePattern (Ident "l'" 226)),(VariablePattern (Ident "s" 226))])])]) (SimpleRhs (513,25) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "v" 226)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ":")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "l'" 226)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "->")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "s" 226)))))))) []))]) ,(TypeSig (521,1) [(Ident ".:" 0)] (ArrowType (ArrowType (VariableType (Ident "c" 0)) (VariableType (Ident "d" 0))) (ArrowType (ArrowType (VariableType (Ident "a" 0)) (ArrowType (VariableType (Ident "b" 0)) (VariableType (Ident "c" 0)))) (ArrowType (VariableType (Ident "a" 0)) (ArrowType (VariableType (Ident "b" 0)) (VariableType (Ident "d" 0))))))) ,(FunctionDecl (526,1) (Ident ".:" 0) [(Equation (526,1) (FunLhs (Ident ".:" 0) []) (SimpleRhs (526,8) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "." 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "." 0)))) []))]) ,(FunctionDecl (528,1) (Ident "fst4" 0) [(Equation (528,1) (FunLhs (Ident "fst4" 0) [(TuplePattern [(VariablePattern (Ident "x" 231)),(VariablePattern (Ident "_" 232)),(VariablePattern (Ident "_" 233)),(VariablePattern (Ident "_" 234))])]) (SimpleRhs (528,18) (Variable (QualIdent Nothing (Ident "x" 231))) []))]) ,(FunctionDecl (533,1) (Ident "fth4" 0) [(Equation (533,1) (FunLhs (Ident "fth4" 0) [(TuplePattern [(VariablePattern (Ident "_" 237)),(VariablePattern (Ident "_" 238)),(VariablePattern (Ident "_" 239)),(VariablePattern (Ident "x" 236))])]) (SimpleRhs (533,18) (Variable (QualIdent Nothing (Ident "x" 236))) []))]) ,(FunctionDecl (541,1) (Ident "flip2" 0) [(Equation (541,1) (FunLhs (Ident "flip2" 0) [(TuplePattern [(VariablePattern (Ident "x" 241)),(VariablePattern (Ident "y" 241))])]) (SimpleRhs (541,15) (Tuple [(Variable (QualIdent Nothing (Ident "y" 241))),(Variable (QualIdent Nothing (Ident "x" 241)))]) []))]) ,(TypeSig (546,1) [(Ident "context1" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Adj" 0)) [(VariableType (Ident "b" 0))])))) ,(TypeSig (551,1) [(Ident "context4" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Graph" 0)) [(VariableType (Ident "_" 0)),(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Node" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Adj" 0)) [(VariableType (Ident "b" 0))])))) ,(FunctionDecl (553,1) (Ident "context1" 0) [(Equation (553,1) (FunLhs (Ident "context1" 0) []) (SimpleRhs (553,12) (InfixApply (Variable (QualIdent (Just "GraphInductive") (Ident "fst4" 0))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context" 0)))) []))]) ,(FunctionDecl (558,1) (Ident "context4" 0) [(Equation (558,1) (FunLhs (Ident "context4" 0) []) (SimpleRhs (558,12) (InfixApply (Variable (QualIdent (Just "GraphInductive") (Ident "fth4" 0))) (InfixOp (QualIdent (Just "GraphInductive") (Ident ".:" 0))) (Variable (QualIdent (Just "GraphInductive") (Ident "context" 0)))) []))]) ,(FunctionDecl (560,1) (Ident "addSucc" 0) [(Equation (560,1) (FunLhs (Ident "addSucc" 0) [(VariablePattern (Ident "v" 247)),(VariablePattern (Ident "l" 247)),(TuplePattern [(VariablePattern (Ident "p" 247)),(VariablePattern (Ident "l'" 247)),(VariablePattern (Ident "s" 247))])]) (SimpleRhs (560,24) (Tuple [(Variable (QualIdent Nothing (Ident "p" 247))),(Variable (QualIdent Nothing (Ident "l'" 247))),(InfixApply (Tuple [(Variable (QualIdent Nothing (Ident "l" 247))),(Variable (QualIdent Nothing (Ident "v" 247)))]) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "s" 247))))]) []))]) ,(FunctionDecl (561,1) (Ident "addPred" 0) [(Equation (561,1) (FunLhs (Ident "addPred" 0) [(VariablePattern (Ident "v" 249)),(VariablePattern (Ident "l" 249)),(TuplePattern [(VariablePattern (Ident "p" 249)),(VariablePattern (Ident "l'" 249)),(VariablePattern (Ident "s" 249))])]) (SimpleRhs (561,24) (Tuple [(InfixApply (Tuple [(Variable (QualIdent Nothing (Ident "l" 249))),(Variable (QualIdent Nothing (Ident "v" 249)))]) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "p" 249)))),(Variable (QualIdent Nothing (Ident "l'" 249))),(Variable (QualIdent Nothing (Ident "s" 249)))]) []))]) ,(FunctionDecl (563,1) (Ident "clearSucc" 0) [(Equation (563,1) (FunLhs (Ident "clearSucc" 0) [(VariablePattern (Ident "v" 251)),(VariablePattern (Ident "_" 252)),(TuplePattern [(VariablePattern (Ident "p" 251)),(VariablePattern (Ident "l" 251)),(VariablePattern (Ident "s" 251))])]) (SimpleRhs (563,25) (Tuple [(Variable (QualIdent Nothing (Ident "p" 251))),(Variable (QualIdent Nothing (Ident "l" 251))),(Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Paren (InfixApply (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Variable (QualIdent Nothing (Ident "v" 251)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))))) (Variable (QualIdent Nothing (Ident "s" 251))))]) []))]) ,(FunctionDecl (564,1) (Ident "clearPred" 0) [(Equation (564,1) (FunLhs (Ident "clearPred" 0) [(VariablePattern (Ident "v" 254)),(VariablePattern (Ident "_" 255)),(TuplePattern [(VariablePattern (Ident "p" 254)),(VariablePattern (Ident "l" 254)),(VariablePattern (Ident "s" 254))])]) (SimpleRhs (564,25) (Tuple [(Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Paren (InfixApply (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Variable (QualIdent Nothing (Ident "v" 254)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "snd" 0)))))) (Variable (QualIdent Nothing (Ident "p" 254)))),(Variable (QualIdent Nothing (Ident "l" 254))),(Variable (QualIdent Nothing (Ident "s" 254)))]) []))]) ,(TypeSig (566,1) [(Ident "updAdj" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "GraphRep" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Adj" 0)) [(VariableType (Ident "b" 0))]) (ArrowType (ArrowType (VariableType (Ident "b" 0)) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Context'" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]) (ConstructorType (QualIdent Nothing (Ident "Context'" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]))) (ConstructorType (QualIdent Nothing (Ident "GraphRep" 0)) [(VariableType (Ident "a" 0)),(VariableType (Ident "b" 0))]))))) ,(FunctionDecl (567,1) (Ident "updAdj" 0) [(Equation (567,1) (FunLhs (Ident "updAdj" 0) [(VariablePattern (Ident "g" 257)),(ListPattern []),(VariablePattern (Ident "_" 258))]) (SimpleRhs (567,38) (Variable (QualIdent Nothing (Ident "g" 257))) [])),(Equation (568,1) (FunLhs (Ident "updAdj" 0) [(VariablePattern (Ident "g" 260)),(ParenPattern (InfixPattern (TuplePattern [(VariablePattern (Ident "l" 260)),(VariablePattern (Ident "v" 260))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "vs" 260)))),(VariablePattern (Ident "f" 260))]) (GuardedRhs [(CondExpr (569,4) (Apply (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "elemFM" 0))) (Variable (QualIdent Nothing (Ident "v" 260)))) (Variable (QualIdent Nothing (Ident "g" 260)))) (Apply (Apply (Apply (Variable (QualIdent (Just "GraphInductive") (Ident "updAdj" 0))) (Paren (Apply (Apply (Apply (Variable (QualIdent (Just "FiniteMap") (Ident "updFM" 0))) (Variable (QualIdent Nothing (Ident "g" 260)))) (Variable (QualIdent Nothing (Ident "v" 260)))) (Paren (Apply (Variable (QualIdent Nothing (Ident "f" 260))) (Variable (QualIdent Nothing (Ident "l" 260)))))))) (Variable (QualIdent Nothing (Ident "vs" 260)))) (Variable (QualIdent Nothing (Ident "f" 260))))),(CondExpr (570,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "error" 0))) (Paren (InfixApply (Literal (String "Edge Exception, Node: ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Variable (QualIdent Nothing (Ident "v" 260))))))))] []))]) ,(FunctionDecl (572,1) (Ident "sortBy" 0) [(Equation (572,1) (FunLhs (Ident "sortBy" 0) [(VariablePattern (Ident "p" 262))]) (SimpleRhs (572,12) (Apply (Variable (QualIdent (Just "Sort") (Ident "mergeSort" 0))) (Paren (Lambda [(VariablePattern (Ident "x" 264)),(VariablePattern (Ident "y" 264))] (Let [(PatternDecl (572,35) (VariablePattern (Ident "pxy" 265)) (SimpleRhs (572,41) (Apply (Apply (Variable (QualIdent Nothing (Ident "p" 262))) (Variable (QualIdent Nothing (Ident "x" 264)))) (Variable (QualIdent Nothing (Ident "y" 264)))) []))] (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "pxy" 265))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "EQ" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "||" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "pxy" 265))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "LT" 0))))))))) []))]) ]