/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty H-Termination with start terms of the given HASKELL could not be shown: (0) HASKELL (1) LR [EQUIVALENT, 0 ms] (2) HASKELL (3) CR [EQUIVALENT, 0 ms] (4) HASKELL (5) IFR [EQUIVALENT, 0 ms] (6) HASKELL (7) BR [EQUIVALENT, 0 ms] (8) HASKELL (9) COR [EQUIVALENT, 14 ms] (10) HASKELL (11) NumRed [SOUND, 0 ms] (12) HASKELL (13) Narrow [SOUND, 0 ms] (14) AND (15) QDP (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] (17) YES (18) QDP (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] (20) YES (21) QDP (22) QDPSizeChangeProof [EQUIVALENT, 0 ms] (23) YES (24) QDP (25) DependencyGraphProof [EQUIVALENT, 0 ms] (26) AND (27) QDP (28) QDPOrderProof [EQUIVALENT, 31 ms] (29) QDP (30) MNOCProof [EQUIVALENT, 0 ms] (31) QDP (32) InductionCalculusProof [EQUIVALENT, 0 ms] (33) QDP (34) QDPPairToRuleProof [EQUIVALENT, 0 ms] (35) AND (36) QDP (37) MNOCProof [EQUIVALENT, 0 ms] (38) QDP (39) InductionCalculusProof [EQUIVALENT, 0 ms] (40) QDP (41) QDP (42) QDPSizeChangeProof [EQUIVALENT, 0 ms] (43) YES (44) QDP (45) QDPSizeChangeProof [EQUIVALENT, 0 ms] (46) YES (47) QDP (48) QDPSizeChangeProof [EQUIVALENT, 0 ms] (49) YES (50) QDP (51) QDPSizeChangeProof [EQUIVALENT, 0 ms] (52) YES (53) QDP (54) DependencyGraphProof [EQUIVALENT, 0 ms] (55) AND (56) QDP (57) QDPSizeChangeProof [EQUIVALENT, 0 ms] (58) YES (59) QDP (60) QDPSizeChangeProof [EQUIVALENT, 0 ms] (61) YES (62) QDP (63) QDPOrderProof [EQUIVALENT, 0 ms] (64) QDP (65) MNOCProof [EQUIVALENT, 0 ms] (66) QDP (67) InductionCalculusProof [EQUIVALENT, 0 ms] (68) QDP (69) QDPPairToRuleProof [EQUIVALENT, 0 ms] (70) AND (71) QDP (72) MNOCProof [EQUIVALENT, 0 ms] (73) QDP (74) InductionCalculusProof [EQUIVALENT, 0 ms] (75) QDP (76) QDP (77) QDPSizeChangeProof [EQUIVALENT, 0 ms] (78) YES (79) QDP (80) QDPSizeChangeProof [EQUIVALENT, 0 ms] (81) YES (82) QDP (83) QDPSizeChangeProof [EQUIVALENT, 0 ms] (84) YES (85) QDP (86) QDPSizeChangeProof [EQUIVALENT, 0 ms] (87) YES (88) QDP (89) QDPSizeChangeProof [EQUIVALENT, 0 ms] (90) YES (91) QDP (92) QDPSizeChangeProof [EQUIVALENT, 0 ms] (93) YES (94) Narrow [COMPLETE, 0 ms] (95) AND (96) QDP (97) DependencyGraphProof [EQUIVALENT, 0 ms] (98) AND (99) QDP (100) MRRProof [EQUIVALENT, 0 ms] (101) QDP (102) DependencyGraphProof [EQUIVALENT, 0 ms] (103) TRUE (104) QDP (105) MRRProof [EQUIVALENT, 0 ms] (106) QDP (107) PisEmptyProof [EQUIVALENT, 0 ms] (108) YES (109) QDP (110) QDPOrderProof [EQUIVALENT, 6 ms] (111) QDP (112) DependencyGraphProof [EQUIVALENT, 0 ms] (113) QDP (114) MRRProof [EQUIVALENT, 0 ms] (115) QDP (116) QDPSizeChangeProof [EQUIVALENT, 0 ms] (117) YES (118) QDP (119) MRRProof [EQUIVALENT, 0 ms] (120) QDP (121) DependencyGraphProof [EQUIVALENT, 0 ms] (122) TRUE (123) QDP (124) QDPOrderProof [EQUIVALENT, 0 ms] (125) QDP (126) QDP (127) MRRProof [EQUIVALENT, 0 ms] (128) QDP (129) PisEmptyProof [EQUIVALENT, 0 ms] (130) YES (131) QDP (132) DependencyGraphProof [EQUIVALENT, 0 ms] (133) AND (134) QDP (135) QDPOrderProof [EQUIVALENT, 0 ms] (136) QDP (137) QDPOrderProof [EQUIVALENT, 0 ms] (138) QDP (139) DependencyGraphProof [EQUIVALENT, 0 ms] (140) AND (141) QDP (142) QDP (143) MRRProof [EQUIVALENT, 0 ms] (144) QDP (145) PisEmptyProof [EQUIVALENT, 0 ms] (146) YES (147) QDP (148) QDPOrderProof [EQUIVALENT, 0 ms] (149) QDP (150) DependencyGraphProof [EQUIVALENT, 0 ms] (151) QDP (152) MRRProof [EQUIVALENT, 0 ms] (153) QDP (154) MRRProof [EQUIVALENT, 0 ms] (155) QDP (156) PisEmptyProof [EQUIVALENT, 0 ms] (157) YES (158) QDP (159) MRRProof [EQUIVALENT, 0 ms] (160) QDP (161) MRRProof [EQUIVALENT, 0 ms] (162) QDP (163) DependencyGraphProof [EQUIVALENT, 0 ms] (164) QDP (165) MRRProof [EQUIVALENT, 0 ms] (166) QDP (167) PisEmptyProof [EQUIVALENT, 0 ms] (168) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) LR (EQUIVALENT) Lambda Reductions: The following Lambda expression "\z->if y >= z && z >= x then z : [] else []" is transformed to "range0 y x z = if y >= z && z >= x then z : [] else []; " The following Lambda expression "\lv1->case lv1 of { z1 -> (z0,z1) : []; _ -> []} " is transformed to "range1 z0 lv1 = case lv1 of { z1 -> (z0,z1) : []; _ -> []} ; " The following Lambda expression "\lv2->case lv2 of { z0 -> concatMap (range1 z0) (range (x1,y1)); _ -> []} " is transformed to "range2 x1 y1 lv2 = case lv2 of { z0 -> concatMap (range1 z0) (range (x1,y1)); _ -> []} ; " The following Lambda expression "\lv1->case lv1 of { z2 -> (z0,z1,z2) : []; _ -> []} " is transformed to "range3 z0 z1 lv1 = case lv1 of { z2 -> (z0,z1,z2) : []; _ -> []} ; " The following Lambda expression "\lv2->case lv2 of { z1 -> concatMap (range3 z0 z1) (range (x2,y2)); _ -> []} " is transformed to "range4 z0 x2 y2 lv2 = case lv2 of { z1 -> concatMap (range3 z0 z1) (range (x2,y2)); _ -> []} ; " The following Lambda expression "\lv3->case lv3 of { z0 -> concatMap (range4 z0 x2 y2) (range (x1,y1)); _ -> []} " is transformed to "range5 x2 y2 x1 y1 lv3 = case lv3 of { z0 -> concatMap (range4 z0 x2 y2) (range (x1,y1)); _ -> []} ; " The following Lambda expression "\z->if y >= z && z >= x then z : [] else []" is transformed to "range6 y x z = if y >= z && z >= x then z : [] else []; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) CR (EQUIVALENT) Case Reductions: The following Case expression "case lv1 of { z2 -> (z0,z1,z2) : []; _ -> []} " is transformed to "range30 z0 z1 z2 = (z0,z1,z2) : []; range30 z0 z1 _ = []; " The following Case expression "case lv2 of { z1 -> concatMap (range3 z0 z1) (range (x2,y2)); _ -> []} " is transformed to "range40 z0 x2 y2 z1 = concatMap (range3 z0 z1) (range (x2,y2)); range40 z0 x2 y2 _ = []; " The following Case expression "case lv1 of { z1 -> (z0,z1) : []; _ -> []} " is transformed to "range10 z0 z1 = (z0,z1) : []; range10 z0 _ = []; " The following Case expression "case lv2 of { z0 -> concatMap (range1 z0) (range (x1,y1)); _ -> []} " is transformed to "range20 x1 y1 z0 = concatMap (range1 z0) (range (x1,y1)); range20 x1 y1 _ = []; " The following Case expression "case lv3 of { z0 -> concatMap (range4 z0 x2 y2) (range (x1,y1)); _ -> []} " is transformed to "range50 x2 y2 x1 y1 z0 = concatMap (range4 z0 x2 y2) (range (x1,y1)); range50 x2 y2 x1 y1 _ = []; " ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) IFR (EQUIVALENT) If Reductions: The following If expression "if y >= z && z >= x then z : [] else []" is transformed to "range00 z True = z : []; range00 z False = []; " The following If expression "if y >= z && z >= x then z : [] else []" is transformed to "range60 z True = z : []; range60 z False = []; " ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "compare x y|x == yEQ|x <= yLT|otherwiseGT; " is transformed to "compare x y = compare3 x y; " "compare2 x y True = EQ; compare2 x y False = compare1 x y (x <= y); " "compare1 x y True = LT; compare1 x y False = compare0 x y otherwise; " "compare0 x y True = GT; " "compare3 x y = compare2 x y (x == y); " The following Function with conditions "takeWhile p [] = []; takeWhile p (x : xs)|p xx : takeWhile p xs|otherwise[]; " is transformed to "takeWhile p [] = takeWhile3 p []; takeWhile p (x : xs) = takeWhile2 p (x : xs); " "takeWhile0 p x xs True = []; " "takeWhile1 p x xs True = x : takeWhile p xs; takeWhile1 p x xs False = takeWhile0 p x xs otherwise; " "takeWhile2 p (x : xs) = takeWhile1 p x xs (p x); " "takeWhile3 p [] = []; takeWhile3 wy wz = takeWhile2 wy wz; " The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (12) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (13) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="range",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="range xu3",fontsize=16,color="blue",shape="box"];2990[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];3 -> 2990[label="",style="solid", color="blue", weight=9]; 2990 -> 4[label="",style="solid", color="blue", weight=3]; 2991[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];3 -> 2991[label="",style="solid", color="blue", weight=9]; 2991 -> 5[label="",style="solid", color="blue", weight=3]; 2992[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];3 -> 2992[label="",style="solid", color="blue", weight=9]; 2992 -> 6[label="",style="solid", color="blue", weight=3]; 2993[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];3 -> 2993[label="",style="solid", color="blue", weight=9]; 2993 -> 7[label="",style="solid", color="blue", weight=3]; 2994[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];3 -> 2994[label="",style="solid", color="blue", weight=9]; 2994 -> 8[label="",style="solid", color="blue", weight=3]; 2995[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];3 -> 2995[label="",style="solid", color="blue", weight=9]; 2995 -> 9[label="",style="solid", color="blue", weight=3]; 2996[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];3 -> 2996[label="",style="solid", color="blue", weight=9]; 2996 -> 10[label="",style="solid", color="blue", weight=3]; 2997[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];3 -> 2997[label="",style="solid", color="blue", weight=9]; 2997 -> 11[label="",style="solid", color="blue", weight=3]; 4[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];2998[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];4 -> 2998[label="",style="solid", color="burlywood", weight=9]; 2998 -> 12[label="",style="solid", color="burlywood", weight=3]; 5[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];2999[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];5 -> 2999[label="",style="solid", color="burlywood", weight=9]; 2999 -> 13[label="",style="solid", color="burlywood", weight=3]; 6[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3000[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];6 -> 3000[label="",style="solid", color="burlywood", weight=9]; 3000 -> 14[label="",style="solid", color="burlywood", weight=3]; 7[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3001[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];7 -> 3001[label="",style="solid", color="burlywood", weight=9]; 3001 -> 15[label="",style="solid", color="burlywood", weight=3]; 8[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3002[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];8 -> 3002[label="",style="solid", color="burlywood", weight=9]; 3002 -> 16[label="",style="solid", color="burlywood", weight=3]; 9[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3003[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];9 -> 3003[label="",style="solid", color="burlywood", weight=9]; 3003 -> 17[label="",style="solid", color="burlywood", weight=3]; 10[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3004[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];10 -> 3004[label="",style="solid", color="burlywood", weight=9]; 3004 -> 18[label="",style="solid", color="burlywood", weight=3]; 11[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3005[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];11 -> 3005[label="",style="solid", color="burlywood", weight=9]; 3005 -> 19[label="",style="solid", color="burlywood", weight=3]; 12[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3006[label="xu30/()",fontsize=10,color="white",style="solid",shape="box"];12 -> 3006[label="",style="solid", color="burlywood", weight=9]; 3006 -> 20[label="",style="solid", color="burlywood", weight=3]; 13[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];13 -> 21[label="",style="solid", color="black", weight=3]; 14[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];14 -> 22[label="",style="solid", color="black", weight=3]; 15[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];15 -> 23[label="",style="solid", color="black", weight=3]; 16[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 17[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3007[label="xu30/(xu300,xu301,xu302)",fontsize=10,color="white",style="solid",shape="box"];17 -> 3007[label="",style="solid", color="burlywood", weight=9]; 3007 -> 25[label="",style="solid", color="burlywood", weight=3]; 18[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];18 -> 26[label="",style="solid", color="black", weight=3]; 19[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3008[label="xu30/(xu300,xu301)",fontsize=10,color="white",style="solid",shape="box"];19 -> 3008[label="",style="solid", color="burlywood", weight=9]; 3008 -> 27[label="",style="solid", color="burlywood", weight=3]; 20[label="range ((),xu31)",fontsize=16,color="burlywood",shape="box"];3009[label="xu31/()",fontsize=10,color="white",style="solid",shape="box"];20 -> 3009[label="",style="solid", color="burlywood", weight=9]; 3009 -> 28[label="",style="solid", color="burlywood", weight=3]; 21[label="concatMap (range0 xu31 xu30) (LT : EQ : GT : [])",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 22[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 23[label="concatMap (range6 xu31 xu30) (False : True : [])",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="range ((xu300,xu301,xu302),xu31)",fontsize=16,color="burlywood",shape="box"];3010[label="xu31/(xu310,xu311,xu312)",fontsize=10,color="white",style="solid",shape="box"];25 -> 3010[label="",style="solid", color="burlywood", weight=9]; 3010 -> 33[label="",style="solid", color="burlywood", weight=3]; 26[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="triangle"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="range ((xu300,xu301),xu31)",fontsize=16,color="burlywood",shape="box"];3011[label="xu31/(xu310,xu311)",fontsize=10,color="white",style="solid",shape="box"];27 -> 3011[label="",style="solid", color="burlywood", weight=9]; 3011 -> 35[label="",style="solid", color="burlywood", weight=3]; 28[label="range ((),())",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="concat . map (range0 xu31 xu30)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 30 -> 38[label="",style="dashed", color="red", weight=0]; 30[label="map toEnum (enumFromTo (fromEnum xu30) (fromEnum xu31))",fontsize=16,color="magenta"];30 -> 39[label="",style="dashed", color="magenta", weight=3]; 31[label="concat . map (range6 xu31 xu30)",fontsize=16,color="black",shape="box"];31 -> 40[label="",style="solid", color="black", weight=3]; 32[label="numericEnumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];32 -> 41[label="",style="solid", color="black", weight=3]; 33[label="range ((xu300,xu301,xu302),(xu310,xu311,xu312))",fontsize=16,color="black",shape="box"];33 -> 42[label="",style="solid", color="black", weight=3]; 34[label="numericEnumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];34 -> 43[label="",style="solid", color="black", weight=3]; 35[label="range ((xu300,xu301),(xu310,xu311))",fontsize=16,color="black",shape="box"];35 -> 44[label="",style="solid", color="black", weight=3]; 36[label="() : []",fontsize=16,color="green",shape="box"];37[label="concat (map (range0 xu31 xu30) (LT : EQ : GT : []))",fontsize=16,color="black",shape="box"];37 -> 45[label="",style="solid", color="black", weight=3]; 39 -> 26[label="",style="dashed", color="red", weight=0]; 39[label="enumFromTo (fromEnum xu30) (fromEnum xu31)",fontsize=16,color="magenta"];39 -> 46[label="",style="dashed", color="magenta", weight=3]; 39 -> 47[label="",style="dashed", color="magenta", weight=3]; 38[label="map toEnum xu4",fontsize=16,color="burlywood",shape="triangle"];3012[label="xu4/xu40 : xu41",fontsize=10,color="white",style="solid",shape="box"];38 -> 3012[label="",style="solid", color="burlywood", weight=9]; 3012 -> 48[label="",style="solid", color="burlywood", weight=3]; 3013[label="xu4/[]",fontsize=10,color="white",style="solid",shape="box"];38 -> 3013[label="",style="solid", color="burlywood", weight=9]; 3013 -> 49[label="",style="solid", color="burlywood", weight=3]; 40[label="concat (map (range6 xu31 xu30) (False : True : []))",fontsize=16,color="black",shape="box"];40 -> 50[label="",style="solid", color="black", weight=3]; 41[label="takeWhile (flip (<=) xu31) (numericEnumFrom xu30)",fontsize=16,color="black",shape="triangle"];41 -> 51[label="",style="solid", color="black", weight=3]; 42[label="concatMap (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310))",fontsize=16,color="black",shape="box"];42 -> 52[label="",style="solid", color="black", weight=3]; 43[label="takeWhile (flip (<=) xu31) (numericEnumFrom xu30)",fontsize=16,color="black",shape="triangle"];43 -> 53[label="",style="solid", color="black", weight=3]; 44[label="concatMap (range2 xu301 xu311) (range (xu300,xu310))",fontsize=16,color="black",shape="box"];44 -> 54[label="",style="solid", color="black", weight=3]; 45[label="foldr (++) [] (map (range0 xu31 xu30) (LT : EQ : GT : []))",fontsize=16,color="black",shape="box"];45 -> 55[label="",style="solid", color="black", weight=3]; 46[label="fromEnum xu31",fontsize=16,color="black",shape="triangle"];46 -> 56[label="",style="solid", color="black", weight=3]; 47 -> 46[label="",style="dashed", color="red", weight=0]; 47[label="fromEnum xu30",fontsize=16,color="magenta"];47 -> 57[label="",style="dashed", color="magenta", weight=3]; 48[label="map toEnum (xu40 : xu41)",fontsize=16,color="black",shape="box"];48 -> 58[label="",style="solid", color="black", weight=3]; 49[label="map toEnum []",fontsize=16,color="black",shape="box"];49 -> 59[label="",style="solid", color="black", weight=3]; 50[label="foldr (++) [] (map (range6 xu31 xu30) (False : True : []))",fontsize=16,color="black",shape="box"];50 -> 60[label="",style="solid", color="black", weight=3]; 51[label="takeWhile (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];51 -> 61[label="",style="solid", color="black", weight=3]; 52[label="concat . map (range5 xu302 xu312 xu301 xu311)",fontsize=16,color="black",shape="box"];52 -> 62[label="",style="solid", color="black", weight=3]; 53[label="takeWhile (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];53 -> 63[label="",style="solid", color="black", weight=3]; 54[label="concat . map (range2 xu301 xu311)",fontsize=16,color="black",shape="box"];54 -> 64[label="",style="solid", color="black", weight=3]; 55[label="foldr (++) [] (range0 xu31 xu30 LT : map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];55 -> 65[label="",style="solid", color="black", weight=3]; 56[label="primCharToInt xu31",fontsize=16,color="burlywood",shape="box"];3014[label="xu31/Char xu310",fontsize=10,color="white",style="solid",shape="box"];56 -> 3014[label="",style="solid", color="burlywood", weight=9]; 3014 -> 66[label="",style="solid", color="burlywood", weight=3]; 57[label="xu30",fontsize=16,color="green",shape="box"];58[label="toEnum xu40 : map toEnum xu41",fontsize=16,color="green",shape="box"];58 -> 67[label="",style="dashed", color="green", weight=3]; 58 -> 68[label="",style="dashed", color="green", weight=3]; 59[label="[]",fontsize=16,color="green",shape="box"];60[label="foldr (++) [] (range6 xu31 xu30 False : map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];60 -> 69[label="",style="solid", color="black", weight=3]; 61[label="takeWhile2 (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 62[label="concat (map (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 63[label="takeWhile2 (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 64[label="concat (map (range2 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="black",shape="box"];64 -> 73[label="",style="solid", color="black", weight=3]; 65[label="(++) range0 xu31 xu30 LT foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];65 -> 74[label="",style="solid", color="black", weight=3]; 66[label="primCharToInt (Char xu310)",fontsize=16,color="black",shape="box"];66 -> 75[label="",style="solid", color="black", weight=3]; 67[label="toEnum xu40",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 68 -> 38[label="",style="dashed", color="red", weight=0]; 68[label="map toEnum xu41",fontsize=16,color="magenta"];68 -> 77[label="",style="dashed", color="magenta", weight=3]; 69[label="(++) range6 xu31 xu30 False foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];69 -> 78[label="",style="solid", color="black", weight=3]; 70[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (flip (<=) xu31 xu30)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 71 -> 80[label="",style="dashed", color="red", weight=0]; 71[label="foldr (++) [] (map (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="magenta"];71 -> 81[label="",style="dashed", color="magenta", weight=3]; 71 -> 82[label="",style="dashed", color="magenta", weight=3]; 71 -> 83[label="",style="dashed", color="magenta", weight=3]; 71 -> 84[label="",style="dashed", color="magenta", weight=3]; 71 -> 85[label="",style="dashed", color="magenta", weight=3]; 72[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (flip (<=) xu31 xu30)",fontsize=16,color="black",shape="box"];72 -> 86[label="",style="solid", color="black", weight=3]; 73 -> 87[label="",style="dashed", color="red", weight=0]; 73[label="foldr (++) [] (map (range2 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="magenta"];73 -> 88[label="",style="dashed", color="magenta", weight=3]; 73 -> 89[label="",style="dashed", color="magenta", weight=3]; 73 -> 90[label="",style="dashed", color="magenta", weight=3]; 74[label="(++) range00 LT (xu31 >= LT && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];74 -> 91[label="",style="solid", color="black", weight=3]; 75[label="Pos xu310",fontsize=16,color="green",shape="box"];76[label="primIntToChar xu40",fontsize=16,color="burlywood",shape="box"];3015[label="xu40/Pos xu400",fontsize=10,color="white",style="solid",shape="box"];76 -> 3015[label="",style="solid", color="burlywood", weight=9]; 3015 -> 92[label="",style="solid", color="burlywood", weight=3]; 3016[label="xu40/Neg xu400",fontsize=10,color="white",style="solid",shape="box"];76 -> 3016[label="",style="solid", color="burlywood", weight=9]; 3016 -> 93[label="",style="solid", color="burlywood", weight=3]; 77[label="xu41",fontsize=16,color="green",shape="box"];78[label="(++) range60 False (xu31 >= False && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];78 -> 94[label="",style="solid", color="black", weight=3]; 79[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) ((<=) xu30 xu31)",fontsize=16,color="black",shape="box"];79 -> 95[label="",style="solid", color="black", weight=3]; 81[label="xu301",fontsize=16,color="green",shape="box"];82[label="xu311",fontsize=16,color="green",shape="box"];83[label="range (xu300,xu310)",fontsize=16,color="blue",shape="box"];3017[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];83 -> 3017[label="",style="solid", color="blue", weight=9]; 3017 -> 96[label="",style="solid", color="blue", weight=3]; 3018[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];83 -> 3018[label="",style="solid", color="blue", weight=9]; 3018 -> 97[label="",style="solid", color="blue", weight=3]; 3019[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];83 -> 3019[label="",style="solid", color="blue", weight=9]; 3019 -> 98[label="",style="solid", color="blue", weight=3]; 3020[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];83 -> 3020[label="",style="solid", color="blue", weight=9]; 3020 -> 99[label="",style="solid", color="blue", weight=3]; 3021[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];83 -> 3021[label="",style="solid", color="blue", weight=9]; 3021 -> 100[label="",style="solid", color="blue", weight=3]; 3022[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];83 -> 3022[label="",style="solid", color="blue", weight=9]; 3022 -> 101[label="",style="solid", color="blue", weight=3]; 3023[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];83 -> 3023[label="",style="solid", color="blue", weight=9]; 3023 -> 102[label="",style="solid", color="blue", weight=3]; 3024[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];83 -> 3024[label="",style="solid", color="blue", weight=9]; 3024 -> 103[label="",style="solid", color="blue", weight=3]; 84[label="xu302",fontsize=16,color="green",shape="box"];85[label="xu312",fontsize=16,color="green",shape="box"];80[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu15)",fontsize=16,color="burlywood",shape="triangle"];3025[label="xu15/xu150 : xu151",fontsize=10,color="white",style="solid",shape="box"];80 -> 3025[label="",style="solid", color="burlywood", weight=9]; 3025 -> 104[label="",style="solid", color="burlywood", weight=3]; 3026[label="xu15/[]",fontsize=10,color="white",style="solid",shape="box"];80 -> 3026[label="",style="solid", color="burlywood", weight=9]; 3026 -> 105[label="",style="solid", color="burlywood", weight=3]; 86[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) ((<=) xu30 xu31)",fontsize=16,color="black",shape="box"];86 -> 106[label="",style="solid", color="black", weight=3]; 88[label="range (xu300,xu310)",fontsize=16,color="blue",shape="box"];3027[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];88 -> 3027[label="",style="solid", color="blue", weight=9]; 3027 -> 107[label="",style="solid", color="blue", weight=3]; 3028[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];88 -> 3028[label="",style="solid", color="blue", weight=9]; 3028 -> 108[label="",style="solid", color="blue", weight=3]; 3029[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];88 -> 3029[label="",style="solid", color="blue", weight=9]; 3029 -> 109[label="",style="solid", color="blue", weight=3]; 3030[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];88 -> 3030[label="",style="solid", color="blue", weight=9]; 3030 -> 110[label="",style="solid", color="blue", weight=3]; 3031[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];88 -> 3031[label="",style="solid", color="blue", weight=9]; 3031 -> 111[label="",style="solid", color="blue", weight=3]; 3032[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];88 -> 3032[label="",style="solid", color="blue", weight=9]; 3032 -> 112[label="",style="solid", color="blue", weight=3]; 3033[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];88 -> 3033[label="",style="solid", color="blue", weight=9]; 3033 -> 113[label="",style="solid", color="blue", weight=3]; 3034[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];88 -> 3034[label="",style="solid", color="blue", weight=9]; 3034 -> 114[label="",style="solid", color="blue", weight=3]; 89[label="xu301",fontsize=16,color="green",shape="box"];90[label="xu311",fontsize=16,color="green",shape="box"];87[label="foldr (++) [] (map (range2 xu20 xu21) xu22)",fontsize=16,color="burlywood",shape="triangle"];3035[label="xu22/xu220 : xu221",fontsize=10,color="white",style="solid",shape="box"];87 -> 3035[label="",style="solid", color="burlywood", weight=9]; 3035 -> 115[label="",style="solid", color="burlywood", weight=3]; 3036[label="xu22/[]",fontsize=10,color="white",style="solid",shape="box"];87 -> 3036[label="",style="solid", color="burlywood", weight=9]; 3036 -> 116[label="",style="solid", color="burlywood", weight=3]; 91[label="(++) range00 LT (compare xu31 LT /= LT && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];91 -> 117[label="",style="solid", color="black", weight=3]; 92[label="primIntToChar (Pos xu400)",fontsize=16,color="black",shape="box"];92 -> 118[label="",style="solid", color="black", weight=3]; 93[label="primIntToChar (Neg xu400)",fontsize=16,color="burlywood",shape="box"];3037[label="xu400/Succ xu4000",fontsize=10,color="white",style="solid",shape="box"];93 -> 3037[label="",style="solid", color="burlywood", weight=9]; 3037 -> 119[label="",style="solid", color="burlywood", weight=3]; 3038[label="xu400/Zero",fontsize=10,color="white",style="solid",shape="box"];93 -> 3038[label="",style="solid", color="burlywood", weight=9]; 3038 -> 120[label="",style="solid", color="burlywood", weight=3]; 94[label="(++) range60 False (compare xu31 False /= LT && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];94 -> 121[label="",style="solid", color="black", weight=3]; 95[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (compare xu30 xu31 /= GT)",fontsize=16,color="black",shape="box"];95 -> 122[label="",style="solid", color="black", weight=3]; 96 -> 4[label="",style="dashed", color="red", weight=0]; 96[label="range (xu300,xu310)",fontsize=16,color="magenta"];96 -> 123[label="",style="dashed", color="magenta", weight=3]; 97 -> 5[label="",style="dashed", color="red", weight=0]; 97[label="range (xu300,xu310)",fontsize=16,color="magenta"];97 -> 124[label="",style="dashed", color="magenta", weight=3]; 98 -> 6[label="",style="dashed", color="red", weight=0]; 98[label="range (xu300,xu310)",fontsize=16,color="magenta"];98 -> 125[label="",style="dashed", color="magenta", weight=3]; 99 -> 7[label="",style="dashed", color="red", weight=0]; 99[label="range (xu300,xu310)",fontsize=16,color="magenta"];99 -> 126[label="",style="dashed", color="magenta", weight=3]; 100 -> 8[label="",style="dashed", color="red", weight=0]; 100[label="range (xu300,xu310)",fontsize=16,color="magenta"];100 -> 127[label="",style="dashed", color="magenta", weight=3]; 101 -> 9[label="",style="dashed", color="red", weight=0]; 101[label="range (xu300,xu310)",fontsize=16,color="magenta"];101 -> 128[label="",style="dashed", color="magenta", weight=3]; 102 -> 10[label="",style="dashed", color="red", weight=0]; 102[label="range (xu300,xu310)",fontsize=16,color="magenta"];102 -> 129[label="",style="dashed", color="magenta", weight=3]; 103 -> 11[label="",style="dashed", color="red", weight=0]; 103[label="range (xu300,xu310)",fontsize=16,color="magenta"];103 -> 130[label="",style="dashed", color="magenta", weight=3]; 104[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) (xu150 : xu151))",fontsize=16,color="black",shape="box"];104 -> 131[label="",style="solid", color="black", weight=3]; 105[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) [])",fontsize=16,color="black",shape="box"];105 -> 132[label="",style="solid", color="black", weight=3]; 106[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (compare xu30 xu31 /= GT)",fontsize=16,color="black",shape="box"];106 -> 133[label="",style="solid", color="black", weight=3]; 107 -> 4[label="",style="dashed", color="red", weight=0]; 107[label="range (xu300,xu310)",fontsize=16,color="magenta"];107 -> 134[label="",style="dashed", color="magenta", weight=3]; 108 -> 5[label="",style="dashed", color="red", weight=0]; 108[label="range (xu300,xu310)",fontsize=16,color="magenta"];108 -> 135[label="",style="dashed", color="magenta", weight=3]; 109 -> 6[label="",style="dashed", color="red", weight=0]; 109[label="range (xu300,xu310)",fontsize=16,color="magenta"];109 -> 136[label="",style="dashed", color="magenta", weight=3]; 110 -> 7[label="",style="dashed", color="red", weight=0]; 110[label="range (xu300,xu310)",fontsize=16,color="magenta"];110 -> 137[label="",style="dashed", color="magenta", weight=3]; 111 -> 8[label="",style="dashed", color="red", weight=0]; 111[label="range (xu300,xu310)",fontsize=16,color="magenta"];111 -> 138[label="",style="dashed", color="magenta", weight=3]; 112 -> 9[label="",style="dashed", color="red", weight=0]; 112[label="range (xu300,xu310)",fontsize=16,color="magenta"];112 -> 139[label="",style="dashed", color="magenta", weight=3]; 113 -> 10[label="",style="dashed", color="red", weight=0]; 113[label="range (xu300,xu310)",fontsize=16,color="magenta"];113 -> 140[label="",style="dashed", color="magenta", weight=3]; 114 -> 11[label="",style="dashed", color="red", weight=0]; 114[label="range (xu300,xu310)",fontsize=16,color="magenta"];114 -> 141[label="",style="dashed", color="magenta", weight=3]; 115[label="foldr (++) [] (map (range2 xu20 xu21) (xu220 : xu221))",fontsize=16,color="black",shape="box"];115 -> 142[label="",style="solid", color="black", weight=3]; 116[label="foldr (++) [] (map (range2 xu20 xu21) [])",fontsize=16,color="black",shape="box"];116 -> 143[label="",style="solid", color="black", weight=3]; 117[label="(++) range00 LT (not (compare xu31 LT == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];117 -> 144[label="",style="solid", color="black", weight=3]; 118[label="Char xu400",fontsize=16,color="green",shape="box"];119[label="primIntToChar (Neg (Succ xu4000))",fontsize=16,color="black",shape="box"];119 -> 145[label="",style="solid", color="black", weight=3]; 120[label="primIntToChar (Neg Zero)",fontsize=16,color="black",shape="box"];120 -> 146[label="",style="solid", color="black", weight=3]; 121[label="(++) range60 False (not (compare xu31 False == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];121 -> 147[label="",style="solid", color="black", weight=3]; 122[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (compare xu30 xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3039[label="xu30/Integer xu300",fontsize=10,color="white",style="solid",shape="box"];122 -> 3039[label="",style="solid", color="burlywood", weight=9]; 3039 -> 148[label="",style="solid", color="burlywood", weight=3]; 123[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];124[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];125[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];126[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];127[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];128[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];129[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];130[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];131[label="foldr (++) [] (range5 xu11 xu12 xu13 xu14 xu150 : map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="black",shape="box"];131 -> 149[label="",style="solid", color="black", weight=3]; 132[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];132 -> 150[label="",style="solid", color="black", weight=3]; 133[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (compare xu30 xu31 == GT))",fontsize=16,color="black",shape="box"];133 -> 151[label="",style="solid", color="black", weight=3]; 134[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];135[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];136[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];137[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];138[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];139[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];140[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];141[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];142[label="foldr (++) [] (range2 xu20 xu21 xu220 : map (range2 xu20 xu21) xu221)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];143 -> 153[label="",style="solid", color="black", weight=3]; 144[label="(++) range00 LT (not (compare3 xu31 LT == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 145[label="error []",fontsize=16,color="red",shape="box"];146[label="Char Zero",fontsize=16,color="green",shape="box"];147[label="(++) range60 False (not (compare3 xu31 False == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];147 -> 155[label="",style="solid", color="black", weight=3]; 148[label="takeWhile1 (flip (<=) xu31) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (compare (Integer xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3040[label="xu31/Integer xu310",fontsize=10,color="white",style="solid",shape="box"];148 -> 3040[label="",style="solid", color="burlywood", weight=9]; 3040 -> 156[label="",style="solid", color="burlywood", weight=3]; 149 -> 474[label="",style="dashed", color="red", weight=0]; 149[label="(++) range5 xu11 xu12 xu13 xu14 xu150 foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="magenta"];149 -> 475[label="",style="dashed", color="magenta", weight=3]; 149 -> 476[label="",style="dashed", color="magenta", weight=3]; 150[label="[]",fontsize=16,color="green",shape="box"];151[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (primCmpInt xu30 xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3041[label="xu30/Pos xu300",fontsize=10,color="white",style="solid",shape="box"];151 -> 3041[label="",style="solid", color="burlywood", weight=9]; 3041 -> 159[label="",style="solid", color="burlywood", weight=3]; 3042[label="xu30/Neg xu300",fontsize=10,color="white",style="solid",shape="box"];151 -> 3042[label="",style="solid", color="burlywood", weight=9]; 3042 -> 160[label="",style="solid", color="burlywood", weight=3]; 152 -> 519[label="",style="dashed", color="red", weight=0]; 152[label="(++) range2 xu20 xu21 xu220 foldr (++) [] (map (range2 xu20 xu21) xu221)",fontsize=16,color="magenta"];152 -> 520[label="",style="dashed", color="magenta", weight=3]; 152 -> 521[label="",style="dashed", color="magenta", weight=3]; 153[label="[]",fontsize=16,color="green",shape="box"];154[label="(++) range00 LT (not (compare2 xu31 LT (xu31 == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3043[label="xu31/LT",fontsize=10,color="white",style="solid",shape="box"];154 -> 3043[label="",style="solid", color="burlywood", weight=9]; 3043 -> 163[label="",style="solid", color="burlywood", weight=3]; 3044[label="xu31/EQ",fontsize=10,color="white",style="solid",shape="box"];154 -> 3044[label="",style="solid", color="burlywood", weight=9]; 3044 -> 164[label="",style="solid", color="burlywood", weight=3]; 3045[label="xu31/GT",fontsize=10,color="white",style="solid",shape="box"];154 -> 3045[label="",style="solid", color="burlywood", weight=9]; 3045 -> 165[label="",style="solid", color="burlywood", weight=3]; 155[label="(++) range60 False (not (compare2 xu31 False (xu31 == False) == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3046[label="xu31/False",fontsize=10,color="white",style="solid",shape="box"];155 -> 3046[label="",style="solid", color="burlywood", weight=9]; 3046 -> 166[label="",style="solid", color="burlywood", weight=3]; 3047[label="xu31/True",fontsize=10,color="white",style="solid",shape="box"];155 -> 3047[label="",style="solid", color="burlywood", weight=9]; 3047 -> 167[label="",style="solid", color="burlywood", weight=3]; 156[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (compare (Integer xu300) (Integer xu310) == GT))",fontsize=16,color="black",shape="box"];156 -> 168[label="",style="solid", color="black", weight=3]; 475[label="range5 xu11 xu12 xu13 xu14 xu150",fontsize=16,color="black",shape="box"];475 -> 493[label="",style="solid", color="black", weight=3]; 476 -> 80[label="",style="dashed", color="red", weight=0]; 476[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="magenta"];476 -> 494[label="",style="dashed", color="magenta", weight=3]; 474[label="(++) xu43 xu35",fontsize=16,color="burlywood",shape="triangle"];3048[label="xu43/xu430 : xu431",fontsize=10,color="white",style="solid",shape="box"];474 -> 3048[label="",style="solid", color="burlywood", weight=9]; 3048 -> 495[label="",style="solid", color="burlywood", weight=3]; 3049[label="xu43/[]",fontsize=10,color="white",style="solid",shape="box"];474 -> 3049[label="",style="solid", color="burlywood", weight=9]; 3049 -> 496[label="",style="solid", color="burlywood", weight=3]; 159[label="takeWhile1 (flip (<=) xu31) (Pos xu300) (numericEnumFrom $! Pos xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3050[label="xu300/Succ xu3000",fontsize=10,color="white",style="solid",shape="box"];159 -> 3050[label="",style="solid", color="burlywood", weight=9]; 3050 -> 171[label="",style="solid", color="burlywood", weight=3]; 3051[label="xu300/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 3051[label="",style="solid", color="burlywood", weight=9]; 3051 -> 172[label="",style="solid", color="burlywood", weight=3]; 160[label="takeWhile1 (flip (<=) xu31) (Neg xu300) (numericEnumFrom $! Neg xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3052[label="xu300/Succ xu3000",fontsize=10,color="white",style="solid",shape="box"];160 -> 3052[label="",style="solid", color="burlywood", weight=9]; 3052 -> 173[label="",style="solid", color="burlywood", weight=3]; 3053[label="xu300/Zero",fontsize=10,color="white",style="solid",shape="box"];160 -> 3053[label="",style="solid", color="burlywood", weight=9]; 3053 -> 174[label="",style="solid", color="burlywood", weight=3]; 520[label="range2 xu20 xu21 xu220",fontsize=16,color="black",shape="box"];520 -> 538[label="",style="solid", color="black", weight=3]; 521 -> 87[label="",style="dashed", color="red", weight=0]; 521[label="foldr (++) [] (map (range2 xu20 xu21) xu221)",fontsize=16,color="magenta"];521 -> 539[label="",style="dashed", color="magenta", weight=3]; 519[label="(++) xu44 xu42",fontsize=16,color="burlywood",shape="triangle"];3054[label="xu44/xu440 : xu441",fontsize=10,color="white",style="solid",shape="box"];519 -> 3054[label="",style="solid", color="burlywood", weight=9]; 3054 -> 540[label="",style="solid", color="burlywood", weight=3]; 3055[label="xu44/[]",fontsize=10,color="white",style="solid",shape="box"];519 -> 3055[label="",style="solid", color="burlywood", weight=9]; 3055 -> 541[label="",style="solid", color="burlywood", weight=3]; 163[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];163 -> 177[label="",style="solid", color="black", weight=3]; 164[label="(++) range00 LT (not (compare2 EQ LT (EQ == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];164 -> 178[label="",style="solid", color="black", weight=3]; 165[label="(++) range00 LT (not (compare2 GT LT (GT == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];165 -> 179[label="",style="solid", color="black", weight=3]; 166[label="(++) range60 False (not (compare2 False False (False == False) == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];166 -> 180[label="",style="solid", color="black", weight=3]; 167[label="(++) range60 False (not (compare2 True False (True == False) == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];167 -> 181[label="",style="solid", color="black", weight=3]; 168[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt xu300 xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3056[label="xu300/Pos xu3000",fontsize=10,color="white",style="solid",shape="box"];168 -> 3056[label="",style="solid", color="burlywood", weight=9]; 3056 -> 182[label="",style="solid", color="burlywood", weight=3]; 3057[label="xu300/Neg xu3000",fontsize=10,color="white",style="solid",shape="box"];168 -> 3057[label="",style="solid", color="burlywood", weight=9]; 3057 -> 183[label="",style="solid", color="burlywood", weight=3]; 493[label="range50 xu11 xu12 xu13 xu14 xu150",fontsize=16,color="black",shape="box"];493 -> 542[label="",style="solid", color="black", weight=3]; 494[label="xu151",fontsize=16,color="green",shape="box"];495[label="(++) (xu430 : xu431) xu35",fontsize=16,color="black",shape="box"];495 -> 543[label="",style="solid", color="black", weight=3]; 496[label="(++) [] xu35",fontsize=16,color="black",shape="box"];496 -> 544[label="",style="solid", color="black", weight=3]; 171[label="takeWhile1 (flip (<=) xu31) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3058[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];171 -> 3058[label="",style="solid", color="burlywood", weight=9]; 3058 -> 185[label="",style="solid", color="burlywood", weight=3]; 3059[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];171 -> 3059[label="",style="solid", color="burlywood", weight=9]; 3059 -> 186[label="",style="solid", color="burlywood", weight=3]; 172[label="takeWhile1 (flip (<=) xu31) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3060[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];172 -> 3060[label="",style="solid", color="burlywood", weight=9]; 3060 -> 187[label="",style="solid", color="burlywood", weight=3]; 3061[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];172 -> 3061[label="",style="solid", color="burlywood", weight=9]; 3061 -> 188[label="",style="solid", color="burlywood", weight=3]; 173[label="takeWhile1 (flip (<=) xu31) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3062[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];173 -> 3062[label="",style="solid", color="burlywood", weight=9]; 3062 -> 189[label="",style="solid", color="burlywood", weight=3]; 3063[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];173 -> 3063[label="",style="solid", color="burlywood", weight=9]; 3063 -> 190[label="",style="solid", color="burlywood", weight=3]; 174[label="takeWhile1 (flip (<=) xu31) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3064[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];174 -> 3064[label="",style="solid", color="burlywood", weight=9]; 3064 -> 191[label="",style="solid", color="burlywood", weight=3]; 3065[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];174 -> 3065[label="",style="solid", color="burlywood", weight=9]; 3065 -> 192[label="",style="solid", color="burlywood", weight=3]; 538[label="range20 xu20 xu21 xu220",fontsize=16,color="black",shape="box"];538 -> 594[label="",style="solid", color="black", weight=3]; 539[label="xu221",fontsize=16,color="green",shape="box"];540[label="(++) (xu440 : xu441) xu42",fontsize=16,color="black",shape="box"];540 -> 595[label="",style="solid", color="black", weight=3]; 541[label="(++) [] xu42",fontsize=16,color="black",shape="box"];541 -> 596[label="",style="solid", color="black", weight=3]; 177[label="(++) range00 LT (not (compare2 LT LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];177 -> 194[label="",style="solid", color="black", weight=3]; 178[label="(++) range00 LT (not (compare2 EQ LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];178 -> 195[label="",style="solid", color="black", weight=3]; 179[label="(++) range00 LT (not (compare2 GT LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];179 -> 196[label="",style="solid", color="black", weight=3]; 180[label="(++) range60 False (not (compare2 False False True == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];180 -> 197[label="",style="solid", color="black", weight=3]; 181[label="(++) range60 False (not (compare2 True False False == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];181 -> 198[label="",style="solid", color="black", weight=3]; 182[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos xu3000)) (numericEnumFrom $! Integer (Pos xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3066[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];182 -> 3066[label="",style="solid", color="burlywood", weight=9]; 3066 -> 199[label="",style="solid", color="burlywood", weight=3]; 3067[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];182 -> 3067[label="",style="solid", color="burlywood", weight=9]; 3067 -> 200[label="",style="solid", color="burlywood", weight=3]; 183[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg xu3000)) (numericEnumFrom $! Integer (Neg xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3068[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];183 -> 3068[label="",style="solid", color="burlywood", weight=9]; 3068 -> 201[label="",style="solid", color="burlywood", weight=3]; 3069[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];183 -> 3069[label="",style="solid", color="burlywood", weight=9]; 3069 -> 202[label="",style="solid", color="burlywood", weight=3]; 542[label="concatMap (range4 xu150 xu11 xu12) (range (xu13,xu14))",fontsize=16,color="black",shape="box"];542 -> 597[label="",style="solid", color="black", weight=3]; 543[label="xu430 : xu431 ++ xu35",fontsize=16,color="green",shape="box"];543 -> 598[label="",style="dashed", color="green", weight=3]; 544[label="xu35",fontsize=16,color="green",shape="box"];185[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) (Pos xu310) == GT))",fontsize=16,color="black",shape="box"];185 -> 204[label="",style="solid", color="black", weight=3]; 186[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) (Neg xu310) == GT))",fontsize=16,color="black",shape="box"];186 -> 205[label="",style="solid", color="black", weight=3]; 187[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3070[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];187 -> 3070[label="",style="solid", color="burlywood", weight=9]; 3070 -> 206[label="",style="solid", color="burlywood", weight=3]; 3071[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];187 -> 3071[label="",style="solid", color="burlywood", weight=9]; 3071 -> 207[label="",style="solid", color="burlywood", weight=3]; 188[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3072[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];188 -> 3072[label="",style="solid", color="burlywood", weight=9]; 3072 -> 208[label="",style="solid", color="burlywood", weight=3]; 3073[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];188 -> 3073[label="",style="solid", color="burlywood", weight=9]; 3073 -> 209[label="",style="solid", color="burlywood", weight=3]; 189[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) (Pos xu310) == GT))",fontsize=16,color="black",shape="box"];189 -> 210[label="",style="solid", color="black", weight=3]; 190[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) (Neg xu310) == GT))",fontsize=16,color="black",shape="box"];190 -> 211[label="",style="solid", color="black", weight=3]; 191[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3074[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];191 -> 3074[label="",style="solid", color="burlywood", weight=9]; 3074 -> 212[label="",style="solid", color="burlywood", weight=3]; 3075[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];191 -> 3075[label="",style="solid", color="burlywood", weight=9]; 3075 -> 213[label="",style="solid", color="burlywood", weight=3]; 192[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3076[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];192 -> 3076[label="",style="solid", color="burlywood", weight=9]; 3076 -> 214[label="",style="solid", color="burlywood", weight=3]; 3077[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];192 -> 3077[label="",style="solid", color="burlywood", weight=9]; 3077 -> 215[label="",style="solid", color="burlywood", weight=3]; 594[label="concatMap (range1 xu220) (range (xu20,xu21))",fontsize=16,color="black",shape="box"];594 -> 650[label="",style="solid", color="black", weight=3]; 595[label="xu440 : xu441 ++ xu42",fontsize=16,color="green",shape="box"];595 -> 651[label="",style="dashed", color="green", weight=3]; 596[label="xu42",fontsize=16,color="green",shape="box"];194[label="(++) range00 LT (not (EQ == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];194 -> 217[label="",style="solid", color="black", weight=3]; 195[label="(++) range00 LT (not (compare1 EQ LT (EQ <= LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];195 -> 218[label="",style="solid", color="black", weight=3]; 196[label="(++) range00 LT (not (compare1 GT LT (GT <= LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];196 -> 219[label="",style="solid", color="black", weight=3]; 197[label="(++) range60 False (not (EQ == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];197 -> 220[label="",style="solid", color="black", weight=3]; 198[label="(++) range60 False (not (compare1 True False (True <= False) == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];198 -> 221[label="",style="solid", color="black", weight=3]; 199[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3078[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];199 -> 3078[label="",style="solid", color="burlywood", weight=9]; 3078 -> 222[label="",style="solid", color="burlywood", weight=3]; 3079[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];199 -> 3079[label="",style="solid", color="burlywood", weight=9]; 3079 -> 223[label="",style="solid", color="burlywood", weight=3]; 200[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3080[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];200 -> 3080[label="",style="solid", color="burlywood", weight=9]; 3080 -> 224[label="",style="solid", color="burlywood", weight=3]; 3081[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];200 -> 3081[label="",style="solid", color="burlywood", weight=9]; 3081 -> 225[label="",style="solid", color="burlywood", weight=3]; 201[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3082[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];201 -> 3082[label="",style="solid", color="burlywood", weight=9]; 3082 -> 226[label="",style="solid", color="burlywood", weight=3]; 3083[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];201 -> 3083[label="",style="solid", color="burlywood", weight=9]; 3083 -> 227[label="",style="solid", color="burlywood", weight=3]; 202[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3084[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];202 -> 3084[label="",style="solid", color="burlywood", weight=9]; 3084 -> 228[label="",style="solid", color="burlywood", weight=3]; 3085[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];202 -> 3085[label="",style="solid", color="burlywood", weight=9]; 3085 -> 229[label="",style="solid", color="burlywood", weight=3]; 597[label="concat . map (range4 xu150 xu11 xu12)",fontsize=16,color="black",shape="box"];597 -> 652[label="",style="solid", color="black", weight=3]; 598 -> 474[label="",style="dashed", color="red", weight=0]; 598[label="xu431 ++ xu35",fontsize=16,color="magenta"];598 -> 653[label="",style="dashed", color="magenta", weight=3]; 204[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3086[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];204 -> 3086[label="",style="solid", color="burlywood", weight=9]; 3086 -> 231[label="",style="solid", color="burlywood", weight=3]; 3087[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];204 -> 3087[label="",style="solid", color="burlywood", weight=9]; 3087 -> 232[label="",style="solid", color="burlywood", weight=3]; 205[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];205 -> 233[label="",style="solid", color="black", weight=3]; 206[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];206 -> 234[label="",style="solid", color="black", weight=3]; 207[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];207 -> 235[label="",style="solid", color="black", weight=3]; 208[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];208 -> 236[label="",style="solid", color="black", weight=3]; 209[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];209 -> 237[label="",style="solid", color="black", weight=3]; 210[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];210 -> 238[label="",style="solid", color="black", weight=3]; 211[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu310 (Succ xu3000) == GT))",fontsize=16,color="burlywood",shape="box"];3088[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];211 -> 3088[label="",style="solid", color="burlywood", weight=9]; 3088 -> 239[label="",style="solid", color="burlywood", weight=3]; 3089[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];211 -> 3089[label="",style="solid", color="burlywood", weight=9]; 3089 -> 240[label="",style="solid", color="burlywood", weight=3]; 212[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];212 -> 241[label="",style="solid", color="black", weight=3]; 213[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];213 -> 242[label="",style="solid", color="black", weight=3]; 214[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];214 -> 243[label="",style="solid", color="black", weight=3]; 215[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];215 -> 244[label="",style="solid", color="black", weight=3]; 650[label="concat . map (range1 xu220)",fontsize=16,color="black",shape="box"];650 -> 710[label="",style="solid", color="black", weight=3]; 651 -> 519[label="",style="dashed", color="red", weight=0]; 651[label="xu441 ++ xu42",fontsize=16,color="magenta"];651 -> 711[label="",style="dashed", color="magenta", weight=3]; 217[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];217 -> 246[label="",style="solid", color="black", weight=3]; 218[label="(++) range00 LT (not (compare1 EQ LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];218 -> 247[label="",style="solid", color="black", weight=3]; 219[label="(++) range00 LT (not (compare1 GT LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];219 -> 248[label="",style="solid", color="black", weight=3]; 220[label="(++) range60 False (not False && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];220 -> 249[label="",style="solid", color="black", weight=3]; 221[label="(++) range60 False (not (compare1 True False False == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];221 -> 250[label="",style="solid", color="black", weight=3]; 222[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) (Pos xu3100) == GT))",fontsize=16,color="black",shape="box"];222 -> 251[label="",style="solid", color="black", weight=3]; 223[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) (Neg xu3100) == GT))",fontsize=16,color="black",shape="box"];223 -> 252[label="",style="solid", color="black", weight=3]; 224[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3090[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];224 -> 3090[label="",style="solid", color="burlywood", weight=9]; 3090 -> 253[label="",style="solid", color="burlywood", weight=3]; 3091[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];224 -> 3091[label="",style="solid", color="burlywood", weight=9]; 3091 -> 254[label="",style="solid", color="burlywood", weight=3]; 225[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3092[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];225 -> 3092[label="",style="solid", color="burlywood", weight=9]; 3092 -> 255[label="",style="solid", color="burlywood", weight=3]; 3093[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];225 -> 3093[label="",style="solid", color="burlywood", weight=9]; 3093 -> 256[label="",style="solid", color="burlywood", weight=3]; 226[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) (Pos xu3100) == GT))",fontsize=16,color="black",shape="box"];226 -> 257[label="",style="solid", color="black", weight=3]; 227[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) (Neg xu3100) == GT))",fontsize=16,color="black",shape="box"];227 -> 258[label="",style="solid", color="black", weight=3]; 228[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3094[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];228 -> 3094[label="",style="solid", color="burlywood", weight=9]; 3094 -> 259[label="",style="solid", color="burlywood", weight=3]; 3095[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];228 -> 3095[label="",style="solid", color="burlywood", weight=9]; 3095 -> 260[label="",style="solid", color="burlywood", weight=3]; 229[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3096[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];229 -> 3096[label="",style="solid", color="burlywood", weight=9]; 3096 -> 261[label="",style="solid", color="burlywood", weight=3]; 3097[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];229 -> 3097[label="",style="solid", color="burlywood", weight=9]; 3097 -> 262[label="",style="solid", color="burlywood", weight=3]; 652[label="concat (map (range4 xu150 xu11 xu12) (range (xu13,xu14)))",fontsize=16,color="black",shape="box"];652 -> 712[label="",style="solid", color="black", weight=3]; 653[label="xu431",fontsize=16,color="green",shape="box"];231[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) (Succ xu3100) == GT))",fontsize=16,color="black",shape="box"];231 -> 264[label="",style="solid", color="black", weight=3]; 232[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) Zero == GT))",fontsize=16,color="black",shape="box"];232 -> 265[label="",style="solid", color="black", weight=3]; 233[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];233 -> 266[label="",style="solid", color="black", weight=3]; 234[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu3100) == GT))",fontsize=16,color="black",shape="box"];234 -> 267[label="",style="solid", color="black", weight=3]; 235[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];235 -> 268[label="",style="solid", color="black", weight=3]; 236[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];236 -> 269[label="",style="solid", color="black", weight=3]; 237[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];237 -> 270[label="",style="solid", color="black", weight=3]; 238[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];238 -> 271[label="",style="solid", color="black", weight=3]; 239[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3100) (Succ xu3000) == GT))",fontsize=16,color="black",shape="box"];239 -> 272[label="",style="solid", color="black", weight=3]; 240[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu3000) == GT))",fontsize=16,color="black",shape="box"];240 -> 273[label="",style="solid", color="black", weight=3]; 241[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];241 -> 274[label="",style="solid", color="black", weight=3]; 242[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];242 -> 275[label="",style="solid", color="black", weight=3]; 243[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3100) Zero == GT))",fontsize=16,color="black",shape="box"];243 -> 276[label="",style="solid", color="black", weight=3]; 244[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];244 -> 277[label="",style="solid", color="black", weight=3]; 710[label="concat (map (range1 xu220) (range (xu20,xu21)))",fontsize=16,color="black",shape="box"];710 -> 771[label="",style="solid", color="black", weight=3]; 711[label="xu441",fontsize=16,color="green",shape="box"];246[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];246 -> 279[label="",style="solid", color="black", weight=3]; 247[label="(++) range00 LT (not (compare0 EQ LT otherwise == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];247 -> 280[label="",style="solid", color="black", weight=3]; 248[label="(++) range00 LT (not (compare0 GT LT otherwise == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];248 -> 281[label="",style="solid", color="black", weight=3]; 249[label="(++) range60 False (True && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];249 -> 282[label="",style="solid", color="black", weight=3]; 250[label="(++) range60 False (not (compare0 True False otherwise == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];250 -> 283[label="",style="solid", color="black", weight=3]; 251[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) xu3100 == GT))",fontsize=16,color="burlywood",shape="box"];3098[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];251 -> 3098[label="",style="solid", color="burlywood", weight=9]; 3098 -> 284[label="",style="solid", color="burlywood", weight=3]; 3099[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];251 -> 3099[label="",style="solid", color="burlywood", weight=9]; 3099 -> 285[label="",style="solid", color="burlywood", weight=3]; 252[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];252 -> 286[label="",style="solid", color="black", weight=3]; 253[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];253 -> 287[label="",style="solid", color="black", weight=3]; 254[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];254 -> 288[label="",style="solid", color="black", weight=3]; 255[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];255 -> 289[label="",style="solid", color="black", weight=3]; 256[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];256 -> 290[label="",style="solid", color="black", weight=3]; 257[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];257 -> 291[label="",style="solid", color="black", weight=3]; 258[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3100 (Succ xu30000) == GT))",fontsize=16,color="burlywood",shape="box"];3100[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];258 -> 3100[label="",style="solid", color="burlywood", weight=9]; 3100 -> 292[label="",style="solid", color="burlywood", weight=3]; 3101[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];258 -> 3101[label="",style="solid", color="burlywood", weight=9]; 3101 -> 293[label="",style="solid", color="burlywood", weight=3]; 259[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];259 -> 294[label="",style="solid", color="black", weight=3]; 260[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];260 -> 295[label="",style="solid", color="black", weight=3]; 261[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];261 -> 296[label="",style="solid", color="black", weight=3]; 262[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];262 -> 297[label="",style="solid", color="black", weight=3]; 712 -> 772[label="",style="dashed", color="red", weight=0]; 712[label="foldr (++) [] (map (range4 xu150 xu11 xu12) (range (xu13,xu14)))",fontsize=16,color="magenta"];712 -> 773[label="",style="dashed", color="magenta", weight=3]; 712 -> 774[label="",style="dashed", color="magenta", weight=3]; 712 -> 775[label="",style="dashed", color="magenta", weight=3]; 712 -> 776[label="",style="dashed", color="magenta", weight=3]; 264 -> 2275[label="",style="dashed", color="red", weight=0]; 264[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3000 xu3100 == GT))",fontsize=16,color="magenta"];264 -> 2276[label="",style="dashed", color="magenta", weight=3]; 264 -> 2277[label="",style="dashed", color="magenta", weight=3]; 264 -> 2278[label="",style="dashed", color="magenta", weight=3]; 264 -> 2279[label="",style="dashed", color="magenta", weight=3]; 265[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];265 -> 306[label="",style="solid", color="black", weight=3]; 266[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];266 -> 307[label="",style="solid", color="black", weight=3]; 267[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];267 -> 308[label="",style="solid", color="black", weight=3]; 268[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];268 -> 309[label="",style="solid", color="black", weight=3]; 269[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];269 -> 310[label="",style="solid", color="black", weight=3]; 270[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];270 -> 311[label="",style="solid", color="black", weight=3]; 271[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];271 -> 312[label="",style="solid", color="black", weight=3]; 272 -> 2391[label="",style="dashed", color="red", weight=0]; 272[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3100 xu3000 == GT))",fontsize=16,color="magenta"];272 -> 2392[label="",style="dashed", color="magenta", weight=3]; 272 -> 2393[label="",style="dashed", color="magenta", weight=3]; 272 -> 2394[label="",style="dashed", color="magenta", weight=3]; 272 -> 2395[label="",style="dashed", color="magenta", weight=3]; 272 -> 2396[label="",style="dashed", color="magenta", weight=3]; 273[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];273 -> 315[label="",style="solid", color="black", weight=3]; 274[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];274 -> 316[label="",style="solid", color="black", weight=3]; 275[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];275 -> 317[label="",style="solid", color="black", weight=3]; 276[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];276 -> 318[label="",style="solid", color="black", weight=3]; 277[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];277 -> 319[label="",style="solid", color="black", weight=3]; 771 -> 777[label="",style="dashed", color="red", weight=0]; 771[label="foldr (++) [] (map (range1 xu220) (range (xu20,xu21)))",fontsize=16,color="magenta"];771 -> 778[label="",style="dashed", color="magenta", weight=3]; 771 -> 779[label="",style="dashed", color="magenta", weight=3]; 279[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];279 -> 324[label="",style="solid", color="black", weight=3]; 280[label="(++) range00 LT (not (compare0 EQ LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];280 -> 325[label="",style="solid", color="black", weight=3]; 281[label="(++) range00 LT (not (compare0 GT LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];281 -> 326[label="",style="solid", color="black", weight=3]; 282[label="(++) range60 False (False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];282 -> 327[label="",style="solid", color="black", weight=3]; 283[label="(++) range60 False (not (compare0 True False True == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];283 -> 328[label="",style="solid", color="black", weight=3]; 284[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) (Succ xu31000) == GT))",fontsize=16,color="black",shape="box"];284 -> 329[label="",style="solid", color="black", weight=3]; 285[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) Zero == GT))",fontsize=16,color="black",shape="box"];285 -> 330[label="",style="solid", color="black", weight=3]; 286[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];286 -> 331[label="",style="solid", color="black", weight=3]; 287[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu31000) == GT))",fontsize=16,color="black",shape="box"];287 -> 332[label="",style="solid", color="black", weight=3]; 288[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];288 -> 333[label="",style="solid", color="black", weight=3]; 289[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];289 -> 334[label="",style="solid", color="black", weight=3]; 290[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];290 -> 335[label="",style="solid", color="black", weight=3]; 291[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];291 -> 336[label="",style="solid", color="black", weight=3]; 292[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu31000) (Succ xu30000) == GT))",fontsize=16,color="black",shape="box"];292 -> 337[label="",style="solid", color="black", weight=3]; 293[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu30000) == GT))",fontsize=16,color="black",shape="box"];293 -> 338[label="",style="solid", color="black", weight=3]; 294[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];294 -> 339[label="",style="solid", color="black", weight=3]; 295[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];295 -> 340[label="",style="solid", color="black", weight=3]; 296[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu31000) Zero == GT))",fontsize=16,color="black",shape="box"];296 -> 341[label="",style="solid", color="black", weight=3]; 297[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];297 -> 342[label="",style="solid", color="black", weight=3]; 773[label="range (xu13,xu14)",fontsize=16,color="blue",shape="box"];3102[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];773 -> 3102[label="",style="solid", color="blue", weight=9]; 3102 -> 780[label="",style="solid", color="blue", weight=3]; 3103[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];773 -> 3103[label="",style="solid", color="blue", weight=9]; 3103 -> 781[label="",style="solid", color="blue", weight=3]; 3104[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];773 -> 3104[label="",style="solid", color="blue", weight=9]; 3104 -> 782[label="",style="solid", color="blue", weight=3]; 3105[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];773 -> 3105[label="",style="solid", color="blue", weight=9]; 3105 -> 783[label="",style="solid", color="blue", weight=3]; 3106[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];773 -> 3106[label="",style="solid", color="blue", weight=9]; 3106 -> 784[label="",style="solid", color="blue", weight=3]; 3107[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];773 -> 3107[label="",style="solid", color="blue", weight=9]; 3107 -> 785[label="",style="solid", color="blue", weight=3]; 3108[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];773 -> 3108[label="",style="solid", color="blue", weight=9]; 3108 -> 786[label="",style="solid", color="blue", weight=3]; 3109[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];773 -> 3109[label="",style="solid", color="blue", weight=9]; 3109 -> 787[label="",style="solid", color="blue", weight=3]; 774[label="xu11",fontsize=16,color="green",shape="box"];775[label="xu150",fontsize=16,color="green",shape="box"];776[label="xu12",fontsize=16,color="green",shape="box"];772[label="foldr (++) [] (map (range4 xu50 xu51 xu52) xu53)",fontsize=16,color="burlywood",shape="triangle"];3110[label="xu53/xu530 : xu531",fontsize=10,color="white",style="solid",shape="box"];772 -> 3110[label="",style="solid", color="burlywood", weight=9]; 3110 -> 788[label="",style="solid", color="burlywood", weight=3]; 3111[label="xu53/[]",fontsize=10,color="white",style="solid",shape="box"];772 -> 3111[label="",style="solid", color="burlywood", weight=9]; 3111 -> 789[label="",style="solid", color="burlywood", weight=3]; 2276[label="xu3100",fontsize=16,color="green",shape="box"];2277[label="xu3000",fontsize=16,color="green",shape="box"];2278[label="xu3000",fontsize=16,color="green",shape="box"];2279[label="xu3100",fontsize=16,color="green",shape="box"];2275[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu169 xu170 == GT))",fontsize=16,color="burlywood",shape="triangle"];3112[label="xu169/Succ xu1690",fontsize=10,color="white",style="solid",shape="box"];2275 -> 3112[label="",style="solid", color="burlywood", weight=9]; 3112 -> 2316[label="",style="solid", color="burlywood", weight=3]; 3113[label="xu169/Zero",fontsize=10,color="white",style="solid",shape="box"];2275 -> 3113[label="",style="solid", color="burlywood", weight=9]; 3113 -> 2317[label="",style="solid", color="burlywood", weight=3]; 306[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];306 -> 357[label="",style="solid", color="black", weight=3]; 307[label="takeWhile0 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];307 -> 358[label="",style="solid", color="black", weight=3]; 308[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];308 -> 359[label="",style="solid", color="black", weight=3]; 309[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];309 -> 360[label="",style="solid", color="black", weight=3]; 310[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];310 -> 361[label="",style="solid", color="black", weight=3]; 311[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];311 -> 362[label="",style="solid", color="black", weight=3]; 312[label="Neg (Succ xu3000) : takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];312 -> 363[label="",style="dashed", color="green", weight=3]; 2392[label="xu3100",fontsize=16,color="green",shape="box"];2393[label="xu3000",fontsize=16,color="green",shape="box"];2394[label="Neg (Succ xu3000) + fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];2394 -> 2447[label="",style="solid", color="black", weight=3]; 2395[label="xu3100",fontsize=16,color="green",shape="box"];2396[label="xu3000",fontsize=16,color="green",shape="box"];2391[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat xu198 xu199 == GT))",fontsize=16,color="burlywood",shape="triangle"];3114[label="xu198/Succ xu1980",fontsize=10,color="white",style="solid",shape="box"];2391 -> 3114[label="",style="solid", color="burlywood", weight=9]; 3114 -> 2448[label="",style="solid", color="burlywood", weight=3]; 3115[label="xu198/Zero",fontsize=10,color="white",style="solid",shape="box"];2391 -> 3115[label="",style="solid", color="burlywood", weight=9]; 3115 -> 2449[label="",style="solid", color="burlywood", weight=3]; 315[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];315 -> 368[label="",style="solid", color="black", weight=3]; 316[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];316 -> 369[label="",style="solid", color="black", weight=3]; 317[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];317 -> 370[label="",style="solid", color="black", weight=3]; 318[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];318 -> 371[label="",style="solid", color="black", weight=3]; 319[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];319 -> 372[label="",style="solid", color="black", weight=3]; 778[label="xu220",fontsize=16,color="green",shape="box"];779[label="range (xu20,xu21)",fontsize=16,color="blue",shape="box"];3116[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];779 -> 3116[label="",style="solid", color="blue", weight=9]; 3116 -> 790[label="",style="solid", color="blue", weight=3]; 3117[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];779 -> 3117[label="",style="solid", color="blue", weight=9]; 3117 -> 791[label="",style="solid", color="blue", weight=3]; 3118[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];779 -> 3118[label="",style="solid", color="blue", weight=9]; 3118 -> 792[label="",style="solid", color="blue", weight=3]; 3119[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];779 -> 3119[label="",style="solid", color="blue", weight=9]; 3119 -> 793[label="",style="solid", color="blue", weight=3]; 3120[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];779 -> 3120[label="",style="solid", color="blue", weight=9]; 3120 -> 794[label="",style="solid", color="blue", weight=3]; 3121[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];779 -> 3121[label="",style="solid", color="blue", weight=9]; 3121 -> 795[label="",style="solid", color="blue", weight=3]; 3122[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];779 -> 3122[label="",style="solid", color="blue", weight=9]; 3122 -> 796[label="",style="solid", color="blue", weight=3]; 3123[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];779 -> 3123[label="",style="solid", color="blue", weight=9]; 3123 -> 797[label="",style="solid", color="blue", weight=3]; 777[label="foldr (++) [] (map (range1 xu57) xu58)",fontsize=16,color="burlywood",shape="triangle"];3124[label="xu58/xu580 : xu581",fontsize=10,color="white",style="solid",shape="box"];777 -> 3124[label="",style="solid", color="burlywood", weight=9]; 3124 -> 798[label="",style="solid", color="burlywood", weight=3]; 3125[label="xu58/[]",fontsize=10,color="white",style="solid",shape="box"];777 -> 3125[label="",style="solid", color="burlywood", weight=9]; 3125 -> 799[label="",style="solid", color="burlywood", weight=3]; 324[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];324 -> 383[label="",style="solid", color="black", weight=3]; 325[label="(++) range00 LT (not (GT == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];325 -> 384[label="",style="solid", color="black", weight=3]; 326[label="(++) range00 LT (not (GT == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];326 -> 385[label="",style="solid", color="black", weight=3]; 327[label="(++) range60 False (compare False xu30 /= LT) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];327 -> 386[label="",style="solid", color="black", weight=3]; 328[label="(++) range60 False (not (GT == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];328 -> 387[label="",style="solid", color="black", weight=3]; 329 -> 2464[label="",style="dashed", color="red", weight=0]; 329[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu30000 xu31000 == GT))",fontsize=16,color="magenta"];329 -> 2465[label="",style="dashed", color="magenta", weight=3]; 329 -> 2466[label="",style="dashed", color="magenta", weight=3]; 329 -> 2467[label="",style="dashed", color="magenta", weight=3]; 329 -> 2468[label="",style="dashed", color="magenta", weight=3]; 330[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];330 -> 390[label="",style="solid", color="black", weight=3]; 331[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];331 -> 391[label="",style="solid", color="black", weight=3]; 332[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];332 -> 392[label="",style="solid", color="black", weight=3]; 333[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];333 -> 393[label="",style="solid", color="black", weight=3]; 334[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];334 -> 394[label="",style="solid", color="black", weight=3]; 335[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];335 -> 395[label="",style="solid", color="black", weight=3]; 336[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];336 -> 396[label="",style="solid", color="black", weight=3]; 337 -> 2513[label="",style="dashed", color="red", weight=0]; 337[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu31000 xu30000 == GT))",fontsize=16,color="magenta"];337 -> 2514[label="",style="dashed", color="magenta", weight=3]; 337 -> 2515[label="",style="dashed", color="magenta", weight=3]; 337 -> 2516[label="",style="dashed", color="magenta", weight=3]; 337 -> 2517[label="",style="dashed", color="magenta", weight=3]; 338[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];338 -> 399[label="",style="solid", color="black", weight=3]; 339[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];339 -> 400[label="",style="solid", color="black", weight=3]; 340[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];340 -> 401[label="",style="solid", color="black", weight=3]; 341[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];341 -> 402[label="",style="solid", color="black", weight=3]; 342[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];342 -> 403[label="",style="solid", color="black", weight=3]; 780 -> 4[label="",style="dashed", color="red", weight=0]; 780[label="range (xu13,xu14)",fontsize=16,color="magenta"];780 -> 859[label="",style="dashed", color="magenta", weight=3]; 781 -> 5[label="",style="dashed", color="red", weight=0]; 781[label="range (xu13,xu14)",fontsize=16,color="magenta"];781 -> 860[label="",style="dashed", color="magenta", weight=3]; 782 -> 6[label="",style="dashed", color="red", weight=0]; 782[label="range (xu13,xu14)",fontsize=16,color="magenta"];782 -> 861[label="",style="dashed", color="magenta", weight=3]; 783 -> 7[label="",style="dashed", color="red", weight=0]; 783[label="range (xu13,xu14)",fontsize=16,color="magenta"];783 -> 862[label="",style="dashed", color="magenta", weight=3]; 784 -> 8[label="",style="dashed", color="red", weight=0]; 784[label="range (xu13,xu14)",fontsize=16,color="magenta"];784 -> 863[label="",style="dashed", color="magenta", weight=3]; 785[label="range (xu13,xu14)",fontsize=16,color="burlywood",shape="triangle"];3126[label="xu13/(xu130,xu131,xu132)",fontsize=10,color="white",style="solid",shape="box"];785 -> 3126[label="",style="solid", color="burlywood", weight=9]; 3126 -> 864[label="",style="solid", color="burlywood", weight=3]; 786 -> 10[label="",style="dashed", color="red", weight=0]; 786[label="range (xu13,xu14)",fontsize=16,color="magenta"];786 -> 865[label="",style="dashed", color="magenta", weight=3]; 787[label="range (xu13,xu14)",fontsize=16,color="burlywood",shape="triangle"];3127[label="xu13/(xu130,xu131)",fontsize=10,color="white",style="solid",shape="box"];787 -> 3127[label="",style="solid", color="burlywood", weight=9]; 3127 -> 866[label="",style="solid", color="burlywood", weight=3]; 788[label="foldr (++) [] (map (range4 xu50 xu51 xu52) (xu530 : xu531))",fontsize=16,color="black",shape="box"];788 -> 867[label="",style="solid", color="black", weight=3]; 789[label="foldr (++) [] (map (range4 xu50 xu51 xu52) [])",fontsize=16,color="black",shape="box"];789 -> 868[label="",style="solid", color="black", weight=3]; 2316[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) xu170 == GT))",fontsize=16,color="burlywood",shape="box"];3128[label="xu170/Succ xu1700",fontsize=10,color="white",style="solid",shape="box"];2316 -> 3128[label="",style="solid", color="burlywood", weight=9]; 3128 -> 2323[label="",style="solid", color="burlywood", weight=3]; 3129[label="xu170/Zero",fontsize=10,color="white",style="solid",shape="box"];2316 -> 3129[label="",style="solid", color="burlywood", weight=9]; 3129 -> 2324[label="",style="solid", color="burlywood", weight=3]; 2317[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu170 == GT))",fontsize=16,color="burlywood",shape="box"];3130[label="xu170/Succ xu1700",fontsize=10,color="white",style="solid",shape="box"];2317 -> 3130[label="",style="solid", color="burlywood", weight=9]; 3130 -> 2325[label="",style="solid", color="burlywood", weight=3]; 3131[label="xu170/Zero",fontsize=10,color="white",style="solid",shape="box"];2317 -> 3131[label="",style="solid", color="burlywood", weight=9]; 3131 -> 2326[label="",style="solid", color="burlywood", weight=3]; 357[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];357 -> 418[label="",style="solid", color="black", weight=3]; 358[label="takeWhile0 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];358 -> 419[label="",style="solid", color="black", weight=3]; 359[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];359 -> 420[label="",style="solid", color="black", weight=3]; 360[label="Pos Zero : takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];360 -> 421[label="",style="dashed", color="green", weight=3]; 361[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];361 -> 422[label="",style="solid", color="black", weight=3]; 362[label="Pos Zero : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];362 -> 423[label="",style="dashed", color="green", weight=3]; 363[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];363 -> 424[label="",style="solid", color="black", weight=3]; 2447[label="primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2447 -> 2505[label="",style="solid", color="black", weight=3]; 2448[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) xu199 == GT))",fontsize=16,color="burlywood",shape="box"];3132[label="xu199/Succ xu1990",fontsize=10,color="white",style="solid",shape="box"];2448 -> 3132[label="",style="solid", color="burlywood", weight=9]; 3132 -> 2506[label="",style="solid", color="burlywood", weight=3]; 3133[label="xu199/Zero",fontsize=10,color="white",style="solid",shape="box"];2448 -> 3133[label="",style="solid", color="burlywood", weight=9]; 3133 -> 2507[label="",style="solid", color="burlywood", weight=3]; 2449[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero xu199 == GT))",fontsize=16,color="burlywood",shape="box"];3134[label="xu199/Succ xu1990",fontsize=10,color="white",style="solid",shape="box"];2449 -> 3134[label="",style="solid", color="burlywood", weight=9]; 3134 -> 2508[label="",style="solid", color="burlywood", weight=3]; 3135[label="xu199/Zero",fontsize=10,color="white",style="solid",shape="box"];2449 -> 3135[label="",style="solid", color="burlywood", weight=9]; 3135 -> 2509[label="",style="solid", color="burlywood", weight=3]; 368[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];368 -> 429[label="",style="solid", color="black", weight=3]; 369[label="Neg Zero : takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];369 -> 430[label="",style="dashed", color="green", weight=3]; 370[label="Neg Zero : takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];370 -> 431[label="",style="dashed", color="green", weight=3]; 371[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];371 -> 432[label="",style="solid", color="black", weight=3]; 372[label="Neg Zero : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];372 -> 433[label="",style="dashed", color="green", weight=3]; 790 -> 4[label="",style="dashed", color="red", weight=0]; 790[label="range (xu20,xu21)",fontsize=16,color="magenta"];790 -> 869[label="",style="dashed", color="magenta", weight=3]; 791 -> 5[label="",style="dashed", color="red", weight=0]; 791[label="range (xu20,xu21)",fontsize=16,color="magenta"];791 -> 870[label="",style="dashed", color="magenta", weight=3]; 792 -> 6[label="",style="dashed", color="red", weight=0]; 792[label="range (xu20,xu21)",fontsize=16,color="magenta"];792 -> 871[label="",style="dashed", color="magenta", weight=3]; 793 -> 7[label="",style="dashed", color="red", weight=0]; 793[label="range (xu20,xu21)",fontsize=16,color="magenta"];793 -> 872[label="",style="dashed", color="magenta", weight=3]; 794 -> 8[label="",style="dashed", color="red", weight=0]; 794[label="range (xu20,xu21)",fontsize=16,color="magenta"];794 -> 873[label="",style="dashed", color="magenta", weight=3]; 795 -> 785[label="",style="dashed", color="red", weight=0]; 795[label="range (xu20,xu21)",fontsize=16,color="magenta"];795 -> 874[label="",style="dashed", color="magenta", weight=3]; 795 -> 875[label="",style="dashed", color="magenta", weight=3]; 796 -> 10[label="",style="dashed", color="red", weight=0]; 796[label="range (xu20,xu21)",fontsize=16,color="magenta"];796 -> 876[label="",style="dashed", color="magenta", weight=3]; 797 -> 787[label="",style="dashed", color="red", weight=0]; 797[label="range (xu20,xu21)",fontsize=16,color="magenta"];797 -> 877[label="",style="dashed", color="magenta", weight=3]; 797 -> 878[label="",style="dashed", color="magenta", weight=3]; 798[label="foldr (++) [] (map (range1 xu57) (xu580 : xu581))",fontsize=16,color="black",shape="box"];798 -> 879[label="",style="solid", color="black", weight=3]; 799[label="foldr (++) [] (map (range1 xu57) [])",fontsize=16,color="black",shape="box"];799 -> 880[label="",style="solid", color="black", weight=3]; 383[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];383 -> 446[label="",style="solid", color="black", weight=3]; 384[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];384 -> 447[label="",style="solid", color="black", weight=3]; 385[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];385 -> 448[label="",style="solid", color="black", weight=3]; 386[label="(++) range60 False (not (compare False xu30 == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];386 -> 449[label="",style="solid", color="black", weight=3]; 387[label="(++) range60 False (not False && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];387 -> 450[label="",style="solid", color="black", weight=3]; 2465[label="xu31000",fontsize=16,color="green",shape="box"];2466[label="xu31000",fontsize=16,color="green",shape="box"];2467[label="xu30000",fontsize=16,color="green",shape="box"];2468[label="xu30000",fontsize=16,color="green",shape="box"];2464[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu203 xu204 == GT))",fontsize=16,color="burlywood",shape="triangle"];3136[label="xu203/Succ xu2030",fontsize=10,color="white",style="solid",shape="box"];2464 -> 3136[label="",style="solid", color="burlywood", weight=9]; 3136 -> 2510[label="",style="solid", color="burlywood", weight=3]; 3137[label="xu203/Zero",fontsize=10,color="white",style="solid",shape="box"];2464 -> 3137[label="",style="solid", color="burlywood", weight=9]; 3137 -> 2511[label="",style="solid", color="burlywood", weight=3]; 390[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];390 -> 455[label="",style="solid", color="black", weight=3]; 391[label="takeWhile0 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];391 -> 456[label="",style="solid", color="black", weight=3]; 392[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];392 -> 457[label="",style="solid", color="black", weight=3]; 393[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];393 -> 458[label="",style="solid", color="black", weight=3]; 394[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];394 -> 459[label="",style="solid", color="black", weight=3]; 395[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];395 -> 460[label="",style="solid", color="black", weight=3]; 396[label="Integer (Neg (Succ xu30000)) : takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];396 -> 461[label="",style="dashed", color="green", weight=3]; 2514[label="xu31000",fontsize=16,color="green",shape="box"];2515[label="xu31000",fontsize=16,color="green",shape="box"];2516[label="xu30000",fontsize=16,color="green",shape="box"];2517[label="xu30000",fontsize=16,color="green",shape="box"];2513[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu208 xu209 == GT))",fontsize=16,color="burlywood",shape="triangle"];3138[label="xu208/Succ xu2080",fontsize=10,color="white",style="solid",shape="box"];2513 -> 3138[label="",style="solid", color="burlywood", weight=9]; 3138 -> 2554[label="",style="solid", color="burlywood", weight=3]; 3139[label="xu208/Zero",fontsize=10,color="white",style="solid",shape="box"];2513 -> 3139[label="",style="solid", color="burlywood", weight=9]; 3139 -> 2555[label="",style="solid", color="burlywood", weight=3]; 399[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];399 -> 466[label="",style="solid", color="black", weight=3]; 400[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];400 -> 467[label="",style="solid", color="black", weight=3]; 401[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];401 -> 468[label="",style="solid", color="black", weight=3]; 402[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];402 -> 469[label="",style="solid", color="black", weight=3]; 403[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];403 -> 470[label="",style="solid", color="black", weight=3]; 859[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];860[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];861[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];862[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];863[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];864[label="range ((xu130,xu131,xu132),xu14)",fontsize=16,color="burlywood",shape="box"];3140[label="xu14/(xu140,xu141,xu142)",fontsize=10,color="white",style="solid",shape="box"];864 -> 3140[label="",style="solid", color="burlywood", weight=9]; 3140 -> 954[label="",style="solid", color="burlywood", weight=3]; 865[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];866[label="range ((xu130,xu131),xu14)",fontsize=16,color="burlywood",shape="box"];3141[label="xu14/(xu140,xu141)",fontsize=10,color="white",style="solid",shape="box"];866 -> 3141[label="",style="solid", color="burlywood", weight=9]; 3141 -> 955[label="",style="solid", color="burlywood", weight=3]; 867[label="foldr (++) [] (range4 xu50 xu51 xu52 xu530 : map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="black",shape="box"];867 -> 956[label="",style="solid", color="black", weight=3]; 868 -> 132[label="",style="dashed", color="red", weight=0]; 868[label="foldr (++) [] []",fontsize=16,color="magenta"];2323[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) (Succ xu1700) == GT))",fontsize=16,color="black",shape="box"];2323 -> 2330[label="",style="solid", color="black", weight=3]; 2324[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) Zero == GT))",fontsize=16,color="black",shape="box"];2324 -> 2331[label="",style="solid", color="black", weight=3]; 2325[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu1700) == GT))",fontsize=16,color="black",shape="box"];2325 -> 2332[label="",style="solid", color="black", weight=3]; 2326[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2326 -> 2333[label="",style="solid", color="black", weight=3]; 418[label="takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];418 -> 502[label="",style="solid", color="black", weight=3]; 419[label="[]",fontsize=16,color="green",shape="box"];420[label="Pos Zero : takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];420 -> 503[label="",style="dashed", color="green", weight=3]; 421[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];421 -> 504[label="",style="solid", color="black", weight=3]; 422[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];422 -> 505[label="",style="solid", color="black", weight=3]; 423[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];423 -> 506[label="",style="solid", color="black", weight=3]; 424[label="takeWhile (flip (<=) (Pos xu310)) (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];424 -> 507[label="",style="solid", color="black", weight=3]; 2505 -> 985[label="",style="dashed", color="red", weight=0]; 2505[label="primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2505 -> 2556[label="",style="dashed", color="magenta", weight=3]; 2506[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) (Succ xu1990) == GT))",fontsize=16,color="black",shape="box"];2506 -> 2557[label="",style="solid", color="black", weight=3]; 2507[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) Zero == GT))",fontsize=16,color="black",shape="box"];2507 -> 2558[label="",style="solid", color="black", weight=3]; 2508[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero (Succ xu1990) == GT))",fontsize=16,color="black",shape="box"];2508 -> 2559[label="",style="solid", color="black", weight=3]; 2509[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2509 -> 2560[label="",style="solid", color="black", weight=3]; 429[label="Neg (Succ xu3000) : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];429 -> 513[label="",style="dashed", color="green", weight=3]; 430[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];430 -> 514[label="",style="solid", color="black", weight=3]; 431[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];431 -> 515[label="",style="solid", color="black", weight=3]; 432[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];432 -> 516[label="",style="solid", color="black", weight=3]; 433[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];433 -> 517[label="",style="solid", color="black", weight=3]; 869[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];870[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];871[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];872[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];873[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];874[label="xu20",fontsize=16,color="green",shape="box"];875[label="xu21",fontsize=16,color="green",shape="box"];876[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];877[label="xu20",fontsize=16,color="green",shape="box"];878[label="xu21",fontsize=16,color="green",shape="box"];879[label="foldr (++) [] (range1 xu57 xu580 : map (range1 xu57) xu581)",fontsize=16,color="black",shape="box"];879 -> 957[label="",style="solid", color="black", weight=3]; 880 -> 143[label="",style="dashed", color="red", weight=0]; 880[label="foldr (++) [] []",fontsize=16,color="magenta"];446[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];446 -> 545[label="",style="solid", color="black", weight=3]; 447[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];447 -> 546[label="",style="solid", color="black", weight=3]; 448[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];448 -> 547[label="",style="solid", color="black", weight=3]; 449[label="(++) range60 False (not (compare3 False xu30 == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];449 -> 548[label="",style="solid", color="black", weight=3]; 450[label="(++) range60 False (True && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];450 -> 549[label="",style="solid", color="black", weight=3]; 2510[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) xu204 == GT))",fontsize=16,color="burlywood",shape="box"];3142[label="xu204/Succ xu2040",fontsize=10,color="white",style="solid",shape="box"];2510 -> 3142[label="",style="solid", color="burlywood", weight=9]; 3142 -> 2561[label="",style="solid", color="burlywood", weight=3]; 3143[label="xu204/Zero",fontsize=10,color="white",style="solid",shape="box"];2510 -> 3143[label="",style="solid", color="burlywood", weight=9]; 3143 -> 2562[label="",style="solid", color="burlywood", weight=3]; 2511[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu204 == GT))",fontsize=16,color="burlywood",shape="box"];3144[label="xu204/Succ xu2040",fontsize=10,color="white",style="solid",shape="box"];2511 -> 3144[label="",style="solid", color="burlywood", weight=9]; 3144 -> 2563[label="",style="solid", color="burlywood", weight=3]; 3145[label="xu204/Zero",fontsize=10,color="white",style="solid",shape="box"];2511 -> 3145[label="",style="solid", color="burlywood", weight=9]; 3145 -> 2564[label="",style="solid", color="burlywood", weight=3]; 455[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];455 -> 554[label="",style="solid", color="black", weight=3]; 456[label="takeWhile0 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];456 -> 555[label="",style="solid", color="black", weight=3]; 457[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];457 -> 556[label="",style="solid", color="black", weight=3]; 458[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];458 -> 557[label="",style="dashed", color="green", weight=3]; 459[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];459 -> 558[label="",style="solid", color="black", weight=3]; 460[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];460 -> 559[label="",style="dashed", color="green", weight=3]; 461[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];461 -> 560[label="",style="solid", color="black", weight=3]; 2554[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) xu209 == GT))",fontsize=16,color="burlywood",shape="box"];3146[label="xu209/Succ xu2090",fontsize=10,color="white",style="solid",shape="box"];2554 -> 3146[label="",style="solid", color="burlywood", weight=9]; 3146 -> 2579[label="",style="solid", color="burlywood", weight=3]; 3147[label="xu209/Zero",fontsize=10,color="white",style="solid",shape="box"];2554 -> 3147[label="",style="solid", color="burlywood", weight=9]; 3147 -> 2580[label="",style="solid", color="burlywood", weight=3]; 2555[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu209 == GT))",fontsize=16,color="burlywood",shape="box"];3148[label="xu209/Succ xu2090",fontsize=10,color="white",style="solid",shape="box"];2555 -> 3148[label="",style="solid", color="burlywood", weight=9]; 3148 -> 2581[label="",style="solid", color="burlywood", weight=3]; 3149[label="xu209/Zero",fontsize=10,color="white",style="solid",shape="box"];2555 -> 3149[label="",style="solid", color="burlywood", weight=9]; 3149 -> 2582[label="",style="solid", color="burlywood", weight=3]; 466[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];466 -> 565[label="",style="solid", color="black", weight=3]; 467[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];467 -> 566[label="",style="dashed", color="green", weight=3]; 468[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];468 -> 567[label="",style="dashed", color="green", weight=3]; 469[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];469 -> 568[label="",style="solid", color="black", weight=3]; 470[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];470 -> 569[label="",style="dashed", color="green", weight=3]; 954[label="range ((xu130,xu131,xu132),(xu140,xu141,xu142))",fontsize=16,color="black",shape="box"];954 -> 1040[label="",style="solid", color="black", weight=3]; 955[label="range ((xu130,xu131),(xu140,xu141))",fontsize=16,color="black",shape="box"];955 -> 1041[label="",style="solid", color="black", weight=3]; 956 -> 474[label="",style="dashed", color="red", weight=0]; 956[label="(++) range4 xu50 xu51 xu52 xu530 foldr (++) [] (map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="magenta"];956 -> 1042[label="",style="dashed", color="magenta", weight=3]; 956 -> 1043[label="",style="dashed", color="magenta", weight=3]; 2330 -> 2275[label="",style="dashed", color="red", weight=0]; 2330[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu1690 xu1700 == GT))",fontsize=16,color="magenta"];2330 -> 2337[label="",style="dashed", color="magenta", weight=3]; 2330 -> 2338[label="",style="dashed", color="magenta", weight=3]; 2331[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2331 -> 2339[label="",style="solid", color="black", weight=3]; 2332[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2332 -> 2340[label="",style="solid", color="black", weight=3]; 2333[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2333 -> 2341[label="",style="solid", color="black", weight=3]; 502[label="takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];502 -> 577[label="",style="solid", color="black", weight=3]; 503[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];503 -> 578[label="",style="solid", color="black", weight=3]; 504[label="takeWhile (flip (<=) (Pos Zero)) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];504 -> 579[label="",style="solid", color="black", weight=3]; 505[label="[]",fontsize=16,color="green",shape="box"];506[label="takeWhile (flip (<=) (Neg Zero)) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];506 -> 580[label="",style="solid", color="black", weight=3]; 507[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];507 -> 581[label="",style="solid", color="black", weight=3]; 2556[label="xu3000",fontsize=16,color="green",shape="box"];985[label="primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];985 -> 1073[label="",style="solid", color="black", weight=3]; 2557 -> 2391[label="",style="dashed", color="red", weight=0]; 2557[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat xu1980 xu1990 == GT))",fontsize=16,color="magenta"];2557 -> 2583[label="",style="dashed", color="magenta", weight=3]; 2557 -> 2584[label="",style="dashed", color="magenta", weight=3]; 2558[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (GT == GT))",fontsize=16,color="black",shape="box"];2558 -> 2585[label="",style="solid", color="black", weight=3]; 2559[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (LT == GT))",fontsize=16,color="black",shape="box"];2559 -> 2586[label="",style="solid", color="black", weight=3]; 2560[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2560 -> 2587[label="",style="solid", color="black", weight=3]; 513[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];513 -> 589[label="",style="solid", color="black", weight=3]; 514[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];514 -> 590[label="",style="solid", color="black", weight=3]; 515[label="takeWhile (flip (<=) (Pos Zero)) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];515 -> 591[label="",style="solid", color="black", weight=3]; 516[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];516 -> 592[label="",style="solid", color="black", weight=3]; 517[label="takeWhile (flip (<=) (Neg Zero)) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];517 -> 593[label="",style="solid", color="black", weight=3]; 957 -> 519[label="",style="dashed", color="red", weight=0]; 957[label="(++) range1 xu57 xu580 foldr (++) [] (map (range1 xu57) xu581)",fontsize=16,color="magenta"];957 -> 1044[label="",style="dashed", color="magenta", weight=3]; 957 -> 1045[label="",style="dashed", color="magenta", weight=3]; 545[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3150[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];545 -> 3150[label="",style="solid", color="burlywood", weight=9]; 3150 -> 599[label="",style="solid", color="burlywood", weight=3]; 3151[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];545 -> 3151[label="",style="solid", color="burlywood", weight=9]; 3151 -> 600[label="",style="solid", color="burlywood", weight=3]; 3152[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];545 -> 3152[label="",style="solid", color="burlywood", weight=9]; 3152 -> 601[label="",style="solid", color="burlywood", weight=3]; 546[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];546 -> 602[label="",style="solid", color="black", weight=3]; 547[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];547 -> 603[label="",style="solid", color="black", weight=3]; 548[label="(++) range60 False (not (compare2 False xu30 (False == xu30) == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3153[label="xu30/False",fontsize=10,color="white",style="solid",shape="box"];548 -> 3153[label="",style="solid", color="burlywood", weight=9]; 3153 -> 604[label="",style="solid", color="burlywood", weight=3]; 3154[label="xu30/True",fontsize=10,color="white",style="solid",shape="box"];548 -> 3154[label="",style="solid", color="burlywood", weight=9]; 3154 -> 605[label="",style="solid", color="burlywood", weight=3]; 549[label="(++) range60 False (False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];549 -> 606[label="",style="solid", color="black", weight=3]; 2561[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) (Succ xu2040) == GT))",fontsize=16,color="black",shape="box"];2561 -> 2588[label="",style="solid", color="black", weight=3]; 2562[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) Zero == GT))",fontsize=16,color="black",shape="box"];2562 -> 2589[label="",style="solid", color="black", weight=3]; 2563[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu2040) == GT))",fontsize=16,color="black",shape="box"];2563 -> 2590[label="",style="solid", color="black", weight=3]; 2564[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2564 -> 2591[label="",style="solid", color="black", weight=3]; 554[label="takeWhile0 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];554 -> 612[label="",style="solid", color="black", weight=3]; 555[label="[]",fontsize=16,color="green",shape="box"];556[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];556 -> 613[label="",style="dashed", color="green", weight=3]; 557[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];557 -> 614[label="",style="solid", color="black", weight=3]; 558[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];558 -> 615[label="",style="solid", color="black", weight=3]; 559[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];559 -> 616[label="",style="solid", color="black", weight=3]; 560[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];560 -> 617[label="",style="solid", color="black", weight=3]; 2579[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) (Succ xu2090) == GT))",fontsize=16,color="black",shape="box"];2579 -> 2606[label="",style="solid", color="black", weight=3]; 2580[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) Zero == GT))",fontsize=16,color="black",shape="box"];2580 -> 2607[label="",style="solid", color="black", weight=3]; 2581[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu2090) == GT))",fontsize=16,color="black",shape="box"];2581 -> 2608[label="",style="solid", color="black", weight=3]; 2582[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2582 -> 2609[label="",style="solid", color="black", weight=3]; 565[label="Integer (Neg (Succ xu30000)) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];565 -> 623[label="",style="dashed", color="green", weight=3]; 566[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];566 -> 624[label="",style="solid", color="black", weight=3]; 567[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];567 -> 625[label="",style="solid", color="black", weight=3]; 568[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];568 -> 626[label="",style="solid", color="black", weight=3]; 569[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];569 -> 627[label="",style="solid", color="black", weight=3]; 1040[label="concatMap (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140))",fontsize=16,color="black",shape="box"];1040 -> 1128[label="",style="solid", color="black", weight=3]; 1041[label="concatMap (range2 xu131 xu141) (range (xu130,xu140))",fontsize=16,color="black",shape="box"];1041 -> 1129[label="",style="solid", color="black", weight=3]; 1042[label="range4 xu50 xu51 xu52 xu530",fontsize=16,color="black",shape="box"];1042 -> 1130[label="",style="solid", color="black", weight=3]; 1043 -> 772[label="",style="dashed", color="red", weight=0]; 1043[label="foldr (++) [] (map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="magenta"];1043 -> 1131[label="",style="dashed", color="magenta", weight=3]; 2337[label="xu1690",fontsize=16,color="green",shape="box"];2338[label="xu1700",fontsize=16,color="green",shape="box"];2339[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2339 -> 2365[label="",style="solid", color="black", weight=3]; 2340[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2340 -> 2366[label="",style="solid", color="black", weight=3]; 2341 -> 2340[label="",style="dashed", color="red", weight=0]; 2341[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];577[label="[]",fontsize=16,color="green",shape="box"];578[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];578 -> 635[label="",style="solid", color="black", weight=3]; 579[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];579 -> 636[label="",style="solid", color="black", weight=3]; 580[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];580 -> 637[label="",style="solid", color="black", weight=3]; 581[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];581 -> 638[label="",style="solid", color="black", weight=3]; 1073[label="primMinusNat (Succ Zero) (Succ xu30000)",fontsize=16,color="black",shape="box"];1073 -> 1166[label="",style="solid", color="black", weight=3]; 2583[label="xu1980",fontsize=16,color="green",shape="box"];2584[label="xu1990",fontsize=16,color="green",shape="box"];2585[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not True)",fontsize=16,color="black",shape="box"];2585 -> 2610[label="",style="solid", color="black", weight=3]; 2586[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not False)",fontsize=16,color="black",shape="triangle"];2586 -> 2611[label="",style="solid", color="black", weight=3]; 2587 -> 2586[label="",style="dashed", color="red", weight=0]; 2587[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not False)",fontsize=16,color="magenta"];589[label="takeWhile (flip (<=) (Neg Zero)) (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];589 -> 646[label="",style="solid", color="black", weight=3]; 590[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];590 -> 647[label="",style="solid", color="black", weight=3]; 591[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];591 -> 648[label="",style="solid", color="black", weight=3]; 592[label="[]",fontsize=16,color="green",shape="box"];593[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];593 -> 649[label="",style="solid", color="black", weight=3]; 1044[label="range1 xu57 xu580",fontsize=16,color="black",shape="box"];1044 -> 1132[label="",style="solid", color="black", weight=3]; 1045 -> 777[label="",style="dashed", color="red", weight=0]; 1045[label="foldr (++) [] (map (range1 xu57) xu581)",fontsize=16,color="magenta"];1045 -> 1133[label="",style="dashed", color="magenta", weight=3]; 599[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];599 -> 654[label="",style="solid", color="black", weight=3]; 600[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];600 -> 655[label="",style="solid", color="black", weight=3]; 601[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];601 -> 656[label="",style="solid", color="black", weight=3]; 602[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];602 -> 657[label="",style="solid", color="black", weight=3]; 603[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];603 -> 658[label="",style="solid", color="black", weight=3]; 604[label="(++) range60 False (not (compare2 False False (False == False) == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];604 -> 659[label="",style="solid", color="black", weight=3]; 605[label="(++) range60 False (not (compare2 False True (False == True) == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];605 -> 660[label="",style="solid", color="black", weight=3]; 606[label="(++) range60 False (compare False xu30 /= LT) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];606 -> 661[label="",style="solid", color="black", weight=3]; 2588 -> 2464[label="",style="dashed", color="red", weight=0]; 2588[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu2030 xu2040 == GT))",fontsize=16,color="magenta"];2588 -> 2612[label="",style="dashed", color="magenta", weight=3]; 2588 -> 2613[label="",style="dashed", color="magenta", weight=3]; 2589[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2589 -> 2614[label="",style="solid", color="black", weight=3]; 2590[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2590 -> 2615[label="",style="solid", color="black", weight=3]; 2591[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2591 -> 2616[label="",style="solid", color="black", weight=3]; 612[label="takeWhile0 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];612 -> 669[label="",style="solid", color="black", weight=3]; 613[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];613 -> 670[label="",style="solid", color="black", weight=3]; 614[label="takeWhile (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];614 -> 671[label="",style="solid", color="black", weight=3]; 615[label="[]",fontsize=16,color="green",shape="box"];616[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];616 -> 672[label="",style="solid", color="black", weight=3]; 617[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];617 -> 673[label="",style="solid", color="black", weight=3]; 2606 -> 2513[label="",style="dashed", color="red", weight=0]; 2606[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu2080 xu2090 == GT))",fontsize=16,color="magenta"];2606 -> 2631[label="",style="dashed", color="magenta", weight=3]; 2606 -> 2632[label="",style="dashed", color="magenta", weight=3]; 2607[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2607 -> 2633[label="",style="solid", color="black", weight=3]; 2608[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2608 -> 2634[label="",style="solid", color="black", weight=3]; 2609[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2609 -> 2635[label="",style="solid", color="black", weight=3]; 623[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];623 -> 681[label="",style="solid", color="black", weight=3]; 624[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];624 -> 682[label="",style="solid", color="black", weight=3]; 625[label="takeWhile (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];625 -> 683[label="",style="solid", color="black", weight=3]; 626[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];626 -> 684[label="",style="solid", color="black", weight=3]; 627[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];627 -> 685[label="",style="solid", color="black", weight=3]; 1128[label="concat . map (range5 xu132 xu142 xu131 xu141)",fontsize=16,color="black",shape="box"];1128 -> 1195[label="",style="solid", color="black", weight=3]; 1129[label="concat . map (range2 xu131 xu141)",fontsize=16,color="black",shape="box"];1129 -> 1196[label="",style="solid", color="black", weight=3]; 1130[label="range40 xu50 xu51 xu52 xu530",fontsize=16,color="black",shape="box"];1130 -> 1197[label="",style="solid", color="black", weight=3]; 1131[label="xu531",fontsize=16,color="green",shape="box"];2365[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2365 -> 2377[label="",style="solid", color="black", weight=3]; 2366[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2366 -> 2378[label="",style="solid", color="black", weight=3]; 635[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];635 -> 694[label="",style="solid", color="black", weight=3]; 636[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];636 -> 695[label="",style="solid", color="black", weight=3]; 637[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];637 -> 696[label="",style="solid", color="black", weight=3]; 638[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];638 -> 697[label="",style="solid", color="black", weight=3]; 1166[label="primMinusNat Zero xu30000",fontsize=16,color="burlywood",shape="box"];3155[label="xu30000/Succ xu300000",fontsize=10,color="white",style="solid",shape="box"];1166 -> 3155[label="",style="solid", color="burlywood", weight=9]; 3155 -> 1322[label="",style="solid", color="burlywood", weight=3]; 3156[label="xu30000/Zero",fontsize=10,color="white",style="solid",shape="box"];1166 -> 3156[label="",style="solid", color="burlywood", weight=9]; 3156 -> 1323[label="",style="solid", color="burlywood", weight=3]; 2610[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) False",fontsize=16,color="black",shape="box"];2610 -> 2636[label="",style="solid", color="black", weight=3]; 2611[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) True",fontsize=16,color="black",shape="box"];2611 -> 2637[label="",style="solid", color="black", weight=3]; 646[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];646 -> 706[label="",style="solid", color="black", weight=3]; 647[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];647 -> 707[label="",style="solid", color="black", weight=3]; 648[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];648 -> 708[label="",style="solid", color="black", weight=3]; 649[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];649 -> 709[label="",style="solid", color="black", weight=3]; 1132[label="range10 xu57 xu580",fontsize=16,color="black",shape="box"];1132 -> 1198[label="",style="solid", color="black", weight=3]; 1133[label="xu581",fontsize=16,color="green",shape="box"];654[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];654 -> 713[label="",style="solid", color="black", weight=3]; 655[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];655 -> 714[label="",style="solid", color="black", weight=3]; 656[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];656 -> 715[label="",style="solid", color="black", weight=3]; 657[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];657 -> 716[label="",style="solid", color="black", weight=3]; 658[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];658 -> 717[label="",style="solid", color="black", weight=3]; 659[label="(++) range60 False (not (compare2 False False True == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];659 -> 718[label="",style="solid", color="black", weight=3]; 660[label="(++) range60 False (not (compare2 False True False == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];660 -> 719[label="",style="solid", color="black", weight=3]; 661[label="(++) range60 False (not (compare False xu30 == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];661 -> 720[label="",style="solid", color="black", weight=3]; 2612[label="xu2040",fontsize=16,color="green",shape="box"];2613[label="xu2030",fontsize=16,color="green",shape="box"];2614[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2614 -> 2638[label="",style="solid", color="black", weight=3]; 2615[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2615 -> 2639[label="",style="solid", color="black", weight=3]; 2616 -> 2615[label="",style="dashed", color="red", weight=0]; 2616[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];669[label="[]",fontsize=16,color="green",shape="box"];670[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];670 -> 728[label="",style="solid", color="black", weight=3]; 671[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];671 -> 729[label="",style="solid", color="black", weight=3]; 672[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];672 -> 730[label="",style="solid", color="black", weight=3]; 673[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];673 -> 731[label="",style="solid", color="black", weight=3]; 2631[label="xu2080",fontsize=16,color="green",shape="box"];2632[label="xu2090",fontsize=16,color="green",shape="box"];2633[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2633 -> 2654[label="",style="solid", color="black", weight=3]; 2634[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2634 -> 2655[label="",style="solid", color="black", weight=3]; 2635 -> 2634[label="",style="dashed", color="red", weight=0]; 2635[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];681[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];681 -> 739[label="",style="solid", color="black", weight=3]; 682[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];682 -> 740[label="",style="solid", color="black", weight=3]; 683[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];683 -> 741[label="",style="solid", color="black", weight=3]; 684[label="[]",fontsize=16,color="green",shape="box"];685[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];685 -> 742[label="",style="solid", color="black", weight=3]; 1195[label="concat (map (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="black",shape="box"];1195 -> 1205[label="",style="solid", color="black", weight=3]; 1196[label="concat (map (range2 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="black",shape="box"];1196 -> 1206[label="",style="solid", color="black", weight=3]; 1197[label="concatMap (range3 xu50 xu530) (range (xu51,xu52))",fontsize=16,color="black",shape="box"];1197 -> 1207[label="",style="solid", color="black", weight=3]; 2377[label="takeWhile0 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2377 -> 2381[label="",style="solid", color="black", weight=3]; 2378[label="Pos (Succ xu168) : takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2378 -> 2382[label="",style="dashed", color="green", weight=3]; 694[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];694 -> 753[label="",style="solid", color="black", weight=3]; 695[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];695 -> 754[label="",style="solid", color="black", weight=3]; 696[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];696 -> 755[label="",style="solid", color="black", weight=3]; 697[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) (Succ xu3000))) (numericEnumFrom (primMinusNat (Succ Zero) (Succ xu3000))))",fontsize=16,color="black",shape="box"];697 -> 756[label="",style="solid", color="black", weight=3]; 1322[label="primMinusNat Zero (Succ xu300000)",fontsize=16,color="black",shape="box"];1322 -> 1406[label="",style="solid", color="black", weight=3]; 1323[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];1323 -> 1407[label="",style="solid", color="black", weight=3]; 2636[label="takeWhile0 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) otherwise",fontsize=16,color="black",shape="box"];2636 -> 2656[label="",style="solid", color="black", weight=3]; 2637[label="Neg (Succ xu196) : takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom $! xu197)",fontsize=16,color="green",shape="box"];2637 -> 2657[label="",style="dashed", color="green", weight=3]; 706[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];706 -> 767[label="",style="solid", color="black", weight=3]; 707[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];707 -> 768[label="",style="solid", color="black", weight=3]; 708[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];708 -> 769[label="",style="solid", color="black", weight=3]; 709[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];709 -> 770[label="",style="solid", color="black", weight=3]; 1198[label="(xu57,xu580) : []",fontsize=16,color="green",shape="box"];713[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];713 -> 800[label="",style="solid", color="black", weight=3]; 714[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];714 -> 801[label="",style="solid", color="black", weight=3]; 715[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];715 -> 802[label="",style="solid", color="black", weight=3]; 716[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];716 -> 803[label="",style="solid", color="black", weight=3]; 717[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];717 -> 804[label="",style="solid", color="black", weight=3]; 718[label="(++) range60 False (not (EQ == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];718 -> 805[label="",style="solid", color="black", weight=3]; 719[label="(++) range60 False (not (compare1 False True (False <= True) == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];719 -> 806[label="",style="solid", color="black", weight=3]; 720[label="(++) range60 False (not (compare3 False xu30 == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];720 -> 807[label="",style="solid", color="black", weight=3]; 2638[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2638 -> 2658[label="",style="solid", color="black", weight=3]; 2639[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2639 -> 2659[label="",style="solid", color="black", weight=3]; 728[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];728 -> 816[label="",style="solid", color="black", weight=3]; 729[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];729 -> 817[label="",style="solid", color="black", weight=3]; 730[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];730 -> 818[label="",style="solid", color="black", weight=3]; 731[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];731 -> 819[label="",style="solid", color="black", weight=3]; 2654[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2654 -> 2672[label="",style="solid", color="black", weight=3]; 2655[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2655 -> 2673[label="",style="solid", color="black", weight=3]; 739[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];739 -> 828[label="",style="solid", color="black", weight=3]; 740[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];740 -> 829[label="",style="solid", color="black", weight=3]; 741[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];741 -> 830[label="",style="solid", color="black", weight=3]; 742[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];742 -> 831[label="",style="solid", color="black", weight=3]; 1205 -> 80[label="",style="dashed", color="red", weight=0]; 1205[label="foldr (++) [] (map (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="magenta"];1205 -> 1210[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1211[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1212[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1213[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1214[label="",style="dashed", color="magenta", weight=3]; 1206 -> 87[label="",style="dashed", color="red", weight=0]; 1206[label="foldr (++) [] (map (range2 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="magenta"];1206 -> 1215[label="",style="dashed", color="magenta", weight=3]; 1206 -> 1216[label="",style="dashed", color="magenta", weight=3]; 1206 -> 1217[label="",style="dashed", color="magenta", weight=3]; 1207[label="concat . map (range3 xu50 xu530)",fontsize=16,color="black",shape="box"];1207 -> 1218[label="",style="solid", color="black", weight=3]; 2381[label="takeWhile0 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2381 -> 2385[label="",style="solid", color="black", weight=3]; 2382[label="takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2382 -> 2386[label="",style="solid", color="black", weight=3]; 753[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];753 -> 841[label="",style="solid", color="black", weight=3]; 754[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];754 -> 842[label="",style="solid", color="black", weight=3]; 755[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];755 -> 843[label="",style="solid", color="black", weight=3]; 756[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero xu3000)) (numericEnumFrom (primMinusNat Zero xu3000)))",fontsize=16,color="burlywood",shape="box"];3157[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];756 -> 3157[label="",style="solid", color="burlywood", weight=9]; 3157 -> 844[label="",style="solid", color="burlywood", weight=3]; 3158[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];756 -> 3158[label="",style="solid", color="burlywood", weight=9]; 3158 -> 845[label="",style="solid", color="burlywood", weight=3]; 1406[label="Neg (Succ xu300000)",fontsize=16,color="green",shape="box"];1407[label="Pos Zero",fontsize=16,color="green",shape="box"];2656[label="takeWhile0 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) True",fontsize=16,color="black",shape="box"];2656 -> 2674[label="",style="solid", color="black", weight=3]; 2657[label="takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom $! xu197)",fontsize=16,color="black",shape="box"];2657 -> 2675[label="",style="solid", color="black", weight=3]; 767[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];767 -> 855[label="",style="solid", color="black", weight=3]; 768[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];768 -> 856[label="",style="solid", color="black", weight=3]; 769[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];769 -> 857[label="",style="solid", color="black", weight=3]; 770[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];770 -> 858[label="",style="solid", color="black", weight=3]; 800[label="(++) range00 LT (not False) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];800 -> 881[label="",style="solid", color="black", weight=3]; 801[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];801 -> 882[label="",style="solid", color="black", weight=3]; 802[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];802 -> 883[label="",style="solid", color="black", weight=3]; 803[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3159[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];803 -> 3159[label="",style="solid", color="burlywood", weight=9]; 3159 -> 884[label="",style="solid", color="burlywood", weight=3]; 3160[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];803 -> 3160[label="",style="solid", color="burlywood", weight=9]; 3160 -> 885[label="",style="solid", color="burlywood", weight=3]; 3161[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];803 -> 3161[label="",style="solid", color="burlywood", weight=9]; 3161 -> 886[label="",style="solid", color="burlywood", weight=3]; 804[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3162[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];804 -> 3162[label="",style="solid", color="burlywood", weight=9]; 3162 -> 887[label="",style="solid", color="burlywood", weight=3]; 3163[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];804 -> 3163[label="",style="solid", color="burlywood", weight=9]; 3163 -> 888[label="",style="solid", color="burlywood", weight=3]; 3164[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];804 -> 3164[label="",style="solid", color="burlywood", weight=9]; 3164 -> 889[label="",style="solid", color="burlywood", weight=3]; 805[label="(++) range60 False (not False) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];805 -> 890[label="",style="solid", color="black", weight=3]; 806[label="(++) range60 False (not (compare1 False True True == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];806 -> 891[label="",style="solid", color="black", weight=3]; 807[label="(++) range60 False (not (compare2 False xu30 (False == xu30) == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3165[label="xu30/False",fontsize=10,color="white",style="solid",shape="box"];807 -> 3165[label="",style="solid", color="burlywood", weight=9]; 3165 -> 892[label="",style="solid", color="burlywood", weight=3]; 3166[label="xu30/True",fontsize=10,color="white",style="solid",shape="box"];807 -> 3166[label="",style="solid", color="burlywood", weight=9]; 3166 -> 893[label="",style="solid", color="burlywood", weight=3]; 2658[label="takeWhile0 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2658 -> 2676[label="",style="solid", color="black", weight=3]; 2659[label="Integer (Pos (Succ xu202)) : takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2659 -> 2677[label="",style="dashed", color="green", weight=3]; 816[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];816 -> 904[label="",style="solid", color="black", weight=3]; 817[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];817 -> 905[label="",style="solid", color="black", weight=3]; 818[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];818 -> 906[label="",style="solid", color="black", weight=3]; 819 -> 41[label="",style="dashed", color="red", weight=0]; 819[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];819 -> 907[label="",style="dashed", color="magenta", weight=3]; 819 -> 908[label="",style="dashed", color="magenta", weight=3]; 2672[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2672 -> 2690[label="",style="solid", color="black", weight=3]; 2673[label="Integer (Neg (Succ xu207)) : takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2673 -> 2691[label="",style="dashed", color="green", weight=3]; 828[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];828 -> 919[label="",style="solid", color="black", weight=3]; 829[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];829 -> 920[label="",style="solid", color="black", weight=3]; 830[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];830 -> 921[label="",style="solid", color="black", weight=3]; 831[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];831 -> 922[label="",style="solid", color="black", weight=3]; 1210[label="xu131",fontsize=16,color="green",shape="box"];1211[label="xu141",fontsize=16,color="green",shape="box"];1212[label="range (xu130,xu140)",fontsize=16,color="blue",shape="box"];3167[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3167[label="",style="solid", color="blue", weight=9]; 3167 -> 1221[label="",style="solid", color="blue", weight=3]; 3168[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3168[label="",style="solid", color="blue", weight=9]; 3168 -> 1222[label="",style="solid", color="blue", weight=3]; 3169[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3169[label="",style="solid", color="blue", weight=9]; 3169 -> 1223[label="",style="solid", color="blue", weight=3]; 3170[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3170[label="",style="solid", color="blue", weight=9]; 3170 -> 1224[label="",style="solid", color="blue", weight=3]; 3171[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3171[label="",style="solid", color="blue", weight=9]; 3171 -> 1225[label="",style="solid", color="blue", weight=3]; 3172[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3172[label="",style="solid", color="blue", weight=9]; 3172 -> 1226[label="",style="solid", color="blue", weight=3]; 3173[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3173[label="",style="solid", color="blue", weight=9]; 3173 -> 1227[label="",style="solid", color="blue", weight=3]; 3174[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3174[label="",style="solid", color="blue", weight=9]; 3174 -> 1228[label="",style="solid", color="blue", weight=3]; 1213[label="xu132",fontsize=16,color="green",shape="box"];1214[label="xu142",fontsize=16,color="green",shape="box"];1215[label="range (xu130,xu140)",fontsize=16,color="blue",shape="box"];3175[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3175[label="",style="solid", color="blue", weight=9]; 3175 -> 1229[label="",style="solid", color="blue", weight=3]; 3176[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3176[label="",style="solid", color="blue", weight=9]; 3176 -> 1230[label="",style="solid", color="blue", weight=3]; 3177[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3177[label="",style="solid", color="blue", weight=9]; 3177 -> 1231[label="",style="solid", color="blue", weight=3]; 3178[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3178[label="",style="solid", color="blue", weight=9]; 3178 -> 1232[label="",style="solid", color="blue", weight=3]; 3179[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3179[label="",style="solid", color="blue", weight=9]; 3179 -> 1233[label="",style="solid", color="blue", weight=3]; 3180[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3180[label="",style="solid", color="blue", weight=9]; 3180 -> 1234[label="",style="solid", color="blue", weight=3]; 3181[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3181[label="",style="solid", color="blue", weight=9]; 3181 -> 1235[label="",style="solid", color="blue", weight=3]; 3182[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3182[label="",style="solid", color="blue", weight=9]; 3182 -> 1236[label="",style="solid", color="blue", weight=3]; 1216[label="xu131",fontsize=16,color="green",shape="box"];1217[label="xu141",fontsize=16,color="green",shape="box"];1218[label="concat (map (range3 xu50 xu530) (range (xu51,xu52)))",fontsize=16,color="black",shape="box"];1218 -> 1237[label="",style="solid", color="black", weight=3]; 2385[label="[]",fontsize=16,color="green",shape="box"];2386[label="takeWhile (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (Succ xu168) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2386 -> 2450[label="",style="solid", color="black", weight=3]; 841[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];841 -> 933[label="",style="solid", color="black", weight=3]; 842 -> 43[label="",style="dashed", color="red", weight=0]; 842[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];842 -> 934[label="",style="dashed", color="magenta", weight=3]; 842 -> 935[label="",style="dashed", color="magenta", weight=3]; 843 -> 43[label="",style="dashed", color="red", weight=0]; 843[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];843 -> 936[label="",style="dashed", color="magenta", weight=3]; 843 -> 937[label="",style="dashed", color="magenta", weight=3]; 844[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero (Succ xu30000))) (numericEnumFrom (primMinusNat Zero (Succ xu30000))))",fontsize=16,color="black",shape="box"];844 -> 938[label="",style="solid", color="black", weight=3]; 845[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero Zero)) (numericEnumFrom (primMinusNat Zero Zero)))",fontsize=16,color="black",shape="box"];845 -> 939[label="",style="solid", color="black", weight=3]; 2674[label="[]",fontsize=16,color="green",shape="box"];2675[label="takeWhile (flip (<=) (Neg (Succ xu195))) (xu197 `seq` numericEnumFrom xu197)",fontsize=16,color="black",shape="box"];2675 -> 2692[label="",style="solid", color="black", weight=3]; 855[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) (Succ xu3000))) (numericEnumFrom (primMinusNat (Succ Zero) (Succ xu3000))))",fontsize=16,color="black",shape="box"];855 -> 950[label="",style="solid", color="black", weight=3]; 856[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];856 -> 951[label="",style="solid", color="black", weight=3]; 857[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];857 -> 952[label="",style="solid", color="black", weight=3]; 858[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];858 -> 953[label="",style="solid", color="black", weight=3]; 881[label="(++) range00 LT True foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];881 -> 958[label="",style="solid", color="black", weight=3]; 882[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];882 -> 959[label="",style="solid", color="black", weight=3]; 883[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];883 -> 960[label="",style="solid", color="black", weight=3]; 884[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];884 -> 961[label="",style="solid", color="black", weight=3]; 885[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];885 -> 962[label="",style="solid", color="black", weight=3]; 886[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];886 -> 963[label="",style="solid", color="black", weight=3]; 887[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];887 -> 964[label="",style="solid", color="black", weight=3]; 888[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];888 -> 965[label="",style="solid", color="black", weight=3]; 889[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];889 -> 966[label="",style="solid", color="black", weight=3]; 890[label="(++) range60 False True foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];890 -> 967[label="",style="solid", color="black", weight=3]; 891[label="(++) range60 False (not (LT == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];891 -> 968[label="",style="solid", color="black", weight=3]; 892[label="(++) range60 False (not (compare2 False False (False == False) == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];892 -> 969[label="",style="solid", color="black", weight=3]; 893[label="(++) range60 False (not (compare2 False True (False == True) == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];893 -> 970[label="",style="solid", color="black", weight=3]; 2676[label="takeWhile0 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2676 -> 2693[label="",style="solid", color="black", weight=3]; 2677[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2677 -> 2694[label="",style="solid", color="black", weight=3]; 904[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];904 -> 980[label="",style="solid", color="black", weight=3]; 905 -> 41[label="",style="dashed", color="red", weight=0]; 905[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];905 -> 981[label="",style="dashed", color="magenta", weight=3]; 905 -> 982[label="",style="dashed", color="magenta", weight=3]; 906 -> 41[label="",style="dashed", color="red", weight=0]; 906[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];906 -> 983[label="",style="dashed", color="magenta", weight=3]; 906 -> 984[label="",style="dashed", color="magenta", weight=3]; 907[label="Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];907 -> 985[label="",style="dashed", color="green", weight=3]; 908[label="Integer (Pos xu3100)",fontsize=16,color="green",shape="box"];2690[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2690 -> 2707[label="",style="solid", color="black", weight=3]; 2691[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2691 -> 2708[label="",style="solid", color="black", weight=3]; 919[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];919 -> 995[label="",style="solid", color="black", weight=3]; 920 -> 41[label="",style="dashed", color="red", weight=0]; 920[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];920 -> 996[label="",style="dashed", color="magenta", weight=3]; 920 -> 997[label="",style="dashed", color="magenta", weight=3]; 921 -> 41[label="",style="dashed", color="red", weight=0]; 921[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];921 -> 998[label="",style="dashed", color="magenta", weight=3]; 921 -> 999[label="",style="dashed", color="magenta", weight=3]; 922 -> 41[label="",style="dashed", color="red", weight=0]; 922[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];922 -> 1000[label="",style="dashed", color="magenta", weight=3]; 922 -> 1001[label="",style="dashed", color="magenta", weight=3]; 1221 -> 4[label="",style="dashed", color="red", weight=0]; 1221[label="range (xu130,xu140)",fontsize=16,color="magenta"];1221 -> 1240[label="",style="dashed", color="magenta", weight=3]; 1222 -> 5[label="",style="dashed", color="red", weight=0]; 1222[label="range (xu130,xu140)",fontsize=16,color="magenta"];1222 -> 1241[label="",style="dashed", color="magenta", weight=3]; 1223 -> 6[label="",style="dashed", color="red", weight=0]; 1223[label="range (xu130,xu140)",fontsize=16,color="magenta"];1223 -> 1242[label="",style="dashed", color="magenta", weight=3]; 1224 -> 7[label="",style="dashed", color="red", weight=0]; 1224[label="range (xu130,xu140)",fontsize=16,color="magenta"];1224 -> 1243[label="",style="dashed", color="magenta", weight=3]; 1225 -> 8[label="",style="dashed", color="red", weight=0]; 1225[label="range (xu130,xu140)",fontsize=16,color="magenta"];1225 -> 1244[label="",style="dashed", color="magenta", weight=3]; 1226 -> 785[label="",style="dashed", color="red", weight=0]; 1226[label="range (xu130,xu140)",fontsize=16,color="magenta"];1226 -> 1245[label="",style="dashed", color="magenta", weight=3]; 1226 -> 1246[label="",style="dashed", color="magenta", weight=3]; 1227 -> 10[label="",style="dashed", color="red", weight=0]; 1227[label="range (xu130,xu140)",fontsize=16,color="magenta"];1227 -> 1247[label="",style="dashed", color="magenta", weight=3]; 1228 -> 787[label="",style="dashed", color="red", weight=0]; 1228[label="range (xu130,xu140)",fontsize=16,color="magenta"];1228 -> 1248[label="",style="dashed", color="magenta", weight=3]; 1228 -> 1249[label="",style="dashed", color="magenta", weight=3]; 1229 -> 4[label="",style="dashed", color="red", weight=0]; 1229[label="range (xu130,xu140)",fontsize=16,color="magenta"];1229 -> 1250[label="",style="dashed", color="magenta", weight=3]; 1230 -> 5[label="",style="dashed", color="red", weight=0]; 1230[label="range (xu130,xu140)",fontsize=16,color="magenta"];1230 -> 1251[label="",style="dashed", color="magenta", weight=3]; 1231 -> 6[label="",style="dashed", color="red", weight=0]; 1231[label="range (xu130,xu140)",fontsize=16,color="magenta"];1231 -> 1252[label="",style="dashed", color="magenta", weight=3]; 1232 -> 7[label="",style="dashed", color="red", weight=0]; 1232[label="range (xu130,xu140)",fontsize=16,color="magenta"];1232 -> 1253[label="",style="dashed", color="magenta", weight=3]; 1233 -> 8[label="",style="dashed", color="red", weight=0]; 1233[label="range (xu130,xu140)",fontsize=16,color="magenta"];1233 -> 1254[label="",style="dashed", color="magenta", weight=3]; 1234 -> 785[label="",style="dashed", color="red", weight=0]; 1234[label="range (xu130,xu140)",fontsize=16,color="magenta"];1234 -> 1255[label="",style="dashed", color="magenta", weight=3]; 1234 -> 1256[label="",style="dashed", color="magenta", weight=3]; 1235 -> 10[label="",style="dashed", color="red", weight=0]; 1235[label="range (xu130,xu140)",fontsize=16,color="magenta"];1235 -> 1257[label="",style="dashed", color="magenta", weight=3]; 1236 -> 787[label="",style="dashed", color="red", weight=0]; 1236[label="range (xu130,xu140)",fontsize=16,color="magenta"];1236 -> 1258[label="",style="dashed", color="magenta", weight=3]; 1236 -> 1259[label="",style="dashed", color="magenta", weight=3]; 1237 -> 1260[label="",style="dashed", color="red", weight=0]; 1237[label="foldr (++) [] (map (range3 xu50 xu530) (range (xu51,xu52)))",fontsize=16,color="magenta"];1237 -> 1261[label="",style="dashed", color="magenta", weight=3]; 1237 -> 1262[label="",style="dashed", color="magenta", weight=3]; 1237 -> 1263[label="",style="dashed", color="magenta", weight=3]; 2450[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (Pos (Succ xu168) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos (Succ xu168) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2450 -> 2512[label="",style="solid", color="black", weight=3]; 933 -> 43[label="",style="dashed", color="red", weight=0]; 933[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];933 -> 1014[label="",style="dashed", color="magenta", weight=3]; 933 -> 1015[label="",style="dashed", color="magenta", weight=3]; 934[label="Pos Zero",fontsize=16,color="green",shape="box"];935[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];935 -> 1016[label="",style="dashed", color="green", weight=3]; 936[label="Neg Zero",fontsize=16,color="green",shape="box"];937[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];937 -> 1017[label="",style="dashed", color="green", weight=3]; 938[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Neg (Succ xu30000))) (numericEnumFrom (Neg (Succ xu30000))))",fontsize=16,color="black",shape="box"];938 -> 1018[label="",style="solid", color="black", weight=3]; 939[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Pos Zero)) (numericEnumFrom (Pos Zero)))",fontsize=16,color="black",shape="box"];939 -> 1019[label="",style="solid", color="black", weight=3]; 2692[label="takeWhile (flip (<=) (Neg (Succ xu195))) (enforceWHNF (WHNF xu197) (numericEnumFrom xu197))",fontsize=16,color="black",shape="box"];2692 -> 2709[label="",style="solid", color="black", weight=3]; 950[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero xu3000)) (numericEnumFrom (primMinusNat Zero xu3000)))",fontsize=16,color="burlywood",shape="box"];3183[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];950 -> 3183[label="",style="solid", color="burlywood", weight=9]; 3183 -> 1032[label="",style="solid", color="burlywood", weight=3]; 3184[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];950 -> 3184[label="",style="solid", color="burlywood", weight=9]; 3184 -> 1033[label="",style="solid", color="burlywood", weight=3]; 951 -> 43[label="",style="dashed", color="red", weight=0]; 951[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];951 -> 1034[label="",style="dashed", color="magenta", weight=3]; 951 -> 1035[label="",style="dashed", color="magenta", weight=3]; 952 -> 43[label="",style="dashed", color="red", weight=0]; 952[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];952 -> 1036[label="",style="dashed", color="magenta", weight=3]; 952 -> 1037[label="",style="dashed", color="magenta", weight=3]; 953 -> 43[label="",style="dashed", color="red", weight=0]; 953[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];953 -> 1038[label="",style="dashed", color="magenta", weight=3]; 953 -> 1039[label="",style="dashed", color="magenta", weight=3]; 958[label="(++) (LT : []) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];958 -> 1046[label="",style="solid", color="black", weight=3]; 959[label="(++) range00 LT (not True) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];959 -> 1047[label="",style="solid", color="black", weight=3]; 960[label="(++) range00 LT (not True) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];960 -> 1048[label="",style="solid", color="black", weight=3]; 961[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];961 -> 1049[label="",style="solid", color="black", weight=3]; 962[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];962 -> 1050[label="",style="solid", color="black", weight=3]; 963[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];963 -> 1051[label="",style="solid", color="black", weight=3]; 964[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];964 -> 1052[label="",style="solid", color="black", weight=3]; 965[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];965 -> 1053[label="",style="solid", color="black", weight=3]; 966[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];966 -> 1054[label="",style="solid", color="black", weight=3]; 967[label="(++) (False : []) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];967 -> 1055[label="",style="solid", color="black", weight=3]; 968[label="(++) range60 False (not True) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];968 -> 1056[label="",style="solid", color="black", weight=3]; 969[label="(++) range60 False (not (compare2 False False True == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];969 -> 1057[label="",style="solid", color="black", weight=3]; 970[label="(++) range60 False (not (compare2 False True False == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];970 -> 1058[label="",style="solid", color="black", weight=3]; 2693[label="[]",fontsize=16,color="green",shape="box"];2694[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2694 -> 2710[label="",style="solid", color="black", weight=3]; 980 -> 41[label="",style="dashed", color="red", weight=0]; 980[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];980 -> 1069[label="",style="dashed", color="magenta", weight=3]; 980 -> 1070[label="",style="dashed", color="magenta", weight=3]; 981[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];981 -> 1071[label="",style="dashed", color="green", weight=3]; 982[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];983[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];983 -> 1072[label="",style="dashed", color="green", weight=3]; 984[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];2707[label="[]",fontsize=16,color="green",shape="box"];2708[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2708 -> 2724[label="",style="solid", color="black", weight=3]; 995 -> 41[label="",style="dashed", color="red", weight=0]; 995[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];995 -> 1084[label="",style="dashed", color="magenta", weight=3]; 995 -> 1085[label="",style="dashed", color="magenta", weight=3]; 996[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];996 -> 1086[label="",style="dashed", color="green", weight=3]; 997[label="Integer (Pos (Succ xu31000))",fontsize=16,color="green",shape="box"];998[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];998 -> 1087[label="",style="dashed", color="green", weight=3]; 999[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1000[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1000 -> 1088[label="",style="dashed", color="green", weight=3]; 1001[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1240[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1241[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1242[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1243[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1244[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1245[label="xu130",fontsize=16,color="green",shape="box"];1246[label="xu140",fontsize=16,color="green",shape="box"];1247[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1248[label="xu130",fontsize=16,color="green",shape="box"];1249[label="xu140",fontsize=16,color="green",shape="box"];1250[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1251[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1252[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1253[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1254[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1255[label="xu130",fontsize=16,color="green",shape="box"];1256[label="xu140",fontsize=16,color="green",shape="box"];1257[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1258[label="xu130",fontsize=16,color="green",shape="box"];1259[label="xu140",fontsize=16,color="green",shape="box"];1261[label="xu530",fontsize=16,color="green",shape="box"];1262[label="range (xu51,xu52)",fontsize=16,color="blue",shape="box"];3185[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3185[label="",style="solid", color="blue", weight=9]; 3185 -> 1264[label="",style="solid", color="blue", weight=3]; 3186[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3186[label="",style="solid", color="blue", weight=9]; 3186 -> 1265[label="",style="solid", color="blue", weight=3]; 3187[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3187[label="",style="solid", color="blue", weight=9]; 3187 -> 1266[label="",style="solid", color="blue", weight=3]; 3188[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3188[label="",style="solid", color="blue", weight=9]; 3188 -> 1267[label="",style="solid", color="blue", weight=3]; 3189[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3189[label="",style="solid", color="blue", weight=9]; 3189 -> 1268[label="",style="solid", color="blue", weight=3]; 3190[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3190[label="",style="solid", color="blue", weight=9]; 3190 -> 1269[label="",style="solid", color="blue", weight=3]; 3191[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3191[label="",style="solid", color="blue", weight=9]; 3191 -> 1270[label="",style="solid", color="blue", weight=3]; 3192[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3192[label="",style="solid", color="blue", weight=9]; 3192 -> 1271[label="",style="solid", color="blue", weight=3]; 1263[label="xu50",fontsize=16,color="green",shape="box"];1260[label="foldr (++) [] (map (range3 xu70 xu71) xu72)",fontsize=16,color="burlywood",shape="triangle"];3193[label="xu72/xu720 : xu721",fontsize=10,color="white",style="solid",shape="box"];1260 -> 3193[label="",style="solid", color="burlywood", weight=9]; 3193 -> 1272[label="",style="solid", color="burlywood", weight=3]; 3194[label="xu72/[]",fontsize=10,color="white",style="solid",shape="box"];1260 -> 3194[label="",style="solid", color="burlywood", weight=9]; 3194 -> 1273[label="",style="solid", color="burlywood", weight=3]; 2512[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ xu168)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos (Succ xu168)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];2512 -> 2565[label="",style="solid", color="black", weight=3]; 1014[label="Pos (Succ xu3100)",fontsize=16,color="green",shape="box"];1015[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];1015 -> 1100[label="",style="dashed", color="green", weight=3]; 1016[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="black",shape="triangle"];1016 -> 1101[label="",style="solid", color="black", weight=3]; 1017 -> 1016[label="",style="dashed", color="red", weight=0]; 1017[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1018 -> 43[label="",style="dashed", color="red", weight=0]; 1018[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom (Neg (Succ xu30000)))",fontsize=16,color="magenta"];1018 -> 1102[label="",style="dashed", color="magenta", weight=3]; 1018 -> 1103[label="",style="dashed", color="magenta", weight=3]; 1019 -> 43[label="",style="dashed", color="red", weight=0]; 1019[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom (Pos Zero))",fontsize=16,color="magenta"];1019 -> 1104[label="",style="dashed", color="magenta", weight=3]; 1019 -> 1105[label="",style="dashed", color="magenta", weight=3]; 2709 -> 43[label="",style="dashed", color="red", weight=0]; 2709[label="takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom xu197)",fontsize=16,color="magenta"];2709 -> 2725[label="",style="dashed", color="magenta", weight=3]; 2709 -> 2726[label="",style="dashed", color="magenta", weight=3]; 1032[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero (Succ xu30000))) (numericEnumFrom (primMinusNat Zero (Succ xu30000))))",fontsize=16,color="black",shape="box"];1032 -> 1137[label="",style="solid", color="black", weight=3]; 1033[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero Zero)) (numericEnumFrom (primMinusNat Zero Zero)))",fontsize=16,color="black",shape="box"];1033 -> 1138[label="",style="solid", color="black", weight=3]; 1034[label="Pos (Succ xu3100)",fontsize=16,color="green",shape="box"];1035[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1036[label="Pos Zero",fontsize=16,color="green",shape="box"];1037[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1038[label="Neg Zero",fontsize=16,color="green",shape="box"];1039[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1046[label="LT : [] ++ foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1046 -> 1139[label="",style="dashed", color="green", weight=3]; 1047[label="(++) range00 LT False foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1047 -> 1140[label="",style="solid", color="black", weight=3]; 1048[label="(++) range00 LT False foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1048 -> 1141[label="",style="solid", color="black", weight=3]; 1049[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1049 -> 1142[label="",style="solid", color="black", weight=3]; 1050[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1050 -> 1143[label="",style="solid", color="black", weight=3]; 1051[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1051 -> 1144[label="",style="solid", color="black", weight=3]; 1052[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1052 -> 1145[label="",style="solid", color="black", weight=3]; 1053[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1053 -> 1146[label="",style="solid", color="black", weight=3]; 1054[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1054 -> 1147[label="",style="solid", color="black", weight=3]; 1055[label="False : [] ++ foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="green",shape="box"];1055 -> 1148[label="",style="dashed", color="green", weight=3]; 1056[label="(++) range60 False False foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1056 -> 1149[label="",style="solid", color="black", weight=3]; 1057[label="(++) range60 False (not (EQ == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1057 -> 1150[label="",style="solid", color="black", weight=3]; 1058[label="(++) range60 False (not (compare1 False True (False <= True) == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1058 -> 1151[label="",style="solid", color="black", weight=3]; 2710[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2710 -> 2727[label="",style="solid", color="black", weight=3]; 1069[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1069 -> 1164[label="",style="dashed", color="green", weight=3]; 1070[label="Integer (Pos (Succ xu31000))",fontsize=16,color="green",shape="box"];1071[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];1071 -> 1165[label="",style="solid", color="black", weight=3]; 1072 -> 1071[label="",style="dashed", color="red", weight=0]; 1072[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];2724[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2724 -> 2741[label="",style="solid", color="black", weight=3]; 1084[label="Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1084 -> 1179[label="",style="dashed", color="green", weight=3]; 1085[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1086[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];1086 -> 1180[label="",style="solid", color="black", weight=3]; 1087 -> 1086[label="",style="dashed", color="red", weight=0]; 1087[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1088 -> 1086[label="",style="dashed", color="red", weight=0]; 1088[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1264 -> 4[label="",style="dashed", color="red", weight=0]; 1264[label="range (xu51,xu52)",fontsize=16,color="magenta"];1264 -> 1281[label="",style="dashed", color="magenta", weight=3]; 1265 -> 5[label="",style="dashed", color="red", weight=0]; 1265[label="range (xu51,xu52)",fontsize=16,color="magenta"];1265 -> 1282[label="",style="dashed", color="magenta", weight=3]; 1266 -> 6[label="",style="dashed", color="red", weight=0]; 1266[label="range (xu51,xu52)",fontsize=16,color="magenta"];1266 -> 1283[label="",style="dashed", color="magenta", weight=3]; 1267 -> 7[label="",style="dashed", color="red", weight=0]; 1267[label="range (xu51,xu52)",fontsize=16,color="magenta"];1267 -> 1284[label="",style="dashed", color="magenta", weight=3]; 1268 -> 8[label="",style="dashed", color="red", weight=0]; 1268[label="range (xu51,xu52)",fontsize=16,color="magenta"];1268 -> 1285[label="",style="dashed", color="magenta", weight=3]; 1269 -> 785[label="",style="dashed", color="red", weight=0]; 1269[label="range (xu51,xu52)",fontsize=16,color="magenta"];1269 -> 1286[label="",style="dashed", color="magenta", weight=3]; 1269 -> 1287[label="",style="dashed", color="magenta", weight=3]; 1270 -> 10[label="",style="dashed", color="red", weight=0]; 1270[label="range (xu51,xu52)",fontsize=16,color="magenta"];1270 -> 1288[label="",style="dashed", color="magenta", weight=3]; 1271 -> 787[label="",style="dashed", color="red", weight=0]; 1271[label="range (xu51,xu52)",fontsize=16,color="magenta"];1271 -> 1289[label="",style="dashed", color="magenta", weight=3]; 1271 -> 1290[label="",style="dashed", color="magenta", weight=3]; 1272[label="foldr (++) [] (map (range3 xu70 xu71) (xu720 : xu721))",fontsize=16,color="black",shape="box"];1272 -> 1291[label="",style="solid", color="black", weight=3]; 1273[label="foldr (++) [] (map (range3 xu70 xu71) [])",fontsize=16,color="black",shape="box"];1273 -> 1292[label="",style="solid", color="black", weight=3]; 2565[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ xu168)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos (Succ xu168)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2565 -> 2592[label="",style="solid", color="black", weight=3]; 1100 -> 1016[label="",style="dashed", color="red", weight=0]; 1100[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1101[label="Succ Zero",fontsize=16,color="green",shape="box"];1102[label="Pos xu310",fontsize=16,color="green",shape="box"];1103[label="Neg (Succ xu30000)",fontsize=16,color="green",shape="box"];1104[label="Pos xu310",fontsize=16,color="green",shape="box"];1105[label="Pos Zero",fontsize=16,color="green",shape="box"];2725[label="Neg (Succ xu195)",fontsize=16,color="green",shape="box"];2726[label="xu197",fontsize=16,color="green",shape="box"];1137[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg (Succ xu30000))) (numericEnumFrom (Neg (Succ xu30000))))",fontsize=16,color="black",shape="box"];1137 -> 1295[label="",style="solid", color="black", weight=3]; 1138[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos Zero)) (numericEnumFrom (Pos Zero)))",fontsize=16,color="black",shape="box"];1138 -> 1296[label="",style="solid", color="black", weight=3]; 1139[label="[] ++ foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1139 -> 1297[label="",style="solid", color="black", weight=3]; 1140[label="(++) [] foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1140 -> 1298[label="",style="solid", color="black", weight=3]; 1141[label="(++) [] foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1141 -> 1299[label="",style="solid", color="black", weight=3]; 1142[label="(++) range00 LT (not False) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1142 -> 1300[label="",style="solid", color="black", weight=3]; 1143[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1143 -> 1301[label="",style="solid", color="black", weight=3]; 1144[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1144 -> 1302[label="",style="solid", color="black", weight=3]; 1145[label="(++) range00 LT (not False) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1145 -> 1303[label="",style="solid", color="black", weight=3]; 1146[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1146 -> 1304[label="",style="solid", color="black", weight=3]; 1147[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1147 -> 1305[label="",style="solid", color="black", weight=3]; 1148[label="[] ++ foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];1148 -> 1306[label="",style="solid", color="black", weight=3]; 1149[label="(++) [] foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1149 -> 1307[label="",style="solid", color="black", weight=3]; 1150[label="(++) range60 False (not False) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1150 -> 1308[label="",style="solid", color="black", weight=3]; 1151[label="(++) range60 False (not (compare1 False True True == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1151 -> 1309[label="",style="solid", color="black", weight=3]; 2727[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (Pos (Succ xu202)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos (Succ xu202)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2727 -> 2742[label="",style="solid", color="black", weight=3]; 1164 -> 1071[label="",style="dashed", color="red", weight=0]; 1164[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1165[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];1165 -> 1321[label="",style="dashed", color="green", weight=3]; 2741[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (Neg (Succ xu207)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu207)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2741 -> 2754[label="",style="solid", color="black", weight=3]; 1179 -> 985[label="",style="dashed", color="red", weight=0]; 1179[label="primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))",fontsize=16,color="magenta"];1180[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="black",shape="box"];1180 -> 1338[label="",style="solid", color="black", weight=3]; 1281[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1282[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1283[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1284[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1285[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1286[label="xu51",fontsize=16,color="green",shape="box"];1287[label="xu52",fontsize=16,color="green",shape="box"];1288[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1289[label="xu51",fontsize=16,color="green",shape="box"];1290[label="xu52",fontsize=16,color="green",shape="box"];1291[label="foldr (++) [] (range3 xu70 xu71 xu720 : map (range3 xu70 xu71) xu721)",fontsize=16,color="black",shape="box"];1291 -> 1339[label="",style="solid", color="black", weight=3]; 1292 -> 132[label="",style="dashed", color="red", weight=0]; 1292[label="foldr (++) [] []",fontsize=16,color="magenta"];2592[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (Pos (primPlusNat (Succ xu168) (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat (Succ xu168) (Succ Zero)))))",fontsize=16,color="black",shape="box"];2592 -> 2617[label="",style="solid", color="black", weight=3]; 1295 -> 43[label="",style="dashed", color="red", weight=0]; 1295[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Neg (Succ xu30000)))",fontsize=16,color="magenta"];1295 -> 1375[label="",style="dashed", color="magenta", weight=3]; 1295 -> 1376[label="",style="dashed", color="magenta", weight=3]; 1296 -> 43[label="",style="dashed", color="red", weight=0]; 1296[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos Zero))",fontsize=16,color="magenta"];1296 -> 1377[label="",style="dashed", color="magenta", weight=3]; 1296 -> 1378[label="",style="dashed", color="magenta", weight=3]; 1297[label="foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1297 -> 1379[label="",style="solid", color="black", weight=3]; 1298[label="foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1298 -> 1380[label="",style="solid", color="black", weight=3]; 1299[label="foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1299 -> 1381[label="",style="solid", color="black", weight=3]; 1300[label="(++) range00 LT True foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1300 -> 1382[label="",style="solid", color="black", weight=3]; 1301[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1301 -> 1383[label="",style="solid", color="black", weight=3]; 1302[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1302 -> 1384[label="",style="solid", color="black", weight=3]; 1303[label="(++) range00 LT True foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1303 -> 1385[label="",style="solid", color="black", weight=3]; 1304[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1304 -> 1386[label="",style="solid", color="black", weight=3]; 1305[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1305 -> 1387[label="",style="solid", color="black", weight=3]; 1306[label="foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];1306 -> 1388[label="",style="solid", color="black", weight=3]; 1307[label="foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1307 -> 1389[label="",style="solid", color="black", weight=3]; 1308[label="(++) range60 False True foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1308 -> 1390[label="",style="solid", color="black", weight=3]; 1309[label="(++) range60 False (not (LT == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1309 -> 1391[label="",style="solid", color="black", weight=3]; 2742[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];2742 -> 2755[label="",style="solid", color="black", weight=3]; 1321 -> 1016[label="",style="dashed", color="red", weight=0]; 1321[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];2754 -> 2767[label="",style="dashed", color="red", weight=0]; 2754[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))))))",fontsize=16,color="magenta"];2754 -> 2768[label="",style="dashed", color="magenta", weight=3]; 2754 -> 2769[label="",style="dashed", color="magenta", weight=3]; 1338[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1339 -> 474[label="",style="dashed", color="red", weight=0]; 1339[label="(++) range3 xu70 xu71 xu720 foldr (++) [] (map (range3 xu70 xu71) xu721)",fontsize=16,color="magenta"];1339 -> 1423[label="",style="dashed", color="magenta", weight=3]; 1339 -> 1424[label="",style="dashed", color="magenta", weight=3]; 2617 -> 43[label="",style="dashed", color="red", weight=0]; 2617[label="takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom (Pos (primPlusNat (Succ xu168) (Succ Zero))))",fontsize=16,color="magenta"];2617 -> 2640[label="",style="dashed", color="magenta", weight=3]; 2617 -> 2641[label="",style="dashed", color="magenta", weight=3]; 1375[label="Neg Zero",fontsize=16,color="green",shape="box"];1376[label="Neg (Succ xu30000)",fontsize=16,color="green",shape="box"];1377[label="Neg Zero",fontsize=16,color="green",shape="box"];1378[label="Pos Zero",fontsize=16,color="green",shape="box"];1379[label="foldr (++) [] (range0 LT LT EQ : map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1379 -> 1451[label="",style="solid", color="black", weight=3]; 1380[label="foldr (++) [] (range0 LT EQ EQ : map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1380 -> 1452[label="",style="solid", color="black", weight=3]; 1381[label="foldr (++) [] (range0 LT GT EQ : map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1381 -> 1453[label="",style="solid", color="black", weight=3]; 1382[label="(++) (LT : []) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1382 -> 1454[label="",style="solid", color="black", weight=3]; 1383[label="(++) range00 LT (not True) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1383 -> 1455[label="",style="solid", color="black", weight=3]; 1384[label="(++) range00 LT (not True) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1384 -> 1456[label="",style="solid", color="black", weight=3]; 1385[label="(++) (LT : []) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1385 -> 1457[label="",style="solid", color="black", weight=3]; 1386[label="(++) range00 LT (not True) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1386 -> 1458[label="",style="solid", color="black", weight=3]; 1387[label="(++) range00 LT (not True) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1387 -> 1459[label="",style="solid", color="black", weight=3]; 1388[label="foldr (++) [] (range6 False False True : map (range6 False False) [])",fontsize=16,color="black",shape="box"];1388 -> 1460[label="",style="solid", color="black", weight=3]; 1389[label="foldr (++) [] (range6 False True True : map (range6 False True) [])",fontsize=16,color="black",shape="box"];1389 -> 1461[label="",style="solid", color="black", weight=3]; 1390[label="(++) (False : []) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1390 -> 1462[label="",style="solid", color="black", weight=3]; 1391[label="(++) range60 False (not True) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1391 -> 1463[label="",style="solid", color="black", weight=3]; 2755 -> 41[label="",style="dashed", color="red", weight=0]; 2755[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];2755 -> 2770[label="",style="dashed", color="magenta", weight=3]; 2755 -> 2771[label="",style="dashed", color="magenta", weight=3]; 2768 -> 985[label="",style="dashed", color="red", weight=0]; 2768[label="primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2768 -> 2772[label="",style="dashed", color="magenta", weight=3]; 2769 -> 985[label="",style="dashed", color="red", weight=0]; 2769[label="primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2769 -> 2773[label="",style="dashed", color="magenta", weight=3]; 2767[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer xu211)) (numericEnumFrom (Integer xu210)))",fontsize=16,color="black",shape="triangle"];2767 -> 2774[label="",style="solid", color="black", weight=3]; 1423[label="range3 xu70 xu71 xu720",fontsize=16,color="black",shape="box"];1423 -> 1492[label="",style="solid", color="black", weight=3]; 1424 -> 1260[label="",style="dashed", color="red", weight=0]; 1424[label="foldr (++) [] (map (range3 xu70 xu71) xu721)",fontsize=16,color="magenta"];1424 -> 1493[label="",style="dashed", color="magenta", weight=3]; 2640[label="Pos (Succ xu167)",fontsize=16,color="green",shape="box"];2641[label="Pos (primPlusNat (Succ xu168) (Succ Zero))",fontsize=16,color="green",shape="box"];2641 -> 2660[label="",style="dashed", color="green", weight=3]; 1451[label="(++) range0 LT LT EQ foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1451 -> 1519[label="",style="solid", color="black", weight=3]; 1452[label="(++) range0 LT EQ EQ foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1452 -> 1520[label="",style="solid", color="black", weight=3]; 1453[label="(++) range0 LT GT EQ foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1453 -> 1521[label="",style="solid", color="black", weight=3]; 1454[label="LT : [] ++ foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1454 -> 1522[label="",style="dashed", color="green", weight=3]; 1455[label="(++) range00 LT False foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1455 -> 1523[label="",style="solid", color="black", weight=3]; 1456[label="(++) range00 LT False foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1456 -> 1524[label="",style="solid", color="black", weight=3]; 1457[label="LT : [] ++ foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1457 -> 1525[label="",style="dashed", color="green", weight=3]; 1458[label="(++) range00 LT False foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1458 -> 1526[label="",style="solid", color="black", weight=3]; 1459[label="(++) range00 LT False foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1459 -> 1527[label="",style="solid", color="black", weight=3]; 1460[label="(++) range6 False False True foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1460 -> 1528[label="",style="solid", color="black", weight=3]; 1461[label="(++) range6 False True True foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1461 -> 1529[label="",style="solid", color="black", weight=3]; 1462[label="False : [] ++ foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="green",shape="box"];1462 -> 1530[label="",style="dashed", color="green", weight=3]; 1463[label="(++) range60 False False foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1463 -> 1531[label="",style="solid", color="black", weight=3]; 2770[label="Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2770 -> 2786[label="",style="dashed", color="green", weight=3]; 2771[label="Integer (Pos (Succ xu201))",fontsize=16,color="green",shape="box"];2772[label="xu207",fontsize=16,color="green",shape="box"];2773[label="xu207",fontsize=16,color="green",shape="box"];2774 -> 41[label="",style="dashed", color="red", weight=0]; 2774[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom (Integer xu210))",fontsize=16,color="magenta"];2774 -> 2787[label="",style="dashed", color="magenta", weight=3]; 2774 -> 2788[label="",style="dashed", color="magenta", weight=3]; 1492[label="range30 xu70 xu71 xu720",fontsize=16,color="black",shape="box"];1492 -> 1558[label="",style="solid", color="black", weight=3]; 1493[label="xu721",fontsize=16,color="green",shape="box"];2660[label="primPlusNat (Succ xu168) (Succ Zero)",fontsize=16,color="black",shape="triangle"];2660 -> 2678[label="",style="solid", color="black", weight=3]; 1519[label="(++) range00 EQ (LT >= EQ && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1519 -> 1597[label="",style="solid", color="black", weight=3]; 1520[label="(++) range00 EQ (LT >= EQ && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1520 -> 1598[label="",style="solid", color="black", weight=3]; 1521[label="(++) range00 EQ (LT >= EQ && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1521 -> 1599[label="",style="solid", color="black", weight=3]; 1522[label="[] ++ foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1522 -> 1600[label="",style="solid", color="black", weight=3]; 1523[label="(++) [] foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1523 -> 1601[label="",style="solid", color="black", weight=3]; 1524[label="(++) [] foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1524 -> 1602[label="",style="solid", color="black", weight=3]; 1525[label="[] ++ foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1525 -> 1603[label="",style="solid", color="black", weight=3]; 1526[label="(++) [] foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1526 -> 1604[label="",style="solid", color="black", weight=3]; 1527[label="(++) [] foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1527 -> 1605[label="",style="solid", color="black", weight=3]; 1528[label="(++) range60 True (False >= True && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1528 -> 1606[label="",style="solid", color="black", weight=3]; 1529[label="(++) range60 True (False >= True && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1529 -> 1607[label="",style="solid", color="black", weight=3]; 1530[label="[] ++ foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1530 -> 1608[label="",style="solid", color="black", weight=3]; 1531[label="(++) [] foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1531 -> 1609[label="",style="solid", color="black", weight=3]; 2786[label="primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];2786 -> 2800[label="",style="solid", color="black", weight=3]; 2787[label="Integer xu210",fontsize=16,color="green",shape="box"];2788[label="Integer (Neg (Succ xu206))",fontsize=16,color="green",shape="box"];1558[label="(xu70,xu71,xu720) : []",fontsize=16,color="green",shape="box"];2678[label="Succ (Succ (primPlusNat xu168 Zero))",fontsize=16,color="green",shape="box"];2678 -> 2695[label="",style="dashed", color="green", weight=3]; 1597[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1597 -> 1676[label="",style="solid", color="black", weight=3]; 1598[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1598 -> 1677[label="",style="solid", color="black", weight=3]; 1599[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1599 -> 1678[label="",style="solid", color="black", weight=3]; 1600[label="foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1600 -> 1679[label="",style="solid", color="black", weight=3]; 1601[label="foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1601 -> 1680[label="",style="solid", color="black", weight=3]; 1602[label="foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1602 -> 1681[label="",style="solid", color="black", weight=3]; 1603[label="foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1603 -> 1682[label="",style="solid", color="black", weight=3]; 1604[label="foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1604 -> 1683[label="",style="solid", color="black", weight=3]; 1605[label="foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1605 -> 1684[label="",style="solid", color="black", weight=3]; 1606[label="(++) range60 True (compare False True /= LT && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1606 -> 1685[label="",style="solid", color="black", weight=3]; 1607[label="(++) range60 True (compare False True /= LT && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1607 -> 1686[label="",style="solid", color="black", weight=3]; 1608[label="foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1608 -> 1687[label="",style="solid", color="black", weight=3]; 1609[label="foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1609 -> 1688[label="",style="solid", color="black", weight=3]; 2800[label="Pos (primPlusNat (Succ xu202) (Succ Zero))",fontsize=16,color="green",shape="box"];2800 -> 2812[label="",style="dashed", color="green", weight=3]; 2695[label="primPlusNat xu168 Zero",fontsize=16,color="burlywood",shape="box"];3195[label="xu168/Succ xu1680",fontsize=10,color="white",style="solid",shape="box"];2695 -> 3195[label="",style="solid", color="burlywood", weight=9]; 3195 -> 2711[label="",style="solid", color="burlywood", weight=3]; 3196[label="xu168/Zero",fontsize=10,color="white",style="solid",shape="box"];2695 -> 3196[label="",style="solid", color="burlywood", weight=9]; 3196 -> 2712[label="",style="solid", color="burlywood", weight=3]; 1676[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1676 -> 1744[label="",style="solid", color="black", weight=3]; 1677[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1677 -> 1745[label="",style="solid", color="black", weight=3]; 1678[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1678 -> 1746[label="",style="solid", color="black", weight=3]; 1679[label="foldr (++) [] (range0 EQ LT EQ : map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1679 -> 1747[label="",style="solid", color="black", weight=3]; 1680[label="foldr (++) [] (range0 EQ EQ EQ : map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1680 -> 1748[label="",style="solid", color="black", weight=3]; 1681[label="foldr (++) [] (range0 EQ GT EQ : map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1681 -> 1749[label="",style="solid", color="black", weight=3]; 1682[label="foldr (++) [] (range0 GT LT EQ : map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1682 -> 1750[label="",style="solid", color="black", weight=3]; 1683[label="foldr (++) [] (range0 GT EQ EQ : map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1683 -> 1751[label="",style="solid", color="black", weight=3]; 1684[label="foldr (++) [] (range0 GT GT EQ : map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1684 -> 1752[label="",style="solid", color="black", weight=3]; 1685[label="(++) range60 True (not (compare False True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1685 -> 1753[label="",style="solid", color="black", weight=3]; 1686[label="(++) range60 True (not (compare False True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1686 -> 1754[label="",style="solid", color="black", weight=3]; 1687[label="foldr (++) [] (range6 True False True : map (range6 True False) [])",fontsize=16,color="black",shape="box"];1687 -> 1755[label="",style="solid", color="black", weight=3]; 1688[label="foldr (++) [] (range6 True True True : map (range6 True True) [])",fontsize=16,color="black",shape="box"];1688 -> 1756[label="",style="solid", color="black", weight=3]; 2812 -> 2660[label="",style="dashed", color="red", weight=0]; 2812[label="primPlusNat (Succ xu202) (Succ Zero)",fontsize=16,color="magenta"];2812 -> 2824[label="",style="dashed", color="magenta", weight=3]; 2711[label="primPlusNat (Succ xu1680) Zero",fontsize=16,color="black",shape="box"];2711 -> 2728[label="",style="solid", color="black", weight=3]; 2712[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];2712 -> 2729[label="",style="solid", color="black", weight=3]; 1744[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1744 -> 1858[label="",style="solid", color="black", weight=3]; 1745[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1745 -> 1859[label="",style="solid", color="black", weight=3]; 1746[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1746 -> 1860[label="",style="solid", color="black", weight=3]; 1747[label="(++) range0 EQ LT EQ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1747 -> 1861[label="",style="solid", color="black", weight=3]; 1748[label="(++) range0 EQ EQ EQ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1748 -> 1862[label="",style="solid", color="black", weight=3]; 1749[label="(++) range0 EQ GT EQ foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1749 -> 1863[label="",style="solid", color="black", weight=3]; 1750[label="(++) range0 GT LT EQ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1750 -> 1864[label="",style="solid", color="black", weight=3]; 1751[label="(++) range0 GT EQ EQ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1751 -> 1865[label="",style="solid", color="black", weight=3]; 1752[label="(++) range0 GT GT EQ foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1752 -> 1866[label="",style="solid", color="black", weight=3]; 1753[label="(++) range60 True (not (compare3 False True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1753 -> 1867[label="",style="solid", color="black", weight=3]; 1754[label="(++) range60 True (not (compare3 False True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1754 -> 1868[label="",style="solid", color="black", weight=3]; 1755[label="(++) range6 True False True foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1755 -> 1869[label="",style="solid", color="black", weight=3]; 1756[label="(++) range6 True True True foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1756 -> 1870[label="",style="solid", color="black", weight=3]; 2824[label="xu202",fontsize=16,color="green",shape="box"];2728[label="Succ xu1680",fontsize=16,color="green",shape="box"];2729[label="Zero",fontsize=16,color="green",shape="box"];1858[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1858 -> 1985[label="",style="solid", color="black", weight=3]; 1859[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1859 -> 1986[label="",style="solid", color="black", weight=3]; 1860[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1860 -> 1987[label="",style="solid", color="black", weight=3]; 1861[label="(++) range00 EQ (EQ >= EQ && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1861 -> 1988[label="",style="solid", color="black", weight=3]; 1862[label="(++) range00 EQ (EQ >= EQ && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1862 -> 1989[label="",style="solid", color="black", weight=3]; 1863[label="(++) range00 EQ (EQ >= EQ && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1863 -> 1990[label="",style="solid", color="black", weight=3]; 1864[label="(++) range00 EQ (GT >= EQ && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1864 -> 1991[label="",style="solid", color="black", weight=3]; 1865[label="(++) range00 EQ (GT >= EQ && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1865 -> 1992[label="",style="solid", color="black", weight=3]; 1866[label="(++) range00 EQ (GT >= EQ && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1866 -> 1993[label="",style="solid", color="black", weight=3]; 1867[label="(++) range60 True (not (compare2 False True (False == True) == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1867 -> 1994[label="",style="solid", color="black", weight=3]; 1868[label="(++) range60 True (not (compare2 False True (False == True) == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1868 -> 1995[label="",style="solid", color="black", weight=3]; 1869[label="(++) range60 True (True >= True && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1869 -> 1996[label="",style="solid", color="black", weight=3]; 1870[label="(++) range60 True (True >= True && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1870 -> 1997[label="",style="solid", color="black", weight=3]; 1985[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1985 -> 2046[label="",style="solid", color="black", weight=3]; 1986[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1986 -> 2047[label="",style="solid", color="black", weight=3]; 1987[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1987 -> 2048[label="",style="solid", color="black", weight=3]; 1988[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1988 -> 2049[label="",style="solid", color="black", weight=3]; 1989[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1989 -> 2050[label="",style="solid", color="black", weight=3]; 1990[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1990 -> 2051[label="",style="solid", color="black", weight=3]; 1991[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1991 -> 2052[label="",style="solid", color="black", weight=3]; 1992[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1992 -> 2053[label="",style="solid", color="black", weight=3]; 1993[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1993 -> 2054[label="",style="solid", color="black", weight=3]; 1994[label="(++) range60 True (not (compare2 False True False == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1994 -> 2055[label="",style="solid", color="black", weight=3]; 1995[label="(++) range60 True (not (compare2 False True False == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1995 -> 2056[label="",style="solid", color="black", weight=3]; 1996[label="(++) range60 True (compare True True /= LT && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1996 -> 2057[label="",style="solid", color="black", weight=3]; 1997[label="(++) range60 True (compare True True /= LT && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1997 -> 2058[label="",style="solid", color="black", weight=3]; 2046[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2046 -> 2124[label="",style="solid", color="black", weight=3]; 2047[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2047 -> 2125[label="",style="solid", color="black", weight=3]; 2048[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2048 -> 2126[label="",style="solid", color="black", weight=3]; 2049[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2049 -> 2127[label="",style="solid", color="black", weight=3]; 2050[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2050 -> 2128[label="",style="solid", color="black", weight=3]; 2051[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2051 -> 2129[label="",style="solid", color="black", weight=3]; 2052[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2052 -> 2130[label="",style="solid", color="black", weight=3]; 2053[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2053 -> 2131[label="",style="solid", color="black", weight=3]; 2054[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2054 -> 2132[label="",style="solid", color="black", weight=3]; 2055[label="(++) range60 True (not (compare1 False True (False <= True) == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2055 -> 2133[label="",style="solid", color="black", weight=3]; 2056[label="(++) range60 True (not (compare1 False True (False <= True) == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2056 -> 2134[label="",style="solid", color="black", weight=3]; 2057[label="(++) range60 True (not (compare True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2057 -> 2135[label="",style="solid", color="black", weight=3]; 2058[label="(++) range60 True (not (compare True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2058 -> 2136[label="",style="solid", color="black", weight=3]; 2124[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2124 -> 2176[label="",style="solid", color="black", weight=3]; 2125[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2125 -> 2177[label="",style="solid", color="black", weight=3]; 2126[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2126 -> 2178[label="",style="solid", color="black", weight=3]; 2127[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2127 -> 2179[label="",style="solid", color="black", weight=3]; 2128[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2128 -> 2180[label="",style="solid", color="black", weight=3]; 2129[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2129 -> 2181[label="",style="solid", color="black", weight=3]; 2130[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2130 -> 2182[label="",style="solid", color="black", weight=3]; 2131[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2131 -> 2183[label="",style="solid", color="black", weight=3]; 2132[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2132 -> 2184[label="",style="solid", color="black", weight=3]; 2133[label="(++) range60 True (not (compare1 False True True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2133 -> 2185[label="",style="solid", color="black", weight=3]; 2134[label="(++) range60 True (not (compare1 False True True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2134 -> 2186[label="",style="solid", color="black", weight=3]; 2135[label="(++) range60 True (not (compare3 True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2135 -> 2187[label="",style="solid", color="black", weight=3]; 2136[label="(++) range60 True (not (compare3 True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2136 -> 2188[label="",style="solid", color="black", weight=3]; 2176[label="(++) range00 EQ (not (LT == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2176 -> 2249[label="",style="solid", color="black", weight=3]; 2177[label="(++) range00 EQ (not (LT == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2177 -> 2250[label="",style="solid", color="black", weight=3]; 2178[label="(++) range00 EQ (not (LT == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2178 -> 2251[label="",style="solid", color="black", weight=3]; 2179[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2179 -> 2252[label="",style="solid", color="black", weight=3]; 2180[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2180 -> 2253[label="",style="solid", color="black", weight=3]; 2181[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2181 -> 2254[label="",style="solid", color="black", weight=3]; 2182[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2182 -> 2255[label="",style="solid", color="black", weight=3]; 2183[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2183 -> 2256[label="",style="solid", color="black", weight=3]; 2184[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2184 -> 2257[label="",style="solid", color="black", weight=3]; 2185[label="(++) range60 True (not (LT == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2185 -> 2258[label="",style="solid", color="black", weight=3]; 2186[label="(++) range60 True (not (LT == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2186 -> 2259[label="",style="solid", color="black", weight=3]; 2187[label="(++) range60 True (not (compare2 True True (True == True) == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2187 -> 2260[label="",style="solid", color="black", weight=3]; 2188[label="(++) range60 True (not (compare2 True True (True == True) == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2188 -> 2261[label="",style="solid", color="black", weight=3]; 2249[label="(++) range00 EQ (not True && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2249 -> 2348[label="",style="solid", color="black", weight=3]; 2250[label="(++) range00 EQ (not True && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2250 -> 2349[label="",style="solid", color="black", weight=3]; 2251[label="(++) range00 EQ (not True && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2251 -> 2350[label="",style="solid", color="black", weight=3]; 2252[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2252 -> 2351[label="",style="solid", color="black", weight=3]; 2253[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2253 -> 2352[label="",style="solid", color="black", weight=3]; 2254[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2254 -> 2353[label="",style="solid", color="black", weight=3]; 2255[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2255 -> 2354[label="",style="solid", color="black", weight=3]; 2256[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2256 -> 2355[label="",style="solid", color="black", weight=3]; 2257[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2257 -> 2356[label="",style="solid", color="black", weight=3]; 2258[label="(++) range60 True (not True && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2258 -> 2357[label="",style="solid", color="black", weight=3]; 2259[label="(++) range60 True (not True && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2259 -> 2358[label="",style="solid", color="black", weight=3]; 2260[label="(++) range60 True (not (compare2 True True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2260 -> 2359[label="",style="solid", color="black", weight=3]; 2261[label="(++) range60 True (not (compare2 True True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2261 -> 2360[label="",style="solid", color="black", weight=3]; 2348[label="(++) range00 EQ (False && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2348 -> 2451[label="",style="solid", color="black", weight=3]; 2349[label="(++) range00 EQ (False && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2349 -> 2452[label="",style="solid", color="black", weight=3]; 2350[label="(++) range00 EQ (False && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2350 -> 2453[label="",style="solid", color="black", weight=3]; 2351[label="(++) range00 EQ (not (EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2351 -> 2454[label="",style="solid", color="black", weight=3]; 2352[label="(++) range00 EQ (not (EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2352 -> 2455[label="",style="solid", color="black", weight=3]; 2353[label="(++) range00 EQ (not (EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2353 -> 2456[label="",style="solid", color="black", weight=3]; 2354[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2354 -> 2457[label="",style="solid", color="black", weight=3]; 2355[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2355 -> 2458[label="",style="solid", color="black", weight=3]; 2356[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2356 -> 2459[label="",style="solid", color="black", weight=3]; 2357[label="(++) range60 True (False && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2357 -> 2460[label="",style="solid", color="black", weight=3]; 2358[label="(++) range60 True (False && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2358 -> 2461[label="",style="solid", color="black", weight=3]; 2359[label="(++) range60 True (not (EQ == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2359 -> 2462[label="",style="solid", color="black", weight=3]; 2360[label="(++) range60 True (not (EQ == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2360 -> 2463[label="",style="solid", color="black", weight=3]; 2451[label="(++) range00 EQ False foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2451 -> 2566[label="",style="solid", color="black", weight=3]; 2452[label="(++) range00 EQ False foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2452 -> 2567[label="",style="solid", color="black", weight=3]; 2453[label="(++) range00 EQ False foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2453 -> 2568[label="",style="solid", color="black", weight=3]; 2454[label="(++) range00 EQ (not False && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2454 -> 2569[label="",style="solid", color="black", weight=3]; 2455[label="(++) range00 EQ (not False && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2455 -> 2570[label="",style="solid", color="black", weight=3]; 2456[label="(++) range00 EQ (not False && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2456 -> 2571[label="",style="solid", color="black", weight=3]; 2457[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2457 -> 2572[label="",style="solid", color="black", weight=3]; 2458[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2458 -> 2573[label="",style="solid", color="black", weight=3]; 2459[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2459 -> 2574[label="",style="solid", color="black", weight=3]; 2460[label="(++) range60 True False foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2460 -> 2575[label="",style="solid", color="black", weight=3]; 2461[label="(++) range60 True False foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2461 -> 2576[label="",style="solid", color="black", weight=3]; 2462[label="(++) range60 True (not False && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2462 -> 2577[label="",style="solid", color="black", weight=3]; 2463[label="(++) range60 True (not False && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2463 -> 2578[label="",style="solid", color="black", weight=3]; 2566[label="(++) [] foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2566 -> 2593[label="",style="solid", color="black", weight=3]; 2567[label="(++) [] foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2567 -> 2594[label="",style="solid", color="black", weight=3]; 2568[label="(++) [] foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2568 -> 2595[label="",style="solid", color="black", weight=3]; 2569[label="(++) range00 EQ (True && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2569 -> 2596[label="",style="solid", color="black", weight=3]; 2570[label="(++) range00 EQ (True && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2570 -> 2597[label="",style="solid", color="black", weight=3]; 2571[label="(++) range00 EQ (True && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2571 -> 2598[label="",style="solid", color="black", weight=3]; 2572[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2572 -> 2599[label="",style="solid", color="black", weight=3]; 2573[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2573 -> 2600[label="",style="solid", color="black", weight=3]; 2574[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2574 -> 2601[label="",style="solid", color="black", weight=3]; 2575[label="(++) [] foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2575 -> 2602[label="",style="solid", color="black", weight=3]; 2576[label="(++) [] foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2576 -> 2603[label="",style="solid", color="black", weight=3]; 2577[label="(++) range60 True (True && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2577 -> 2604[label="",style="solid", color="black", weight=3]; 2578[label="(++) range60 True (True && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2578 -> 2605[label="",style="solid", color="black", weight=3]; 2593[label="foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2593 -> 2618[label="",style="solid", color="black", weight=3]; 2594[label="foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2594 -> 2619[label="",style="solid", color="black", weight=3]; 2595[label="foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2595 -> 2620[label="",style="solid", color="black", weight=3]; 2596[label="(++) range00 EQ (EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2596 -> 2621[label="",style="solid", color="black", weight=3]; 2597[label="(++) range00 EQ (EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2597 -> 2622[label="",style="solid", color="black", weight=3]; 2598[label="(++) range00 EQ (EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2598 -> 2623[label="",style="solid", color="black", weight=3]; 2599[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2599 -> 2624[label="",style="solid", color="black", weight=3]; 2600[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2600 -> 2625[label="",style="solid", color="black", weight=3]; 2601[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2601 -> 2626[label="",style="solid", color="black", weight=3]; 2602[label="foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2602 -> 2627[label="",style="solid", color="black", weight=3]; 2603[label="foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2603 -> 2628[label="",style="solid", color="black", weight=3]; 2604[label="(++) range60 True (True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2604 -> 2629[label="",style="solid", color="black", weight=3]; 2605[label="(++) range60 True (True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2605 -> 2630[label="",style="solid", color="black", weight=3]; 2618[label="foldr (++) [] (range0 LT LT GT : map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2618 -> 2642[label="",style="solid", color="black", weight=3]; 2619[label="foldr (++) [] (range0 LT EQ GT : map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2619 -> 2643[label="",style="solid", color="black", weight=3]; 2620[label="foldr (++) [] (range0 LT GT GT : map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2620 -> 2644[label="",style="solid", color="black", weight=3]; 2621[label="(++) range00 EQ (compare EQ LT /= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2621 -> 2645[label="",style="solid", color="black", weight=3]; 2622[label="(++) range00 EQ (compare EQ EQ /= LT) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2622 -> 2646[label="",style="solid", color="black", weight=3]; 2623[label="(++) range00 EQ (compare EQ GT /= LT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2623 -> 2647[label="",style="solid", color="black", weight=3]; 2624[label="(++) range00 EQ (not (GT == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2624 -> 2648[label="",style="solid", color="black", weight=3]; 2625[label="(++) range00 EQ (not (GT == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2625 -> 2649[label="",style="solid", color="black", weight=3]; 2626[label="(++) range00 EQ (not (GT == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2626 -> 2650[label="",style="solid", color="black", weight=3]; 2627[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];2627 -> 2651[label="",style="solid", color="black", weight=3]; 2628 -> 2627[label="",style="dashed", color="red", weight=0]; 2628[label="foldr (++) [] []",fontsize=16,color="magenta"];2629[label="(++) range60 True (compare True False /= LT) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2629 -> 2652[label="",style="solid", color="black", weight=3]; 2630[label="(++) range60 True (compare True True /= LT) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2630 -> 2653[label="",style="solid", color="black", weight=3]; 2642[label="(++) range0 LT LT GT foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2642 -> 2661[label="",style="solid", color="black", weight=3]; 2643[label="(++) range0 LT EQ GT foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2643 -> 2662[label="",style="solid", color="black", weight=3]; 2644[label="(++) range0 LT GT GT foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2644 -> 2663[label="",style="solid", color="black", weight=3]; 2645[label="(++) range00 EQ (not (compare EQ LT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2645 -> 2664[label="",style="solid", color="black", weight=3]; 2646[label="(++) range00 EQ (not (compare EQ EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2646 -> 2665[label="",style="solid", color="black", weight=3]; 2647[label="(++) range00 EQ (not (compare EQ GT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2647 -> 2666[label="",style="solid", color="black", weight=3]; 2648[label="(++) range00 EQ (not False && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2648 -> 2667[label="",style="solid", color="black", weight=3]; 2649[label="(++) range00 EQ (not False && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2649 -> 2668[label="",style="solid", color="black", weight=3]; 2650[label="(++) range00 EQ (not False && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2650 -> 2669[label="",style="solid", color="black", weight=3]; 2651[label="[]",fontsize=16,color="green",shape="box"];2652[label="(++) range60 True (not (compare True False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2652 -> 2670[label="",style="solid", color="black", weight=3]; 2653[label="(++) range60 True (not (compare True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2653 -> 2671[label="",style="solid", color="black", weight=3]; 2661[label="(++) range00 GT (LT >= GT && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2661 -> 2679[label="",style="solid", color="black", weight=3]; 2662[label="(++) range00 GT (LT >= GT && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2662 -> 2680[label="",style="solid", color="black", weight=3]; 2663[label="(++) range00 GT (LT >= GT && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2663 -> 2681[label="",style="solid", color="black", weight=3]; 2664[label="(++) range00 EQ (not (compare3 EQ LT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2664 -> 2682[label="",style="solid", color="black", weight=3]; 2665[label="(++) range00 EQ (not (compare3 EQ EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2665 -> 2683[label="",style="solid", color="black", weight=3]; 2666[label="(++) range00 EQ (not (compare3 EQ GT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2666 -> 2684[label="",style="solid", color="black", weight=3]; 2667[label="(++) range00 EQ (True && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2667 -> 2685[label="",style="solid", color="black", weight=3]; 2668[label="(++) range00 EQ (True && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2668 -> 2686[label="",style="solid", color="black", weight=3]; 2669[label="(++) range00 EQ (True && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2669 -> 2687[label="",style="solid", color="black", weight=3]; 2670[label="(++) range60 True (not (compare3 True False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2670 -> 2688[label="",style="solid", color="black", weight=3]; 2671[label="(++) range60 True (not (compare3 True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2671 -> 2689[label="",style="solid", color="black", weight=3]; 2679[label="(++) range00 GT (compare LT GT /= LT && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2679 -> 2696[label="",style="solid", color="black", weight=3]; 2680[label="(++) range00 GT (compare LT GT /= LT && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2680 -> 2697[label="",style="solid", color="black", weight=3]; 2681[label="(++) range00 GT (compare LT GT /= LT && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2681 -> 2698[label="",style="solid", color="black", weight=3]; 2682[label="(++) range00 EQ (not (compare2 EQ LT (EQ == LT) == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2682 -> 2699[label="",style="solid", color="black", weight=3]; 2683[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2683 -> 2700[label="",style="solid", color="black", weight=3]; 2684[label="(++) range00 EQ (not (compare2 EQ GT (EQ == GT) == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2684 -> 2701[label="",style="solid", color="black", weight=3]; 2685[label="(++) range00 EQ (EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2685 -> 2702[label="",style="solid", color="black", weight=3]; 2686[label="(++) range00 EQ (EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2686 -> 2703[label="",style="solid", color="black", weight=3]; 2687[label="(++) range00 EQ (EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2687 -> 2704[label="",style="solid", color="black", weight=3]; 2688[label="(++) range60 True (not (compare2 True False (True == False) == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2688 -> 2705[label="",style="solid", color="black", weight=3]; 2689[label="(++) range60 True (not (compare2 True True (True == True) == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2689 -> 2706[label="",style="solid", color="black", weight=3]; 2696[label="(++) range00 GT (not (compare LT GT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2696 -> 2713[label="",style="solid", color="black", weight=3]; 2697[label="(++) range00 GT (not (compare LT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2697 -> 2714[label="",style="solid", color="black", weight=3]; 2698[label="(++) range00 GT (not (compare LT GT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2698 -> 2715[label="",style="solid", color="black", weight=3]; 2699[label="(++) range00 EQ (not (compare2 EQ LT False == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2699 -> 2716[label="",style="solid", color="black", weight=3]; 2700[label="(++) range00 EQ (not (compare2 EQ EQ True == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2700 -> 2717[label="",style="solid", color="black", weight=3]; 2701[label="(++) range00 EQ (not (compare2 EQ GT False == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2701 -> 2718[label="",style="solid", color="black", weight=3]; 2702[label="(++) range00 EQ (compare EQ LT /= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2702 -> 2719[label="",style="solid", color="black", weight=3]; 2703[label="(++) range00 EQ (compare EQ EQ /= LT) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2703 -> 2720[label="",style="solid", color="black", weight=3]; 2704[label="(++) range00 EQ (compare EQ GT /= LT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2704 -> 2721[label="",style="solid", color="black", weight=3]; 2705[label="(++) range60 True (not (compare2 True False False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2705 -> 2722[label="",style="solid", color="black", weight=3]; 2706[label="(++) range60 True (not (compare2 True True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2706 -> 2723[label="",style="solid", color="black", weight=3]; 2713[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2713 -> 2730[label="",style="solid", color="black", weight=3]; 2714[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2714 -> 2731[label="",style="solid", color="black", weight=3]; 2715[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2715 -> 2732[label="",style="solid", color="black", weight=3]; 2716[label="(++) range00 EQ (not (compare1 EQ LT (EQ <= LT) == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2716 -> 2733[label="",style="solid", color="black", weight=3]; 2717[label="(++) range00 EQ (not (EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2717 -> 2734[label="",style="solid", color="black", weight=3]; 2718[label="(++) range00 EQ (not (compare1 EQ GT (EQ <= GT) == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2718 -> 2735[label="",style="solid", color="black", weight=3]; 2719[label="(++) range00 EQ (not (compare EQ LT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2719 -> 2736[label="",style="solid", color="black", weight=3]; 2720[label="(++) range00 EQ (not (compare EQ EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2720 -> 2737[label="",style="solid", color="black", weight=3]; 2721[label="(++) range00 EQ (not (compare EQ GT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2721 -> 2738[label="",style="solid", color="black", weight=3]; 2722[label="(++) range60 True (not (compare1 True False (True <= False) == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2722 -> 2739[label="",style="solid", color="black", weight=3]; 2723[label="(++) range60 True (not (EQ == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2723 -> 2740[label="",style="solid", color="black", weight=3]; 2730[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2730 -> 2743[label="",style="solid", color="black", weight=3]; 2731[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2731 -> 2744[label="",style="solid", color="black", weight=3]; 2732[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2732 -> 2745[label="",style="solid", color="black", weight=3]; 2733[label="(++) range00 EQ (not (compare1 EQ LT False == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2733 -> 2746[label="",style="solid", color="black", weight=3]; 2734[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2734 -> 2747[label="",style="solid", color="black", weight=3]; 2735[label="(++) range00 EQ (not (compare1 EQ GT True == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2735 -> 2748[label="",style="solid", color="black", weight=3]; 2736[label="(++) range00 EQ (not (compare3 EQ LT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2736 -> 2749[label="",style="solid", color="black", weight=3]; 2737[label="(++) range00 EQ (not (compare3 EQ EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2737 -> 2750[label="",style="solid", color="black", weight=3]; 2738[label="(++) range00 EQ (not (compare3 EQ GT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2738 -> 2751[label="",style="solid", color="black", weight=3]; 2739[label="(++) range60 True (not (compare1 True False False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2739 -> 2752[label="",style="solid", color="black", weight=3]; 2740[label="(++) range60 True (not False) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2740 -> 2753[label="",style="solid", color="black", weight=3]; 2743[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2743 -> 2756[label="",style="solid", color="black", weight=3]; 2744[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2744 -> 2757[label="",style="solid", color="black", weight=3]; 2745[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2745 -> 2758[label="",style="solid", color="black", weight=3]; 2746[label="(++) range00 EQ (not (compare0 EQ LT otherwise == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2746 -> 2759[label="",style="solid", color="black", weight=3]; 2747[label="(++) range00 EQ True foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2747 -> 2760[label="",style="solid", color="black", weight=3]; 2748[label="(++) range00 EQ (not (LT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2748 -> 2761[label="",style="solid", color="black", weight=3]; 2749[label="(++) range00 EQ (not (compare2 EQ LT (EQ == LT) == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2749 -> 2762[label="",style="solid", color="black", weight=3]; 2750[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2750 -> 2763[label="",style="solid", color="black", weight=3]; 2751[label="(++) range00 EQ (not (compare2 EQ GT (EQ == GT) == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2751 -> 2764[label="",style="solid", color="black", weight=3]; 2752[label="(++) range60 True (not (compare0 True False otherwise == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2752 -> 2765[label="",style="solid", color="black", weight=3]; 2753[label="(++) range60 True True foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2753 -> 2766[label="",style="solid", color="black", weight=3]; 2756[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2756 -> 2775[label="",style="solid", color="black", weight=3]; 2757[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2757 -> 2776[label="",style="solid", color="black", weight=3]; 2758[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2758 -> 2777[label="",style="solid", color="black", weight=3]; 2759[label="(++) range00 EQ (not (compare0 EQ LT True == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2759 -> 2778[label="",style="solid", color="black", weight=3]; 2760[label="(++) (EQ : []) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2760 -> 2779[label="",style="solid", color="black", weight=3]; 2761[label="(++) range00 EQ (not True) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2761 -> 2780[label="",style="solid", color="black", weight=3]; 2762[label="(++) range00 EQ (not (compare2 EQ LT False == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2762 -> 2781[label="",style="solid", color="black", weight=3]; 2763[label="(++) range00 EQ (not (compare2 EQ EQ True == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2763 -> 2782[label="",style="solid", color="black", weight=3]; 2764[label="(++) range00 EQ (not (compare2 EQ GT False == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2764 -> 2783[label="",style="solid", color="black", weight=3]; 2765[label="(++) range60 True (not (compare0 True False True == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2765 -> 2784[label="",style="solid", color="black", weight=3]; 2766[label="(++) (True : []) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2766 -> 2785[label="",style="solid", color="black", weight=3]; 2775[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2775 -> 2789[label="",style="solid", color="black", weight=3]; 2776[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2776 -> 2790[label="",style="solid", color="black", weight=3]; 2777[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2777 -> 2791[label="",style="solid", color="black", weight=3]; 2778[label="(++) range00 EQ (not (GT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2778 -> 2792[label="",style="solid", color="black", weight=3]; 2779[label="EQ : [] ++ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="green",shape="box"];2779 -> 2793[label="",style="dashed", color="green", weight=3]; 2780[label="(++) range00 EQ False foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2780 -> 2794[label="",style="solid", color="black", weight=3]; 2781[label="(++) range00 EQ (not (compare1 EQ LT (EQ <= LT) == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2781 -> 2795[label="",style="solid", color="black", weight=3]; 2782[label="(++) range00 EQ (not (EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2782 -> 2796[label="",style="solid", color="black", weight=3]; 2783[label="(++) range00 EQ (not (compare1 EQ GT (EQ <= GT) == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2783 -> 2797[label="",style="solid", color="black", weight=3]; 2784[label="(++) range60 True (not (GT == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2784 -> 2798[label="",style="solid", color="black", weight=3]; 2785[label="True : [] ++ foldr (++) [] (map (range6 True True) [])",fontsize=16,color="green",shape="box"];2785 -> 2799[label="",style="dashed", color="green", weight=3]; 2789[label="(++) range00 GT (not (LT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2789 -> 2801[label="",style="solid", color="black", weight=3]; 2790[label="(++) range00 GT (not (LT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2790 -> 2802[label="",style="solid", color="black", weight=3]; 2791[label="(++) range00 GT (not (LT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2791 -> 2803[label="",style="solid", color="black", weight=3]; 2792[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2792 -> 2804[label="",style="solid", color="black", weight=3]; 2793[label="[] ++ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2793 -> 2805[label="",style="solid", color="black", weight=3]; 2794[label="(++) [] foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2794 -> 2806[label="",style="solid", color="black", weight=3]; 2795[label="(++) range00 EQ (not (compare1 EQ LT False == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2795 -> 2807[label="",style="solid", color="black", weight=3]; 2796[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2796 -> 2808[label="",style="solid", color="black", weight=3]; 2797[label="(++) range00 EQ (not (compare1 EQ GT True == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2797 -> 2809[label="",style="solid", color="black", weight=3]; 2798[label="(++) range60 True (not False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2798 -> 2810[label="",style="solid", color="black", weight=3]; 2799[label="[] ++ foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2799 -> 2811[label="",style="solid", color="black", weight=3]; 2801[label="(++) range00 GT (not True && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2801 -> 2813[label="",style="solid", color="black", weight=3]; 2802[label="(++) range00 GT (not True && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2802 -> 2814[label="",style="solid", color="black", weight=3]; 2803[label="(++) range00 GT (not True && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2803 -> 2815[label="",style="solid", color="black", weight=3]; 2804[label="(++) range00 EQ True foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2804 -> 2816[label="",style="solid", color="black", weight=3]; 2805[label="foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2805 -> 2817[label="",style="solid", color="black", weight=3]; 2806[label="foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2806 -> 2818[label="",style="solid", color="black", weight=3]; 2807[label="(++) range00 EQ (not (compare0 EQ LT otherwise == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2807 -> 2819[label="",style="solid", color="black", weight=3]; 2808[label="(++) range00 EQ True foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2808 -> 2820[label="",style="solid", color="black", weight=3]; 2809[label="(++) range00 EQ (not (LT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2809 -> 2821[label="",style="solid", color="black", weight=3]; 2810[label="(++) range60 True True foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2810 -> 2822[label="",style="solid", color="black", weight=3]; 2811[label="foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2811 -> 2823[label="",style="solid", color="black", weight=3]; 2813[label="(++) range00 GT (False && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2813 -> 2825[label="",style="solid", color="black", weight=3]; 2814[label="(++) range00 GT (False && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2814 -> 2826[label="",style="solid", color="black", weight=3]; 2815[label="(++) range00 GT (False && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2815 -> 2827[label="",style="solid", color="black", weight=3]; 2816[label="(++) (EQ : []) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2816 -> 2828[label="",style="solid", color="black", weight=3]; 2817[label="foldr (++) [] (range0 EQ EQ GT : map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2817 -> 2829[label="",style="solid", color="black", weight=3]; 2818[label="foldr (++) [] (range0 EQ GT GT : map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2818 -> 2830[label="",style="solid", color="black", weight=3]; 2819[label="(++) range00 EQ (not (compare0 EQ LT True == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2819 -> 2831[label="",style="solid", color="black", weight=3]; 2820[label="(++) (EQ : []) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2820 -> 2832[label="",style="solid", color="black", weight=3]; 2821[label="(++) range00 EQ (not True) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2821 -> 2833[label="",style="solid", color="black", weight=3]; 2822[label="(++) (True : []) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2822 -> 2834[label="",style="solid", color="black", weight=3]; 2823 -> 2627[label="",style="dashed", color="red", weight=0]; 2823[label="foldr (++) [] []",fontsize=16,color="magenta"];2825[label="(++) range00 GT False foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2825 -> 2835[label="",style="solid", color="black", weight=3]; 2826[label="(++) range00 GT False foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2826 -> 2836[label="",style="solid", color="black", weight=3]; 2827[label="(++) range00 GT False foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2827 -> 2837[label="",style="solid", color="black", weight=3]; 2828[label="EQ : [] ++ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="green",shape="box"];2828 -> 2838[label="",style="dashed", color="green", weight=3]; 2829[label="(++) range0 EQ EQ GT foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2829 -> 2839[label="",style="solid", color="black", weight=3]; 2830[label="(++) range0 EQ GT GT foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2830 -> 2840[label="",style="solid", color="black", weight=3]; 2831[label="(++) range00 EQ (not (GT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2831 -> 2841[label="",style="solid", color="black", weight=3]; 2832[label="EQ : [] ++ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="green",shape="box"];2832 -> 2842[label="",style="dashed", color="green", weight=3]; 2833[label="(++) range00 EQ False foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2833 -> 2843[label="",style="solid", color="black", weight=3]; 2834[label="True : [] ++ foldr (++) [] (map (range6 True False) [])",fontsize=16,color="green",shape="box"];2834 -> 2844[label="",style="dashed", color="green", weight=3]; 2835[label="(++) [] foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2835 -> 2845[label="",style="solid", color="black", weight=3]; 2836[label="(++) [] foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2836 -> 2846[label="",style="solid", color="black", weight=3]; 2837[label="(++) [] foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2837 -> 2847[label="",style="solid", color="black", weight=3]; 2838[label="[] ++ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2838 -> 2848[label="",style="solid", color="black", weight=3]; 2839[label="(++) range00 GT (EQ >= GT && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2839 -> 2849[label="",style="solid", color="black", weight=3]; 2840[label="(++) range00 GT (EQ >= GT && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2840 -> 2850[label="",style="solid", color="black", weight=3]; 2841[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2841 -> 2851[label="",style="solid", color="black", weight=3]; 2842[label="[] ++ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2842 -> 2852[label="",style="solid", color="black", weight=3]; 2843[label="(++) [] foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2843 -> 2853[label="",style="solid", color="black", weight=3]; 2844[label="[] ++ foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2844 -> 2854[label="",style="solid", color="black", weight=3]; 2845[label="foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2845 -> 2855[label="",style="solid", color="black", weight=3]; 2846[label="foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2846 -> 2856[label="",style="solid", color="black", weight=3]; 2847[label="foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2847 -> 2857[label="",style="solid", color="black", weight=3]; 2848[label="foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2848 -> 2858[label="",style="solid", color="black", weight=3]; 2849[label="(++) range00 GT (compare EQ GT /= LT && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2849 -> 2859[label="",style="solid", color="black", weight=3]; 2850[label="(++) range00 GT (compare EQ GT /= LT && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2850 -> 2860[label="",style="solid", color="black", weight=3]; 2851[label="(++) range00 EQ True foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2851 -> 2861[label="",style="solid", color="black", weight=3]; 2852[label="foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2852 -> 2862[label="",style="solid", color="black", weight=3]; 2853[label="foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2853 -> 2863[label="",style="solid", color="black", weight=3]; 2854[label="foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2854 -> 2864[label="",style="solid", color="black", weight=3]; 2855[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];2855 -> 2865[label="",style="solid", color="black", weight=3]; 2856 -> 2855[label="",style="dashed", color="red", weight=0]; 2856[label="foldr (++) [] []",fontsize=16,color="magenta"];2857 -> 2855[label="",style="dashed", color="red", weight=0]; 2857[label="foldr (++) [] []",fontsize=16,color="magenta"];2858[label="foldr (++) [] (range0 EQ LT GT : map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2858 -> 2866[label="",style="solid", color="black", weight=3]; 2859[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2859 -> 2867[label="",style="solid", color="black", weight=3]; 2860[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2860 -> 2868[label="",style="solid", color="black", weight=3]; 2861[label="(++) (EQ : []) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2861 -> 2869[label="",style="solid", color="black", weight=3]; 2862[label="foldr (++) [] (range0 GT EQ GT : map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2862 -> 2870[label="",style="solid", color="black", weight=3]; 2863[label="foldr (++) [] (range0 GT GT GT : map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2863 -> 2871[label="",style="solid", color="black", weight=3]; 2864 -> 2627[label="",style="dashed", color="red", weight=0]; 2864[label="foldr (++) [] []",fontsize=16,color="magenta"];2865[label="[]",fontsize=16,color="green",shape="box"];2866[label="(++) range0 EQ LT GT foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2866 -> 2872[label="",style="solid", color="black", weight=3]; 2867[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2867 -> 2873[label="",style="solid", color="black", weight=3]; 2868[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2868 -> 2874[label="",style="solid", color="black", weight=3]; 2869[label="EQ : [] ++ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="green",shape="box"];2869 -> 2875[label="",style="dashed", color="green", weight=3]; 2870[label="(++) range0 GT EQ GT foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2870 -> 2876[label="",style="solid", color="black", weight=3]; 2871[label="(++) range0 GT GT GT foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2871 -> 2877[label="",style="solid", color="black", weight=3]; 2872[label="(++) range00 GT (EQ >= GT && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2872 -> 2878[label="",style="solid", color="black", weight=3]; 2873[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2873 -> 2879[label="",style="solid", color="black", weight=3]; 2874[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2874 -> 2880[label="",style="solid", color="black", weight=3]; 2875[label="[] ++ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2875 -> 2881[label="",style="solid", color="black", weight=3]; 2876[label="(++) range00 GT (GT >= GT && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2876 -> 2882[label="",style="solid", color="black", weight=3]; 2877[label="(++) range00 GT (GT >= GT && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2877 -> 2883[label="",style="solid", color="black", weight=3]; 2878[label="(++) range00 GT (compare EQ GT /= LT && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2878 -> 2884[label="",style="solid", color="black", weight=3]; 2879[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2879 -> 2885[label="",style="solid", color="black", weight=3]; 2880[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2880 -> 2886[label="",style="solid", color="black", weight=3]; 2881[label="foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2881 -> 2887[label="",style="solid", color="black", weight=3]; 2882[label="(++) range00 GT (compare GT GT /= LT && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2882 -> 2888[label="",style="solid", color="black", weight=3]; 2883[label="(++) range00 GT (compare GT GT /= LT && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2883 -> 2889[label="",style="solid", color="black", weight=3]; 2884[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2884 -> 2890[label="",style="solid", color="black", weight=3]; 2885[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2885 -> 2891[label="",style="solid", color="black", weight=3]; 2886[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2886 -> 2892[label="",style="solid", color="black", weight=3]; 2887[label="foldr (++) [] (range0 GT LT GT : map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2887 -> 2893[label="",style="solid", color="black", weight=3]; 2888[label="(++) range00 GT (not (compare GT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2888 -> 2894[label="",style="solid", color="black", weight=3]; 2889[label="(++) range00 GT (not (compare GT GT == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2889 -> 2895[label="",style="solid", color="black", weight=3]; 2890[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2890 -> 2896[label="",style="solid", color="black", weight=3]; 2891[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2891 -> 2897[label="",style="solid", color="black", weight=3]; 2892[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2892 -> 2898[label="",style="solid", color="black", weight=3]; 2893[label="(++) range0 GT LT GT foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2893 -> 2899[label="",style="solid", color="black", weight=3]; 2894[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2894 -> 2900[label="",style="solid", color="black", weight=3]; 2895[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2895 -> 2901[label="",style="solid", color="black", weight=3]; 2896[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2896 -> 2902[label="",style="solid", color="black", weight=3]; 2897[label="(++) range00 GT (not (LT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2897 -> 2903[label="",style="solid", color="black", weight=3]; 2898[label="(++) range00 GT (not (LT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2898 -> 2904[label="",style="solid", color="black", weight=3]; 2899[label="(++) range00 GT (GT >= GT && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2899 -> 2905[label="",style="solid", color="black", weight=3]; 2900[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2900 -> 2906[label="",style="solid", color="black", weight=3]; 2901[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2901 -> 2907[label="",style="solid", color="black", weight=3]; 2902[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2902 -> 2908[label="",style="solid", color="black", weight=3]; 2903[label="(++) range00 GT (not True && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2903 -> 2909[label="",style="solid", color="black", weight=3]; 2904[label="(++) range00 GT (not True && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2904 -> 2910[label="",style="solid", color="black", weight=3]; 2905[label="(++) range00 GT (compare GT GT /= LT && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2905 -> 2911[label="",style="solid", color="black", weight=3]; 2906[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2906 -> 2912[label="",style="solid", color="black", weight=3]; 2907[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2907 -> 2913[label="",style="solid", color="black", weight=3]; 2908[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2908 -> 2914[label="",style="solid", color="black", weight=3]; 2909[label="(++) range00 GT (False && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2909 -> 2915[label="",style="solid", color="black", weight=3]; 2910[label="(++) range00 GT (False && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2910 -> 2916[label="",style="solid", color="black", weight=3]; 2911[label="(++) range00 GT (not (compare GT GT == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2911 -> 2917[label="",style="solid", color="black", weight=3]; 2912[label="(++) range00 GT (not (EQ == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2912 -> 2918[label="",style="solid", color="black", weight=3]; 2913[label="(++) range00 GT (not (EQ == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2913 -> 2919[label="",style="solid", color="black", weight=3]; 2914[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2914 -> 2920[label="",style="solid", color="black", weight=3]; 2915[label="(++) range00 GT False foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2915 -> 2921[label="",style="solid", color="black", weight=3]; 2916[label="(++) range00 GT False foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2916 -> 2922[label="",style="solid", color="black", weight=3]; 2917[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2917 -> 2923[label="",style="solid", color="black", weight=3]; 2918[label="(++) range00 GT (not False && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2918 -> 2924[label="",style="solid", color="black", weight=3]; 2919[label="(++) range00 GT (not False && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2919 -> 2925[label="",style="solid", color="black", weight=3]; 2920[label="(++) range00 GT (not (LT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2920 -> 2926[label="",style="solid", color="black", weight=3]; 2921[label="(++) [] foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2921 -> 2927[label="",style="solid", color="black", weight=3]; 2922[label="(++) [] foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2922 -> 2928[label="",style="solid", color="black", weight=3]; 2923[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2923 -> 2929[label="",style="solid", color="black", weight=3]; 2924[label="(++) range00 GT (True && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2924 -> 2930[label="",style="solid", color="black", weight=3]; 2925[label="(++) range00 GT (True && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2925 -> 2931[label="",style="solid", color="black", weight=3]; 2926[label="(++) range00 GT (not True && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2926 -> 2932[label="",style="solid", color="black", weight=3]; 2927[label="foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2927 -> 2933[label="",style="solid", color="black", weight=3]; 2928[label="foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2928 -> 2934[label="",style="solid", color="black", weight=3]; 2929[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2929 -> 2935[label="",style="solid", color="black", weight=3]; 2930[label="(++) range00 GT (GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2930 -> 2936[label="",style="solid", color="black", weight=3]; 2931[label="(++) range00 GT (GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2931 -> 2937[label="",style="solid", color="black", weight=3]; 2932[label="(++) range00 GT (False && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2932 -> 2938[label="",style="solid", color="black", weight=3]; 2933 -> 2855[label="",style="dashed", color="red", weight=0]; 2933[label="foldr (++) [] []",fontsize=16,color="magenta"];2934 -> 2855[label="",style="dashed", color="red", weight=0]; 2934[label="foldr (++) [] []",fontsize=16,color="magenta"];2935[label="(++) range00 GT (not (EQ == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2935 -> 2939[label="",style="solid", color="black", weight=3]; 2936[label="(++) range00 GT (compare GT EQ /= LT) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2936 -> 2940[label="",style="solid", color="black", weight=3]; 2937[label="(++) range00 GT (compare GT GT /= LT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2937 -> 2941[label="",style="solid", color="black", weight=3]; 2938[label="(++) range00 GT False foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2938 -> 2942[label="",style="solid", color="black", weight=3]; 2939[label="(++) range00 GT (not False && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2939 -> 2943[label="",style="solid", color="black", weight=3]; 2940[label="(++) range00 GT (not (compare GT EQ == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2940 -> 2944[label="",style="solid", color="black", weight=3]; 2941[label="(++) range00 GT (not (compare GT GT == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2941 -> 2945[label="",style="solid", color="black", weight=3]; 2942[label="(++) [] foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2942 -> 2946[label="",style="solid", color="black", weight=3]; 2943[label="(++) range00 GT (True && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2943 -> 2947[label="",style="solid", color="black", weight=3]; 2944[label="(++) range00 GT (not (compare3 GT EQ == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2944 -> 2948[label="",style="solid", color="black", weight=3]; 2945[label="(++) range00 GT (not (compare3 GT GT == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2945 -> 2949[label="",style="solid", color="black", weight=3]; 2946[label="foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2946 -> 2950[label="",style="solid", color="black", weight=3]; 2947[label="(++) range00 GT (GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2947 -> 2951[label="",style="solid", color="black", weight=3]; 2948[label="(++) range00 GT (not (compare2 GT EQ (GT == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2948 -> 2952[label="",style="solid", color="black", weight=3]; 2949[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2949 -> 2953[label="",style="solid", color="black", weight=3]; 2950 -> 2855[label="",style="dashed", color="red", weight=0]; 2950[label="foldr (++) [] []",fontsize=16,color="magenta"];2951[label="(++) range00 GT (compare GT LT /= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2951 -> 2954[label="",style="solid", color="black", weight=3]; 2952[label="(++) range00 GT (not (compare2 GT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2952 -> 2955[label="",style="solid", color="black", weight=3]; 2953[label="(++) range00 GT (not (compare2 GT GT True == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2953 -> 2956[label="",style="solid", color="black", weight=3]; 2954[label="(++) range00 GT (not (compare GT LT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2954 -> 2957[label="",style="solid", color="black", weight=3]; 2955[label="(++) range00 GT (not (compare1 GT EQ (GT <= EQ) == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2955 -> 2958[label="",style="solid", color="black", weight=3]; 2956[label="(++) range00 GT (not (EQ == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2956 -> 2959[label="",style="solid", color="black", weight=3]; 2957[label="(++) range00 GT (not (compare3 GT LT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2957 -> 2960[label="",style="solid", color="black", weight=3]; 2958[label="(++) range00 GT (not (compare1 GT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2958 -> 2961[label="",style="solid", color="black", weight=3]; 2959[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2959 -> 2962[label="",style="solid", color="black", weight=3]; 2960[label="(++) range00 GT (not (compare2 GT LT (GT == LT) == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2960 -> 2963[label="",style="solid", color="black", weight=3]; 2961[label="(++) range00 GT (not (compare0 GT EQ otherwise == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2961 -> 2964[label="",style="solid", color="black", weight=3]; 2962[label="(++) range00 GT True foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2962 -> 2965[label="",style="solid", color="black", weight=3]; 2963[label="(++) range00 GT (not (compare2 GT LT False == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2963 -> 2966[label="",style="solid", color="black", weight=3]; 2964[label="(++) range00 GT (not (compare0 GT EQ True == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2964 -> 2967[label="",style="solid", color="black", weight=3]; 2965[label="(++) (GT : []) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2965 -> 2968[label="",style="solid", color="black", weight=3]; 2966[label="(++) range00 GT (not (compare1 GT LT (GT <= LT) == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2966 -> 2969[label="",style="solid", color="black", weight=3]; 2967[label="(++) range00 GT (not (GT == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2967 -> 2970[label="",style="solid", color="black", weight=3]; 2968[label="GT : [] ++ foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="green",shape="box"];2968 -> 2971[label="",style="dashed", color="green", weight=3]; 2969[label="(++) range00 GT (not (compare1 GT LT False == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2969 -> 2972[label="",style="solid", color="black", weight=3]; 2970[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2970 -> 2973[label="",style="solid", color="black", weight=3]; 2971[label="[] ++ foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2971 -> 2974[label="",style="solid", color="black", weight=3]; 2972[label="(++) range00 GT (not (compare0 GT LT otherwise == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2972 -> 2975[label="",style="solid", color="black", weight=3]; 2973[label="(++) range00 GT True foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2973 -> 2976[label="",style="solid", color="black", weight=3]; 2974[label="foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2974 -> 2977[label="",style="solid", color="black", weight=3]; 2975[label="(++) range00 GT (not (compare0 GT LT True == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2975 -> 2978[label="",style="solid", color="black", weight=3]; 2976[label="(++) (GT : []) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2976 -> 2979[label="",style="solid", color="black", weight=3]; 2977 -> 2855[label="",style="dashed", color="red", weight=0]; 2977[label="foldr (++) [] []",fontsize=16,color="magenta"];2978[label="(++) range00 GT (not (GT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2978 -> 2980[label="",style="solid", color="black", weight=3]; 2979[label="GT : [] ++ foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="green",shape="box"];2979 -> 2981[label="",style="dashed", color="green", weight=3]; 2980[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2980 -> 2982[label="",style="solid", color="black", weight=3]; 2981[label="[] ++ foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2981 -> 2983[label="",style="solid", color="black", weight=3]; 2982[label="(++) range00 GT True foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2982 -> 2984[label="",style="solid", color="black", weight=3]; 2983[label="foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2983 -> 2985[label="",style="solid", color="black", weight=3]; 2984[label="(++) (GT : []) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2984 -> 2986[label="",style="solid", color="black", weight=3]; 2985 -> 2855[label="",style="dashed", color="red", weight=0]; 2985[label="foldr (++) [] []",fontsize=16,color="magenta"];2986[label="GT : [] ++ foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="green",shape="box"];2986 -> 2987[label="",style="dashed", color="green", weight=3]; 2987[label="[] ++ foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2987 -> 2988[label="",style="solid", color="black", weight=3]; 2988[label="foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2988 -> 2989[label="",style="solid", color="black", weight=3]; 2989 -> 2855[label="",style="dashed", color="red", weight=0]; 2989[label="foldr (++) [] []",fontsize=16,color="magenta"];} ---------------------------------------- (14) Complex Obligation (AND) ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: new_psPs(:(xu440, xu441), xu42, h, ba) -> new_psPs(xu441, xu42, h, ba) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (16) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_psPs(:(xu440, xu441), xu42, h, ba) -> new_psPs(xu441, xu42, h, ba) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4 ---------------------------------------- (17) YES ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldr(xu57, :(xu580, xu581), h, ba) -> new_foldr(xu57, xu581, h, ba) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_foldr(xu57, :(xu580, xu581), h, ba) -> new_foldr(xu57, xu581, h, ba) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3, 4 >= 4 ---------------------------------------- (20) YES ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_range15(@2(@2(xu300, xu301), @2(xu310, xu311)), app(app(app(ty_@3, bg), bh), ca), cb) -> new_range14(@2(xu300, xu310), bg, bh, ca) new_range14(@2(@3(xu300, xu301, xu302), @3(xu310, xu311, xu312)), app(app(app(ty_@3, h), ba), bb), bc, bd) -> new_range14(@2(xu300, xu310), h, ba, bb) new_range14(@2(@3(xu300, xu301, xu302), @3(xu310, xu311, xu312)), app(app(ty_@2, be), bf), bc, bd) -> new_range15(@2(xu300, xu310), be, bf) new_range15(@2(@2(xu300, xu301), @2(xu310, xu311)), app(app(ty_@2, cc), cd), cb) -> new_range15(@2(xu300, xu310), cc, cd) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_range14(@2(@3(xu300, xu301, xu302), @3(xu310, xu311, xu312)), app(app(ty_@2, be), bf), bc, bd) -> new_range15(@2(xu300, xu310), be, bf) The graph contains the following edges 2 > 2, 2 > 3 *new_range14(@2(@3(xu300, xu301, xu302), @3(xu310, xu311, xu312)), app(app(app(ty_@3, h), ba), bb), bc, bd) -> new_range14(@2(xu300, xu310), h, ba, bb) The graph contains the following edges 2 > 2, 2 > 3, 2 > 4 *new_range15(@2(@2(xu300, xu301), @2(xu310, xu311)), app(app(ty_@2, cc), cd), cb) -> new_range15(@2(xu300, xu310), cc, cd) The graph contains the following edges 2 > 2, 2 > 3 *new_range15(@2(@2(xu300, xu301), @2(xu310, xu311)), app(app(app(ty_@3, bg), bh), ca), cb) -> new_range14(@2(xu300, xu310), bg, bh, ca) The graph contains the following edges 2 > 2, 2 > 3, 2 > 4 ---------------------------------------- (23) YES ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile2(Pos(Zero), Neg(Zero)) -> new_takeWhile2(Pos(Zero), Pos(Succ(Zero))) new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000))) new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990)) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990) new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) new_takeWhile16(xu195, xu196, xu197) -> new_takeWhile2(Neg(Succ(xu195)), xu197) new_takeWhile15(xu195, xu196, xu197, Zero, Zero) -> new_takeWhile16(xu195, xu196, xu197) new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000))) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000), xu3100, xu3000) new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990)) -> new_takeWhile2(Neg(Succ(xu195)), xu197) new_takeWhile2(Pos(Zero), Pos(Zero)) -> new_takeWhile2(Pos(Zero), Pos(new_primPlusNat0)) new_takeWhile2(Neg(Zero), Neg(Zero)) -> new_takeWhile2(Neg(Zero), Pos(Succ(Zero))) new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero)) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0)) new_takeWhile2(Pos(xu310), Neg(Succ(Zero))) -> new_takeWhile2(Pos(xu310), Pos(Zero)) new_takeWhile2(Neg(Zero), Neg(Succ(Zero))) -> new_takeWhile2(Neg(Zero), Pos(Zero)) new_takeWhile2(Pos(Succ(xu3100)), Neg(Zero)) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(Zero))) new_takeWhile2(Neg(Zero), Pos(Zero)) -> new_takeWhile2(Neg(Zero), Pos(new_primPlusNat0)) new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000))) new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 7 less nodes. ---------------------------------------- (26) Complex Obligation (AND) ---------------------------------------- (27) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero)) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0)) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero)) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 0 POL(Zero) = 1 POL(new_primPlusNat(x_1)) = 0 POL(new_primPlusNat0) = 0 POL(new_primPlusNat1(x_1)) = 1 + x_1 POL(new_takeWhile13(x_1, x_2, x_3, x_4)) = 1 POL(new_takeWhile14(x_1, x_2)) = 1 POL(new_takeWhile2(x_1, x_2)) = 1 + x_1 + x_2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusNat0 -> Succ(Zero) ---------------------------------------- (29) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (30) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (31) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (32) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) the following chains were created: *We consider the chain new_takeWhile13(x2, x3, Zero, Zero) -> new_takeWhile14(x2, x3), new_takeWhile14(x4, x5) -> new_takeWhile2(Pos(Succ(x4)), Pos(new_primPlusNat(x5))) which results in the following constraint: (1) (new_takeWhile14(x2, x3)=new_takeWhile14(x4, x5) ==> new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) For Pair new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) the following chains were created: *We consider the chain new_takeWhile14(x16, x17) -> new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x17))), new_takeWhile2(Pos(Succ(x18)), Pos(Succ(x19))) -> new_takeWhile13(x18, x19, x19, x18) which results in the following constraint: (1) (new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x17)))=new_takeWhile2(Pos(Succ(x18)), Pos(Succ(x19))) ==> new_takeWhile14(x16, x17)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x17)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x17)=Succ(x19) ==> new_takeWhile14(x16, x17)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x17)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x17)=Succ(x19) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x89)))=Succ(x19) ==> new_takeWhile14(x16, x89)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x89)))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile14(x16, x89)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x89)))) For Pair new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) the following chains were created: *We consider the chain new_takeWhile2(Pos(Succ(x24)), Pos(Succ(x25))) -> new_takeWhile13(x24, x25, x25, x24), new_takeWhile13(x26, x27, Zero, Zero) -> new_takeWhile14(x26, x27) which results in the following constraint: (1) (new_takeWhile13(x24, x25, x25, x24)=new_takeWhile13(x26, x27, Zero, Zero) ==> new_takeWhile2(Pos(Succ(x24)), Pos(Succ(x25)))_>=_new_takeWhile13(x24, x25, x25, x24)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile2(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_takeWhile13(Zero, Zero, Zero, Zero)) *We consider the chain new_takeWhile2(Pos(Succ(x32)), Pos(Succ(x33))) -> new_takeWhile13(x32, x33, x33, x32), new_takeWhile13(x34, x35, Succ(x36), Succ(x37)) -> new_takeWhile13(x34, x35, x36, x37) which results in the following constraint: (1) (new_takeWhile13(x32, x33, x33, x32)=new_takeWhile13(x34, x35, Succ(x36), Succ(x37)) ==> new_takeWhile2(Pos(Succ(x32)), Pos(Succ(x33)))_>=_new_takeWhile13(x32, x33, x33, x32)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile2(Pos(Succ(Succ(x37))), Pos(Succ(Succ(x36))))_>=_new_takeWhile13(Succ(x37), Succ(x36), Succ(x36), Succ(x37))) *We consider the chain new_takeWhile2(Pos(Succ(x38)), Pos(Succ(x39))) -> new_takeWhile13(x38, x39, x39, x38), new_takeWhile13(x40, x41, Zero, Succ(x42)) -> new_takeWhile2(Pos(Succ(x40)), Pos(new_primPlusNat(x41))) which results in the following constraint: (1) (new_takeWhile13(x38, x39, x39, x38)=new_takeWhile13(x40, x41, Zero, Succ(x42)) ==> new_takeWhile2(Pos(Succ(x38)), Pos(Succ(x39)))_>=_new_takeWhile13(x38, x39, x39, x38)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile2(Pos(Succ(Succ(x42))), Pos(Succ(Zero)))_>=_new_takeWhile13(Succ(x42), Zero, Zero, Succ(x42))) For Pair new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) the following chains were created: *We consider the chain new_takeWhile13(x43, x44, Succ(x45), Succ(x46)) -> new_takeWhile13(x43, x44, x45, x46), new_takeWhile13(x47, x48, Zero, Zero) -> new_takeWhile14(x47, x48) which results in the following constraint: (1) (new_takeWhile13(x43, x44, x45, x46)=new_takeWhile13(x47, x48, Zero, Zero) ==> new_takeWhile13(x43, x44, Succ(x45), Succ(x46))_>=_new_takeWhile13(x43, x44, x45, x46)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile13(x43, x44, Succ(Zero), Succ(Zero))_>=_new_takeWhile13(x43, x44, Zero, Zero)) *We consider the chain new_takeWhile13(x57, x58, Succ(x59), Succ(x60)) -> new_takeWhile13(x57, x58, x59, x60), new_takeWhile13(x61, x62, Succ(x63), Succ(x64)) -> new_takeWhile13(x61, x62, x63, x64) which results in the following constraint: (1) (new_takeWhile13(x57, x58, x59, x60)=new_takeWhile13(x61, x62, Succ(x63), Succ(x64)) ==> new_takeWhile13(x57, x58, Succ(x59), Succ(x60))_>=_new_takeWhile13(x57, x58, x59, x60)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile13(x57, x58, Succ(Succ(x63)), Succ(Succ(x64)))_>=_new_takeWhile13(x57, x58, Succ(x63), Succ(x64))) *We consider the chain new_takeWhile13(x65, x66, Succ(x67), Succ(x68)) -> new_takeWhile13(x65, x66, x67, x68), new_takeWhile13(x69, x70, Zero, Succ(x71)) -> new_takeWhile2(Pos(Succ(x69)), Pos(new_primPlusNat(x70))) which results in the following constraint: (1) (new_takeWhile13(x65, x66, x67, x68)=new_takeWhile13(x69, x70, Zero, Succ(x71)) ==> new_takeWhile13(x65, x66, Succ(x67), Succ(x68))_>=_new_takeWhile13(x65, x66, x67, x68)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile13(x65, x66, Succ(Zero), Succ(Succ(x71)))_>=_new_takeWhile13(x65, x66, Zero, Succ(x71))) For Pair new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) the following chains were created: *We consider the chain new_takeWhile13(x78, x79, Zero, Succ(x80)) -> new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x79))), new_takeWhile2(Pos(Succ(x81)), Pos(Succ(x82))) -> new_takeWhile13(x81, x82, x82, x81) which results in the following constraint: (1) (new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x79)))=new_takeWhile2(Pos(Succ(x81)), Pos(Succ(x82))) ==> new_takeWhile13(x78, x79, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x79)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x79)=Succ(x82) ==> new_takeWhile13(x78, x79, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x79)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x79)=Succ(x82) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x90)))=Succ(x82) ==> new_takeWhile13(x78, x90, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x90)))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile13(x78, x90, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x90)))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) *(new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) *new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) *(new_takeWhile14(x16, x89)_>=_new_takeWhile2(Pos(Succ(x16)), Pos(new_primPlusNat(x89)))) *new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) *(new_takeWhile2(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_takeWhile13(Zero, Zero, Zero, Zero)) *(new_takeWhile2(Pos(Succ(Succ(x37))), Pos(Succ(Succ(x36))))_>=_new_takeWhile13(Succ(x37), Succ(x36), Succ(x36), Succ(x37))) *(new_takeWhile2(Pos(Succ(Succ(x42))), Pos(Succ(Zero)))_>=_new_takeWhile13(Succ(x42), Zero, Zero, Succ(x42))) *new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) *(new_takeWhile13(x43, x44, Succ(Zero), Succ(Zero))_>=_new_takeWhile13(x43, x44, Zero, Zero)) *(new_takeWhile13(x57, x58, Succ(Succ(x63)), Succ(Succ(x64)))_>=_new_takeWhile13(x57, x58, Succ(x63), Succ(x64))) *(new_takeWhile13(x65, x66, Succ(Zero), Succ(Succ(x71)))_>=_new_takeWhile13(x65, x66, Zero, Succ(x71))) *new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) *(new_takeWhile13(x78, x90, Zero, Succ(x80))_>=_new_takeWhile2(Pos(Succ(x78)), Pos(new_primPlusNat(x90)))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (33) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (34) QDPPairToRuleProof (EQUIVALENT) The dependency pair new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) was transformed to the following new rules: anew_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) new_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) new_new_takeWhile13(Zero, Zero) -> cons_new_takeWhile13(Zero, Zero) new_new_takeWhile13(Zero, Succ(xu1700)) -> cons_new_takeWhile13(Zero, Succ(xu1700)) the following new pairs maintain the fan-in: new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) the following new pairs maintain the fan-out: H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) ---------------------------------------- (35) Complex Obligation (AND) ---------------------------------------- (36) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero anew_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) new_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) new_new_takeWhile13(Zero, Zero) -> cons_new_takeWhile13(Zero, Zero) new_new_takeWhile13(Zero, Succ(xu1700)) -> cons_new_takeWhile13(Zero, Succ(xu1700)) The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) new_new_takeWhile13(Succ(x0), Succ(x1)) anew_new_takeWhile13(Succ(x0), Succ(x1)) new_new_takeWhile13(Zero, Zero) new_new_takeWhile13(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (37) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (38) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero anew_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) new_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) new_new_takeWhile13(Zero, Zero) -> cons_new_takeWhile13(Zero, Zero) new_new_takeWhile13(Zero, Succ(xu1700)) -> cons_new_takeWhile13(Zero, Succ(xu1700)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (39) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) the following chains were created: *We consider the chain new_takeWhile13(x2, x3, Zero, Zero) -> new_takeWhile14(x2, x3), new_takeWhile14(x4, x5) -> new_takeWhile2(Pos(Succ(x4)), Pos(new_primPlusNat(x5))) which results in the following constraint: (1) (new_takeWhile14(x2, x3)=new_takeWhile14(x4, x5) ==> new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) For Pair new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) the following chains were created: *We consider the chain new_takeWhile14(x20, x21) -> new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x21))), new_takeWhile2(Pos(Succ(x22)), Pos(Succ(x23))) -> new_takeWhile13(x22, x23, x23, x22) which results in the following constraint: (1) (new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x21)))=new_takeWhile2(Pos(Succ(x22)), Pos(Succ(x23))) ==> new_takeWhile14(x20, x21)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x21)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x21)=Succ(x23) ==> new_takeWhile14(x20, x21)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x21)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x21)=Succ(x23) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x137)))=Succ(x23) ==> new_takeWhile14(x20, x137)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x137)))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile14(x20, x137)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x137)))) *We consider the chain new_takeWhile14(x26, x27) -> new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x27))), new_takeWhile2(Pos(Succ(x28)), Pos(Succ(x29))) -> H(x28, x29, anew_new_takeWhile13(x29, x28)) which results in the following constraint: (1) (new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x27)))=new_takeWhile2(Pos(Succ(x28)), Pos(Succ(x29))) ==> new_takeWhile14(x26, x27)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x27)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x27)=Succ(x29) ==> new_takeWhile14(x26, x27)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x27)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x27)=Succ(x29) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x138)))=Succ(x29) ==> new_takeWhile14(x26, x138)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x138)))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile14(x26, x138)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x138)))) For Pair new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) the following chains were created: *We consider the chain new_takeWhile2(Pos(Succ(x34)), Pos(Succ(x35))) -> new_takeWhile13(x34, x35, x35, x34), new_takeWhile13(x36, x37, Zero, Zero) -> new_takeWhile14(x36, x37) which results in the following constraint: (1) (new_takeWhile13(x34, x35, x35, x34)=new_takeWhile13(x36, x37, Zero, Zero) ==> new_takeWhile2(Pos(Succ(x34)), Pos(Succ(x35)))_>=_new_takeWhile13(x34, x35, x35, x34)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile2(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_takeWhile13(Zero, Zero, Zero, Zero)) *We consider the chain new_takeWhile2(Pos(Succ(x42)), Pos(Succ(x43))) -> new_takeWhile13(x42, x43, x43, x42), new_takeWhile13(x44, x45, Zero, Succ(x46)) -> new_takeWhile2(Pos(Succ(x44)), Pos(new_primPlusNat(x45))) which results in the following constraint: (1) (new_takeWhile13(x42, x43, x43, x42)=new_takeWhile13(x44, x45, Zero, Succ(x46)) ==> new_takeWhile2(Pos(Succ(x42)), Pos(Succ(x43)))_>=_new_takeWhile13(x42, x43, x43, x42)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile2(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))_>=_new_takeWhile13(Succ(x46), Zero, Zero, Succ(x46))) For Pair new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) the following chains were created: *We consider the chain new_takeWhile13(x59, x60, Zero, Succ(x61)) -> new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x60))), new_takeWhile2(Pos(Succ(x62)), Pos(Succ(x63))) -> new_takeWhile13(x62, x63, x63, x62) which results in the following constraint: (1) (new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x60)))=new_takeWhile2(Pos(Succ(x62)), Pos(Succ(x63))) ==> new_takeWhile13(x59, x60, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x60)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x60)=Succ(x63) ==> new_takeWhile13(x59, x60, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x60)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x60)=Succ(x63) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x139)))=Succ(x63) ==> new_takeWhile13(x59, x139, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x139)))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile13(x59, x139, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x139)))) *We consider the chain new_takeWhile13(x67, x68, Zero, Succ(x69)) -> new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x68))), new_takeWhile2(Pos(Succ(x70)), Pos(Succ(x71))) -> H(x70, x71, anew_new_takeWhile13(x71, x70)) which results in the following constraint: (1) (new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x68)))=new_takeWhile2(Pos(Succ(x70)), Pos(Succ(x71))) ==> new_takeWhile13(x67, x68, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x68)))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x68)=Succ(x71) ==> new_takeWhile13(x67, x68, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x68)))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x68)=Succ(x71) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x140)))=Succ(x71) ==> new_takeWhile13(x67, x140, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x140)))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile13(x67, x140, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x140)))) For Pair new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) the following chains were created: *We consider the chain new_takeWhile2(Pos(Succ(x88)), Pos(Succ(x89))) -> H(x88, x89, anew_new_takeWhile13(x89, x88)), H(x90, x91, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(x90, x91, Zero, Zero) which results in the following constraint: (1) (H(x88, x89, anew_new_takeWhile13(x89, x88))=H(x90, x91, cons_new_takeWhile13(Zero, Zero)) ==> new_takeWhile2(Pos(Succ(x88)), Pos(Succ(x89)))_>=_H(x88, x89, anew_new_takeWhile13(x89, x88))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_takeWhile13(x89, x88)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(x88)), Pos(Succ(x89)))_>=_H(x88, x89, anew_new_takeWhile13(x89, x88))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_takeWhile13(x89, x88)=cons_new_takeWhile13(Zero, Zero) which results in the following new constraint: (3) (new_new_takeWhile13(x142, x141)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(x141))), Pos(Succ(Succ(x142))))_>=_H(Succ(x141), Succ(x142), anew_new_takeWhile13(Succ(x142), Succ(x141)))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_takeWhile13(x142, x141)=cons_new_takeWhile13(Zero, Zero) which results in the following new constraints: (4) (new_new_takeWhile13(x144, x143)=cons_new_takeWhile13(Zero, Zero) & (new_new_takeWhile13(x144, x143)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(x143))), Pos(Succ(Succ(x144))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile13(Succ(x144), Succ(x143)))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x143)))), Pos(Succ(Succ(Succ(x144)))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile13(Succ(Succ(x144)), Succ(Succ(x143))))) (5) (cons_new_takeWhile13(Zero, Zero)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Zero)))) (6) (cons_new_takeWhile13(Zero, Succ(x145))=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x145)))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Succ(x145)), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Succ(x145))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (new_new_takeWhile13(x144, x143)=cons_new_takeWhile13(Zero, Zero) ==> new_takeWhile2(Pos(Succ(Succ(x143))), Pos(Succ(Succ(x144))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile13(Succ(x144), Succ(x143)))) with sigma = [ ] which results in the following new constraint: (7) (new_takeWhile2(Pos(Succ(Succ(x143))), Pos(Succ(Succ(x144))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile13(Succ(x144), Succ(x143))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x143)))), Pos(Succ(Succ(Succ(x144)))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile13(Succ(Succ(x144)), Succ(Succ(x143))))) We simplified constraint (5) using rules (I), (II) which results in the following new constraint: (8) (new_takeWhile2(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Zero)))) We solved constraint (6) using rules (I), (II). *We consider the chain new_takeWhile2(Pos(Succ(x92)), Pos(Succ(x93))) -> H(x92, x93, anew_new_takeWhile13(x93, x92)), H(x94, x95, cons_new_takeWhile13(Zero, Succ(x96))) -> new_takeWhile13(x94, x95, Zero, Succ(x96)) which results in the following constraint: (1) (H(x92, x93, anew_new_takeWhile13(x93, x92))=H(x94, x95, cons_new_takeWhile13(Zero, Succ(x96))) ==> new_takeWhile2(Pos(Succ(x92)), Pos(Succ(x93)))_>=_H(x92, x93, anew_new_takeWhile13(x93, x92))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_takeWhile13(x93, x92)=cons_new_takeWhile13(Zero, Succ(x96)) ==> new_takeWhile2(Pos(Succ(x92)), Pos(Succ(x93)))_>=_H(x92, x93, anew_new_takeWhile13(x93, x92))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_takeWhile13(x93, x92)=cons_new_takeWhile13(Zero, Succ(x96)) which results in the following new constraint: (3) (new_new_takeWhile13(x147, x146)=cons_new_takeWhile13(Zero, Succ(x96)) ==> new_takeWhile2(Pos(Succ(Succ(x146))), Pos(Succ(Succ(x147))))_>=_H(Succ(x146), Succ(x147), anew_new_takeWhile13(Succ(x147), Succ(x146)))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_takeWhile13(x147, x146)=cons_new_takeWhile13(Zero, Succ(x96)) which results in the following new constraints: (4) (new_new_takeWhile13(x149, x148)=cons_new_takeWhile13(Zero, Succ(x96)) & (\/x150:new_new_takeWhile13(x149, x148)=cons_new_takeWhile13(Zero, Succ(x150)) ==> new_takeWhile2(Pos(Succ(Succ(x148))), Pos(Succ(Succ(x149))))_>=_H(Succ(x148), Succ(x149), anew_new_takeWhile13(Succ(x149), Succ(x148)))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x148)))), Pos(Succ(Succ(Succ(x149)))))_>=_H(Succ(Succ(x148)), Succ(Succ(x149)), anew_new_takeWhile13(Succ(Succ(x149)), Succ(Succ(x148))))) (5) (cons_new_takeWhile13(Zero, Zero)=cons_new_takeWhile13(Zero, Succ(x96)) ==> new_takeWhile2(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Zero)))) (6) (cons_new_takeWhile13(Zero, Succ(x151))=cons_new_takeWhile13(Zero, Succ(x96)) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x151)))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Succ(x151)), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Succ(x151))))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x150:new_new_takeWhile13(x149, x148)=cons_new_takeWhile13(Zero, Succ(x150)) ==> new_takeWhile2(Pos(Succ(Succ(x148))), Pos(Succ(Succ(x149))))_>=_H(Succ(x148), Succ(x149), anew_new_takeWhile13(Succ(x149), Succ(x148)))) with sigma = [x150 / x96] which results in the following new constraint: (7) (new_takeWhile2(Pos(Succ(Succ(x148))), Pos(Succ(Succ(x149))))_>=_H(Succ(x148), Succ(x149), anew_new_takeWhile13(Succ(x149), Succ(x148))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x148)))), Pos(Succ(Succ(Succ(x149)))))_>=_H(Succ(Succ(x148)), Succ(Succ(x149)), anew_new_takeWhile13(Succ(Succ(x149)), Succ(Succ(x148))))) We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: (8) (new_takeWhile2(Pos(Succ(Succ(Succ(x151)))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Succ(x151)), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Succ(x151))))) For Pair H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) the following chains were created: *We consider the chain H(x97, x98, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(x97, x98, Zero, Zero), new_takeWhile13(x99, x100, Zero, Zero) -> new_takeWhile14(x99, x100) which results in the following constraint: (1) (new_takeWhile13(x97, x98, Zero, Zero)=new_takeWhile13(x99, x100, Zero, Zero) ==> H(x97, x98, cons_new_takeWhile13(Zero, Zero))_>=_new_takeWhile13(x97, x98, Zero, Zero)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x97, x98, cons_new_takeWhile13(Zero, Zero))_>=_new_takeWhile13(x97, x98, Zero, Zero)) For Pair H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) the following chains were created: *We consider the chain H(x122, x123, cons_new_takeWhile13(Zero, Succ(x124))) -> new_takeWhile13(x122, x123, Zero, Succ(x124)), new_takeWhile13(x125, x126, Zero, Succ(x127)) -> new_takeWhile2(Pos(Succ(x125)), Pos(new_primPlusNat(x126))) which results in the following constraint: (1) (new_takeWhile13(x122, x123, Zero, Succ(x124))=new_takeWhile13(x125, x126, Zero, Succ(x127)) ==> H(x122, x123, cons_new_takeWhile13(Zero, Succ(x124)))_>=_new_takeWhile13(x122, x123, Zero, Succ(x124))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x122, x123, cons_new_takeWhile13(Zero, Succ(x124)))_>=_new_takeWhile13(x122, x123, Zero, Succ(x124))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) *(new_takeWhile13(x2, x3, Zero, Zero)_>=_new_takeWhile14(x2, x3)) *new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) *(new_takeWhile14(x20, x137)_>=_new_takeWhile2(Pos(Succ(x20)), Pos(new_primPlusNat(x137)))) *(new_takeWhile14(x26, x138)_>=_new_takeWhile2(Pos(Succ(x26)), Pos(new_primPlusNat(x138)))) *new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) *(new_takeWhile2(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_takeWhile13(Zero, Zero, Zero, Zero)) *(new_takeWhile2(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))_>=_new_takeWhile13(Succ(x46), Zero, Zero, Succ(x46))) *new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) *(new_takeWhile13(x59, x139, Zero, Succ(x61))_>=_new_takeWhile2(Pos(Succ(x59)), Pos(new_primPlusNat(x139)))) *(new_takeWhile13(x67, x140, Zero, Succ(x69))_>=_new_takeWhile2(Pos(Succ(x67)), Pos(new_primPlusNat(x140)))) *new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) *(new_takeWhile2(Pos(Succ(Succ(x143))), Pos(Succ(Succ(x144))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile13(Succ(x144), Succ(x143))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x143)))), Pos(Succ(Succ(Succ(x144)))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile13(Succ(Succ(x144)), Succ(Succ(x143))))) *(new_takeWhile2(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Zero)))) *(new_takeWhile2(Pos(Succ(Succ(x148))), Pos(Succ(Succ(x149))))_>=_H(Succ(x148), Succ(x149), anew_new_takeWhile13(Succ(x149), Succ(x148))) ==> new_takeWhile2(Pos(Succ(Succ(Succ(x148)))), Pos(Succ(Succ(Succ(x149)))))_>=_H(Succ(Succ(x148)), Succ(Succ(x149)), anew_new_takeWhile13(Succ(Succ(x149)), Succ(Succ(x148))))) *(new_takeWhile2(Pos(Succ(Succ(Succ(x151)))), Pos(Succ(Succ(Zero))))_>=_H(Succ(Succ(x151)), Succ(Zero), anew_new_takeWhile13(Succ(Zero), Succ(Succ(x151))))) *H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) *(H(x97, x98, cons_new_takeWhile13(Zero, Zero))_>=_new_takeWhile13(x97, x98, Zero, Zero)) *H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) *(H(x122, x123, cons_new_takeWhile13(Zero, Succ(x124)))_>=_new_takeWhile13(x122, x123, Zero, Succ(x124))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Zero, Zero) -> new_takeWhile14(xu167, xu168) new_takeWhile14(xu167, xu168) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100) new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168))) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> H(xu3100, xu3000, anew_new_takeWhile13(xu3000, xu3100)) H(xu167, xu168, cons_new_takeWhile13(Zero, Zero)) -> new_takeWhile13(xu167, xu168, Zero, Zero) H(xu167, xu168, cons_new_takeWhile13(Zero, Succ(xu1700))) -> new_takeWhile13(xu167, xu168, Zero, Succ(xu1700)) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero anew_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) new_new_takeWhile13(Succ(xu1690), Succ(xu1700)) -> new_new_takeWhile13(xu1690, xu1700) new_new_takeWhile13(Zero, Zero) -> cons_new_takeWhile13(Zero, Zero) new_new_takeWhile13(Zero, Succ(xu1700)) -> cons_new_takeWhile13(Zero, Succ(xu1700)) The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) new_new_takeWhile13(Succ(x0), Succ(x1)) anew_new_takeWhile13(Succ(x0), Succ(x1)) new_new_takeWhile13(Zero, Zero) new_new_takeWhile13(Zero, Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (42) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile13(xu167, xu168, xu1690, xu1700) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (43) YES ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (45) QDPSizeChangeProof (EQUIVALENT) We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:EMB rules! AFS: Neg(x1) = x1 Pos(x1) = Pos Succ(x1) = Succ(x1) From the DPs we obtained the following set of size-change graphs: *new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. none ---------------------------------------- (46) YES ---------------------------------------- (47) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile15(xu195, xu196, xu197, Zero, Zero) -> new_takeWhile16(xu195, xu196, xu197) new_takeWhile16(xu195, xu196, xu197) -> new_takeWhile2(Neg(Succ(xu195)), xu197) new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000))) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000), xu3100, xu3000) new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990)) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990) new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990)) -> new_takeWhile2(Neg(Succ(xu195)), xu197) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (48) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 0 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primPlusInt0(x_1)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_takeWhile16(xu195, xu196, xu197) -> new_takeWhile2(Neg(Succ(xu195)), xu197) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 3 >= 2 *new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000))) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000), xu3100, xu3000) (allowed arguments on rhs = {1, 2, 3, 4, 5}) The graph contains the following edges 1 > 1, 2 > 2, 2 > 3, 1 > 4, 2 > 5 *new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990)) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990) (allowed arguments on rhs = {1, 2, 3, 4, 5}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 *new_takeWhile15(xu195, xu196, xu197, Zero, Zero) -> new_takeWhile16(xu195, xu196, xu197) (allowed arguments on rhs = {1, 2, 3}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3 *new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990)) -> new_takeWhile2(Neg(Succ(xu195)), xu197) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 3 >= 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) ---------------------------------------- (49) YES ---------------------------------------- (50) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (51) QDPSizeChangeProof (EQUIVALENT) We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:EMB rules! AFS: Zero = Zero Neg(x1) = x1 Succ(x1) = Succ(x1) From the DPs we obtained the following set of size-change graphs: *new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000)))) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. none ---------------------------------------- (52) YES ---------------------------------------- (53) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090)) -> new_takeWhile10(xu206, xu207, xu2080, xu2090) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero))) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt)) new_takeWhile(Integer(Pos(Zero)), Integer(Neg(Zero))) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt1)) new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000))) new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero))) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1)) new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt)) new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero))) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt)) new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) new_takeWhile10(xu206, xu207, Zero, Succ(xu2090)) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) new_takeWhile10(xu206, xu207, Zero, Zero) -> new_takeWhile12(xu206, xu207) new_takeWhile0(xu206, xu211, xu210) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210)) new_takeWhile12(xu206, xu207) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000)))) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000) new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Zero))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt1)) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusInt1 new_primPlusInt new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (54) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 5 less nodes. ---------------------------------------- (55) Complex Obligation (AND) ---------------------------------------- (56) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusInt1 new_primPlusInt new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (57) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(Integer(x_1)) = x_1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 0 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primPlusInt0(x_1)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) ---------------------------------------- (58) YES ---------------------------------------- (59) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile10(xu206, xu207, Zero, Succ(xu2090)) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) new_takeWhile0(xu206, xu211, xu210) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210)) new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000)))) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000) new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090)) -> new_takeWhile10(xu206, xu207, xu2080, xu2090) new_takeWhile10(xu206, xu207, Zero, Zero) -> new_takeWhile12(xu206, xu207) new_takeWhile12(xu206, xu207) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusInt1 new_primPlusInt new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (60) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(Integer(x_1)) = x_1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 0 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primPlusInt0(x_1)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_takeWhile0(xu206, xu211, xu210) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210)) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 3 >= 2 *new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000)))) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 *new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090)) -> new_takeWhile10(xu206, xu207, xu2080, xu2090) (allowed arguments on rhs = {1, 2, 3, 4}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 *new_takeWhile10(xu206, xu207, Zero, Zero) -> new_takeWhile12(xu206, xu207) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 >= 2 *new_takeWhile10(xu206, xu207, Zero, Succ(xu2090)) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) (allowed arguments on rhs = {1, 2, 3}) The graph contains the following edges 1 >= 1, 2 >= 2, 2 >= 3 *new_takeWhile12(xu206, xu207) -> new_takeWhile0(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207)) (allowed arguments on rhs = {1, 2, 3}) The graph contains the following edges 1 >= 1, 2 >= 2, 2 >= 3 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) ---------------------------------------- (61) YES ---------------------------------------- (62) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero))) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt)) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusInt1 new_primPlusInt new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (63) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero))) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Integer(x_1)) = x_1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 0 POL(Zero) = 1 POL(new_primPlusInt) = 0 POL(new_primPlusNat(x_1)) = 0 POL(new_primPlusNat0) = 0 POL(new_primPlusNat1(x_1)) = 1 + x_1 POL(new_takeWhile(x_1, x_2)) = x_2 POL(new_takeWhile1(x_1, x_2, x_3, x_4)) = 0 POL(new_takeWhile11(x_1, x_2)) = 0 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusNat0 -> Succ(Zero) ---------------------------------------- (64) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusInt1 new_primPlusInt new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (65) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (66) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (67) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) the following chains were created: *We consider the chain new_takeWhile1(x3, x4, Zero, Succ(x5)) -> new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4)))), new_takeWhile(Integer(Pos(Succ(x6))), Integer(Pos(Succ(x7)))) -> new_takeWhile1(x6, x7, x7, x6) which results in the following constraint: (1) (new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))=new_takeWhile(Integer(Pos(Succ(x6))), Integer(Pos(Succ(x7)))) ==> new_takeWhile1(x3, x4, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x4)=Succ(x7) ==> new_takeWhile1(x3, x4, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x4)=Succ(x7) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x89)))=Succ(x7) ==> new_takeWhile1(x3, x89, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x89))))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile1(x3, x89, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x89))))) For Pair new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) the following chains were created: *We consider the chain new_takeWhile(Integer(Pos(Succ(x17))), Integer(Pos(Succ(x18)))) -> new_takeWhile1(x17, x18, x18, x17), new_takeWhile1(x19, x20, Zero, Succ(x21)) -> new_takeWhile(Integer(Pos(Succ(x19))), Integer(Pos(new_primPlusNat(x20)))) which results in the following constraint: (1) (new_takeWhile1(x17, x18, x18, x17)=new_takeWhile1(x19, x20, Zero, Succ(x21)) ==> new_takeWhile(Integer(Pos(Succ(x17))), Integer(Pos(Succ(x18))))_>=_new_takeWhile1(x17, x18, x18, x17)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile(Integer(Pos(Succ(Succ(x21)))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Succ(x21), Zero, Zero, Succ(x21))) *We consider the chain new_takeWhile(Integer(Pos(Succ(x24))), Integer(Pos(Succ(x25)))) -> new_takeWhile1(x24, x25, x25, x24), new_takeWhile1(x26, x27, Succ(x28), Succ(x29)) -> new_takeWhile1(x26, x27, x28, x29) which results in the following constraint: (1) (new_takeWhile1(x24, x25, x25, x24)=new_takeWhile1(x26, x27, Succ(x28), Succ(x29)) ==> new_takeWhile(Integer(Pos(Succ(x24))), Integer(Pos(Succ(x25))))_>=_new_takeWhile1(x24, x25, x25, x24)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile(Integer(Pos(Succ(Succ(x29)))), Integer(Pos(Succ(Succ(x28)))))_>=_new_takeWhile1(Succ(x29), Succ(x28), Succ(x28), Succ(x29))) *We consider the chain new_takeWhile(Integer(Pos(Succ(x30))), Integer(Pos(Succ(x31)))) -> new_takeWhile1(x30, x31, x31, x30), new_takeWhile1(x32, x33, Zero, Zero) -> new_takeWhile11(x32, x33) which results in the following constraint: (1) (new_takeWhile1(x30, x31, x31, x30)=new_takeWhile1(x32, x33, Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(x30))), Integer(Pos(Succ(x31))))_>=_new_takeWhile1(x30, x31, x31, x30)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Zero, Zero, Zero, Zero)) For Pair new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) the following chains were created: *We consider the chain new_takeWhile1(x36, x37, Succ(x38), Succ(x39)) -> new_takeWhile1(x36, x37, x38, x39), new_takeWhile1(x40, x41, Zero, Succ(x42)) -> new_takeWhile(Integer(Pos(Succ(x40))), Integer(Pos(new_primPlusNat(x41)))) which results in the following constraint: (1) (new_takeWhile1(x36, x37, x38, x39)=new_takeWhile1(x40, x41, Zero, Succ(x42)) ==> new_takeWhile1(x36, x37, Succ(x38), Succ(x39))_>=_new_takeWhile1(x36, x37, x38, x39)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile1(x36, x37, Succ(Zero), Succ(Succ(x42)))_>=_new_takeWhile1(x36, x37, Zero, Succ(x42))) *We consider the chain new_takeWhile1(x47, x48, Succ(x49), Succ(x50)) -> new_takeWhile1(x47, x48, x49, x50), new_takeWhile1(x51, x52, Succ(x53), Succ(x54)) -> new_takeWhile1(x51, x52, x53, x54) which results in the following constraint: (1) (new_takeWhile1(x47, x48, x49, x50)=new_takeWhile1(x51, x52, Succ(x53), Succ(x54)) ==> new_takeWhile1(x47, x48, Succ(x49), Succ(x50))_>=_new_takeWhile1(x47, x48, x49, x50)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile1(x47, x48, Succ(Succ(x53)), Succ(Succ(x54)))_>=_new_takeWhile1(x47, x48, Succ(x53), Succ(x54))) *We consider the chain new_takeWhile1(x55, x56, Succ(x57), Succ(x58)) -> new_takeWhile1(x55, x56, x57, x58), new_takeWhile1(x59, x60, Zero, Zero) -> new_takeWhile11(x59, x60) which results in the following constraint: (1) (new_takeWhile1(x55, x56, x57, x58)=new_takeWhile1(x59, x60, Zero, Zero) ==> new_takeWhile1(x55, x56, Succ(x57), Succ(x58))_>=_new_takeWhile1(x55, x56, x57, x58)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile1(x55, x56, Succ(Zero), Succ(Zero))_>=_new_takeWhile1(x55, x56, Zero, Zero)) For Pair new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) the following chains were created: *We consider the chain new_takeWhile1(x73, x74, Zero, Zero) -> new_takeWhile11(x73, x74), new_takeWhile11(x75, x76) -> new_takeWhile(Integer(Pos(Succ(x75))), Integer(Pos(new_primPlusNat(x76)))) which results in the following constraint: (1) (new_takeWhile11(x73, x74)=new_takeWhile11(x75, x76) ==> new_takeWhile1(x73, x74, Zero, Zero)_>=_new_takeWhile11(x73, x74)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_takeWhile1(x73, x74, Zero, Zero)_>=_new_takeWhile11(x73, x74)) For Pair new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) the following chains were created: *We consider the chain new_takeWhile11(x79, x80) -> new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x80)))), new_takeWhile(Integer(Pos(Succ(x81))), Integer(Pos(Succ(x82)))) -> new_takeWhile1(x81, x82, x82, x81) which results in the following constraint: (1) (new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x80))))=new_takeWhile(Integer(Pos(Succ(x81))), Integer(Pos(Succ(x82)))) ==> new_takeWhile11(x79, x80)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x80))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x80)=Succ(x82) ==> new_takeWhile11(x79, x80)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x80))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x80)=Succ(x82) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x90)))=Succ(x82) ==> new_takeWhile11(x79, x90)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x90))))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile11(x79, x90)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x90))))) To summarize, we get the following constraints P__>=_ for the following pairs. *new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) *(new_takeWhile1(x3, x89, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x89))))) *new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) *(new_takeWhile(Integer(Pos(Succ(Succ(x21)))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Succ(x21), Zero, Zero, Succ(x21))) *(new_takeWhile(Integer(Pos(Succ(Succ(x29)))), Integer(Pos(Succ(Succ(x28)))))_>=_new_takeWhile1(Succ(x29), Succ(x28), Succ(x28), Succ(x29))) *(new_takeWhile(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Zero, Zero, Zero, Zero)) *new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) *(new_takeWhile1(x36, x37, Succ(Zero), Succ(Succ(x42)))_>=_new_takeWhile1(x36, x37, Zero, Succ(x42))) *(new_takeWhile1(x47, x48, Succ(Succ(x53)), Succ(Succ(x54)))_>=_new_takeWhile1(x47, x48, Succ(x53), Succ(x54))) *(new_takeWhile1(x55, x56, Succ(Zero), Succ(Zero))_>=_new_takeWhile1(x55, x56, Zero, Zero)) *new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) *(new_takeWhile1(x73, x74, Zero, Zero)_>=_new_takeWhile11(x73, x74)) *new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) *(new_takeWhile11(x79, x90)_>=_new_takeWhile(Integer(Pos(Succ(x79))), Integer(Pos(new_primPlusNat(x90))))) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (68) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusInt1 new_primPlusInt new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (69) QDPPairToRuleProof (EQUIVALENT) The dependency pair new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) was transformed to the following new rules: anew_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) new_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) new_new_takeWhile1(Zero, Succ(xu2040)) -> cons_new_takeWhile1(Zero, Succ(xu2040)) new_new_takeWhile1(Zero, Zero) -> cons_new_takeWhile1(Zero, Zero) the following new pairs maintain the fan-in: new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) the following new pairs maintain the fan-out: H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) ---------------------------------------- (70) Complex Obligation (AND) ---------------------------------------- (71) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero anew_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) new_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) new_new_takeWhile1(Zero, Succ(xu2040)) -> cons_new_takeWhile1(Zero, Succ(xu2040)) new_new_takeWhile1(Zero, Zero) -> cons_new_takeWhile1(Zero, Zero) The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusInt1 new_primPlusInt new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) new_new_takeWhile1(Succ(x0), Succ(x1)) anew_new_takeWhile1(Succ(x0), Succ(x1)) new_new_takeWhile1(Zero, Succ(x0)) new_new_takeWhile1(Zero, Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (72) MNOCProof (EQUIVALENT) We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero anew_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) new_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) new_new_takeWhile1(Zero, Succ(xu2040)) -> cons_new_takeWhile1(Zero, Succ(xu2040)) new_new_takeWhile1(Zero, Zero) -> cons_new_takeWhile1(Zero, Zero) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (74) InductionCalculusProof (EQUIVALENT) Note that final constraints are written in bold face. For Pair new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) the following chains were created: *We consider the chain new_takeWhile1(x3, x4, Zero, Succ(x5)) -> new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4)))), new_takeWhile(Integer(Pos(Succ(x6))), Integer(Pos(Succ(x7)))) -> new_takeWhile1(x6, x7, x7, x6) which results in the following constraint: (1) (new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))=new_takeWhile(Integer(Pos(Succ(x6))), Integer(Pos(Succ(x7)))) ==> new_takeWhile1(x3, x4, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x4)=Succ(x7) ==> new_takeWhile1(x3, x4, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x4))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x4)=Succ(x7) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x137)))=Succ(x7) ==> new_takeWhile1(x3, x137, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x137))))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile1(x3, x137, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x137))))) *We consider the chain new_takeWhile1(x14, x15, Zero, Succ(x16)) -> new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x15)))), new_takeWhile(Integer(Pos(Succ(x17))), Integer(Pos(Succ(x18)))) -> H(x17, x18, anew_new_takeWhile1(x18, x17)) which results in the following constraint: (1) (new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x15))))=new_takeWhile(Integer(Pos(Succ(x17))), Integer(Pos(Succ(x18)))) ==> new_takeWhile1(x14, x15, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x15))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x15)=Succ(x18) ==> new_takeWhile1(x14, x15, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x15))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x15)=Succ(x18) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x138)))=Succ(x18) ==> new_takeWhile1(x14, x138, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x138))))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile1(x14, x138, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x138))))) For Pair new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) the following chains were created: *We consider the chain new_takeWhile(Integer(Pos(Succ(x25))), Integer(Pos(Succ(x26)))) -> new_takeWhile1(x25, x26, x26, x25), new_takeWhile1(x27, x28, Zero, Succ(x29)) -> new_takeWhile(Integer(Pos(Succ(x27))), Integer(Pos(new_primPlusNat(x28)))) which results in the following constraint: (1) (new_takeWhile1(x25, x26, x26, x25)=new_takeWhile1(x27, x28, Zero, Succ(x29)) ==> new_takeWhile(Integer(Pos(Succ(x25))), Integer(Pos(Succ(x26))))_>=_new_takeWhile1(x25, x26, x26, x25)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile(Integer(Pos(Succ(Succ(x29)))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Succ(x29), Zero, Zero, Succ(x29))) *We consider the chain new_takeWhile(Integer(Pos(Succ(x32))), Integer(Pos(Succ(x33)))) -> new_takeWhile1(x32, x33, x33, x32), new_takeWhile1(x34, x35, Zero, Zero) -> new_takeWhile11(x34, x35) which results in the following constraint: (1) (new_takeWhile1(x32, x33, x33, x32)=new_takeWhile1(x34, x35, Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(x32))), Integer(Pos(Succ(x33))))_>=_new_takeWhile1(x32, x33, x33, x32)) We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: (2) (new_takeWhile(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Zero, Zero, Zero, Zero)) For Pair new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) the following chains were created: *We consider the chain new_takeWhile1(x50, x51, Zero, Zero) -> new_takeWhile11(x50, x51), new_takeWhile11(x52, x53) -> new_takeWhile(Integer(Pos(Succ(x52))), Integer(Pos(new_primPlusNat(x53)))) which results in the following constraint: (1) (new_takeWhile11(x50, x51)=new_takeWhile11(x52, x53) ==> new_takeWhile1(x50, x51, Zero, Zero)_>=_new_takeWhile11(x50, x51)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_takeWhile1(x50, x51, Zero, Zero)_>=_new_takeWhile11(x50, x51)) For Pair new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) the following chains were created: *We consider the chain new_takeWhile11(x62, x63) -> new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x63)))), new_takeWhile(Integer(Pos(Succ(x64))), Integer(Pos(Succ(x65)))) -> new_takeWhile1(x64, x65, x65, x64) which results in the following constraint: (1) (new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x63))))=new_takeWhile(Integer(Pos(Succ(x64))), Integer(Pos(Succ(x65)))) ==> new_takeWhile11(x62, x63)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x63))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x63)=Succ(x65) ==> new_takeWhile11(x62, x63)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x63))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x63)=Succ(x65) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x139)))=Succ(x65) ==> new_takeWhile11(x62, x139)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x139))))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile11(x62, x139)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x139))))) *We consider the chain new_takeWhile11(x70, x71) -> new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x71)))), new_takeWhile(Integer(Pos(Succ(x72))), Integer(Pos(Succ(x73)))) -> H(x72, x73, anew_new_takeWhile1(x73, x72)) which results in the following constraint: (1) (new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x71))))=new_takeWhile(Integer(Pos(Succ(x72))), Integer(Pos(Succ(x73)))) ==> new_takeWhile11(x70, x71)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x71))))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (new_primPlusNat(x71)=Succ(x73) ==> new_takeWhile11(x70, x71)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x71))))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primPlusNat(x71)=Succ(x73) which results in the following new constraint: (3) (Succ(Succ(new_primPlusNat1(x140)))=Succ(x73) ==> new_takeWhile11(x70, x140)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x140))))) We simplified constraint (3) using rules (I), (II), (IV) which results in the following new constraint: (4) (new_takeWhile11(x70, x140)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x140))))) For Pair new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) the following chains were created: *We consider the chain new_takeWhile(Integer(Pos(Succ(x88))), Integer(Pos(Succ(x89)))) -> H(x88, x89, anew_new_takeWhile1(x89, x88)), H(x90, x91, cons_new_takeWhile1(Zero, Succ(x92))) -> new_takeWhile1(x90, x91, Zero, Succ(x92)) which results in the following constraint: (1) (H(x88, x89, anew_new_takeWhile1(x89, x88))=H(x90, x91, cons_new_takeWhile1(Zero, Succ(x92))) ==> new_takeWhile(Integer(Pos(Succ(x88))), Integer(Pos(Succ(x89))))_>=_H(x88, x89, anew_new_takeWhile1(x89, x88))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_takeWhile1(x89, x88)=cons_new_takeWhile1(Zero, Succ(x92)) ==> new_takeWhile(Integer(Pos(Succ(x88))), Integer(Pos(Succ(x89))))_>=_H(x88, x89, anew_new_takeWhile1(x89, x88))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_takeWhile1(x89, x88)=cons_new_takeWhile1(Zero, Succ(x92)) which results in the following new constraint: (3) (new_new_takeWhile1(x142, x141)=cons_new_takeWhile1(Zero, Succ(x92)) ==> new_takeWhile(Integer(Pos(Succ(Succ(x141)))), Integer(Pos(Succ(Succ(x142)))))_>=_H(Succ(x141), Succ(x142), anew_new_takeWhile1(Succ(x142), Succ(x141)))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_takeWhile1(x142, x141)=cons_new_takeWhile1(Zero, Succ(x92)) which results in the following new constraints: (4) (new_new_takeWhile1(x144, x143)=cons_new_takeWhile1(Zero, Succ(x92)) & (\/x145:new_new_takeWhile1(x144, x143)=cons_new_takeWhile1(Zero, Succ(x145)) ==> new_takeWhile(Integer(Pos(Succ(Succ(x143)))), Integer(Pos(Succ(Succ(x144)))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile1(Succ(x144), Succ(x143)))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x143))))), Integer(Pos(Succ(Succ(Succ(x144))))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile1(Succ(Succ(x144)), Succ(Succ(x143))))) (5) (cons_new_takeWhile1(Zero, Succ(x146))=cons_new_takeWhile1(Zero, Succ(x92)) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x146))))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Succ(x146)), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Succ(x146))))) (6) (cons_new_takeWhile1(Zero, Zero)=cons_new_takeWhile1(Zero, Succ(x92)) ==> new_takeWhile(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Zero)))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (\/x145:new_new_takeWhile1(x144, x143)=cons_new_takeWhile1(Zero, Succ(x145)) ==> new_takeWhile(Integer(Pos(Succ(Succ(x143)))), Integer(Pos(Succ(Succ(x144)))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile1(Succ(x144), Succ(x143)))) with sigma = [x145 / x92] which results in the following new constraint: (7) (new_takeWhile(Integer(Pos(Succ(Succ(x143)))), Integer(Pos(Succ(Succ(x144)))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile1(Succ(x144), Succ(x143))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x143))))), Integer(Pos(Succ(Succ(Succ(x144))))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile1(Succ(Succ(x144)), Succ(Succ(x143))))) We simplified constraint (5) using rules (I), (II), (IV) which results in the following new constraint: (8) (new_takeWhile(Integer(Pos(Succ(Succ(Succ(x146))))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Succ(x146)), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Succ(x146))))) We solved constraint (6) using rules (I), (II). *We consider the chain new_takeWhile(Integer(Pos(Succ(x93))), Integer(Pos(Succ(x94)))) -> H(x93, x94, anew_new_takeWhile1(x94, x93)), H(x95, x96, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(x95, x96, Zero, Zero) which results in the following constraint: (1) (H(x93, x94, anew_new_takeWhile1(x94, x93))=H(x95, x96, cons_new_takeWhile1(Zero, Zero)) ==> new_takeWhile(Integer(Pos(Succ(x93))), Integer(Pos(Succ(x94))))_>=_H(x93, x94, anew_new_takeWhile1(x94, x93))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (anew_new_takeWhile1(x94, x93)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(x93))), Integer(Pos(Succ(x94))))_>=_H(x93, x94, anew_new_takeWhile1(x94, x93))) We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on anew_new_takeWhile1(x94, x93)=cons_new_takeWhile1(Zero, Zero) which results in the following new constraint: (3) (new_new_takeWhile1(x148, x147)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(x147)))), Integer(Pos(Succ(Succ(x148)))))_>=_H(Succ(x147), Succ(x148), anew_new_takeWhile1(Succ(x148), Succ(x147)))) We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_new_takeWhile1(x148, x147)=cons_new_takeWhile1(Zero, Zero) which results in the following new constraints: (4) (new_new_takeWhile1(x150, x149)=cons_new_takeWhile1(Zero, Zero) & (new_new_takeWhile1(x150, x149)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(x149)))), Integer(Pos(Succ(Succ(x150)))))_>=_H(Succ(x149), Succ(x150), anew_new_takeWhile1(Succ(x150), Succ(x149)))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x149))))), Integer(Pos(Succ(Succ(Succ(x150))))))_>=_H(Succ(Succ(x149)), Succ(Succ(x150)), anew_new_takeWhile1(Succ(Succ(x150)), Succ(Succ(x149))))) (5) (cons_new_takeWhile1(Zero, Succ(x151))=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x151))))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Succ(x151)), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Succ(x151))))) (6) (cons_new_takeWhile1(Zero, Zero)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Zero)))) We simplified constraint (4) using rule (VI) where we applied the induction hypothesis (new_new_takeWhile1(x150, x149)=cons_new_takeWhile1(Zero, Zero) ==> new_takeWhile(Integer(Pos(Succ(Succ(x149)))), Integer(Pos(Succ(Succ(x150)))))_>=_H(Succ(x149), Succ(x150), anew_new_takeWhile1(Succ(x150), Succ(x149)))) with sigma = [ ] which results in the following new constraint: (7) (new_takeWhile(Integer(Pos(Succ(Succ(x149)))), Integer(Pos(Succ(Succ(x150)))))_>=_H(Succ(x149), Succ(x150), anew_new_takeWhile1(Succ(x150), Succ(x149))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x149))))), Integer(Pos(Succ(Succ(Succ(x150))))))_>=_H(Succ(Succ(x149)), Succ(Succ(x150)), anew_new_takeWhile1(Succ(Succ(x150)), Succ(Succ(x149))))) We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: (8) (new_takeWhile(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Zero)))) For Pair H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) the following chains were created: *We consider the chain H(x97, x98, cons_new_takeWhile1(Zero, Succ(x99))) -> new_takeWhile1(x97, x98, Zero, Succ(x99)), new_takeWhile1(x100, x101, Zero, Succ(x102)) -> new_takeWhile(Integer(Pos(Succ(x100))), Integer(Pos(new_primPlusNat(x101)))) which results in the following constraint: (1) (new_takeWhile1(x97, x98, Zero, Succ(x99))=new_takeWhile1(x100, x101, Zero, Succ(x102)) ==> H(x97, x98, cons_new_takeWhile1(Zero, Succ(x99)))_>=_new_takeWhile1(x97, x98, Zero, Succ(x99))) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x97, x98, cons_new_takeWhile1(Zero, Succ(x99)))_>=_new_takeWhile1(x97, x98, Zero, Succ(x99))) For Pair H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) the following chains were created: *We consider the chain H(x125, x126, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(x125, x126, Zero, Zero), new_takeWhile1(x127, x128, Zero, Zero) -> new_takeWhile11(x127, x128) which results in the following constraint: (1) (new_takeWhile1(x125, x126, Zero, Zero)=new_takeWhile1(x127, x128, Zero, Zero) ==> H(x125, x126, cons_new_takeWhile1(Zero, Zero))_>=_new_takeWhile1(x125, x126, Zero, Zero)) We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: (2) (H(x125, x126, cons_new_takeWhile1(Zero, Zero))_>=_new_takeWhile1(x125, x126, Zero, Zero)) To summarize, we get the following constraints P__>=_ for the following pairs. *new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) *(new_takeWhile1(x3, x137, Zero, Succ(x5))_>=_new_takeWhile(Integer(Pos(Succ(x3))), Integer(Pos(new_primPlusNat(x137))))) *(new_takeWhile1(x14, x138, Zero, Succ(x16))_>=_new_takeWhile(Integer(Pos(Succ(x14))), Integer(Pos(new_primPlusNat(x138))))) *new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) *(new_takeWhile(Integer(Pos(Succ(Succ(x29)))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Succ(x29), Zero, Zero, Succ(x29))) *(new_takeWhile(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))_>=_new_takeWhile1(Zero, Zero, Zero, Zero)) *new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) *(new_takeWhile1(x50, x51, Zero, Zero)_>=_new_takeWhile11(x50, x51)) *new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) *(new_takeWhile11(x62, x139)_>=_new_takeWhile(Integer(Pos(Succ(x62))), Integer(Pos(new_primPlusNat(x139))))) *(new_takeWhile11(x70, x140)_>=_new_takeWhile(Integer(Pos(Succ(x70))), Integer(Pos(new_primPlusNat(x140))))) *new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) *(new_takeWhile(Integer(Pos(Succ(Succ(x143)))), Integer(Pos(Succ(Succ(x144)))))_>=_H(Succ(x143), Succ(x144), anew_new_takeWhile1(Succ(x144), Succ(x143))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x143))))), Integer(Pos(Succ(Succ(Succ(x144))))))_>=_H(Succ(Succ(x143)), Succ(Succ(x144)), anew_new_takeWhile1(Succ(Succ(x144)), Succ(Succ(x143))))) *(new_takeWhile(Integer(Pos(Succ(Succ(Succ(x146))))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Succ(x146)), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Succ(x146))))) *(new_takeWhile(Integer(Pos(Succ(Succ(x149)))), Integer(Pos(Succ(Succ(x150)))))_>=_H(Succ(x149), Succ(x150), anew_new_takeWhile1(Succ(x150), Succ(x149))) ==> new_takeWhile(Integer(Pos(Succ(Succ(Succ(x149))))), Integer(Pos(Succ(Succ(Succ(x150))))))_>=_H(Succ(Succ(x149)), Succ(Succ(x150)), anew_new_takeWhile1(Succ(Succ(x150)), Succ(Succ(x149))))) *(new_takeWhile(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))_>=_H(Succ(Zero), Succ(Zero), anew_new_takeWhile1(Succ(Zero), Succ(Zero)))) *H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) *(H(x97, x98, cons_new_takeWhile1(Zero, Succ(x99)))_>=_new_takeWhile1(x97, x98, Zero, Succ(x99))) *H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) *(H(x125, x126, cons_new_takeWhile1(Zero, Zero))_>=_new_takeWhile1(x125, x126, Zero, Zero)) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000) new_takeWhile1(xu201, xu202, Zero, Zero) -> new_takeWhile11(xu201, xu202) new_takeWhile11(xu201, xu202) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202)))) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> H(xu31000, xu30000, anew_new_takeWhile1(xu30000, xu31000)) H(xu201, xu202, cons_new_takeWhile1(Zero, Succ(xu2040))) -> new_takeWhile1(xu201, xu202, Zero, Succ(xu2040)) H(xu201, xu202, cons_new_takeWhile1(Zero, Zero)) -> new_takeWhile1(xu201, xu202, Zero, Zero) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero anew_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) new_new_takeWhile1(Succ(xu2030), Succ(xu2040)) -> new_new_takeWhile1(xu2030, xu2040) new_new_takeWhile1(Zero, Succ(xu2040)) -> cons_new_takeWhile1(Zero, Succ(xu2040)) new_new_takeWhile1(Zero, Zero) -> cons_new_takeWhile1(Zero, Zero) The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusInt1 new_primPlusInt new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) new_new_takeWhile1(Succ(x0), Succ(x1)) anew_new_takeWhile1(Succ(x0), Succ(x1)) new_new_takeWhile1(Zero, Succ(x0)) new_new_takeWhile1(Zero, Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (77) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile1(xu201, xu202, xu2030, xu2040) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 ---------------------------------------- (78) YES ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000))) The TRS R consists of the following rules: new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_primPlusInt1 -> Pos(Succ(Zero)) new_primPlusInt -> Pos(new_primPlusNat0) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusNat1(Zero) -> Zero The set Q consists of the following terms: new_primPlusInt0(Succ(x0)) new_primPlusInt0(Zero) new_primPlusNat0 new_primPlusInt1 new_primPlusInt new_primPlusNat(x0) new_primPlusNat1(Zero) new_primPlusNat1(Succ(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) QDPSizeChangeProof (EQUIVALENT) We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:Polynomial interpretation [POLO]: POL(Integer(x_1)) = x_1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL(new_primPlusInt0(x_1)) = x_1 From the DPs we obtained the following set of size-change graphs: *new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000)))) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000))) (allowed arguments on rhs = {1, 2}) The graph contains the following edges 1 >= 1, 2 > 2 We oriented the following set of usable rules [AAECC05,FROCOS05]. new_primPlusInt0(Zero) -> Pos(Zero) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) ---------------------------------------- (81) YES ---------------------------------------- (82) Obligation: Q DP problem: The TRS P consists of the following rules: new_map(:(xu40, xu41)) -> new_map(xu41) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (83) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_map(:(xu40, xu41)) -> new_map(xu41) The graph contains the following edges 1 > 1 ---------------------------------------- (84) YES ---------------------------------------- (85) Obligation: Q DP problem: The TRS P consists of the following rules: new_psPs0(:(xu430, xu431), xu35, h, ba, bb) -> new_psPs0(xu431, xu35, h, ba, bb) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (86) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_psPs0(:(xu430, xu431), xu35, h, ba, bb) -> new_psPs0(xu431, xu35, h, ba, bb) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5 ---------------------------------------- (87) YES ---------------------------------------- (88) Obligation: Q DP problem: The TRS P consists of the following rules: new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), app(app(app(ty_@3, bc), bd), be), ba, bb) -> new_range(xu130, xu140, bc, bd, be) new_range1(@2(xu130, xu131), @2(xu140, xu141), cc, cd) -> new_foldr3(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) new_foldr3(xu20, xu21, :(xu220, xu221), ec, app(app(app(ty_@3, ed), ee), ef)) -> new_range(xu20, xu21, ed, ee, ef) new_foldr3(xu20, xu21, :(xu220, xu221), ec, app(app(ty_@2, eg), eh)) -> new_range1(xu20, xu21, eg, eh) new_foldr1(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_foldr2(xu150, xu11, xu12, new_range2(xu13, xu14, ca), bh, ca, cb) new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, cc), cd), cb) -> new_foldr3(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, app(app(app(ty_@3, ce), cf), cg)), cd), cb) -> new_range(xu130, xu140, ce, cf, cg) new_foldr1(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_foldr1(xu11, xu12, xu13, xu14, xu151, bh, ca, cb) new_range1(@2(xu130, xu131), @2(xu140, xu141), app(app(app(ty_@3, ce), cf), cg), cd) -> new_range(xu130, xu140, ce, cf, cg) new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), h, ba, bb) -> new_foldr1(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, app(app(app(ty_@3, de), df), dg)) -> new_range(xu51, xu52, de, df, dg) new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, app(app(ty_@2, da), db)), cd), cb) -> new_range1(xu130, xu140, da, db) new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), app(app(ty_@2, bf), bg), ba, bb) -> new_range1(xu130, xu140, bf, bg) new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, h), ba), bb), cb) -> new_foldr1(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, eb) -> new_foldr2(xu50, xu51, xu52, xu531, dc, dd, eb) new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, app(app(ty_@2, bf), bg)), ba), bb), cb) -> new_range1(xu130, xu140, bf, bg) new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, app(app(ty_@2, dh), ea)) -> new_range1(xu51, xu52, dh, ea) new_foldr3(xu20, xu21, :(xu220, xu221), ec, fa) -> new_foldr3(xu20, xu21, xu221, ec, fa) new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, app(app(app(ty_@3, bc), bd), be)), ba), bb), cb) -> new_range(xu130, xu140, bc, bd, be) new_range1(@2(xu130, xu131), @2(xu140, xu141), app(app(ty_@2, da), db), cd) -> new_range1(xu130, xu140, da, db) The TRS R consists of the following rules: new_takeWhile112(xu195, xu196, xu197) -> :(Neg(Succ(xu196)), new_takeWhile5(Neg(Succ(xu195)), xu197)) new_range13(xu20, xu21, ty_Ordering) -> new_range5(@2(xu20, xu21)) new_takeWhile114(xu206, xu207, Zero, Succ(xu2090)) -> new_takeWhile110(xu206, xu207) new_foldr9 -> [] new_psPs2([], xu42, gc, gd) -> xu42 new_takeWhile5(Pos(Zero), Pos(Succ(xu3000))) -> [] new_range13(xu20, xu21, ty_Integer) -> new_range8(@2(xu20, xu21)) new_range3(xu130, xu140, ty_Ordering) -> new_range5(@2(xu130, xu140)) new_takeWhile3(Integer(Neg(Succ(xu31000))), Integer(Pos(Zero))) -> [] new_range13(xu20, xu21, app(app(ty_@2, eg), eh)) -> new_range11(xu20, xu21, eg, eh) new_range5(@2(EQ, EQ)) -> :(EQ, new_foldr10) new_range12(xu51, xu52, ty_Int) -> new_range10(@2(xu51, xu52)) new_takeWhile7(Zero) -> new_takeWhile5(Neg(Zero), Pos(Zero)) new_range12(xu51, xu52, app(app(app(ty_@3, de), df), dg)) -> new_range9(xu51, xu52, de, df, dg) new_foldr11(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_psPs1(new_foldr8(xu150, xu11, xu12, new_range2(xu13, xu14, ca), bh, ca, cb), new_foldr11(xu11, xu12, xu13, xu14, xu151, bh, ca, cb), bh, ca, cb) new_range13(xu20, xu21, ty_Int) -> new_range10(@2(xu20, xu21)) new_range3(xu130, xu140, app(app(ty_@2, da), db)) -> new_range11(xu130, xu140, da, db) new_takeWhile19(xu195, xu196, xu197, Succ(xu1980), Zero) -> [] new_takeWhile3(Integer(Neg(Zero)), Integer(Pos(Zero))) -> :(Integer(Pos(Zero)), new_takeWhile3(Integer(Neg(Zero)), Integer(new_primPlusInt))) new_range2(xu13, xu14, ty_Int) -> new_range10(@2(xu13, xu14)) new_primPlusInt0(Succ(xu300000)) -> Neg(Succ(xu300000)) new_primPlusNat0 -> Succ(Zero) new_range12(xu51, xu52, ty_Ordering) -> new_range5(@2(xu51, xu52)) new_range2(xu13, xu14, app(app(app(ty_@3, h), ba), bb)) -> new_range9(xu13, xu14, h, ba, bb) new_range3(xu130, xu140, ty_Integer) -> new_range8(@2(xu130, xu140)) new_takeWhile17(xu201, xu202) -> :(Integer(Pos(Succ(xu202))), new_takeWhile3(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202))))) new_primPlusNat1(Zero) -> Zero new_takeWhile113(xu201, xu202, Succ(xu2030), Succ(xu2040)) -> new_takeWhile113(xu201, xu202, xu2030, xu2040) new_takeWhile111(xu167, xu168) -> :(Pos(Succ(xu168)), new_takeWhile5(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168)))) new_range2(xu13, xu14, ty_Bool) -> new_range7(@2(xu13, xu14)) new_range12(xu51, xu52, app(app(ty_@2, dh), ea)) -> new_range11(xu51, xu52, dh, ea) new_range3(xu130, xu140, app(app(app(ty_@3, ce), cf), cg)) -> new_range9(xu130, xu140, ce, cf, cg) new_takeWhile19(xu195, xu196, xu197, Zero, Succ(xu1990)) -> new_takeWhile112(xu195, xu196, xu197) new_map0([]) -> [] new_range13(xu20, xu21, app(app(app(ty_@3, ed), ee), ef)) -> new_range9(xu20, xu21, ed, ee, ef) new_range12(xu51, xu52, ty_Bool) -> new_range7(@2(xu51, xu52)) new_primPlusInt0(Zero) -> Pos(Zero) new_foldr10 -> [] new_primIntToChar(Neg(Zero)) -> Char(Zero) new_takeWhile6(xu310, Succ(xu30000)) -> new_takeWhile5(Pos(xu310), Neg(Succ(xu30000))) new_range3(xu130, xu140, ty_Int) -> new_range10(@2(xu130, xu140)) new_primIntToChar(Pos(xu400)) -> Char(xu400) new_range2(xu13, xu14, app(app(ty_@2, cc), cd)) -> new_range11(xu13, xu14, cc, cd) new_range9(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), h, ba, bb) -> new_foldr11(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) new_takeWhile3(Integer(Neg(Succ(xu31000))), Integer(Neg(Zero))) -> [] new_foldr8(xu50, xu51, xu52, :(xu530, xu531), dc, dd, eb) -> new_psPs1(new_foldr4(xu50, xu530, new_range12(xu51, xu52, eb), dc, dd, eb), new_foldr8(xu50, xu51, xu52, xu531, dc, dd, eb), dc, dd, eb) new_range5(@2(GT, GT)) -> :(GT, new_foldr10) new_foldr4(xu70, xu71, :(xu720, xu721), fb, fc, fd) -> new_psPs1(:(@3(xu70, xu71, xu720), []), new_foldr4(xu70, xu71, xu721, fb, fc, fd), fb, fc, fd) new_takeWhile114(xu206, xu207, Succ(xu2080), Succ(xu2090)) -> new_takeWhile114(xu206, xu207, xu2080, xu2090) new_range5(@2(GT, LT)) -> new_foldr10 new_takeWhile113(xu201, xu202, Zero, Succ(xu2040)) -> new_takeWhile17(xu201, xu202) new_takeWhile5(Neg(xu310), Pos(Succ(xu3000))) -> [] new_takeWhile3(Integer(Neg(xu3100)), Integer(Pos(Succ(xu30000)))) -> [] new_takeWhile5(Pos(Succ(xu3100)), Pos(Succ(xu3000))) -> new_takeWhile18(xu3100, xu3000, xu3000, xu3100) new_range7(@2(False, False)) -> :(False, new_foldr9) new_takeWhile5(Neg(Succ(xu3100)), Neg(Succ(xu3000))) -> new_takeWhile19(xu3100, xu3000, new_primPlusInt0(xu3000), xu3100, xu3000) new_psPs1([], xu35, fh, ga, gb) -> xu35 new_takeWhile5(Neg(Zero), Neg(Zero)) -> :(Neg(Zero), new_takeWhile5(Neg(Zero), Pos(Succ(Zero)))) new_fromEnum(Char(xu310)) -> Pos(xu310) new_range2(xu13, xu14, ty_Ordering) -> new_range5(@2(xu13, xu14)) new_range8(@2(xu30, xu31)) -> new_takeWhile3(xu31, xu30) new_foldr8(xu50, xu51, xu52, [], dc, dd, eb) -> new_foldr5(dc, dd, eb) new_takeWhile19(xu195, xu196, xu197, Zero, Zero) -> new_takeWhile112(xu195, xu196, xu197) new_map0(:(xu40, xu41)) -> :(new_primIntToChar(xu40), new_map0(xu41)) new_takeWhile5(Pos(xu310), Neg(Succ(xu3000))) -> :(Neg(Succ(xu3000)), new_takeWhile6(xu310, xu3000)) new_foldr6(xu57, :(xu580, xu581), ff, fg) -> new_psPs2(:(@2(xu57, xu580), []), new_foldr6(xu57, xu581, ff, fg), ff, fg) new_takeWhile5(Pos(Zero), Neg(Zero)) -> :(Neg(Zero), new_takeWhile5(Pos(Zero), Pos(Succ(Zero)))) new_takeWhile113(xu201, xu202, Succ(xu2030), Zero) -> [] new_foldr11(xu11, xu12, xu13, xu14, [], bh, ca, cb) -> new_foldr5(bh, ca, cb) new_range10(@2(xu30, xu31)) -> new_enumFromTo(xu30, xu31) new_takeWhile5(Neg(Zero), Pos(Zero)) -> :(Pos(Zero), new_takeWhile5(Neg(Zero), Pos(new_primPlusNat0))) new_takeWhile18(xu167, xu168, Succ(xu1690), Succ(xu1700)) -> new_takeWhile18(xu167, xu168, xu1690, xu1700) new_range0(xu130, xu140, app(app(ty_@2, bf), bg)) -> new_range11(xu130, xu140, bf, bg) new_takeWhile114(xu206, xu207, Zero, Zero) -> new_takeWhile110(xu206, xu207) new_takeWhile5(Pos(Zero), Pos(Zero)) -> :(Pos(Zero), new_takeWhile5(Pos(Zero), Pos(new_primPlusNat0))) new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000)))) -> new_takeWhile113(xu31000, xu30000, xu30000, xu31000) new_takeWhile5(Neg(Succ(xu3100)), Neg(Zero)) -> [] new_takeWhile3(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000)))) -> :(Integer(Neg(Succ(xu30000))), new_takeWhile3(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000)))) new_range2(xu13, xu14, ty_Char) -> new_range6(@2(xu13, xu14)) new_takeWhile113(xu201, xu202, Zero, Zero) -> new_takeWhile17(xu201, xu202) new_range7(@2(True, True)) -> :(True, new_foldr9) new_takeWhile5(Pos(Succ(xu3100)), Neg(Zero)) -> :(Neg(Zero), new_takeWhile5(Pos(Succ(xu3100)), Pos(Succ(Zero)))) new_range5(@2(LT, GT)) -> :(LT, :(EQ, :(GT, new_foldr10))) new_takeWhile5(Neg(Zero), Neg(Succ(xu3000))) -> :(Neg(Succ(xu3000)), new_takeWhile7(xu3000)) new_takeWhile110(xu206, xu207) -> :(Integer(Neg(Succ(xu207))), new_takeWhile4(xu206, new_primPlusInt0(xu207), new_primPlusInt0(xu207))) new_range2(xu13, xu14, ty_@0) -> new_range4(@2(xu13, xu14)) new_range11(@2(xu130, xu131), @2(xu140, xu141), cc, cd) -> new_foldr12(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) new_primPlusNat1(Succ(xu1680)) -> Succ(xu1680) new_foldr12(xu20, xu21, [], ec, fa) -> new_foldr7(ec, fa) new_foldr7(ec, fa) -> [] new_takeWhile18(xu167, xu168, Zero, Succ(xu1700)) -> new_takeWhile111(xu167, xu168) new_range3(xu130, xu140, ty_Char) -> new_range6(@2(xu130, xu140)) new_foldr4(xu70, xu71, [], fb, fc, fd) -> new_foldr5(fb, fc, fd) new_range12(xu51, xu52, ty_@0) -> new_range4(@2(xu51, xu52)) new_range0(xu130, xu140, ty_Ordering) -> new_range5(@2(xu130, xu140)) new_range0(xu130, xu140, ty_Integer) -> new_range8(@2(xu130, xu140)) new_range5(@2(LT, EQ)) -> :(LT, :(EQ, new_foldr10)) new_takeWhile5(Pos(Succ(xu3100)), Pos(Zero)) -> :(Pos(Zero), new_takeWhile5(Pos(Succ(xu3100)), Pos(new_primPlusNat0))) new_takeWhile114(xu206, xu207, Succ(xu2080), Zero) -> [] new_takeWhile18(xu167, xu168, Succ(xu1690), Zero) -> [] new_foldr6(xu57, [], ff, fg) -> new_foldr7(ff, fg) new_range12(xu51, xu52, ty_Char) -> new_range6(@2(xu51, xu52)) new_range3(xu130, xu140, ty_@0) -> new_range4(@2(xu130, xu140)) new_range6(@2(xu30, xu31)) -> new_map0(new_enumFromTo(new_fromEnum(xu30), new_fromEnum(xu31))) new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero))) -> :(Integer(Neg(Zero)), new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1))) new_range5(@2(GT, EQ)) -> new_foldr10 new_psPs2(:(xu440, xu441), xu42, gc, gd) -> :(xu440, new_psPs2(xu441, xu42, gc, gd)) new_takeWhile7(Succ(xu30000)) -> new_takeWhile5(Neg(Zero), Neg(Succ(xu30000))) new_takeWhile5(Neg(Succ(xu3100)), Pos(Zero)) -> [] new_range13(xu20, xu21, ty_@0) -> new_range4(@2(xu20, xu21)) new_primPlusNat(xu168) -> Succ(Succ(new_primPlusNat1(xu168))) new_range13(xu20, xu21, ty_Bool) -> new_range7(@2(xu20, xu21)) new_takeWhile18(xu167, xu168, Zero, Zero) -> new_takeWhile111(xu167, xu168) new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero))) -> :(Integer(Pos(Zero)), new_takeWhile3(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt))) new_takeWhile4(xu206, xu211, xu210) -> new_takeWhile3(Integer(Neg(Succ(xu206))), Integer(xu210)) new_range5(@2(EQ, GT)) -> :(EQ, :(GT, new_foldr10)) new_enumFromTo(xu30, xu31) -> new_takeWhile5(xu31, xu30) new_range0(xu130, xu140, ty_Char) -> new_range6(@2(xu130, xu140)) new_psPs1(:(xu430, xu431), xu35, fh, ga, gb) -> :(xu430, new_psPs1(xu431, xu35, fh, ga, gb)) new_takeWhile3(Integer(Pos(Zero)), Integer(Pos(Zero))) -> :(Integer(Pos(Zero)), new_takeWhile3(Integer(Pos(Zero)), Integer(new_primPlusInt))) new_primIntToChar(Neg(Succ(xu4000))) -> error([]) new_primPlusInt -> Pos(new_primPlusNat0) new_range13(xu20, xu21, ty_Char) -> new_range6(@2(xu20, xu21)) new_takeWhile3(Integer(Pos(Zero)), Integer(Pos(Succ(xu30000)))) -> [] new_foldr12(xu20, xu21, :(xu220, xu221), ec, fa) -> new_psPs2(new_foldr6(xu220, new_range13(xu20, xu21, fa), ec, fa), new_foldr12(xu20, xu21, xu221, ec, fa), ec, fa) new_range7(@2(True, False)) -> new_foldr9 new_range3(xu130, xu140, ty_Bool) -> new_range7(@2(xu130, xu140)) new_range4(@2(@0, @0)) -> :(@0, []) new_range0(xu130, xu140, app(app(app(ty_@3, bc), bd), be)) -> new_range9(xu130, xu140, bc, bd, be) new_takeWhile6(xu310, Zero) -> new_takeWhile5(Pos(xu310), Pos(Zero)) new_range0(xu130, xu140, ty_Int) -> new_range10(@2(xu130, xu140)) new_range0(xu130, xu140, ty_@0) -> new_range4(@2(xu130, xu140)) new_takeWhile3(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000)))) -> new_takeWhile114(xu31000, xu30000, xu31000, xu30000) new_range12(xu51, xu52, ty_Integer) -> new_range8(@2(xu51, xu52)) new_takeWhile3(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000)))) -> :(Integer(Neg(Succ(xu30000))), new_takeWhile3(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000)))) new_range5(@2(LT, LT)) -> :(LT, new_foldr10) new_range2(xu13, xu14, ty_Integer) -> new_range8(@2(xu13, xu14)) new_takeWhile3(Integer(Pos(Zero)), Integer(Neg(Zero))) -> :(Integer(Neg(Zero)), new_takeWhile3(Integer(Pos(Zero)), Integer(new_primPlusInt1))) new_primPlusInt1 -> Pos(Succ(Zero)) new_takeWhile3(Integer(Neg(Zero)), Integer(Neg(Zero))) -> :(Integer(Neg(Zero)), new_takeWhile3(Integer(Neg(Zero)), Integer(new_primPlusInt1))) new_range7(@2(False, True)) -> :(False, :(True, new_foldr9)) new_range5(@2(EQ, LT)) -> new_foldr10 new_takeWhile19(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990)) -> new_takeWhile19(xu195, xu196, xu197, xu1980, xu1990) new_foldr5(bh, ca, cb) -> [] new_range0(xu130, xu140, ty_Bool) -> new_range7(@2(xu130, xu140)) The set Q consists of the following terms: new_range0(x0, x1, ty_Char) new_primPlusInt new_foldr6(x0, :(x1, x2), x3, x4) new_primIntToChar(Pos(x0)) new_range11(@2(x0, x1), @2(x2, x3), x4, x5) new_takeWhile18(x0, x1, Zero, Zero) new_foldr9 new_range2(x0, x1, ty_@0) new_foldr12(x0, x1, :(x2, x3), x4, x5) new_range3(x0, x1, ty_Integer) new_range12(x0, x1, ty_Ordering) new_range3(x0, x1, ty_Int) new_takeWhile3(Integer(Pos(Succ(x0))), Integer(Pos(Succ(x1)))) new_range7(@2(True, True)) new_range4(@2(@0, @0)) new_takeWhile3(Integer(Neg(Succ(x0))), Integer(Neg(Succ(x1)))) new_primPlusInt0(Zero) new_range12(x0, x1, ty_@0) new_takeWhile3(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) new_range3(x0, x1, ty_Char) new_range5(@2(GT, EQ)) new_range5(@2(EQ, GT)) new_takeWhile5(Pos(Zero), Neg(Zero)) new_takeWhile5(Neg(Zero), Pos(Zero)) new_range2(x0, x1, ty_Bool) new_takeWhile5(Pos(Zero), Pos(Zero)) new_range13(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_range5(@2(GT, LT)) new_range5(@2(LT, GT)) new_takeWhile3(Integer(Neg(Zero)), Integer(Neg(Succ(x0)))) new_range13(x0, x1, app(app(ty_@2, x2), x3)) new_range7(@2(True, False)) new_range7(@2(False, True)) new_takeWhile113(x0, x1, Zero, Zero) new_takeWhile3(Integer(Neg(Zero)), Integer(Pos(Zero))) new_takeWhile3(Integer(Pos(Zero)), Integer(Neg(Zero))) new_range0(x0, x1, ty_Int) new_range12(x0, x1, ty_Bool) new_primPlusNat1(Succ(x0)) new_foldr7(x0, x1) new_range6(@2(x0, x1)) new_takeWhile6(x0, Succ(x1)) new_range3(x0, x1, ty_Bool) new_range5(@2(LT, LT)) new_range13(x0, x1, ty_Bool) new_range12(x0, x1, ty_Integer) new_takeWhile5(Pos(Succ(x0)), Pos(Zero)) new_takeWhile17(x0, x1) new_primIntToChar(Neg(Zero)) new_range13(x0, x1, ty_Char) new_takeWhile113(x0, x1, Zero, Succ(x2)) new_range2(x0, x1, ty_Ordering) new_takeWhile112(x0, x1, x2) new_takeWhile3(Integer(Neg(Zero)), Integer(Neg(Zero))) new_primPlusNat(x0) new_takeWhile114(x0, x1, Succ(x2), Zero) new_foldr11(x0, x1, x2, x3, :(x4, x5), x6, x7, x8) new_foldr8(x0, x1, x2, [], x3, x4, x5) new_takeWhile7(Zero) new_takeWhile5(Neg(Succ(x0)), Neg(Succ(x1))) new_takeWhile3(Integer(Pos(Zero)), Integer(Pos(Succ(x0)))) new_primPlusNat0 new_psPs1([], x0, x1, x2, x3) new_takeWhile110(x0, x1) new_range5(@2(EQ, EQ)) new_range0(x0, x1, ty_Bool) new_foldr8(x0, x1, x2, :(x3, x4), x5, x6, x7) new_range5(@2(LT, EQ)) new_range5(@2(EQ, LT)) new_primIntToChar(Neg(Succ(x0))) new_takeWhile19(x0, x1, x2, Succ(x3), Zero) new_primPlusInt1 new_takeWhile3(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) new_range2(x0, x1, ty_Int) new_takeWhile5(Neg(Zero), Neg(Succ(x0))) new_takeWhile18(x0, x1, Succ(x2), Succ(x3)) new_takeWhile5(Neg(x0), Pos(Succ(x1))) new_takeWhile5(Pos(x0), Neg(Succ(x1))) new_takeWhile114(x0, x1, Zero, Zero) new_range0(x0, x1, ty_@0) new_primPlusNat1(Zero) new_fromEnum(Char(x0)) new_range9(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8) new_range0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_range3(x0, x1, app(app(ty_@2, x2), x3)) new_psPs2([], x0, x1, x2) new_range10(@2(x0, x1)) new_range2(x0, x1, ty_Char) new_range12(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_takeWhile19(x0, x1, x2, Zero, Zero) new_takeWhile18(x0, x1, Succ(x2), Zero) new_map0(:(x0, x1)) new_takeWhile113(x0, x1, Succ(x2), Succ(x3)) new_range13(x0, x1, ty_Ordering) new_takeWhile4(x0, x1, x2) new_foldr10 new_takeWhile5(Pos(Zero), Pos(Succ(x0))) new_takeWhile114(x0, x1, Zero, Succ(x2)) new_takeWhile5(Neg(Succ(x0)), Neg(Zero)) new_range13(x0, x1, ty_Int) new_takeWhile19(x0, x1, x2, Succ(x3), Succ(x4)) new_takeWhile113(x0, x1, Succ(x2), Zero) new_range2(x0, x1, ty_Integer) new_takeWhile5(Pos(Succ(x0)), Neg(Zero)) new_takeWhile5(Neg(Succ(x0)), Pos(Zero)) new_takeWhile3(Integer(Pos(Zero)), Integer(Pos(Zero))) new_range8(@2(x0, x1)) new_takeWhile7(Succ(x0)) new_range0(x0, x1, app(app(ty_@2, x2), x3)) new_range3(x0, x1, ty_Ordering) new_range12(x0, x1, ty_Int) new_takeWhile114(x0, x1, Succ(x2), Succ(x3)) new_range13(x0, x1, ty_@0) new_takeWhile5(Neg(Zero), Neg(Zero)) new_enumFromTo(x0, x1) new_takeWhile5(Pos(Succ(x0)), Pos(Succ(x1))) new_range7(@2(False, False)) new_foldr12(x0, x1, [], x2, x3) new_takeWhile6(x0, Zero) new_foldr11(x0, x1, x2, x3, [], x4, x5, x6) new_takeWhile19(x0, x1, x2, Zero, Succ(x3)) new_range0(x0, x1, ty_Ordering) new_psPs2(:(x0, x1), x2, x3, x4) new_takeWhile111(x0, x1) new_range12(x0, x1, app(app(ty_@2, x2), x3)) new_map0([]) new_foldr6(x0, [], x1, x2) new_range3(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_takeWhile18(x0, x1, Zero, Succ(x2)) new_range12(x0, x1, ty_Char) new_takeWhile3(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) new_takeWhile3(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) new_range5(@2(GT, GT)) new_takeWhile3(Integer(Neg(x0)), Integer(Pos(Succ(x1)))) new_takeWhile3(Integer(Pos(x0)), Integer(Neg(Succ(x1)))) new_psPs1(:(x0, x1), x2, x3, x4, x5) new_range3(x0, x1, ty_@0) new_foldr4(x0, x1, :(x2, x3), x4, x5, x6) new_primPlusInt0(Succ(x0)) new_range2(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_foldr5(x0, x1, x2) new_range13(x0, x1, ty_Integer) new_range0(x0, x1, ty_Integer) new_foldr4(x0, x1, [], x2, x3, x4) new_range2(x0, x1, app(app(ty_@2, x2), x3)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (89) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), app(app(app(ty_@3, bc), bd), be), ba, bb) -> new_range(xu130, xu140, bc, bd, be) The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5 *new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), app(app(ty_@2, bf), bg), ba, bb) -> new_range1(xu130, xu140, bf, bg) The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4 *new_range(@3(xu130, xu131, xu132), @3(xu140, xu141, xu142), h, ba, bb) -> new_foldr1(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4, 3 >= 6, 4 >= 7, 5 >= 8 *new_foldr3(xu20, xu21, :(xu220, xu221), ec, app(app(app(ty_@3, ed), ee), ef)) -> new_range(xu20, xu21, ed, ee, ef) The graph contains the following edges 1 >= 1, 2 >= 2, 5 > 3, 5 > 4, 5 > 5 *new_foldr3(xu20, xu21, :(xu220, xu221), ec, app(app(ty_@2, eg), eh)) -> new_range1(xu20, xu21, eg, eh) The graph contains the following edges 1 >= 1, 2 >= 2, 5 > 3, 5 > 4 *new_foldr3(xu20, xu21, :(xu220, xu221), ec, fa) -> new_foldr3(xu20, xu21, xu221, ec, fa) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5 *new_range1(@2(xu130, xu131), @2(xu140, xu141), app(app(app(ty_@3, ce), cf), cg), cd) -> new_range(xu130, xu140, ce, cf, cg) The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4, 3 > 5 *new_range1(@2(xu130, xu131), @2(xu140, xu141), app(app(ty_@2, da), db), cd) -> new_range1(xu130, xu140, da, db) The graph contains the following edges 1 > 1, 2 > 2, 3 > 3, 3 > 4 *new_range1(@2(xu130, xu131), @2(xu140, xu141), cc, cd) -> new_foldr3(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 4, 4 >= 5 *new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, cc), cd), cb) -> new_foldr3(xu131, xu141, new_range3(xu130, xu140, cc), cc, cd) The graph contains the following edges 3 > 1, 4 > 2, 7 > 4, 7 > 5 *new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, app(app(app(ty_@3, de), df), dg)) -> new_range(xu51, xu52, de, df, dg) The graph contains the following edges 2 >= 1, 3 >= 2, 7 > 3, 7 > 4, 7 > 5 *new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, app(app(ty_@2, dh), ea)) -> new_range1(xu51, xu52, dh, ea) The graph contains the following edges 2 >= 1, 3 >= 2, 7 > 3, 7 > 4 *new_foldr2(xu50, xu51, xu52, :(xu530, xu531), dc, dd, eb) -> new_foldr2(xu50, xu51, xu52, xu531, dc, dd, eb) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 >= 5, 6 >= 6, 7 >= 7 *new_foldr1(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_foldr2(xu150, xu11, xu12, new_range2(xu13, xu14, ca), bh, ca, cb) The graph contains the following edges 5 > 1, 1 >= 2, 2 >= 3, 6 >= 5, 7 >= 6, 8 >= 7 *new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, app(app(app(ty_@3, ce), cf), cg)), cd), cb) -> new_range(xu130, xu140, ce, cf, cg) The graph contains the following edges 3 > 1, 4 > 2, 7 > 3, 7 > 4, 7 > 5 *new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, app(app(app(ty_@3, bc), bd), be)), ba), bb), cb) -> new_range(xu130, xu140, bc, bd, be) The graph contains the following edges 3 > 1, 4 > 2, 7 > 3, 7 > 4, 7 > 5 *new_foldr1(xu11, xu12, @2(xu130, xu131), @2(xu140, xu141), :(xu150, xu151), bh, app(app(ty_@2, app(app(ty_@2, da), db)), cd), cb) -> new_range1(xu130, xu140, da, db) The graph contains the following edges 3 > 1, 4 > 2, 7 > 3, 7 > 4 *new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, app(app(ty_@2, bf), bg)), ba), bb), cb) -> new_range1(xu130, xu140, bf, bg) The graph contains the following edges 3 > 1, 4 > 2, 7 > 3, 7 > 4 *new_foldr1(xu11, xu12, xu13, xu14, :(xu150, xu151), bh, ca, cb) -> new_foldr1(xu11, xu12, xu13, xu14, xu151, bh, ca, cb) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 > 5, 6 >= 6, 7 >= 7, 8 >= 8 *new_foldr1(xu11, xu12, @3(xu130, xu131, xu132), @3(xu140, xu141, xu142), :(xu150, xu151), bh, app(app(app(ty_@3, h), ba), bb), cb) -> new_foldr1(xu132, xu142, xu131, xu141, new_range0(xu130, xu140, h), h, ba, bb) The graph contains the following edges 3 > 1, 4 > 2, 3 > 3, 4 > 4, 7 > 6, 7 > 7, 7 > 8 ---------------------------------------- (90) YES ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldr0(xu70, xu71, :(xu720, xu721), h, ba, bb) -> new_foldr0(xu70, xu71, xu721, h, ba, bb) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_foldr0(xu70, xu71, :(xu720, xu721), h, ba, bb) -> new_foldr0(xu70, xu71, xu721, h, ba, bb) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 >= 4, 5 >= 5, 6 >= 6 ---------------------------------------- (93) YES ---------------------------------------- (94) Narrow (COMPLETE) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="range",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="range xu3",fontsize=16,color="blue",shape="box"];2990[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];3 -> 2990[label="",style="solid", color="blue", weight=9]; 2990 -> 4[label="",style="solid", color="blue", weight=3]; 2991[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];3 -> 2991[label="",style="solid", color="blue", weight=9]; 2991 -> 5[label="",style="solid", color="blue", weight=3]; 2992[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];3 -> 2992[label="",style="solid", color="blue", weight=9]; 2992 -> 6[label="",style="solid", color="blue", weight=3]; 2993[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];3 -> 2993[label="",style="solid", color="blue", weight=9]; 2993 -> 7[label="",style="solid", color="blue", weight=3]; 2994[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];3 -> 2994[label="",style="solid", color="blue", weight=9]; 2994 -> 8[label="",style="solid", color="blue", weight=3]; 2995[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];3 -> 2995[label="",style="solid", color="blue", weight=9]; 2995 -> 9[label="",style="solid", color="blue", weight=3]; 2996[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];3 -> 2996[label="",style="solid", color="blue", weight=9]; 2996 -> 10[label="",style="solid", color="blue", weight=3]; 2997[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];3 -> 2997[label="",style="solid", color="blue", weight=9]; 2997 -> 11[label="",style="solid", color="blue", weight=3]; 4[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];2998[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];4 -> 2998[label="",style="solid", color="burlywood", weight=9]; 2998 -> 12[label="",style="solid", color="burlywood", weight=3]; 5[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];2999[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];5 -> 2999[label="",style="solid", color="burlywood", weight=9]; 2999 -> 13[label="",style="solid", color="burlywood", weight=3]; 6[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3000[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];6 -> 3000[label="",style="solid", color="burlywood", weight=9]; 3000 -> 14[label="",style="solid", color="burlywood", weight=3]; 7[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3001[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];7 -> 3001[label="",style="solid", color="burlywood", weight=9]; 3001 -> 15[label="",style="solid", color="burlywood", weight=3]; 8[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3002[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];8 -> 3002[label="",style="solid", color="burlywood", weight=9]; 3002 -> 16[label="",style="solid", color="burlywood", weight=3]; 9[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3003[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];9 -> 3003[label="",style="solid", color="burlywood", weight=9]; 3003 -> 17[label="",style="solid", color="burlywood", weight=3]; 10[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3004[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];10 -> 3004[label="",style="solid", color="burlywood", weight=9]; 3004 -> 18[label="",style="solid", color="burlywood", weight=3]; 11[label="range xu3",fontsize=16,color="burlywood",shape="triangle"];3005[label="xu3/(xu30,xu31)",fontsize=10,color="white",style="solid",shape="box"];11 -> 3005[label="",style="solid", color="burlywood", weight=9]; 3005 -> 19[label="",style="solid", color="burlywood", weight=3]; 12[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3006[label="xu30/()",fontsize=10,color="white",style="solid",shape="box"];12 -> 3006[label="",style="solid", color="burlywood", weight=9]; 3006 -> 20[label="",style="solid", color="burlywood", weight=3]; 13[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];13 -> 21[label="",style="solid", color="black", weight=3]; 14[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];14 -> 22[label="",style="solid", color="black", weight=3]; 15[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];15 -> 23[label="",style="solid", color="black", weight=3]; 16[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 17[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3007[label="xu30/(xu300,xu301,xu302)",fontsize=10,color="white",style="solid",shape="box"];17 -> 3007[label="",style="solid", color="burlywood", weight=9]; 3007 -> 25[label="",style="solid", color="burlywood", weight=3]; 18[label="range (xu30,xu31)",fontsize=16,color="black",shape="box"];18 -> 26[label="",style="solid", color="black", weight=3]; 19[label="range (xu30,xu31)",fontsize=16,color="burlywood",shape="box"];3008[label="xu30/(xu300,xu301)",fontsize=10,color="white",style="solid",shape="box"];19 -> 3008[label="",style="solid", color="burlywood", weight=9]; 3008 -> 27[label="",style="solid", color="burlywood", weight=3]; 20[label="range ((),xu31)",fontsize=16,color="burlywood",shape="box"];3009[label="xu31/()",fontsize=10,color="white",style="solid",shape="box"];20 -> 3009[label="",style="solid", color="burlywood", weight=9]; 3009 -> 28[label="",style="solid", color="burlywood", weight=3]; 21[label="concatMap (range0 xu31 xu30) (LT : EQ : GT : [])",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 22[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 23[label="concatMap (range6 xu31 xu30) (False : True : [])",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 24[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 25[label="range ((xu300,xu301,xu302),xu31)",fontsize=16,color="burlywood",shape="box"];3010[label="xu31/(xu310,xu311,xu312)",fontsize=10,color="white",style="solid",shape="box"];25 -> 3010[label="",style="solid", color="burlywood", weight=9]; 3010 -> 33[label="",style="solid", color="burlywood", weight=3]; 26[label="enumFromTo xu30 xu31",fontsize=16,color="black",shape="triangle"];26 -> 34[label="",style="solid", color="black", weight=3]; 27[label="range ((xu300,xu301),xu31)",fontsize=16,color="burlywood",shape="box"];3011[label="xu31/(xu310,xu311)",fontsize=10,color="white",style="solid",shape="box"];27 -> 3011[label="",style="solid", color="burlywood", weight=9]; 3011 -> 35[label="",style="solid", color="burlywood", weight=3]; 28[label="range ((),())",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 29[label="concat . map (range0 xu31 xu30)",fontsize=16,color="black",shape="box"];29 -> 37[label="",style="solid", color="black", weight=3]; 30 -> 38[label="",style="dashed", color="red", weight=0]; 30[label="map toEnum (enumFromTo (fromEnum xu30) (fromEnum xu31))",fontsize=16,color="magenta"];30 -> 39[label="",style="dashed", color="magenta", weight=3]; 31[label="concat . map (range6 xu31 xu30)",fontsize=16,color="black",shape="box"];31 -> 40[label="",style="solid", color="black", weight=3]; 32[label="numericEnumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];32 -> 41[label="",style="solid", color="black", weight=3]; 33[label="range ((xu300,xu301,xu302),(xu310,xu311,xu312))",fontsize=16,color="black",shape="box"];33 -> 42[label="",style="solid", color="black", weight=3]; 34[label="numericEnumFromTo xu30 xu31",fontsize=16,color="black",shape="box"];34 -> 43[label="",style="solid", color="black", weight=3]; 35[label="range ((xu300,xu301),(xu310,xu311))",fontsize=16,color="black",shape="box"];35 -> 44[label="",style="solid", color="black", weight=3]; 36[label="() : []",fontsize=16,color="green",shape="box"];37[label="concat (map (range0 xu31 xu30) (LT : EQ : GT : []))",fontsize=16,color="black",shape="box"];37 -> 45[label="",style="solid", color="black", weight=3]; 39 -> 26[label="",style="dashed", color="red", weight=0]; 39[label="enumFromTo (fromEnum xu30) (fromEnum xu31)",fontsize=16,color="magenta"];39 -> 46[label="",style="dashed", color="magenta", weight=3]; 39 -> 47[label="",style="dashed", color="magenta", weight=3]; 38[label="map toEnum xu4",fontsize=16,color="burlywood",shape="triangle"];3012[label="xu4/xu40 : xu41",fontsize=10,color="white",style="solid",shape="box"];38 -> 3012[label="",style="solid", color="burlywood", weight=9]; 3012 -> 48[label="",style="solid", color="burlywood", weight=3]; 3013[label="xu4/[]",fontsize=10,color="white",style="solid",shape="box"];38 -> 3013[label="",style="solid", color="burlywood", weight=9]; 3013 -> 49[label="",style="solid", color="burlywood", weight=3]; 40[label="concat (map (range6 xu31 xu30) (False : True : []))",fontsize=16,color="black",shape="box"];40 -> 50[label="",style="solid", color="black", weight=3]; 41[label="takeWhile (flip (<=) xu31) (numericEnumFrom xu30)",fontsize=16,color="black",shape="triangle"];41 -> 51[label="",style="solid", color="black", weight=3]; 42[label="concatMap (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310))",fontsize=16,color="black",shape="box"];42 -> 52[label="",style="solid", color="black", weight=3]; 43[label="takeWhile (flip (<=) xu31) (numericEnumFrom xu30)",fontsize=16,color="black",shape="triangle"];43 -> 53[label="",style="solid", color="black", weight=3]; 44[label="concatMap (range2 xu301 xu311) (range (xu300,xu310))",fontsize=16,color="black",shape="box"];44 -> 54[label="",style="solid", color="black", weight=3]; 45[label="foldr (++) [] (map (range0 xu31 xu30) (LT : EQ : GT : []))",fontsize=16,color="black",shape="box"];45 -> 55[label="",style="solid", color="black", weight=3]; 46[label="fromEnum xu31",fontsize=16,color="black",shape="triangle"];46 -> 56[label="",style="solid", color="black", weight=3]; 47 -> 46[label="",style="dashed", color="red", weight=0]; 47[label="fromEnum xu30",fontsize=16,color="magenta"];47 -> 57[label="",style="dashed", color="magenta", weight=3]; 48[label="map toEnum (xu40 : xu41)",fontsize=16,color="black",shape="box"];48 -> 58[label="",style="solid", color="black", weight=3]; 49[label="map toEnum []",fontsize=16,color="black",shape="box"];49 -> 59[label="",style="solid", color="black", weight=3]; 50[label="foldr (++) [] (map (range6 xu31 xu30) (False : True : []))",fontsize=16,color="black",shape="box"];50 -> 60[label="",style="solid", color="black", weight=3]; 51[label="takeWhile (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];51 -> 61[label="",style="solid", color="black", weight=3]; 52[label="concat . map (range5 xu302 xu312 xu301 xu311)",fontsize=16,color="black",shape="box"];52 -> 62[label="",style="solid", color="black", weight=3]; 53[label="takeWhile (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];53 -> 63[label="",style="solid", color="black", weight=3]; 54[label="concat . map (range2 xu301 xu311)",fontsize=16,color="black",shape="box"];54 -> 64[label="",style="solid", color="black", weight=3]; 55[label="foldr (++) [] (range0 xu31 xu30 LT : map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];55 -> 65[label="",style="solid", color="black", weight=3]; 56[label="primCharToInt xu31",fontsize=16,color="burlywood",shape="box"];3014[label="xu31/Char xu310",fontsize=10,color="white",style="solid",shape="box"];56 -> 3014[label="",style="solid", color="burlywood", weight=9]; 3014 -> 66[label="",style="solid", color="burlywood", weight=3]; 57[label="xu30",fontsize=16,color="green",shape="box"];58[label="toEnum xu40 : map toEnum xu41",fontsize=16,color="green",shape="box"];58 -> 67[label="",style="dashed", color="green", weight=3]; 58 -> 68[label="",style="dashed", color="green", weight=3]; 59[label="[]",fontsize=16,color="green",shape="box"];60[label="foldr (++) [] (range6 xu31 xu30 False : map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];60 -> 69[label="",style="solid", color="black", weight=3]; 61[label="takeWhile2 (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 62[label="concat (map (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 63[label="takeWhile2 (flip (<=) xu31) (xu30 : (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 64[label="concat (map (range2 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="black",shape="box"];64 -> 73[label="",style="solid", color="black", weight=3]; 65[label="(++) range0 xu31 xu30 LT foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];65 -> 74[label="",style="solid", color="black", weight=3]; 66[label="primCharToInt (Char xu310)",fontsize=16,color="black",shape="box"];66 -> 75[label="",style="solid", color="black", weight=3]; 67[label="toEnum xu40",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 68 -> 38[label="",style="dashed", color="red", weight=0]; 68[label="map toEnum xu41",fontsize=16,color="magenta"];68 -> 77[label="",style="dashed", color="magenta", weight=3]; 69[label="(++) range6 xu31 xu30 False foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];69 -> 78[label="",style="solid", color="black", weight=3]; 70[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (flip (<=) xu31 xu30)",fontsize=16,color="black",shape="box"];70 -> 79[label="",style="solid", color="black", weight=3]; 71 -> 80[label="",style="dashed", color="red", weight=0]; 71[label="foldr (++) [] (map (range5 xu302 xu312 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="magenta"];71 -> 81[label="",style="dashed", color="magenta", weight=3]; 71 -> 82[label="",style="dashed", color="magenta", weight=3]; 71 -> 83[label="",style="dashed", color="magenta", weight=3]; 71 -> 84[label="",style="dashed", color="magenta", weight=3]; 71 -> 85[label="",style="dashed", color="magenta", weight=3]; 72[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (flip (<=) xu31 xu30)",fontsize=16,color="black",shape="box"];72 -> 86[label="",style="solid", color="black", weight=3]; 73 -> 87[label="",style="dashed", color="red", weight=0]; 73[label="foldr (++) [] (map (range2 xu301 xu311) (range (xu300,xu310)))",fontsize=16,color="magenta"];73 -> 88[label="",style="dashed", color="magenta", weight=3]; 73 -> 89[label="",style="dashed", color="magenta", weight=3]; 73 -> 90[label="",style="dashed", color="magenta", weight=3]; 74[label="(++) range00 LT (xu31 >= LT && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];74 -> 91[label="",style="solid", color="black", weight=3]; 75[label="Pos xu310",fontsize=16,color="green",shape="box"];76[label="primIntToChar xu40",fontsize=16,color="burlywood",shape="box"];3015[label="xu40/Pos xu400",fontsize=10,color="white",style="solid",shape="box"];76 -> 3015[label="",style="solid", color="burlywood", weight=9]; 3015 -> 92[label="",style="solid", color="burlywood", weight=3]; 3016[label="xu40/Neg xu400",fontsize=10,color="white",style="solid",shape="box"];76 -> 3016[label="",style="solid", color="burlywood", weight=9]; 3016 -> 93[label="",style="solid", color="burlywood", weight=3]; 77[label="xu41",fontsize=16,color="green",shape="box"];78[label="(++) range60 False (xu31 >= False && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];78 -> 94[label="",style="solid", color="black", weight=3]; 79[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) ((<=) xu30 xu31)",fontsize=16,color="black",shape="box"];79 -> 95[label="",style="solid", color="black", weight=3]; 81[label="xu301",fontsize=16,color="green",shape="box"];82[label="xu311",fontsize=16,color="green",shape="box"];83[label="range (xu300,xu310)",fontsize=16,color="blue",shape="box"];3017[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];83 -> 3017[label="",style="solid", color="blue", weight=9]; 3017 -> 96[label="",style="solid", color="blue", weight=3]; 3018[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];83 -> 3018[label="",style="solid", color="blue", weight=9]; 3018 -> 97[label="",style="solid", color="blue", weight=3]; 3019[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];83 -> 3019[label="",style="solid", color="blue", weight=9]; 3019 -> 98[label="",style="solid", color="blue", weight=3]; 3020[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];83 -> 3020[label="",style="solid", color="blue", weight=9]; 3020 -> 99[label="",style="solid", color="blue", weight=3]; 3021[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];83 -> 3021[label="",style="solid", color="blue", weight=9]; 3021 -> 100[label="",style="solid", color="blue", weight=3]; 3022[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];83 -> 3022[label="",style="solid", color="blue", weight=9]; 3022 -> 101[label="",style="solid", color="blue", weight=3]; 3023[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];83 -> 3023[label="",style="solid", color="blue", weight=9]; 3023 -> 102[label="",style="solid", color="blue", weight=3]; 3024[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];83 -> 3024[label="",style="solid", color="blue", weight=9]; 3024 -> 103[label="",style="solid", color="blue", weight=3]; 84[label="xu302",fontsize=16,color="green",shape="box"];85[label="xu312",fontsize=16,color="green",shape="box"];80[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu15)",fontsize=16,color="burlywood",shape="triangle"];3025[label="xu15/xu150 : xu151",fontsize=10,color="white",style="solid",shape="box"];80 -> 3025[label="",style="solid", color="burlywood", weight=9]; 3025 -> 104[label="",style="solid", color="burlywood", weight=3]; 3026[label="xu15/[]",fontsize=10,color="white",style="solid",shape="box"];80 -> 3026[label="",style="solid", color="burlywood", weight=9]; 3026 -> 105[label="",style="solid", color="burlywood", weight=3]; 86[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) ((<=) xu30 xu31)",fontsize=16,color="black",shape="box"];86 -> 106[label="",style="solid", color="black", weight=3]; 88[label="range (xu300,xu310)",fontsize=16,color="blue",shape="box"];3027[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];88 -> 3027[label="",style="solid", color="blue", weight=9]; 3027 -> 107[label="",style="solid", color="blue", weight=3]; 3028[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];88 -> 3028[label="",style="solid", color="blue", weight=9]; 3028 -> 108[label="",style="solid", color="blue", weight=3]; 3029[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];88 -> 3029[label="",style="solid", color="blue", weight=9]; 3029 -> 109[label="",style="solid", color="blue", weight=3]; 3030[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];88 -> 3030[label="",style="solid", color="blue", weight=9]; 3030 -> 110[label="",style="solid", color="blue", weight=3]; 3031[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];88 -> 3031[label="",style="solid", color="blue", weight=9]; 3031 -> 111[label="",style="solid", color="blue", weight=3]; 3032[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];88 -> 3032[label="",style="solid", color="blue", weight=9]; 3032 -> 112[label="",style="solid", color="blue", weight=3]; 3033[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];88 -> 3033[label="",style="solid", color="blue", weight=9]; 3033 -> 113[label="",style="solid", color="blue", weight=3]; 3034[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];88 -> 3034[label="",style="solid", color="blue", weight=9]; 3034 -> 114[label="",style="solid", color="blue", weight=3]; 89[label="xu301",fontsize=16,color="green",shape="box"];90[label="xu311",fontsize=16,color="green",shape="box"];87[label="foldr (++) [] (map (range2 xu20 xu21) xu22)",fontsize=16,color="burlywood",shape="triangle"];3035[label="xu22/xu220 : xu221",fontsize=10,color="white",style="solid",shape="box"];87 -> 3035[label="",style="solid", color="burlywood", weight=9]; 3035 -> 115[label="",style="solid", color="burlywood", weight=3]; 3036[label="xu22/[]",fontsize=10,color="white",style="solid",shape="box"];87 -> 3036[label="",style="solid", color="burlywood", weight=9]; 3036 -> 116[label="",style="solid", color="burlywood", weight=3]; 91[label="(++) range00 LT (compare xu31 LT /= LT && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];91 -> 117[label="",style="solid", color="black", weight=3]; 92[label="primIntToChar (Pos xu400)",fontsize=16,color="black",shape="box"];92 -> 118[label="",style="solid", color="black", weight=3]; 93[label="primIntToChar (Neg xu400)",fontsize=16,color="burlywood",shape="box"];3037[label="xu400/Succ xu4000",fontsize=10,color="white",style="solid",shape="box"];93 -> 3037[label="",style="solid", color="burlywood", weight=9]; 3037 -> 119[label="",style="solid", color="burlywood", weight=3]; 3038[label="xu400/Zero",fontsize=10,color="white",style="solid",shape="box"];93 -> 3038[label="",style="solid", color="burlywood", weight=9]; 3038 -> 120[label="",style="solid", color="burlywood", weight=3]; 94[label="(++) range60 False (compare xu31 False /= LT && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];94 -> 121[label="",style="solid", color="black", weight=3]; 95[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (compare xu30 xu31 /= GT)",fontsize=16,color="black",shape="box"];95 -> 122[label="",style="solid", color="black", weight=3]; 96 -> 4[label="",style="dashed", color="red", weight=0]; 96[label="range (xu300,xu310)",fontsize=16,color="magenta"];96 -> 123[label="",style="dashed", color="magenta", weight=3]; 97 -> 5[label="",style="dashed", color="red", weight=0]; 97[label="range (xu300,xu310)",fontsize=16,color="magenta"];97 -> 124[label="",style="dashed", color="magenta", weight=3]; 98 -> 6[label="",style="dashed", color="red", weight=0]; 98[label="range (xu300,xu310)",fontsize=16,color="magenta"];98 -> 125[label="",style="dashed", color="magenta", weight=3]; 99 -> 7[label="",style="dashed", color="red", weight=0]; 99[label="range (xu300,xu310)",fontsize=16,color="magenta"];99 -> 126[label="",style="dashed", color="magenta", weight=3]; 100 -> 8[label="",style="dashed", color="red", weight=0]; 100[label="range (xu300,xu310)",fontsize=16,color="magenta"];100 -> 127[label="",style="dashed", color="magenta", weight=3]; 101 -> 9[label="",style="dashed", color="red", weight=0]; 101[label="range (xu300,xu310)",fontsize=16,color="magenta"];101 -> 128[label="",style="dashed", color="magenta", weight=3]; 102 -> 10[label="",style="dashed", color="red", weight=0]; 102[label="range (xu300,xu310)",fontsize=16,color="magenta"];102 -> 129[label="",style="dashed", color="magenta", weight=3]; 103 -> 11[label="",style="dashed", color="red", weight=0]; 103[label="range (xu300,xu310)",fontsize=16,color="magenta"];103 -> 130[label="",style="dashed", color="magenta", weight=3]; 104[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) (xu150 : xu151))",fontsize=16,color="black",shape="box"];104 -> 131[label="",style="solid", color="black", weight=3]; 105[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) [])",fontsize=16,color="black",shape="box"];105 -> 132[label="",style="solid", color="black", weight=3]; 106[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (compare xu30 xu31 /= GT)",fontsize=16,color="black",shape="box"];106 -> 133[label="",style="solid", color="black", weight=3]; 107 -> 4[label="",style="dashed", color="red", weight=0]; 107[label="range (xu300,xu310)",fontsize=16,color="magenta"];107 -> 134[label="",style="dashed", color="magenta", weight=3]; 108 -> 5[label="",style="dashed", color="red", weight=0]; 108[label="range (xu300,xu310)",fontsize=16,color="magenta"];108 -> 135[label="",style="dashed", color="magenta", weight=3]; 109 -> 6[label="",style="dashed", color="red", weight=0]; 109[label="range (xu300,xu310)",fontsize=16,color="magenta"];109 -> 136[label="",style="dashed", color="magenta", weight=3]; 110 -> 7[label="",style="dashed", color="red", weight=0]; 110[label="range (xu300,xu310)",fontsize=16,color="magenta"];110 -> 137[label="",style="dashed", color="magenta", weight=3]; 111 -> 8[label="",style="dashed", color="red", weight=0]; 111[label="range (xu300,xu310)",fontsize=16,color="magenta"];111 -> 138[label="",style="dashed", color="magenta", weight=3]; 112 -> 9[label="",style="dashed", color="red", weight=0]; 112[label="range (xu300,xu310)",fontsize=16,color="magenta"];112 -> 139[label="",style="dashed", color="magenta", weight=3]; 113 -> 10[label="",style="dashed", color="red", weight=0]; 113[label="range (xu300,xu310)",fontsize=16,color="magenta"];113 -> 140[label="",style="dashed", color="magenta", weight=3]; 114 -> 11[label="",style="dashed", color="red", weight=0]; 114[label="range (xu300,xu310)",fontsize=16,color="magenta"];114 -> 141[label="",style="dashed", color="magenta", weight=3]; 115[label="foldr (++) [] (map (range2 xu20 xu21) (xu220 : xu221))",fontsize=16,color="black",shape="box"];115 -> 142[label="",style="solid", color="black", weight=3]; 116[label="foldr (++) [] (map (range2 xu20 xu21) [])",fontsize=16,color="black",shape="box"];116 -> 143[label="",style="solid", color="black", weight=3]; 117[label="(++) range00 LT (not (compare xu31 LT == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];117 -> 144[label="",style="solid", color="black", weight=3]; 118[label="Char xu400",fontsize=16,color="green",shape="box"];119[label="primIntToChar (Neg (Succ xu4000))",fontsize=16,color="black",shape="box"];119 -> 145[label="",style="solid", color="black", weight=3]; 120[label="primIntToChar (Neg Zero)",fontsize=16,color="black",shape="box"];120 -> 146[label="",style="solid", color="black", weight=3]; 121[label="(++) range60 False (not (compare xu31 False == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];121 -> 147[label="",style="solid", color="black", weight=3]; 122[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (compare xu30 xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3039[label="xu30/Integer xu300",fontsize=10,color="white",style="solid",shape="box"];122 -> 3039[label="",style="solid", color="burlywood", weight=9]; 3039 -> 148[label="",style="solid", color="burlywood", weight=3]; 123[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];124[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];125[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];126[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];127[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];128[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];129[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];130[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];131[label="foldr (++) [] (range5 xu11 xu12 xu13 xu14 xu150 : map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="black",shape="box"];131 -> 149[label="",style="solid", color="black", weight=3]; 132[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];132 -> 150[label="",style="solid", color="black", weight=3]; 133[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (compare xu30 xu31 == GT))",fontsize=16,color="black",shape="box"];133 -> 151[label="",style="solid", color="black", weight=3]; 134[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];135[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];136[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];137[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];138[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];139[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];140[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];141[label="(xu300,xu310)",fontsize=16,color="green",shape="box"];142[label="foldr (++) [] (range2 xu20 xu21 xu220 : map (range2 xu20 xu21) xu221)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 143[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];143 -> 153[label="",style="solid", color="black", weight=3]; 144[label="(++) range00 LT (not (compare3 xu31 LT == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 145[label="error []",fontsize=16,color="red",shape="box"];146[label="Char Zero",fontsize=16,color="green",shape="box"];147[label="(++) range60 False (not (compare3 xu31 False == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="black",shape="box"];147 -> 155[label="",style="solid", color="black", weight=3]; 148[label="takeWhile1 (flip (<=) xu31) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (compare (Integer xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3040[label="xu31/Integer xu310",fontsize=10,color="white",style="solid",shape="box"];148 -> 3040[label="",style="solid", color="burlywood", weight=9]; 3040 -> 156[label="",style="solid", color="burlywood", weight=3]; 149 -> 474[label="",style="dashed", color="red", weight=0]; 149[label="(++) range5 xu11 xu12 xu13 xu14 xu150 foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="magenta"];149 -> 475[label="",style="dashed", color="magenta", weight=3]; 149 -> 476[label="",style="dashed", color="magenta", weight=3]; 150[label="[]",fontsize=16,color="green",shape="box"];151[label="takeWhile1 (flip (<=) xu31) xu30 (numericEnumFrom $! xu30 + fromInt (Pos (Succ Zero))) (not (primCmpInt xu30 xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3041[label="xu30/Pos xu300",fontsize=10,color="white",style="solid",shape="box"];151 -> 3041[label="",style="solid", color="burlywood", weight=9]; 3041 -> 159[label="",style="solid", color="burlywood", weight=3]; 3042[label="xu30/Neg xu300",fontsize=10,color="white",style="solid",shape="box"];151 -> 3042[label="",style="solid", color="burlywood", weight=9]; 3042 -> 160[label="",style="solid", color="burlywood", weight=3]; 152 -> 519[label="",style="dashed", color="red", weight=0]; 152[label="(++) range2 xu20 xu21 xu220 foldr (++) [] (map (range2 xu20 xu21) xu221)",fontsize=16,color="magenta"];152 -> 520[label="",style="dashed", color="magenta", weight=3]; 152 -> 521[label="",style="dashed", color="magenta", weight=3]; 153[label="[]",fontsize=16,color="green",shape="box"];154[label="(++) range00 LT (not (compare2 xu31 LT (xu31 == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 xu31 xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3043[label="xu31/LT",fontsize=10,color="white",style="solid",shape="box"];154 -> 3043[label="",style="solid", color="burlywood", weight=9]; 3043 -> 163[label="",style="solid", color="burlywood", weight=3]; 3044[label="xu31/EQ",fontsize=10,color="white",style="solid",shape="box"];154 -> 3044[label="",style="solid", color="burlywood", weight=9]; 3044 -> 164[label="",style="solid", color="burlywood", weight=3]; 3045[label="xu31/GT",fontsize=10,color="white",style="solid",shape="box"];154 -> 3045[label="",style="solid", color="burlywood", weight=9]; 3045 -> 165[label="",style="solid", color="burlywood", weight=3]; 155[label="(++) range60 False (not (compare2 xu31 False (xu31 == False) == LT) && False >= xu30) foldr (++) [] (map (range6 xu31 xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3046[label="xu31/False",fontsize=10,color="white",style="solid",shape="box"];155 -> 3046[label="",style="solid", color="burlywood", weight=9]; 3046 -> 166[label="",style="solid", color="burlywood", weight=3]; 3047[label="xu31/True",fontsize=10,color="white",style="solid",shape="box"];155 -> 3047[label="",style="solid", color="burlywood", weight=9]; 3047 -> 167[label="",style="solid", color="burlywood", weight=3]; 156[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (compare (Integer xu300) (Integer xu310) == GT))",fontsize=16,color="black",shape="box"];156 -> 168[label="",style="solid", color="black", weight=3]; 475[label="range5 xu11 xu12 xu13 xu14 xu150",fontsize=16,color="black",shape="box"];475 -> 493[label="",style="solid", color="black", weight=3]; 476 -> 80[label="",style="dashed", color="red", weight=0]; 476[label="foldr (++) [] (map (range5 xu11 xu12 xu13 xu14) xu151)",fontsize=16,color="magenta"];476 -> 494[label="",style="dashed", color="magenta", weight=3]; 474[label="(++) xu43 xu35",fontsize=16,color="burlywood",shape="triangle"];3048[label="xu43/xu430 : xu431",fontsize=10,color="white",style="solid",shape="box"];474 -> 3048[label="",style="solid", color="burlywood", weight=9]; 3048 -> 495[label="",style="solid", color="burlywood", weight=3]; 3049[label="xu43/[]",fontsize=10,color="white",style="solid",shape="box"];474 -> 3049[label="",style="solid", color="burlywood", weight=9]; 3049 -> 496[label="",style="solid", color="burlywood", weight=3]; 159[label="takeWhile1 (flip (<=) xu31) (Pos xu300) (numericEnumFrom $! Pos xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3050[label="xu300/Succ xu3000",fontsize=10,color="white",style="solid",shape="box"];159 -> 3050[label="",style="solid", color="burlywood", weight=9]; 3050 -> 171[label="",style="solid", color="burlywood", weight=3]; 3051[label="xu300/Zero",fontsize=10,color="white",style="solid",shape="box"];159 -> 3051[label="",style="solid", color="burlywood", weight=9]; 3051 -> 172[label="",style="solid", color="burlywood", weight=3]; 160[label="takeWhile1 (flip (<=) xu31) (Neg xu300) (numericEnumFrom $! Neg xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg xu300) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3052[label="xu300/Succ xu3000",fontsize=10,color="white",style="solid",shape="box"];160 -> 3052[label="",style="solid", color="burlywood", weight=9]; 3052 -> 173[label="",style="solid", color="burlywood", weight=3]; 3053[label="xu300/Zero",fontsize=10,color="white",style="solid",shape="box"];160 -> 3053[label="",style="solid", color="burlywood", weight=9]; 3053 -> 174[label="",style="solid", color="burlywood", weight=3]; 520[label="range2 xu20 xu21 xu220",fontsize=16,color="black",shape="box"];520 -> 538[label="",style="solid", color="black", weight=3]; 521 -> 87[label="",style="dashed", color="red", weight=0]; 521[label="foldr (++) [] (map (range2 xu20 xu21) xu221)",fontsize=16,color="magenta"];521 -> 539[label="",style="dashed", color="magenta", weight=3]; 519[label="(++) xu44 xu42",fontsize=16,color="burlywood",shape="triangle"];3054[label="xu44/xu440 : xu441",fontsize=10,color="white",style="solid",shape="box"];519 -> 3054[label="",style="solid", color="burlywood", weight=9]; 3054 -> 540[label="",style="solid", color="burlywood", weight=3]; 3055[label="xu44/[]",fontsize=10,color="white",style="solid",shape="box"];519 -> 3055[label="",style="solid", color="burlywood", weight=9]; 3055 -> 541[label="",style="solid", color="burlywood", weight=3]; 163[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];163 -> 177[label="",style="solid", color="black", weight=3]; 164[label="(++) range00 LT (not (compare2 EQ LT (EQ == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];164 -> 178[label="",style="solid", color="black", weight=3]; 165[label="(++) range00 LT (not (compare2 GT LT (GT == LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];165 -> 179[label="",style="solid", color="black", weight=3]; 166[label="(++) range60 False (not (compare2 False False (False == False) == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];166 -> 180[label="",style="solid", color="black", weight=3]; 167[label="(++) range60 False (not (compare2 True False (True == False) == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];167 -> 181[label="",style="solid", color="black", weight=3]; 168[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer xu300) (numericEnumFrom $! Integer xu300 + fromInt (Pos (Succ Zero))) (not (primCmpInt xu300 xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3056[label="xu300/Pos xu3000",fontsize=10,color="white",style="solid",shape="box"];168 -> 3056[label="",style="solid", color="burlywood", weight=9]; 3056 -> 182[label="",style="solid", color="burlywood", weight=3]; 3057[label="xu300/Neg xu3000",fontsize=10,color="white",style="solid",shape="box"];168 -> 3057[label="",style="solid", color="burlywood", weight=9]; 3057 -> 183[label="",style="solid", color="burlywood", weight=3]; 493[label="range50 xu11 xu12 xu13 xu14 xu150",fontsize=16,color="black",shape="box"];493 -> 542[label="",style="solid", color="black", weight=3]; 494[label="xu151",fontsize=16,color="green",shape="box"];495[label="(++) (xu430 : xu431) xu35",fontsize=16,color="black",shape="box"];495 -> 543[label="",style="solid", color="black", weight=3]; 496[label="(++) [] xu35",fontsize=16,color="black",shape="box"];496 -> 544[label="",style="solid", color="black", weight=3]; 171[label="takeWhile1 (flip (<=) xu31) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3058[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];171 -> 3058[label="",style="solid", color="burlywood", weight=9]; 3058 -> 185[label="",style="solid", color="burlywood", weight=3]; 3059[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];171 -> 3059[label="",style="solid", color="burlywood", weight=9]; 3059 -> 186[label="",style="solid", color="burlywood", weight=3]; 172[label="takeWhile1 (flip (<=) xu31) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3060[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];172 -> 3060[label="",style="solid", color="burlywood", weight=9]; 3060 -> 187[label="",style="solid", color="burlywood", weight=3]; 3061[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];172 -> 3061[label="",style="solid", color="burlywood", weight=9]; 3061 -> 188[label="",style="solid", color="burlywood", weight=3]; 173[label="takeWhile1 (flip (<=) xu31) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3062[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];173 -> 3062[label="",style="solid", color="burlywood", weight=9]; 3062 -> 189[label="",style="solid", color="burlywood", weight=3]; 3063[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];173 -> 3063[label="",style="solid", color="burlywood", weight=9]; 3063 -> 190[label="",style="solid", color="burlywood", weight=3]; 174[label="takeWhile1 (flip (<=) xu31) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) xu31 == GT))",fontsize=16,color="burlywood",shape="box"];3064[label="xu31/Pos xu310",fontsize=10,color="white",style="solid",shape="box"];174 -> 3064[label="",style="solid", color="burlywood", weight=9]; 3064 -> 191[label="",style="solid", color="burlywood", weight=3]; 3065[label="xu31/Neg xu310",fontsize=10,color="white",style="solid",shape="box"];174 -> 3065[label="",style="solid", color="burlywood", weight=9]; 3065 -> 192[label="",style="solid", color="burlywood", weight=3]; 538[label="range20 xu20 xu21 xu220",fontsize=16,color="black",shape="box"];538 -> 594[label="",style="solid", color="black", weight=3]; 539[label="xu221",fontsize=16,color="green",shape="box"];540[label="(++) (xu440 : xu441) xu42",fontsize=16,color="black",shape="box"];540 -> 595[label="",style="solid", color="black", weight=3]; 541[label="(++) [] xu42",fontsize=16,color="black",shape="box"];541 -> 596[label="",style="solid", color="black", weight=3]; 177[label="(++) range00 LT (not (compare2 LT LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];177 -> 194[label="",style="solid", color="black", weight=3]; 178[label="(++) range00 LT (not (compare2 EQ LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];178 -> 195[label="",style="solid", color="black", weight=3]; 179[label="(++) range00 LT (not (compare2 GT LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];179 -> 196[label="",style="solid", color="black", weight=3]; 180[label="(++) range60 False (not (compare2 False False True == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];180 -> 197[label="",style="solid", color="black", weight=3]; 181[label="(++) range60 False (not (compare2 True False False == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];181 -> 198[label="",style="solid", color="black", weight=3]; 182[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos xu3000)) (numericEnumFrom $! Integer (Pos xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3066[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];182 -> 3066[label="",style="solid", color="burlywood", weight=9]; 3066 -> 199[label="",style="solid", color="burlywood", weight=3]; 3067[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];182 -> 3067[label="",style="solid", color="burlywood", weight=9]; 3067 -> 200[label="",style="solid", color="burlywood", weight=3]; 183[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg xu3000)) (numericEnumFrom $! Integer (Neg xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3068[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];183 -> 3068[label="",style="solid", color="burlywood", weight=9]; 3068 -> 201[label="",style="solid", color="burlywood", weight=3]; 3069[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];183 -> 3069[label="",style="solid", color="burlywood", weight=9]; 3069 -> 202[label="",style="solid", color="burlywood", weight=3]; 542[label="concatMap (range4 xu150 xu11 xu12) (range (xu13,xu14))",fontsize=16,color="black",shape="box"];542 -> 597[label="",style="solid", color="black", weight=3]; 543[label="xu430 : xu431 ++ xu35",fontsize=16,color="green",shape="box"];543 -> 598[label="",style="dashed", color="green", weight=3]; 544[label="xu35",fontsize=16,color="green",shape="box"];185[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) (Pos xu310) == GT))",fontsize=16,color="black",shape="box"];185 -> 204[label="",style="solid", color="black", weight=3]; 186[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu3000)) (Neg xu310) == GT))",fontsize=16,color="black",shape="box"];186 -> 205[label="",style="solid", color="black", weight=3]; 187[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3070[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];187 -> 3070[label="",style="solid", color="burlywood", weight=9]; 3070 -> 206[label="",style="solid", color="burlywood", weight=3]; 3071[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];187 -> 3071[label="",style="solid", color="burlywood", weight=9]; 3071 -> 207[label="",style="solid", color="burlywood", weight=3]; 188[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3072[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];188 -> 3072[label="",style="solid", color="burlywood", weight=9]; 3072 -> 208[label="",style="solid", color="burlywood", weight=3]; 3073[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];188 -> 3073[label="",style="solid", color="burlywood", weight=9]; 3073 -> 209[label="",style="solid", color="burlywood", weight=3]; 189[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) (Pos xu310) == GT))",fontsize=16,color="black",shape="box"];189 -> 210[label="",style="solid", color="black", weight=3]; 190[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu3000)) (Neg xu310) == GT))",fontsize=16,color="black",shape="box"];190 -> 211[label="",style="solid", color="black", weight=3]; 191[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3074[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];191 -> 3074[label="",style="solid", color="burlywood", weight=9]; 3074 -> 212[label="",style="solid", color="burlywood", weight=3]; 3075[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];191 -> 3075[label="",style="solid", color="burlywood", weight=9]; 3075 -> 213[label="",style="solid", color="burlywood", weight=3]; 192[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg xu310) == GT))",fontsize=16,color="burlywood",shape="box"];3076[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];192 -> 3076[label="",style="solid", color="burlywood", weight=9]; 3076 -> 214[label="",style="solid", color="burlywood", weight=3]; 3077[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];192 -> 3077[label="",style="solid", color="burlywood", weight=9]; 3077 -> 215[label="",style="solid", color="burlywood", weight=3]; 594[label="concatMap (range1 xu220) (range (xu20,xu21))",fontsize=16,color="black",shape="box"];594 -> 650[label="",style="solid", color="black", weight=3]; 595[label="xu440 : xu441 ++ xu42",fontsize=16,color="green",shape="box"];595 -> 651[label="",style="dashed", color="green", weight=3]; 596[label="xu42",fontsize=16,color="green",shape="box"];194[label="(++) range00 LT (not (EQ == LT) && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];194 -> 217[label="",style="solid", color="black", weight=3]; 195[label="(++) range00 LT (not (compare1 EQ LT (EQ <= LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];195 -> 218[label="",style="solid", color="black", weight=3]; 196[label="(++) range00 LT (not (compare1 GT LT (GT <= LT) == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];196 -> 219[label="",style="solid", color="black", weight=3]; 197[label="(++) range60 False (not (EQ == LT) && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];197 -> 220[label="",style="solid", color="black", weight=3]; 198[label="(++) range60 False (not (compare1 True False (True <= False) == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];198 -> 221[label="",style="solid", color="black", weight=3]; 199[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3078[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];199 -> 3078[label="",style="solid", color="burlywood", weight=9]; 3078 -> 222[label="",style="solid", color="burlywood", weight=3]; 3079[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];199 -> 3079[label="",style="solid", color="burlywood", weight=9]; 3079 -> 223[label="",style="solid", color="burlywood", weight=3]; 200[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3080[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];200 -> 3080[label="",style="solid", color="burlywood", weight=9]; 3080 -> 224[label="",style="solid", color="burlywood", weight=3]; 3081[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];200 -> 3081[label="",style="solid", color="burlywood", weight=9]; 3081 -> 225[label="",style="solid", color="burlywood", weight=3]; 201[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3082[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];201 -> 3082[label="",style="solid", color="burlywood", weight=9]; 3082 -> 226[label="",style="solid", color="burlywood", weight=3]; 3083[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];201 -> 3083[label="",style="solid", color="burlywood", weight=9]; 3083 -> 227[label="",style="solid", color="burlywood", weight=3]; 202[label="takeWhile1 (flip (<=) (Integer xu310)) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3084[label="xu310/Pos xu3100",fontsize=10,color="white",style="solid",shape="box"];202 -> 3084[label="",style="solid", color="burlywood", weight=9]; 3084 -> 228[label="",style="solid", color="burlywood", weight=3]; 3085[label="xu310/Neg xu3100",fontsize=10,color="white",style="solid",shape="box"];202 -> 3085[label="",style="solid", color="burlywood", weight=9]; 3085 -> 229[label="",style="solid", color="burlywood", weight=3]; 597[label="concat . map (range4 xu150 xu11 xu12)",fontsize=16,color="black",shape="box"];597 -> 652[label="",style="solid", color="black", weight=3]; 598 -> 474[label="",style="dashed", color="red", weight=0]; 598[label="xu431 ++ xu35",fontsize=16,color="magenta"];598 -> 653[label="",style="dashed", color="magenta", weight=3]; 204[label="takeWhile1 (flip (<=) (Pos xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) xu310 == GT))",fontsize=16,color="burlywood",shape="box"];3086[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];204 -> 3086[label="",style="solid", color="burlywood", weight=9]; 3086 -> 231[label="",style="solid", color="burlywood", weight=3]; 3087[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];204 -> 3087[label="",style="solid", color="burlywood", weight=9]; 3087 -> 232[label="",style="solid", color="burlywood", weight=3]; 205[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];205 -> 233[label="",style="solid", color="black", weight=3]; 206[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];206 -> 234[label="",style="solid", color="black", weight=3]; 207[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];207 -> 235[label="",style="solid", color="black", weight=3]; 208[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];208 -> 236[label="",style="solid", color="black", weight=3]; 209[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];209 -> 237[label="",style="solid", color="black", weight=3]; 210[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];210 -> 238[label="",style="solid", color="black", weight=3]; 211[label="takeWhile1 (flip (<=) (Neg xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu310 (Succ xu3000) == GT))",fontsize=16,color="burlywood",shape="box"];3088[label="xu310/Succ xu3100",fontsize=10,color="white",style="solid",shape="box"];211 -> 3088[label="",style="solid", color="burlywood", weight=9]; 3088 -> 239[label="",style="solid", color="burlywood", weight=3]; 3089[label="xu310/Zero",fontsize=10,color="white",style="solid",shape="box"];211 -> 3089[label="",style="solid", color="burlywood", weight=9]; 3089 -> 240[label="",style="solid", color="burlywood", weight=3]; 212[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];212 -> 241[label="",style="solid", color="black", weight=3]; 213[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];213 -> 242[label="",style="solid", color="black", weight=3]; 214[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg (Succ xu3100)) == GT))",fontsize=16,color="black",shape="box"];214 -> 243[label="",style="solid", color="black", weight=3]; 215[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];215 -> 244[label="",style="solid", color="black", weight=3]; 650[label="concat . map (range1 xu220)",fontsize=16,color="black",shape="box"];650 -> 710[label="",style="solid", color="black", weight=3]; 651 -> 519[label="",style="dashed", color="red", weight=0]; 651[label="xu441 ++ xu42",fontsize=16,color="magenta"];651 -> 711[label="",style="dashed", color="magenta", weight=3]; 217[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];217 -> 246[label="",style="solid", color="black", weight=3]; 218[label="(++) range00 LT (not (compare1 EQ LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];218 -> 247[label="",style="solid", color="black", weight=3]; 219[label="(++) range00 LT (not (compare1 GT LT False == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];219 -> 248[label="",style="solid", color="black", weight=3]; 220[label="(++) range60 False (not False && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];220 -> 249[label="",style="solid", color="black", weight=3]; 221[label="(++) range60 False (not (compare1 True False False == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];221 -> 250[label="",style="solid", color="black", weight=3]; 222[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) (Pos xu3100) == GT))",fontsize=16,color="black",shape="box"];222 -> 251[label="",style="solid", color="black", weight=3]; 223[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos (Succ xu30000)) (Neg xu3100) == GT))",fontsize=16,color="black",shape="box"];223 -> 252[label="",style="solid", color="black", weight=3]; 224[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3090[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];224 -> 3090[label="",style="solid", color="burlywood", weight=9]; 3090 -> 253[label="",style="solid", color="burlywood", weight=3]; 3091[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];224 -> 3091[label="",style="solid", color="burlywood", weight=9]; 3091 -> 254[label="",style="solid", color="burlywood", weight=3]; 225[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3092[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];225 -> 3092[label="",style="solid", color="burlywood", weight=9]; 3092 -> 255[label="",style="solid", color="burlywood", weight=3]; 3093[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];225 -> 3093[label="",style="solid", color="burlywood", weight=9]; 3093 -> 256[label="",style="solid", color="burlywood", weight=3]; 226[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) (Pos xu3100) == GT))",fontsize=16,color="black",shape="box"];226 -> 257[label="",style="solid", color="black", weight=3]; 227[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg (Succ xu30000)) (Neg xu3100) == GT))",fontsize=16,color="black",shape="box"];227 -> 258[label="",style="solid", color="black", weight=3]; 228[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3094[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];228 -> 3094[label="",style="solid", color="burlywood", weight=9]; 3094 -> 259[label="",style="solid", color="burlywood", weight=3]; 3095[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];228 -> 3095[label="",style="solid", color="burlywood", weight=9]; 3095 -> 260[label="",style="solid", color="burlywood", weight=3]; 229[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg xu3100) == GT))",fontsize=16,color="burlywood",shape="box"];3096[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];229 -> 3096[label="",style="solid", color="burlywood", weight=9]; 3096 -> 261[label="",style="solid", color="burlywood", weight=3]; 3097[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];229 -> 3097[label="",style="solid", color="burlywood", weight=9]; 3097 -> 262[label="",style="solid", color="burlywood", weight=3]; 652[label="concat (map (range4 xu150 xu11 xu12) (range (xu13,xu14)))",fontsize=16,color="black",shape="box"];652 -> 712[label="",style="solid", color="black", weight=3]; 653[label="xu431",fontsize=16,color="green",shape="box"];231[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) (Succ xu3100) == GT))",fontsize=16,color="black",shape="box"];231 -> 264[label="",style="solid", color="black", weight=3]; 232[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3000) Zero == GT))",fontsize=16,color="black",shape="box"];232 -> 265[label="",style="solid", color="black", weight=3]; 233[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];233 -> 266[label="",style="solid", color="black", weight=3]; 234[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu3100) == GT))",fontsize=16,color="black",shape="box"];234 -> 267[label="",style="solid", color="black", weight=3]; 235[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];235 -> 268[label="",style="solid", color="black", weight=3]; 236[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];236 -> 269[label="",style="solid", color="black", weight=3]; 237[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];237 -> 270[label="",style="solid", color="black", weight=3]; 238[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];238 -> 271[label="",style="solid", color="black", weight=3]; 239[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3100) (Succ xu3000) == GT))",fontsize=16,color="black",shape="box"];239 -> 272[label="",style="solid", color="black", weight=3]; 240[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu3000) == GT))",fontsize=16,color="black",shape="box"];240 -> 273[label="",style="solid", color="black", weight=3]; 241[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];241 -> 274[label="",style="solid", color="black", weight=3]; 242[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];242 -> 275[label="",style="solid", color="black", weight=3]; 243[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu3100) Zero == GT))",fontsize=16,color="black",shape="box"];243 -> 276[label="",style="solid", color="black", weight=3]; 244[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];244 -> 277[label="",style="solid", color="black", weight=3]; 710[label="concat (map (range1 xu220) (range (xu20,xu21)))",fontsize=16,color="black",shape="box"];710 -> 771[label="",style="solid", color="black", weight=3]; 711[label="xu441",fontsize=16,color="green",shape="box"];246[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];246 -> 279[label="",style="solid", color="black", weight=3]; 247[label="(++) range00 LT (not (compare0 EQ LT otherwise == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];247 -> 280[label="",style="solid", color="black", weight=3]; 248[label="(++) range00 LT (not (compare0 GT LT otherwise == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];248 -> 281[label="",style="solid", color="black", weight=3]; 249[label="(++) range60 False (True && False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];249 -> 282[label="",style="solid", color="black", weight=3]; 250[label="(++) range60 False (not (compare0 True False otherwise == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];250 -> 283[label="",style="solid", color="black", weight=3]; 251[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) xu3100 == GT))",fontsize=16,color="burlywood",shape="box"];3098[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];251 -> 3098[label="",style="solid", color="burlywood", weight=9]; 3098 -> 284[label="",style="solid", color="burlywood", weight=3]; 3099[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];251 -> 3099[label="",style="solid", color="burlywood", weight=9]; 3099 -> 285[label="",style="solid", color="burlywood", weight=3]; 252[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];252 -> 286[label="",style="solid", color="black", weight=3]; 253[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];253 -> 287[label="",style="solid", color="black", weight=3]; 254[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];254 -> 288[label="",style="solid", color="black", weight=3]; 255[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];255 -> 289[label="",style="solid", color="black", weight=3]; 256[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];256 -> 290[label="",style="solid", color="black", weight=3]; 257[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];257 -> 291[label="",style="solid", color="black", weight=3]; 258[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3100 (Succ xu30000) == GT))",fontsize=16,color="burlywood",shape="box"];3100[label="xu3100/Succ xu31000",fontsize=10,color="white",style="solid",shape="box"];258 -> 3100[label="",style="solid", color="burlywood", weight=9]; 3100 -> 292[label="",style="solid", color="burlywood", weight=3]; 3101[label="xu3100/Zero",fontsize=10,color="white",style="solid",shape="box"];258 -> 3101[label="",style="solid", color="burlywood", weight=9]; 3101 -> 293[label="",style="solid", color="burlywood", weight=3]; 259[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];259 -> 294[label="",style="solid", color="black", weight=3]; 260[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];260 -> 295[label="",style="solid", color="black", weight=3]; 261[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg (Succ xu31000)) == GT))",fontsize=16,color="black",shape="box"];261 -> 296[label="",style="solid", color="black", weight=3]; 262[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];262 -> 297[label="",style="solid", color="black", weight=3]; 712 -> 772[label="",style="dashed", color="red", weight=0]; 712[label="foldr (++) [] (map (range4 xu150 xu11 xu12) (range (xu13,xu14)))",fontsize=16,color="magenta"];712 -> 773[label="",style="dashed", color="magenta", weight=3]; 712 -> 774[label="",style="dashed", color="magenta", weight=3]; 712 -> 775[label="",style="dashed", color="magenta", weight=3]; 712 -> 776[label="",style="dashed", color="magenta", weight=3]; 264 -> 2275[label="",style="dashed", color="red", weight=0]; 264[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3000 xu3100 == GT))",fontsize=16,color="magenta"];264 -> 2276[label="",style="dashed", color="magenta", weight=3]; 264 -> 2277[label="",style="dashed", color="magenta", weight=3]; 264 -> 2278[label="",style="dashed", color="magenta", weight=3]; 264 -> 2279[label="",style="dashed", color="magenta", weight=3]; 265[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];265 -> 306[label="",style="solid", color="black", weight=3]; 266[label="takeWhile1 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];266 -> 307[label="",style="solid", color="black", weight=3]; 267[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];267 -> 308[label="",style="solid", color="black", weight=3]; 268[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];268 -> 309[label="",style="solid", color="black", weight=3]; 269[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];269 -> 310[label="",style="solid", color="black", weight=3]; 270[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];270 -> 311[label="",style="solid", color="black", weight=3]; 271[label="takeWhile1 (flip (<=) (Pos xu310)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];271 -> 312[label="",style="solid", color="black", weight=3]; 272 -> 2391[label="",style="dashed", color="red", weight=0]; 272[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu3100 xu3000 == GT))",fontsize=16,color="magenta"];272 -> 2392[label="",style="dashed", color="magenta", weight=3]; 272 -> 2393[label="",style="dashed", color="magenta", weight=3]; 272 -> 2394[label="",style="dashed", color="magenta", weight=3]; 272 -> 2395[label="",style="dashed", color="magenta", weight=3]; 272 -> 2396[label="",style="dashed", color="magenta", weight=3]; 273[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];273 -> 315[label="",style="solid", color="black", weight=3]; 274[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];274 -> 316[label="",style="solid", color="black", weight=3]; 275[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];275 -> 317[label="",style="solid", color="black", weight=3]; 276[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];276 -> 318[label="",style="solid", color="black", weight=3]; 277[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];277 -> 319[label="",style="solid", color="black", weight=3]; 771 -> 777[label="",style="dashed", color="red", weight=0]; 771[label="foldr (++) [] (map (range1 xu220) (range (xu20,xu21)))",fontsize=16,color="magenta"];771 -> 778[label="",style="dashed", color="magenta", weight=3]; 771 -> 779[label="",style="dashed", color="magenta", weight=3]; 279[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];279 -> 324[label="",style="solid", color="black", weight=3]; 280[label="(++) range00 LT (not (compare0 EQ LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];280 -> 325[label="",style="solid", color="black", weight=3]; 281[label="(++) range00 LT (not (compare0 GT LT True == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];281 -> 326[label="",style="solid", color="black", weight=3]; 282[label="(++) range60 False (False >= xu30) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];282 -> 327[label="",style="solid", color="black", weight=3]; 283[label="(++) range60 False (not (compare0 True False True == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];283 -> 328[label="",style="solid", color="black", weight=3]; 284[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) (Succ xu31000) == GT))",fontsize=16,color="black",shape="box"];284 -> 329[label="",style="solid", color="black", weight=3]; 285[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu30000) Zero == GT))",fontsize=16,color="black",shape="box"];285 -> 330[label="",style="solid", color="black", weight=3]; 286[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];286 -> 331[label="",style="solid", color="black", weight=3]; 287[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu31000) == GT))",fontsize=16,color="black",shape="box"];287 -> 332[label="",style="solid", color="black", weight=3]; 288[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];288 -> 333[label="",style="solid", color="black", weight=3]; 289[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];289 -> 334[label="",style="solid", color="black", weight=3]; 290[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];290 -> 335[label="",style="solid", color="black", weight=3]; 291[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];291 -> 336[label="",style="solid", color="black", weight=3]; 292[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu31000) (Succ xu30000) == GT))",fontsize=16,color="black",shape="box"];292 -> 337[label="",style="solid", color="black", weight=3]; 293[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu30000) == GT))",fontsize=16,color="black",shape="box"];293 -> 338[label="",style="solid", color="black", weight=3]; 294[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];294 -> 339[label="",style="solid", color="black", weight=3]; 295[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];295 -> 340[label="",style="solid", color="black", weight=3]; 296[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu31000) Zero == GT))",fontsize=16,color="black",shape="box"];296 -> 341[label="",style="solid", color="black", weight=3]; 297[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];297 -> 342[label="",style="solid", color="black", weight=3]; 773[label="range (xu13,xu14)",fontsize=16,color="blue",shape="box"];3102[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];773 -> 3102[label="",style="solid", color="blue", weight=9]; 3102 -> 780[label="",style="solid", color="blue", weight=3]; 3103[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];773 -> 3103[label="",style="solid", color="blue", weight=9]; 3103 -> 781[label="",style="solid", color="blue", weight=3]; 3104[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];773 -> 3104[label="",style="solid", color="blue", weight=9]; 3104 -> 782[label="",style="solid", color="blue", weight=3]; 3105[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];773 -> 3105[label="",style="solid", color="blue", weight=9]; 3105 -> 783[label="",style="solid", color="blue", weight=3]; 3106[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];773 -> 3106[label="",style="solid", color="blue", weight=9]; 3106 -> 784[label="",style="solid", color="blue", weight=3]; 3107[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];773 -> 3107[label="",style="solid", color="blue", weight=9]; 3107 -> 785[label="",style="solid", color="blue", weight=3]; 3108[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];773 -> 3108[label="",style="solid", color="blue", weight=9]; 3108 -> 786[label="",style="solid", color="blue", weight=3]; 3109[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];773 -> 3109[label="",style="solid", color="blue", weight=9]; 3109 -> 787[label="",style="solid", color="blue", weight=3]; 774[label="xu11",fontsize=16,color="green",shape="box"];775[label="xu150",fontsize=16,color="green",shape="box"];776[label="xu12",fontsize=16,color="green",shape="box"];772[label="foldr (++) [] (map (range4 xu50 xu51 xu52) xu53)",fontsize=16,color="burlywood",shape="triangle"];3110[label="xu53/xu530 : xu531",fontsize=10,color="white",style="solid",shape="box"];772 -> 3110[label="",style="solid", color="burlywood", weight=9]; 3110 -> 788[label="",style="solid", color="burlywood", weight=3]; 3111[label="xu53/[]",fontsize=10,color="white",style="solid",shape="box"];772 -> 3111[label="",style="solid", color="burlywood", weight=9]; 3111 -> 789[label="",style="solid", color="burlywood", weight=3]; 2276[label="xu3100",fontsize=16,color="green",shape="box"];2277[label="xu3000",fontsize=16,color="green",shape="box"];2278[label="xu3000",fontsize=16,color="green",shape="box"];2279[label="xu3100",fontsize=16,color="green",shape="box"];2275[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu169 xu170 == GT))",fontsize=16,color="burlywood",shape="triangle"];3112[label="xu169/Succ xu1690",fontsize=10,color="white",style="solid",shape="box"];2275 -> 3112[label="",style="solid", color="burlywood", weight=9]; 3112 -> 2316[label="",style="solid", color="burlywood", weight=3]; 3113[label="xu169/Zero",fontsize=10,color="white",style="solid",shape="box"];2275 -> 3113[label="",style="solid", color="burlywood", weight=9]; 3113 -> 2317[label="",style="solid", color="burlywood", weight=3]; 306[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];306 -> 357[label="",style="solid", color="black", weight=3]; 307[label="takeWhile0 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];307 -> 358[label="",style="solid", color="black", weight=3]; 308[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];308 -> 359[label="",style="solid", color="black", weight=3]; 309[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];309 -> 360[label="",style="solid", color="black", weight=3]; 310[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];310 -> 361[label="",style="solid", color="black", weight=3]; 311[label="takeWhile1 (flip (<=) (Neg Zero)) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];311 -> 362[label="",style="solid", color="black", weight=3]; 312[label="Neg (Succ xu3000) : takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];312 -> 363[label="",style="dashed", color="green", weight=3]; 2392[label="xu3100",fontsize=16,color="green",shape="box"];2393[label="xu3000",fontsize=16,color="green",shape="box"];2394[label="Neg (Succ xu3000) + fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];2394 -> 2447[label="",style="solid", color="black", weight=3]; 2395[label="xu3100",fontsize=16,color="green",shape="box"];2396[label="xu3000",fontsize=16,color="green",shape="box"];2391[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat xu198 xu199 == GT))",fontsize=16,color="burlywood",shape="triangle"];3114[label="xu198/Succ xu1980",fontsize=10,color="white",style="solid",shape="box"];2391 -> 3114[label="",style="solid", color="burlywood", weight=9]; 3114 -> 2448[label="",style="solid", color="burlywood", weight=3]; 3115[label="xu198/Zero",fontsize=10,color="white",style="solid",shape="box"];2391 -> 3115[label="",style="solid", color="burlywood", weight=9]; 3115 -> 2449[label="",style="solid", color="burlywood", weight=3]; 315[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];315 -> 368[label="",style="solid", color="black", weight=3]; 316[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];316 -> 369[label="",style="solid", color="black", weight=3]; 317[label="takeWhile1 (flip (<=) (Pos Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];317 -> 370[label="",style="solid", color="black", weight=3]; 318[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];318 -> 371[label="",style="solid", color="black", weight=3]; 319[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];319 -> 372[label="",style="solid", color="black", weight=3]; 778[label="xu220",fontsize=16,color="green",shape="box"];779[label="range (xu20,xu21)",fontsize=16,color="blue",shape="box"];3116[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];779 -> 3116[label="",style="solid", color="blue", weight=9]; 3116 -> 790[label="",style="solid", color="blue", weight=3]; 3117[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];779 -> 3117[label="",style="solid", color="blue", weight=9]; 3117 -> 791[label="",style="solid", color="blue", weight=3]; 3118[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];779 -> 3118[label="",style="solid", color="blue", weight=9]; 3118 -> 792[label="",style="solid", color="blue", weight=3]; 3119[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];779 -> 3119[label="",style="solid", color="blue", weight=9]; 3119 -> 793[label="",style="solid", color="blue", weight=3]; 3120[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];779 -> 3120[label="",style="solid", color="blue", weight=9]; 3120 -> 794[label="",style="solid", color="blue", weight=3]; 3121[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];779 -> 3121[label="",style="solid", color="blue", weight=9]; 3121 -> 795[label="",style="solid", color="blue", weight=3]; 3122[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];779 -> 3122[label="",style="solid", color="blue", weight=9]; 3122 -> 796[label="",style="solid", color="blue", weight=3]; 3123[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];779 -> 3123[label="",style="solid", color="blue", weight=9]; 3123 -> 797[label="",style="solid", color="blue", weight=3]; 777[label="foldr (++) [] (map (range1 xu57) xu58)",fontsize=16,color="burlywood",shape="triangle"];3124[label="xu58/xu580 : xu581",fontsize=10,color="white",style="solid",shape="box"];777 -> 3124[label="",style="solid", color="burlywood", weight=9]; 3124 -> 798[label="",style="solid", color="burlywood", weight=3]; 3125[label="xu58/[]",fontsize=10,color="white",style="solid",shape="box"];777 -> 3125[label="",style="solid", color="burlywood", weight=9]; 3125 -> 799[label="",style="solid", color="burlywood", weight=3]; 324[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];324 -> 383[label="",style="solid", color="black", weight=3]; 325[label="(++) range00 LT (not (GT == LT) && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];325 -> 384[label="",style="solid", color="black", weight=3]; 326[label="(++) range00 LT (not (GT == LT) && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];326 -> 385[label="",style="solid", color="black", weight=3]; 327[label="(++) range60 False (compare False xu30 /= LT) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];327 -> 386[label="",style="solid", color="black", weight=3]; 328[label="(++) range60 False (not (GT == LT) && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];328 -> 387[label="",style="solid", color="black", weight=3]; 329 -> 2464[label="",style="dashed", color="red", weight=0]; 329[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu30000 xu31000 == GT))",fontsize=16,color="magenta"];329 -> 2465[label="",style="dashed", color="magenta", weight=3]; 329 -> 2466[label="",style="dashed", color="magenta", weight=3]; 329 -> 2467[label="",style="dashed", color="magenta", weight=3]; 329 -> 2468[label="",style="dashed", color="magenta", weight=3]; 330[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];330 -> 390[label="",style="solid", color="black", weight=3]; 331[label="takeWhile1 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];331 -> 391[label="",style="solid", color="black", weight=3]; 332[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];332 -> 392[label="",style="solid", color="black", weight=3]; 333[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];333 -> 393[label="",style="solid", color="black", weight=3]; 334[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];334 -> 394[label="",style="solid", color="black", weight=3]; 335[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];335 -> 395[label="",style="solid", color="black", weight=3]; 336[label="takeWhile1 (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];336 -> 396[label="",style="solid", color="black", weight=3]; 337 -> 2513[label="",style="dashed", color="red", weight=0]; 337[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu31000 xu30000 == GT))",fontsize=16,color="magenta"];337 -> 2514[label="",style="dashed", color="magenta", weight=3]; 337 -> 2515[label="",style="dashed", color="magenta", weight=3]; 337 -> 2516[label="",style="dashed", color="magenta", weight=3]; 337 -> 2517[label="",style="dashed", color="magenta", weight=3]; 338[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];338 -> 399[label="",style="solid", color="black", weight=3]; 339[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];339 -> 400[label="",style="solid", color="black", weight=3]; 340[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];340 -> 401[label="",style="solid", color="black", weight=3]; 341[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];341 -> 402[label="",style="solid", color="black", weight=3]; 342[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];342 -> 403[label="",style="solid", color="black", weight=3]; 780 -> 4[label="",style="dashed", color="red", weight=0]; 780[label="range (xu13,xu14)",fontsize=16,color="magenta"];780 -> 859[label="",style="dashed", color="magenta", weight=3]; 781 -> 5[label="",style="dashed", color="red", weight=0]; 781[label="range (xu13,xu14)",fontsize=16,color="magenta"];781 -> 860[label="",style="dashed", color="magenta", weight=3]; 782 -> 6[label="",style="dashed", color="red", weight=0]; 782[label="range (xu13,xu14)",fontsize=16,color="magenta"];782 -> 861[label="",style="dashed", color="magenta", weight=3]; 783 -> 7[label="",style="dashed", color="red", weight=0]; 783[label="range (xu13,xu14)",fontsize=16,color="magenta"];783 -> 862[label="",style="dashed", color="magenta", weight=3]; 784 -> 8[label="",style="dashed", color="red", weight=0]; 784[label="range (xu13,xu14)",fontsize=16,color="magenta"];784 -> 863[label="",style="dashed", color="magenta", weight=3]; 785[label="range (xu13,xu14)",fontsize=16,color="burlywood",shape="triangle"];3126[label="xu13/(xu130,xu131,xu132)",fontsize=10,color="white",style="solid",shape="box"];785 -> 3126[label="",style="solid", color="burlywood", weight=9]; 3126 -> 864[label="",style="solid", color="burlywood", weight=3]; 786 -> 10[label="",style="dashed", color="red", weight=0]; 786[label="range (xu13,xu14)",fontsize=16,color="magenta"];786 -> 865[label="",style="dashed", color="magenta", weight=3]; 787[label="range (xu13,xu14)",fontsize=16,color="burlywood",shape="triangle"];3127[label="xu13/(xu130,xu131)",fontsize=10,color="white",style="solid",shape="box"];787 -> 3127[label="",style="solid", color="burlywood", weight=9]; 3127 -> 866[label="",style="solid", color="burlywood", weight=3]; 788[label="foldr (++) [] (map (range4 xu50 xu51 xu52) (xu530 : xu531))",fontsize=16,color="black",shape="box"];788 -> 867[label="",style="solid", color="black", weight=3]; 789[label="foldr (++) [] (map (range4 xu50 xu51 xu52) [])",fontsize=16,color="black",shape="box"];789 -> 868[label="",style="solid", color="black", weight=3]; 2316[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) xu170 == GT))",fontsize=16,color="burlywood",shape="box"];3128[label="xu170/Succ xu1700",fontsize=10,color="white",style="solid",shape="box"];2316 -> 3128[label="",style="solid", color="burlywood", weight=9]; 3128 -> 2323[label="",style="solid", color="burlywood", weight=3]; 3129[label="xu170/Zero",fontsize=10,color="white",style="solid",shape="box"];2316 -> 3129[label="",style="solid", color="burlywood", weight=9]; 3129 -> 2324[label="",style="solid", color="burlywood", weight=3]; 2317[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu170 == GT))",fontsize=16,color="burlywood",shape="box"];3130[label="xu170/Succ xu1700",fontsize=10,color="white",style="solid",shape="box"];2317 -> 3130[label="",style="solid", color="burlywood", weight=9]; 3130 -> 2325[label="",style="solid", color="burlywood", weight=3]; 3131[label="xu170/Zero",fontsize=10,color="white",style="solid",shape="box"];2317 -> 3131[label="",style="solid", color="burlywood", weight=9]; 3131 -> 2326[label="",style="solid", color="burlywood", weight=3]; 357[label="takeWhile1 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];357 -> 418[label="",style="solid", color="black", weight=3]; 358[label="takeWhile0 (flip (<=) (Neg xu310)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];358 -> 419[label="",style="solid", color="black", weight=3]; 359[label="takeWhile1 (flip (<=) (Pos (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];359 -> 420[label="",style="solid", color="black", weight=3]; 360[label="Pos Zero : takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];360 -> 421[label="",style="dashed", color="green", weight=3]; 361[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];361 -> 422[label="",style="solid", color="black", weight=3]; 362[label="Pos Zero : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];362 -> 423[label="",style="dashed", color="green", weight=3]; 363[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];363 -> 424[label="",style="solid", color="black", weight=3]; 2447[label="primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2447 -> 2505[label="",style="solid", color="black", weight=3]; 2448[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) xu199 == GT))",fontsize=16,color="burlywood",shape="box"];3132[label="xu199/Succ xu1990",fontsize=10,color="white",style="solid",shape="box"];2448 -> 3132[label="",style="solid", color="burlywood", weight=9]; 3132 -> 2506[label="",style="solid", color="burlywood", weight=3]; 3133[label="xu199/Zero",fontsize=10,color="white",style="solid",shape="box"];2448 -> 3133[label="",style="solid", color="burlywood", weight=9]; 3133 -> 2507[label="",style="solid", color="burlywood", weight=3]; 2449[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero xu199 == GT))",fontsize=16,color="burlywood",shape="box"];3134[label="xu199/Succ xu1990",fontsize=10,color="white",style="solid",shape="box"];2449 -> 3134[label="",style="solid", color="burlywood", weight=9]; 3134 -> 2508[label="",style="solid", color="burlywood", weight=3]; 3135[label="xu199/Zero",fontsize=10,color="white",style="solid",shape="box"];2449 -> 3135[label="",style="solid", color="burlywood", weight=9]; 3135 -> 2509[label="",style="solid", color="burlywood", weight=3]; 368[label="takeWhile1 (flip (<=) (Neg Zero)) (Neg (Succ xu3000)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];368 -> 429[label="",style="solid", color="black", weight=3]; 369[label="Neg Zero : takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];369 -> 430[label="",style="dashed", color="green", weight=3]; 370[label="Neg Zero : takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];370 -> 431[label="",style="dashed", color="green", weight=3]; 371[label="takeWhile1 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];371 -> 432[label="",style="solid", color="black", weight=3]; 372[label="Neg Zero : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];372 -> 433[label="",style="dashed", color="green", weight=3]; 790 -> 4[label="",style="dashed", color="red", weight=0]; 790[label="range (xu20,xu21)",fontsize=16,color="magenta"];790 -> 869[label="",style="dashed", color="magenta", weight=3]; 791 -> 5[label="",style="dashed", color="red", weight=0]; 791[label="range (xu20,xu21)",fontsize=16,color="magenta"];791 -> 870[label="",style="dashed", color="magenta", weight=3]; 792 -> 6[label="",style="dashed", color="red", weight=0]; 792[label="range (xu20,xu21)",fontsize=16,color="magenta"];792 -> 871[label="",style="dashed", color="magenta", weight=3]; 793 -> 7[label="",style="dashed", color="red", weight=0]; 793[label="range (xu20,xu21)",fontsize=16,color="magenta"];793 -> 872[label="",style="dashed", color="magenta", weight=3]; 794 -> 8[label="",style="dashed", color="red", weight=0]; 794[label="range (xu20,xu21)",fontsize=16,color="magenta"];794 -> 873[label="",style="dashed", color="magenta", weight=3]; 795 -> 785[label="",style="dashed", color="red", weight=0]; 795[label="range (xu20,xu21)",fontsize=16,color="magenta"];795 -> 874[label="",style="dashed", color="magenta", weight=3]; 795 -> 875[label="",style="dashed", color="magenta", weight=3]; 796 -> 10[label="",style="dashed", color="red", weight=0]; 796[label="range (xu20,xu21)",fontsize=16,color="magenta"];796 -> 876[label="",style="dashed", color="magenta", weight=3]; 797 -> 787[label="",style="dashed", color="red", weight=0]; 797[label="range (xu20,xu21)",fontsize=16,color="magenta"];797 -> 877[label="",style="dashed", color="magenta", weight=3]; 797 -> 878[label="",style="dashed", color="magenta", weight=3]; 798[label="foldr (++) [] (map (range1 xu57) (xu580 : xu581))",fontsize=16,color="black",shape="box"];798 -> 879[label="",style="solid", color="black", weight=3]; 799[label="foldr (++) [] (map (range1 xu57) [])",fontsize=16,color="black",shape="box"];799 -> 880[label="",style="solid", color="black", weight=3]; 383[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];383 -> 446[label="",style="solid", color="black", weight=3]; 384[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];384 -> 447[label="",style="solid", color="black", weight=3]; 385[label="(++) range00 LT (not False && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];385 -> 448[label="",style="solid", color="black", weight=3]; 386[label="(++) range60 False (not (compare False xu30 == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];386 -> 449[label="",style="solid", color="black", weight=3]; 387[label="(++) range60 False (not False && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];387 -> 450[label="",style="solid", color="black", weight=3]; 2465[label="xu31000",fontsize=16,color="green",shape="box"];2466[label="xu31000",fontsize=16,color="green",shape="box"];2467[label="xu30000",fontsize=16,color="green",shape="box"];2468[label="xu30000",fontsize=16,color="green",shape="box"];2464[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu203 xu204 == GT))",fontsize=16,color="burlywood",shape="triangle"];3136[label="xu203/Succ xu2030",fontsize=10,color="white",style="solid",shape="box"];2464 -> 3136[label="",style="solid", color="burlywood", weight=9]; 3136 -> 2510[label="",style="solid", color="burlywood", weight=3]; 3137[label="xu203/Zero",fontsize=10,color="white",style="solid",shape="box"];2464 -> 3137[label="",style="solid", color="burlywood", weight=9]; 3137 -> 2511[label="",style="solid", color="burlywood", weight=3]; 390[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];390 -> 455[label="",style="solid", color="black", weight=3]; 391[label="takeWhile0 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];391 -> 456[label="",style="solid", color="black", weight=3]; 392[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];392 -> 457[label="",style="solid", color="black", weight=3]; 393[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];393 -> 458[label="",style="solid", color="black", weight=3]; 394[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];394 -> 459[label="",style="solid", color="black", weight=3]; 395[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];395 -> 460[label="",style="solid", color="black", weight=3]; 396[label="Integer (Neg (Succ xu30000)) : takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];396 -> 461[label="",style="dashed", color="green", weight=3]; 2514[label="xu31000",fontsize=16,color="green",shape="box"];2515[label="xu31000",fontsize=16,color="green",shape="box"];2516[label="xu30000",fontsize=16,color="green",shape="box"];2517[label="xu30000",fontsize=16,color="green",shape="box"];2513[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu208 xu209 == GT))",fontsize=16,color="burlywood",shape="triangle"];3138[label="xu208/Succ xu2080",fontsize=10,color="white",style="solid",shape="box"];2513 -> 3138[label="",style="solid", color="burlywood", weight=9]; 3138 -> 2554[label="",style="solid", color="burlywood", weight=3]; 3139[label="xu208/Zero",fontsize=10,color="white",style="solid",shape="box"];2513 -> 3139[label="",style="solid", color="burlywood", weight=9]; 3139 -> 2555[label="",style="solid", color="burlywood", weight=3]; 399[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="box"];399 -> 466[label="",style="solid", color="black", weight=3]; 400[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];400 -> 467[label="",style="solid", color="black", weight=3]; 401[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];401 -> 468[label="",style="solid", color="black", weight=3]; 402[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];402 -> 469[label="",style="solid", color="black", weight=3]; 403[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];403 -> 470[label="",style="solid", color="black", weight=3]; 859[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];860[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];861[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];862[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];863[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];864[label="range ((xu130,xu131,xu132),xu14)",fontsize=16,color="burlywood",shape="box"];3140[label="xu14/(xu140,xu141,xu142)",fontsize=10,color="white",style="solid",shape="box"];864 -> 3140[label="",style="solid", color="burlywood", weight=9]; 3140 -> 954[label="",style="solid", color="burlywood", weight=3]; 865[label="(xu13,xu14)",fontsize=16,color="green",shape="box"];866[label="range ((xu130,xu131),xu14)",fontsize=16,color="burlywood",shape="box"];3141[label="xu14/(xu140,xu141)",fontsize=10,color="white",style="solid",shape="box"];866 -> 3141[label="",style="solid", color="burlywood", weight=9]; 3141 -> 955[label="",style="solid", color="burlywood", weight=3]; 867[label="foldr (++) [] (range4 xu50 xu51 xu52 xu530 : map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="black",shape="box"];867 -> 956[label="",style="solid", color="black", weight=3]; 868 -> 132[label="",style="dashed", color="red", weight=0]; 868[label="foldr (++) [] []",fontsize=16,color="magenta"];2323[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) (Succ xu1700) == GT))",fontsize=16,color="black",shape="box"];2323 -> 2330[label="",style="solid", color="black", weight=3]; 2324[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu1690) Zero == GT))",fontsize=16,color="black",shape="box"];2324 -> 2331[label="",style="solid", color="black", weight=3]; 2325[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu1700) == GT))",fontsize=16,color="black",shape="box"];2325 -> 2332[label="",style="solid", color="black", weight=3]; 2326[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2326 -> 2333[label="",style="solid", color="black", weight=3]; 418[label="takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];418 -> 502[label="",style="solid", color="black", weight=3]; 419[label="[]",fontsize=16,color="green",shape="box"];420[label="Pos Zero : takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];420 -> 503[label="",style="dashed", color="green", weight=3]; 421[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];421 -> 504[label="",style="solid", color="black", weight=3]; 422[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Pos Zero) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];422 -> 505[label="",style="solid", color="black", weight=3]; 423[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];423 -> 506[label="",style="solid", color="black", weight=3]; 424[label="takeWhile (flip (<=) (Pos xu310)) (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];424 -> 507[label="",style="solid", color="black", weight=3]; 2505 -> 985[label="",style="dashed", color="red", weight=0]; 2505[label="primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2505 -> 2556[label="",style="dashed", color="magenta", weight=3]; 2506[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) (Succ xu1990) == GT))",fontsize=16,color="black",shape="box"];2506 -> 2557[label="",style="solid", color="black", weight=3]; 2507[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat (Succ xu1980) Zero == GT))",fontsize=16,color="black",shape="box"];2507 -> 2558[label="",style="solid", color="black", weight=3]; 2508[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero (Succ xu1990) == GT))",fontsize=16,color="black",shape="box"];2508 -> 2559[label="",style="solid", color="black", weight=3]; 2509[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2509 -> 2560[label="",style="solid", color="black", weight=3]; 429[label="Neg (Succ xu3000) : takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];429 -> 513[label="",style="dashed", color="green", weight=3]; 430[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];430 -> 514[label="",style="solid", color="black", weight=3]; 431[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];431 -> 515[label="",style="solid", color="black", weight=3]; 432[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];432 -> 516[label="",style="solid", color="black", weight=3]; 433[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];433 -> 517[label="",style="solid", color="black", weight=3]; 869[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];870[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];871[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];872[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];873[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];874[label="xu20",fontsize=16,color="green",shape="box"];875[label="xu21",fontsize=16,color="green",shape="box"];876[label="(xu20,xu21)",fontsize=16,color="green",shape="box"];877[label="xu20",fontsize=16,color="green",shape="box"];878[label="xu21",fontsize=16,color="green",shape="box"];879[label="foldr (++) [] (range1 xu57 xu580 : map (range1 xu57) xu581)",fontsize=16,color="black",shape="box"];879 -> 957[label="",style="solid", color="black", weight=3]; 880 -> 143[label="",style="dashed", color="red", weight=0]; 880[label="foldr (++) [] []",fontsize=16,color="magenta"];446[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];446 -> 545[label="",style="solid", color="black", weight=3]; 447[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];447 -> 546[label="",style="solid", color="black", weight=3]; 448[label="(++) range00 LT (True && LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];448 -> 547[label="",style="solid", color="black", weight=3]; 449[label="(++) range60 False (not (compare3 False xu30 == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="black",shape="box"];449 -> 548[label="",style="solid", color="black", weight=3]; 450[label="(++) range60 False (True && False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];450 -> 549[label="",style="solid", color="black", weight=3]; 2510[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) xu204 == GT))",fontsize=16,color="burlywood",shape="box"];3142[label="xu204/Succ xu2040",fontsize=10,color="white",style="solid",shape="box"];2510 -> 3142[label="",style="solid", color="burlywood", weight=9]; 3142 -> 2561[label="",style="solid", color="burlywood", weight=3]; 3143[label="xu204/Zero",fontsize=10,color="white",style="solid",shape="box"];2510 -> 3143[label="",style="solid", color="burlywood", weight=9]; 3143 -> 2562[label="",style="solid", color="burlywood", weight=3]; 2511[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu204 == GT))",fontsize=16,color="burlywood",shape="box"];3144[label="xu204/Succ xu2040",fontsize=10,color="white",style="solid",shape="box"];2511 -> 3144[label="",style="solid", color="burlywood", weight=9]; 3144 -> 2563[label="",style="solid", color="burlywood", weight=3]; 3145[label="xu204/Zero",fontsize=10,color="white",style="solid",shape="box"];2511 -> 3145[label="",style="solid", color="burlywood", weight=9]; 3145 -> 2564[label="",style="solid", color="burlywood", weight=3]; 455[label="takeWhile1 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];455 -> 554[label="",style="solid", color="black", weight=3]; 456[label="takeWhile0 (flip (<=) (Integer (Neg xu3100))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];456 -> 555[label="",style="solid", color="black", weight=3]; 457[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];457 -> 556[label="",style="solid", color="black", weight=3]; 458[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];458 -> 557[label="",style="dashed", color="green", weight=3]; 459[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];459 -> 558[label="",style="solid", color="black", weight=3]; 460[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];460 -> 559[label="",style="dashed", color="green", weight=3]; 461[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];461 -> 560[label="",style="solid", color="black", weight=3]; 2554[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) xu209 == GT))",fontsize=16,color="burlywood",shape="box"];3146[label="xu209/Succ xu2090",fontsize=10,color="white",style="solid",shape="box"];2554 -> 3146[label="",style="solid", color="burlywood", weight=9]; 3146 -> 2579[label="",style="solid", color="burlywood", weight=3]; 3147[label="xu209/Zero",fontsize=10,color="white",style="solid",shape="box"];2554 -> 3147[label="",style="solid", color="burlywood", weight=9]; 3147 -> 2580[label="",style="solid", color="burlywood", weight=3]; 2555[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero xu209 == GT))",fontsize=16,color="burlywood",shape="box"];3148[label="xu209/Succ xu2090",fontsize=10,color="white",style="solid",shape="box"];2555 -> 3148[label="",style="solid", color="burlywood", weight=9]; 3148 -> 2581[label="",style="solid", color="burlywood", weight=3]; 3149[label="xu209/Zero",fontsize=10,color="white",style="solid",shape="box"];2555 -> 3149[label="",style="solid", color="burlywood", weight=9]; 3149 -> 2582[label="",style="solid", color="burlywood", weight=3]; 466[label="takeWhile1 (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];466 -> 565[label="",style="solid", color="black", weight=3]; 467[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];467 -> 566[label="",style="dashed", color="green", weight=3]; 468[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];468 -> 567[label="",style="dashed", color="green", weight=3]; 469[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];469 -> 568[label="",style="solid", color="black", weight=3]; 470[label="Integer (Neg Zero) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];470 -> 569[label="",style="dashed", color="green", weight=3]; 954[label="range ((xu130,xu131,xu132),(xu140,xu141,xu142))",fontsize=16,color="black",shape="box"];954 -> 1040[label="",style="solid", color="black", weight=3]; 955[label="range ((xu130,xu131),(xu140,xu141))",fontsize=16,color="black",shape="box"];955 -> 1041[label="",style="solid", color="black", weight=3]; 956 -> 474[label="",style="dashed", color="red", weight=0]; 956[label="(++) range4 xu50 xu51 xu52 xu530 foldr (++) [] (map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="magenta"];956 -> 1042[label="",style="dashed", color="magenta", weight=3]; 956 -> 1043[label="",style="dashed", color="magenta", weight=3]; 2330 -> 2275[label="",style="dashed", color="red", weight=0]; 2330[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu1690 xu1700 == GT))",fontsize=16,color="magenta"];2330 -> 2337[label="",style="dashed", color="magenta", weight=3]; 2330 -> 2338[label="",style="dashed", color="magenta", weight=3]; 2331[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2331 -> 2339[label="",style="solid", color="black", weight=3]; 2332[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2332 -> 2340[label="",style="solid", color="black", weight=3]; 2333[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2333 -> 2341[label="",style="solid", color="black", weight=3]; 502[label="takeWhile0 (flip (<=) (Pos Zero)) (Pos (Succ xu3000)) (numericEnumFrom $! Pos (Succ xu3000) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];502 -> 577[label="",style="solid", color="black", weight=3]; 503[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];503 -> 578[label="",style="solid", color="black", weight=3]; 504[label="takeWhile (flip (<=) (Pos Zero)) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];504 -> 579[label="",style="solid", color="black", weight=3]; 505[label="[]",fontsize=16,color="green",shape="box"];506[label="takeWhile (flip (<=) (Neg Zero)) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];506 -> 580[label="",style="solid", color="black", weight=3]; 507[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];507 -> 581[label="",style="solid", color="black", weight=3]; 2556[label="xu3000",fontsize=16,color="green",shape="box"];985[label="primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];985 -> 1073[label="",style="solid", color="black", weight=3]; 2557 -> 2391[label="",style="dashed", color="red", weight=0]; 2557[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (primCmpNat xu1980 xu1990 == GT))",fontsize=16,color="magenta"];2557 -> 2583[label="",style="dashed", color="magenta", weight=3]; 2557 -> 2584[label="",style="dashed", color="magenta", weight=3]; 2558[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (GT == GT))",fontsize=16,color="black",shape="box"];2558 -> 2585[label="",style="solid", color="black", weight=3]; 2559[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (LT == GT))",fontsize=16,color="black",shape="box"];2559 -> 2586[label="",style="solid", color="black", weight=3]; 2560[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2560 -> 2587[label="",style="solid", color="black", weight=3]; 513[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom $! Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];513 -> 589[label="",style="solid", color="black", weight=3]; 514[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];514 -> 590[label="",style="solid", color="black", weight=3]; 515[label="takeWhile (flip (<=) (Pos Zero)) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];515 -> 591[label="",style="solid", color="black", weight=3]; 516[label="takeWhile0 (flip (<=) (Neg (Succ xu3100))) (Neg Zero) (numericEnumFrom $! Neg Zero + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];516 -> 592[label="",style="solid", color="black", weight=3]; 517[label="takeWhile (flip (<=) (Neg Zero)) (Neg Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];517 -> 593[label="",style="solid", color="black", weight=3]; 957 -> 519[label="",style="dashed", color="red", weight=0]; 957[label="(++) range1 xu57 xu580 foldr (++) [] (map (range1 xu57) xu581)",fontsize=16,color="magenta"];957 -> 1044[label="",style="dashed", color="magenta", weight=3]; 957 -> 1045[label="",style="dashed", color="magenta", weight=3]; 545[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 LT xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3150[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];545 -> 3150[label="",style="solid", color="burlywood", weight=9]; 3150 -> 599[label="",style="solid", color="burlywood", weight=3]; 3151[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];545 -> 3151[label="",style="solid", color="burlywood", weight=9]; 3151 -> 600[label="",style="solid", color="burlywood", weight=3]; 3152[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];545 -> 3152[label="",style="solid", color="burlywood", weight=9]; 3152 -> 601[label="",style="solid", color="burlywood", weight=3]; 546[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];546 -> 602[label="",style="solid", color="black", weight=3]; 547[label="(++) range00 LT (LT >= xu30) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];547 -> 603[label="",style="solid", color="black", weight=3]; 548[label="(++) range60 False (not (compare2 False xu30 (False == xu30) == LT)) foldr (++) [] (map (range6 False xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3153[label="xu30/False",fontsize=10,color="white",style="solid",shape="box"];548 -> 3153[label="",style="solid", color="burlywood", weight=9]; 3153 -> 604[label="",style="solid", color="burlywood", weight=3]; 3154[label="xu30/True",fontsize=10,color="white",style="solid",shape="box"];548 -> 3154[label="",style="solid", color="burlywood", weight=9]; 3154 -> 605[label="",style="solid", color="burlywood", weight=3]; 549[label="(++) range60 False (False >= xu30) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];549 -> 606[label="",style="solid", color="black", weight=3]; 2561[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) (Succ xu2040) == GT))",fontsize=16,color="black",shape="box"];2561 -> 2588[label="",style="solid", color="black", weight=3]; 2562[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2030) Zero == GT))",fontsize=16,color="black",shape="box"];2562 -> 2589[label="",style="solid", color="black", weight=3]; 2563[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu2040) == GT))",fontsize=16,color="black",shape="box"];2563 -> 2590[label="",style="solid", color="black", weight=3]; 2564[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2564 -> 2591[label="",style="solid", color="black", weight=3]; 554[label="takeWhile0 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];554 -> 612[label="",style="solid", color="black", weight=3]; 555[label="[]",fontsize=16,color="green",shape="box"];556[label="Integer (Pos Zero) : takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];556 -> 613[label="",style="dashed", color="green", weight=3]; 557[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];557 -> 614[label="",style="solid", color="black", weight=3]; 558[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Pos Zero)) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];558 -> 615[label="",style="solid", color="black", weight=3]; 559[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];559 -> 616[label="",style="solid", color="black", weight=3]; 560[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];560 -> 617[label="",style="solid", color="black", weight=3]; 2579[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) (Succ xu2090) == GT))",fontsize=16,color="black",shape="box"];2579 -> 2606[label="",style="solid", color="black", weight=3]; 2580[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat (Succ xu2080) Zero == GT))",fontsize=16,color="black",shape="box"];2580 -> 2607[label="",style="solid", color="black", weight=3]; 2581[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero (Succ xu2090) == GT))",fontsize=16,color="black",shape="box"];2581 -> 2608[label="",style="solid", color="black", weight=3]; 2582[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];2582 -> 2609[label="",style="solid", color="black", weight=3]; 565[label="Integer (Neg (Succ xu30000)) : takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];565 -> 623[label="",style="dashed", color="green", weight=3]; 566[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];566 -> 624[label="",style="solid", color="black", weight=3]; 567[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];567 -> 625[label="",style="solid", color="black", weight=3]; 568[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];568 -> 626[label="",style="solid", color="black", weight=3]; 569[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];569 -> 627[label="",style="solid", color="black", weight=3]; 1040[label="concatMap (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140))",fontsize=16,color="black",shape="box"];1040 -> 1128[label="",style="solid", color="black", weight=3]; 1041[label="concatMap (range2 xu131 xu141) (range (xu130,xu140))",fontsize=16,color="black",shape="box"];1041 -> 1129[label="",style="solid", color="black", weight=3]; 1042[label="range4 xu50 xu51 xu52 xu530",fontsize=16,color="black",shape="box"];1042 -> 1130[label="",style="solid", color="black", weight=3]; 1043 -> 772[label="",style="dashed", color="red", weight=0]; 1043[label="foldr (++) [] (map (range4 xu50 xu51 xu52) xu531)",fontsize=16,color="magenta"];1043 -> 1131[label="",style="dashed", color="magenta", weight=3]; 2337[label="xu1690",fontsize=16,color="green",shape="box"];2338[label="xu1700",fontsize=16,color="green",shape="box"];2339[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2339 -> 2365[label="",style="solid", color="black", weight=3]; 2340[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2340 -> 2366[label="",style="solid", color="black", weight=3]; 2341 -> 2340[label="",style="dashed", color="red", weight=0]; 2341[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];577[label="[]",fontsize=16,color="green",shape="box"];578[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];578 -> 635[label="",style="solid", color="black", weight=3]; 579[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];579 -> 636[label="",style="solid", color="black", weight=3]; 580[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];580 -> 637[label="",style="solid", color="black", weight=3]; 581[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];581 -> 638[label="",style="solid", color="black", weight=3]; 1073[label="primMinusNat (Succ Zero) (Succ xu30000)",fontsize=16,color="black",shape="box"];1073 -> 1166[label="",style="solid", color="black", weight=3]; 2583[label="xu1980",fontsize=16,color="green",shape="box"];2584[label="xu1990",fontsize=16,color="green",shape="box"];2585[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not True)",fontsize=16,color="black",shape="box"];2585 -> 2610[label="",style="solid", color="black", weight=3]; 2586[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not False)",fontsize=16,color="black",shape="triangle"];2586 -> 2611[label="",style="solid", color="black", weight=3]; 2587 -> 2586[label="",style="dashed", color="red", weight=0]; 2587[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) (not False)",fontsize=16,color="magenta"];589[label="takeWhile (flip (<=) (Neg Zero)) (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];589 -> 646[label="",style="solid", color="black", weight=3]; 590[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];590 -> 647[label="",style="solid", color="black", weight=3]; 591[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];591 -> 648[label="",style="solid", color="black", weight=3]; 592[label="[]",fontsize=16,color="green",shape="box"];593[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];593 -> 649[label="",style="solid", color="black", weight=3]; 1044[label="range1 xu57 xu580",fontsize=16,color="black",shape="box"];1044 -> 1132[label="",style="solid", color="black", weight=3]; 1045 -> 777[label="",style="dashed", color="red", weight=0]; 1045[label="foldr (++) [] (map (range1 xu57) xu581)",fontsize=16,color="magenta"];1045 -> 1133[label="",style="dashed", color="magenta", weight=3]; 599[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];599 -> 654[label="",style="solid", color="black", weight=3]; 600[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];600 -> 655[label="",style="solid", color="black", weight=3]; 601[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];601 -> 656[label="",style="solid", color="black", weight=3]; 602[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];602 -> 657[label="",style="solid", color="black", weight=3]; 603[label="(++) range00 LT (compare LT xu30 /= LT) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];603 -> 658[label="",style="solid", color="black", weight=3]; 604[label="(++) range60 False (not (compare2 False False (False == False) == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];604 -> 659[label="",style="solid", color="black", weight=3]; 605[label="(++) range60 False (not (compare2 False True (False == True) == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];605 -> 660[label="",style="solid", color="black", weight=3]; 606[label="(++) range60 False (compare False xu30 /= LT) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];606 -> 661[label="",style="solid", color="black", weight=3]; 2588 -> 2464[label="",style="dashed", color="red", weight=0]; 2588[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu2030 xu2040 == GT))",fontsize=16,color="magenta"];2588 -> 2612[label="",style="dashed", color="magenta", weight=3]; 2588 -> 2613[label="",style="dashed", color="magenta", weight=3]; 2589[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2589 -> 2614[label="",style="solid", color="black", weight=3]; 2590[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2590 -> 2615[label="",style="solid", color="black", weight=3]; 2591[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2591 -> 2616[label="",style="solid", color="black", weight=3]; 612[label="takeWhile0 (flip (<=) (Integer (Pos Zero))) (Integer (Pos (Succ xu30000))) (numericEnumFrom $! Integer (Pos (Succ xu30000)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];612 -> 669[label="",style="solid", color="black", weight=3]; 613[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom $! Integer (Pos Zero) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];613 -> 670[label="",style="solid", color="black", weight=3]; 614[label="takeWhile (flip (<=) (Integer (Pos Zero))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];614 -> 671[label="",style="solid", color="black", weight=3]; 615[label="[]",fontsize=16,color="green",shape="box"];616[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];616 -> 672[label="",style="solid", color="black", weight=3]; 617[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];617 -> 673[label="",style="solid", color="black", weight=3]; 2606 -> 2513[label="",style="dashed", color="red", weight=0]; 2606[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (primCmpNat xu2080 xu2090 == GT))",fontsize=16,color="magenta"];2606 -> 2631[label="",style="dashed", color="magenta", weight=3]; 2606 -> 2632[label="",style="dashed", color="magenta", weight=3]; 2607[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (GT == GT))",fontsize=16,color="black",shape="box"];2607 -> 2633[label="",style="solid", color="black", weight=3]; 2608[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (LT == GT))",fontsize=16,color="black",shape="box"];2608 -> 2634[label="",style="solid", color="black", weight=3]; 2609[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not (EQ == GT))",fontsize=16,color="black",shape="box"];2609 -> 2635[label="",style="solid", color="black", weight=3]; 623[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom $! Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];623 -> 681[label="",style="solid", color="black", weight=3]; 624[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];624 -> 682[label="",style="solid", color="black", weight=3]; 625[label="takeWhile (flip (<=) (Integer (Pos Zero))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];625 -> 683[label="",style="solid", color="black", weight=3]; 626[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu31000)))) (Integer (Neg Zero)) (numericEnumFrom $! Integer (Neg Zero) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];626 -> 684[label="",style="solid", color="black", weight=3]; 627[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Neg Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];627 -> 685[label="",style="solid", color="black", weight=3]; 1128[label="concat . map (range5 xu132 xu142 xu131 xu141)",fontsize=16,color="black",shape="box"];1128 -> 1195[label="",style="solid", color="black", weight=3]; 1129[label="concat . map (range2 xu131 xu141)",fontsize=16,color="black",shape="box"];1129 -> 1196[label="",style="solid", color="black", weight=3]; 1130[label="range40 xu50 xu51 xu52 xu530",fontsize=16,color="black",shape="box"];1130 -> 1197[label="",style="solid", color="black", weight=3]; 1131[label="xu531",fontsize=16,color="green",shape="box"];2365[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2365 -> 2377[label="",style="solid", color="black", weight=3]; 2366[label="takeWhile1 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2366 -> 2378[label="",style="solid", color="black", weight=3]; 635[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];635 -> 694[label="",style="solid", color="black", weight=3]; 636[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];636 -> 695[label="",style="solid", color="black", weight=3]; 637[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];637 -> 696[label="",style="solid", color="black", weight=3]; 638[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];638 -> 697[label="",style="solid", color="black", weight=3]; 1166[label="primMinusNat Zero xu30000",fontsize=16,color="burlywood",shape="box"];3155[label="xu30000/Succ xu300000",fontsize=10,color="white",style="solid",shape="box"];1166 -> 3155[label="",style="solid", color="burlywood", weight=9]; 3155 -> 1322[label="",style="solid", color="burlywood", weight=3]; 3156[label="xu30000/Zero",fontsize=10,color="white",style="solid",shape="box"];1166 -> 3156[label="",style="solid", color="burlywood", weight=9]; 3156 -> 1323[label="",style="solid", color="burlywood", weight=3]; 2610[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) False",fontsize=16,color="black",shape="box"];2610 -> 2636[label="",style="solid", color="black", weight=3]; 2611[label="takeWhile1 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) True",fontsize=16,color="black",shape="box"];2611 -> 2637[label="",style="solid", color="black", weight=3]; 646[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Neg (Succ xu3000) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];646 -> 706[label="",style="solid", color="black", weight=3]; 647[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];647 -> 707[label="",style="solid", color="black", weight=3]; 648[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];648 -> 708[label="",style="solid", color="black", weight=3]; 649[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];649 -> 709[label="",style="solid", color="black", weight=3]; 1132[label="range10 xu57 xu580",fontsize=16,color="black",shape="box"];1132 -> 1198[label="",style="solid", color="black", weight=3]; 1133[label="xu581",fontsize=16,color="green",shape="box"];654[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];654 -> 713[label="",style="solid", color="black", weight=3]; 655[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];655 -> 714[label="",style="solid", color="black", weight=3]; 656[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];656 -> 715[label="",style="solid", color="black", weight=3]; 657[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];657 -> 716[label="",style="solid", color="black", weight=3]; 658[label="(++) range00 LT (not (compare LT xu30 == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];658 -> 717[label="",style="solid", color="black", weight=3]; 659[label="(++) range60 False (not (compare2 False False True == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];659 -> 718[label="",style="solid", color="black", weight=3]; 660[label="(++) range60 False (not (compare2 False True False == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];660 -> 719[label="",style="solid", color="black", weight=3]; 661[label="(++) range60 False (not (compare False xu30 == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];661 -> 720[label="",style="solid", color="black", weight=3]; 2612[label="xu2040",fontsize=16,color="green",shape="box"];2613[label="xu2030",fontsize=16,color="green",shape="box"];2614[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2614 -> 2638[label="",style="solid", color="black", weight=3]; 2615[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2615 -> 2639[label="",style="solid", color="black", weight=3]; 2616 -> 2615[label="",style="dashed", color="red", weight=0]; 2616[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];669[label="[]",fontsize=16,color="green",shape="box"];670[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (Integer (Pos Zero) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];670 -> 728[label="",style="solid", color="black", weight=3]; 671[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];671 -> 729[label="",style="solid", color="black", weight=3]; 672[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];672 -> 730[label="",style="solid", color="black", weight=3]; 673[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];673 -> 731[label="",style="solid", color="black", weight=3]; 2631[label="xu2080",fontsize=16,color="green",shape="box"];2632[label="xu2090",fontsize=16,color="green",shape="box"];2633[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not True)",fontsize=16,color="black",shape="box"];2633 -> 2654[label="",style="solid", color="black", weight=3]; 2634[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="black",shape="triangle"];2634 -> 2655[label="",style="solid", color="black", weight=3]; 2635 -> 2634[label="",style="dashed", color="red", weight=0]; 2635[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) (not False)",fontsize=16,color="magenta"];681[label="takeWhile (flip (<=) (Integer (Neg Zero))) (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];681 -> 739[label="",style="solid", color="black", weight=3]; 682[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];682 -> 740[label="",style="solid", color="black", weight=3]; 683[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];683 -> 741[label="",style="solid", color="black", weight=3]; 684[label="[]",fontsize=16,color="green",shape="box"];685[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];685 -> 742[label="",style="solid", color="black", weight=3]; 1195[label="concat (map (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="black",shape="box"];1195 -> 1205[label="",style="solid", color="black", weight=3]; 1196[label="concat (map (range2 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="black",shape="box"];1196 -> 1206[label="",style="solid", color="black", weight=3]; 1197[label="concatMap (range3 xu50 xu530) (range (xu51,xu52))",fontsize=16,color="black",shape="box"];1197 -> 1207[label="",style="solid", color="black", weight=3]; 2377[label="takeWhile0 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2377 -> 2381[label="",style="solid", color="black", weight=3]; 2378[label="Pos (Succ xu168) : takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2378 -> 2382[label="",style="dashed", color="green", weight=3]; 694[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos Zero) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];694 -> 753[label="",style="solid", color="black", weight=3]; 695[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];695 -> 754[label="",style="solid", color="black", weight=3]; 696[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];696 -> 755[label="",style="solid", color="black", weight=3]; 697[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) (Succ xu3000))) (numericEnumFrom (primMinusNat (Succ Zero) (Succ xu3000))))",fontsize=16,color="black",shape="box"];697 -> 756[label="",style="solid", color="black", weight=3]; 1322[label="primMinusNat Zero (Succ xu300000)",fontsize=16,color="black",shape="box"];1322 -> 1406[label="",style="solid", color="black", weight=3]; 1323[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];1323 -> 1407[label="",style="solid", color="black", weight=3]; 2636[label="takeWhile0 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) otherwise",fontsize=16,color="black",shape="box"];2636 -> 2656[label="",style="solid", color="black", weight=3]; 2637[label="Neg (Succ xu196) : takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom $! xu197)",fontsize=16,color="green",shape="box"];2637 -> 2657[label="",style="dashed", color="green", weight=3]; 706[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];706 -> 767[label="",style="solid", color="black", weight=3]; 707[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];707 -> 768[label="",style="solid", color="black", weight=3]; 708[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];708 -> 769[label="",style="solid", color="black", weight=3]; 709[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];709 -> 770[label="",style="solid", color="black", weight=3]; 1198[label="(xu57,xu580) : []",fontsize=16,color="green",shape="box"];713[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];713 -> 800[label="",style="solid", color="black", weight=3]; 714[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];714 -> 801[label="",style="solid", color="black", weight=3]; 715[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];715 -> 802[label="",style="solid", color="black", weight=3]; 716[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];716 -> 803[label="",style="solid", color="black", weight=3]; 717[label="(++) range00 LT (not (compare3 LT xu30 == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="black",shape="box"];717 -> 804[label="",style="solid", color="black", weight=3]; 718[label="(++) range60 False (not (EQ == LT)) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];718 -> 805[label="",style="solid", color="black", weight=3]; 719[label="(++) range60 False (not (compare1 False True (False <= True) == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];719 -> 806[label="",style="solid", color="black", weight=3]; 720[label="(++) range60 False (not (compare3 False xu30 == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="black",shape="box"];720 -> 807[label="",style="solid", color="black", weight=3]; 2638[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2638 -> 2658[label="",style="solid", color="black", weight=3]; 2639[label="takeWhile1 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2639 -> 2659[label="",style="solid", color="black", weight=3]; 728[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];728 -> 816[label="",style="solid", color="black", weight=3]; 729[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];729 -> 817[label="",style="solid", color="black", weight=3]; 730[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];730 -> 818[label="",style="solid", color="black", weight=3]; 731[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];731 -> 819[label="",style="solid", color="black", weight=3]; 2654[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) False",fontsize=16,color="black",shape="box"];2654 -> 2672[label="",style="solid", color="black", weight=3]; 2655[label="takeWhile1 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2655 -> 2673[label="",style="solid", color="black", weight=3]; 739[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];739 -> 828[label="",style="solid", color="black", weight=3]; 740[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];740 -> 829[label="",style="solid", color="black", weight=3]; 741[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];741 -> 830[label="",style="solid", color="black", weight=3]; 742[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];742 -> 831[label="",style="solid", color="black", weight=3]; 1205 -> 80[label="",style="dashed", color="red", weight=0]; 1205[label="foldr (++) [] (map (range5 xu132 xu142 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="magenta"];1205 -> 1210[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1211[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1212[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1213[label="",style="dashed", color="magenta", weight=3]; 1205 -> 1214[label="",style="dashed", color="magenta", weight=3]; 1206 -> 87[label="",style="dashed", color="red", weight=0]; 1206[label="foldr (++) [] (map (range2 xu131 xu141) (range (xu130,xu140)))",fontsize=16,color="magenta"];1206 -> 1215[label="",style="dashed", color="magenta", weight=3]; 1206 -> 1216[label="",style="dashed", color="magenta", weight=3]; 1206 -> 1217[label="",style="dashed", color="magenta", weight=3]; 1207[label="concat . map (range3 xu50 xu530)",fontsize=16,color="black",shape="box"];1207 -> 1218[label="",style="solid", color="black", weight=3]; 2381[label="takeWhile0 (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168)) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2381 -> 2385[label="",style="solid", color="black", weight=3]; 2382[label="takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom $! Pos (Succ xu168) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2382 -> 2386[label="",style="solid", color="black", weight=3]; 753[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primPlusInt (Pos Zero) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];753 -> 841[label="",style="solid", color="black", weight=3]; 754[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];754 -> 842[label="",style="solid", color="black", weight=3]; 755[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];755 -> 843[label="",style="solid", color="black", weight=3]; 756[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero xu3000)) (numericEnumFrom (primMinusNat Zero xu3000)))",fontsize=16,color="burlywood",shape="box"];3157[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];756 -> 3157[label="",style="solid", color="burlywood", weight=9]; 3157 -> 844[label="",style="solid", color="burlywood", weight=3]; 3158[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];756 -> 3158[label="",style="solid", color="burlywood", weight=9]; 3158 -> 845[label="",style="solid", color="burlywood", weight=3]; 1406[label="Neg (Succ xu300000)",fontsize=16,color="green",shape="box"];1407[label="Pos Zero",fontsize=16,color="green",shape="box"];2656[label="takeWhile0 (flip (<=) (Neg (Succ xu195))) (Neg (Succ xu196)) (numericEnumFrom $! xu197) True",fontsize=16,color="black",shape="box"];2656 -> 2674[label="",style="solid", color="black", weight=3]; 2657[label="takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom $! xu197)",fontsize=16,color="black",shape="box"];2657 -> 2675[label="",style="solid", color="black", weight=3]; 767[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Neg (Succ xu3000)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];767 -> 855[label="",style="solid", color="black", weight=3]; 768[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];768 -> 856[label="",style="solid", color="black", weight=3]; 769[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];769 -> 857[label="",style="solid", color="black", weight=3]; 770[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) Zero)) (numericEnumFrom (primMinusNat (Succ Zero) Zero)))",fontsize=16,color="black",shape="box"];770 -> 858[label="",style="solid", color="black", weight=3]; 800[label="(++) range00 LT (not False) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];800 -> 881[label="",style="solid", color="black", weight=3]; 801[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];801 -> 882[label="",style="solid", color="black", weight=3]; 802[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];802 -> 883[label="",style="solid", color="black", weight=3]; 803[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 EQ xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3159[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];803 -> 3159[label="",style="solid", color="burlywood", weight=9]; 3159 -> 884[label="",style="solid", color="burlywood", weight=3]; 3160[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];803 -> 3160[label="",style="solid", color="burlywood", weight=9]; 3160 -> 885[label="",style="solid", color="burlywood", weight=3]; 3161[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];803 -> 3161[label="",style="solid", color="burlywood", weight=9]; 3161 -> 886[label="",style="solid", color="burlywood", weight=3]; 804[label="(++) range00 LT (not (compare2 LT xu30 (LT == xu30) == LT)) foldr (++) [] (map (range0 GT xu30) (EQ : GT : []))",fontsize=16,color="burlywood",shape="box"];3162[label="xu30/LT",fontsize=10,color="white",style="solid",shape="box"];804 -> 3162[label="",style="solid", color="burlywood", weight=9]; 3162 -> 887[label="",style="solid", color="burlywood", weight=3]; 3163[label="xu30/EQ",fontsize=10,color="white",style="solid",shape="box"];804 -> 3163[label="",style="solid", color="burlywood", weight=9]; 3163 -> 888[label="",style="solid", color="burlywood", weight=3]; 3164[label="xu30/GT",fontsize=10,color="white",style="solid",shape="box"];804 -> 3164[label="",style="solid", color="burlywood", weight=9]; 3164 -> 889[label="",style="solid", color="burlywood", weight=3]; 805[label="(++) range60 False (not False) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];805 -> 890[label="",style="solid", color="black", weight=3]; 806[label="(++) range60 False (not (compare1 False True True == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];806 -> 891[label="",style="solid", color="black", weight=3]; 807[label="(++) range60 False (not (compare2 False xu30 (False == xu30) == LT)) foldr (++) [] (map (range6 True xu30) (True : []))",fontsize=16,color="burlywood",shape="box"];3165[label="xu30/False",fontsize=10,color="white",style="solid",shape="box"];807 -> 3165[label="",style="solid", color="burlywood", weight=9]; 3165 -> 892[label="",style="solid", color="burlywood", weight=3]; 3166[label="xu30/True",fontsize=10,color="white",style="solid",shape="box"];807 -> 3166[label="",style="solid", color="burlywood", weight=9]; 3166 -> 893[label="",style="solid", color="burlywood", weight=3]; 2658[label="takeWhile0 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2658 -> 2676[label="",style="solid", color="black", weight=3]; 2659[label="Integer (Pos (Succ xu202)) : takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2659 -> 2677[label="",style="dashed", color="green", weight=3]; 816[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (Pos Zero) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos Zero) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];816 -> 904[label="",style="solid", color="black", weight=3]; 817[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];817 -> 905[label="",style="solid", color="black", weight=3]; 818[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];818 -> 906[label="",style="solid", color="black", weight=3]; 819 -> 41[label="",style="dashed", color="red", weight=0]; 819[label="takeWhile (flip (<=) (Integer (Pos xu3100))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];819 -> 907[label="",style="dashed", color="magenta", weight=3]; 819 -> 908[label="",style="dashed", color="magenta", weight=3]; 2672[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) otherwise",fontsize=16,color="black",shape="box"];2672 -> 2690[label="",style="solid", color="black", weight=3]; 2673[label="Integer (Neg (Succ xu207)) : takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2673 -> 2691[label="",style="dashed", color="green", weight=3]; 828[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu30000)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];828 -> 919[label="",style="solid", color="black", weight=3]; 829[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];829 -> 920[label="",style="solid", color="black", weight=3]; 830[label="takeWhile (flip (<=) (Integer (Pos Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];830 -> 921[label="",style="solid", color="black", weight=3]; 831[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];831 -> 922[label="",style="solid", color="black", weight=3]; 1210[label="xu131",fontsize=16,color="green",shape="box"];1211[label="xu141",fontsize=16,color="green",shape="box"];1212[label="range (xu130,xu140)",fontsize=16,color="blue",shape="box"];3167[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3167[label="",style="solid", color="blue", weight=9]; 3167 -> 1221[label="",style="solid", color="blue", weight=3]; 3168[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3168[label="",style="solid", color="blue", weight=9]; 3168 -> 1222[label="",style="solid", color="blue", weight=3]; 3169[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3169[label="",style="solid", color="blue", weight=9]; 3169 -> 1223[label="",style="solid", color="blue", weight=3]; 3170[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3170[label="",style="solid", color="blue", weight=9]; 3170 -> 1224[label="",style="solid", color="blue", weight=3]; 3171[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3171[label="",style="solid", color="blue", weight=9]; 3171 -> 1225[label="",style="solid", color="blue", weight=3]; 3172[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3172[label="",style="solid", color="blue", weight=9]; 3172 -> 1226[label="",style="solid", color="blue", weight=3]; 3173[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3173[label="",style="solid", color="blue", weight=9]; 3173 -> 1227[label="",style="solid", color="blue", weight=3]; 3174[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1212 -> 3174[label="",style="solid", color="blue", weight=9]; 3174 -> 1228[label="",style="solid", color="blue", weight=3]; 1213[label="xu132",fontsize=16,color="green",shape="box"];1214[label="xu142",fontsize=16,color="green",shape="box"];1215[label="range (xu130,xu140)",fontsize=16,color="blue",shape="box"];3175[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3175[label="",style="solid", color="blue", weight=9]; 3175 -> 1229[label="",style="solid", color="blue", weight=3]; 3176[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3176[label="",style="solid", color="blue", weight=9]; 3176 -> 1230[label="",style="solid", color="blue", weight=3]; 3177[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3177[label="",style="solid", color="blue", weight=9]; 3177 -> 1231[label="",style="solid", color="blue", weight=3]; 3178[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3178[label="",style="solid", color="blue", weight=9]; 3178 -> 1232[label="",style="solid", color="blue", weight=3]; 3179[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3179[label="",style="solid", color="blue", weight=9]; 3179 -> 1233[label="",style="solid", color="blue", weight=3]; 3180[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3180[label="",style="solid", color="blue", weight=9]; 3180 -> 1234[label="",style="solid", color="blue", weight=3]; 3181[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3181[label="",style="solid", color="blue", weight=9]; 3181 -> 1235[label="",style="solid", color="blue", weight=3]; 3182[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1215 -> 3182[label="",style="solid", color="blue", weight=9]; 3182 -> 1236[label="",style="solid", color="blue", weight=3]; 1216[label="xu131",fontsize=16,color="green",shape="box"];1217[label="xu141",fontsize=16,color="green",shape="box"];1218[label="concat (map (range3 xu50 xu530) (range (xu51,xu52)))",fontsize=16,color="black",shape="box"];1218 -> 1237[label="",style="solid", color="black", weight=3]; 2385[label="[]",fontsize=16,color="green",shape="box"];2386[label="takeWhile (flip (<=) (Pos (Succ xu167))) (Pos (Succ xu168) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (Succ xu168) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2386 -> 2450[label="",style="solid", color="black", weight=3]; 841[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos (primPlusNat Zero (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero)))))",fontsize=16,color="black",shape="box"];841 -> 933[label="",style="solid", color="black", weight=3]; 842 -> 43[label="",style="dashed", color="red", weight=0]; 842[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];842 -> 934[label="",style="dashed", color="magenta", weight=3]; 842 -> 935[label="",style="dashed", color="magenta", weight=3]; 843 -> 43[label="",style="dashed", color="red", weight=0]; 843[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];843 -> 936[label="",style="dashed", color="magenta", weight=3]; 843 -> 937[label="",style="dashed", color="magenta", weight=3]; 844[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero (Succ xu30000))) (numericEnumFrom (primMinusNat Zero (Succ xu30000))))",fontsize=16,color="black",shape="box"];844 -> 938[label="",style="solid", color="black", weight=3]; 845[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (primMinusNat Zero Zero)) (numericEnumFrom (primMinusNat Zero Zero)))",fontsize=16,color="black",shape="box"];845 -> 939[label="",style="solid", color="black", weight=3]; 2674[label="[]",fontsize=16,color="green",shape="box"];2675[label="takeWhile (flip (<=) (Neg (Succ xu195))) (xu197 `seq` numericEnumFrom xu197)",fontsize=16,color="black",shape="box"];2675 -> 2692[label="",style="solid", color="black", weight=3]; 855[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat (Succ Zero) (Succ xu3000))) (numericEnumFrom (primMinusNat (Succ Zero) (Succ xu3000))))",fontsize=16,color="black",shape="box"];855 -> 950[label="",style="solid", color="black", weight=3]; 856[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];856 -> 951[label="",style="solid", color="black", weight=3]; 857[label="takeWhile (flip (<=) (Pos Zero)) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];857 -> 952[label="",style="solid", color="black", weight=3]; 858[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos (Succ Zero))) (numericEnumFrom (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];858 -> 953[label="",style="solid", color="black", weight=3]; 881[label="(++) range00 LT True foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];881 -> 958[label="",style="solid", color="black", weight=3]; 882[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];882 -> 959[label="",style="solid", color="black", weight=3]; 883[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];883 -> 960[label="",style="solid", color="black", weight=3]; 884[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];884 -> 961[label="",style="solid", color="black", weight=3]; 885[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];885 -> 962[label="",style="solid", color="black", weight=3]; 886[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];886 -> 963[label="",style="solid", color="black", weight=3]; 887[label="(++) range00 LT (not (compare2 LT LT (LT == LT) == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];887 -> 964[label="",style="solid", color="black", weight=3]; 888[label="(++) range00 LT (not (compare2 LT EQ (LT == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];888 -> 965[label="",style="solid", color="black", weight=3]; 889[label="(++) range00 LT (not (compare2 LT GT (LT == GT) == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];889 -> 966[label="",style="solid", color="black", weight=3]; 890[label="(++) range60 False True foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];890 -> 967[label="",style="solid", color="black", weight=3]; 891[label="(++) range60 False (not (LT == LT)) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];891 -> 968[label="",style="solid", color="black", weight=3]; 892[label="(++) range60 False (not (compare2 False False (False == False) == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];892 -> 969[label="",style="solid", color="black", weight=3]; 893[label="(++) range60 False (not (compare2 False True (False == True) == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];893 -> 970[label="",style="solid", color="black", weight=3]; 2676[label="takeWhile0 (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2676 -> 2693[label="",style="solid", color="black", weight=3]; 2677[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom $! Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2677 -> 2694[label="",style="solid", color="black", weight=3]; 904[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];904 -> 980[label="",style="solid", color="black", weight=3]; 905 -> 41[label="",style="dashed", color="red", weight=0]; 905[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];905 -> 981[label="",style="dashed", color="magenta", weight=3]; 905 -> 982[label="",style="dashed", color="magenta", weight=3]; 906 -> 41[label="",style="dashed", color="red", weight=0]; 906[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];906 -> 983[label="",style="dashed", color="magenta", weight=3]; 906 -> 984[label="",style="dashed", color="magenta", weight=3]; 907[label="Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];907 -> 985[label="",style="dashed", color="green", weight=3]; 908[label="Integer (Pos xu3100)",fontsize=16,color="green",shape="box"];2690[label="takeWhile0 (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))) True",fontsize=16,color="black",shape="box"];2690 -> 2707[label="",style="solid", color="black", weight=3]; 2691[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom $! Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];2691 -> 2708[label="",style="solid", color="black", weight=3]; 919[label="takeWhile (flip (<=) (Integer (Neg Zero))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];919 -> 995[label="",style="solid", color="black", weight=3]; 920 -> 41[label="",style="dashed", color="red", weight=0]; 920[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];920 -> 996[label="",style="dashed", color="magenta", weight=3]; 920 -> 997[label="",style="dashed", color="magenta", weight=3]; 921 -> 41[label="",style="dashed", color="red", weight=0]; 921[label="takeWhile (flip (<=) (Integer (Pos Zero))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];921 -> 998[label="",style="dashed", color="magenta", weight=3]; 921 -> 999[label="",style="dashed", color="magenta", weight=3]; 922 -> 41[label="",style="dashed", color="red", weight=0]; 922[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];922 -> 1000[label="",style="dashed", color="magenta", weight=3]; 922 -> 1001[label="",style="dashed", color="magenta", weight=3]; 1221 -> 4[label="",style="dashed", color="red", weight=0]; 1221[label="range (xu130,xu140)",fontsize=16,color="magenta"];1221 -> 1240[label="",style="dashed", color="magenta", weight=3]; 1222 -> 5[label="",style="dashed", color="red", weight=0]; 1222[label="range (xu130,xu140)",fontsize=16,color="magenta"];1222 -> 1241[label="",style="dashed", color="magenta", weight=3]; 1223 -> 6[label="",style="dashed", color="red", weight=0]; 1223[label="range (xu130,xu140)",fontsize=16,color="magenta"];1223 -> 1242[label="",style="dashed", color="magenta", weight=3]; 1224 -> 7[label="",style="dashed", color="red", weight=0]; 1224[label="range (xu130,xu140)",fontsize=16,color="magenta"];1224 -> 1243[label="",style="dashed", color="magenta", weight=3]; 1225 -> 8[label="",style="dashed", color="red", weight=0]; 1225[label="range (xu130,xu140)",fontsize=16,color="magenta"];1225 -> 1244[label="",style="dashed", color="magenta", weight=3]; 1226 -> 785[label="",style="dashed", color="red", weight=0]; 1226[label="range (xu130,xu140)",fontsize=16,color="magenta"];1226 -> 1245[label="",style="dashed", color="magenta", weight=3]; 1226 -> 1246[label="",style="dashed", color="magenta", weight=3]; 1227 -> 10[label="",style="dashed", color="red", weight=0]; 1227[label="range (xu130,xu140)",fontsize=16,color="magenta"];1227 -> 1247[label="",style="dashed", color="magenta", weight=3]; 1228 -> 787[label="",style="dashed", color="red", weight=0]; 1228[label="range (xu130,xu140)",fontsize=16,color="magenta"];1228 -> 1248[label="",style="dashed", color="magenta", weight=3]; 1228 -> 1249[label="",style="dashed", color="magenta", weight=3]; 1229 -> 4[label="",style="dashed", color="red", weight=0]; 1229[label="range (xu130,xu140)",fontsize=16,color="magenta"];1229 -> 1250[label="",style="dashed", color="magenta", weight=3]; 1230 -> 5[label="",style="dashed", color="red", weight=0]; 1230[label="range (xu130,xu140)",fontsize=16,color="magenta"];1230 -> 1251[label="",style="dashed", color="magenta", weight=3]; 1231 -> 6[label="",style="dashed", color="red", weight=0]; 1231[label="range (xu130,xu140)",fontsize=16,color="magenta"];1231 -> 1252[label="",style="dashed", color="magenta", weight=3]; 1232 -> 7[label="",style="dashed", color="red", weight=0]; 1232[label="range (xu130,xu140)",fontsize=16,color="magenta"];1232 -> 1253[label="",style="dashed", color="magenta", weight=3]; 1233 -> 8[label="",style="dashed", color="red", weight=0]; 1233[label="range (xu130,xu140)",fontsize=16,color="magenta"];1233 -> 1254[label="",style="dashed", color="magenta", weight=3]; 1234 -> 785[label="",style="dashed", color="red", weight=0]; 1234[label="range (xu130,xu140)",fontsize=16,color="magenta"];1234 -> 1255[label="",style="dashed", color="magenta", weight=3]; 1234 -> 1256[label="",style="dashed", color="magenta", weight=3]; 1235 -> 10[label="",style="dashed", color="red", weight=0]; 1235[label="range (xu130,xu140)",fontsize=16,color="magenta"];1235 -> 1257[label="",style="dashed", color="magenta", weight=3]; 1236 -> 787[label="",style="dashed", color="red", weight=0]; 1236[label="range (xu130,xu140)",fontsize=16,color="magenta"];1236 -> 1258[label="",style="dashed", color="magenta", weight=3]; 1236 -> 1259[label="",style="dashed", color="magenta", weight=3]; 1237 -> 1260[label="",style="dashed", color="red", weight=0]; 1237[label="foldr (++) [] (map (range3 xu50 xu530) (range (xu51,xu52)))",fontsize=16,color="magenta"];1237 -> 1261[label="",style="dashed", color="magenta", weight=3]; 1237 -> 1262[label="",style="dashed", color="magenta", weight=3]; 1237 -> 1263[label="",style="dashed", color="magenta", weight=3]; 2450[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (Pos (Succ xu168) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos (Succ xu168) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2450 -> 2512[label="",style="solid", color="black", weight=3]; 933 -> 43[label="",style="dashed", color="red", weight=0]; 933[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom (Pos (primPlusNat Zero (Succ Zero))))",fontsize=16,color="magenta"];933 -> 1014[label="",style="dashed", color="magenta", weight=3]; 933 -> 1015[label="",style="dashed", color="magenta", weight=3]; 934[label="Pos Zero",fontsize=16,color="green",shape="box"];935[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];935 -> 1016[label="",style="dashed", color="green", weight=3]; 936[label="Neg Zero",fontsize=16,color="green",shape="box"];937[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];937 -> 1017[label="",style="dashed", color="green", weight=3]; 938[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Neg (Succ xu30000))) (numericEnumFrom (Neg (Succ xu30000))))",fontsize=16,color="black",shape="box"];938 -> 1018[label="",style="solid", color="black", weight=3]; 939[label="takeWhile (flip (<=) (Pos xu310)) (enforceWHNF (WHNF (Pos Zero)) (numericEnumFrom (Pos Zero)))",fontsize=16,color="black",shape="box"];939 -> 1019[label="",style="solid", color="black", weight=3]; 2692[label="takeWhile (flip (<=) (Neg (Succ xu195))) (enforceWHNF (WHNF xu197) (numericEnumFrom xu197))",fontsize=16,color="black",shape="box"];2692 -> 2709[label="",style="solid", color="black", weight=3]; 950[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero xu3000)) (numericEnumFrom (primMinusNat Zero xu3000)))",fontsize=16,color="burlywood",shape="box"];3183[label="xu3000/Succ xu30000",fontsize=10,color="white",style="solid",shape="box"];950 -> 3183[label="",style="solid", color="burlywood", weight=9]; 3183 -> 1032[label="",style="solid", color="burlywood", weight=3]; 3184[label="xu3000/Zero",fontsize=10,color="white",style="solid",shape="box"];950 -> 3184[label="",style="solid", color="burlywood", weight=9]; 3184 -> 1033[label="",style="solid", color="burlywood", weight=3]; 951 -> 43[label="",style="dashed", color="red", weight=0]; 951[label="takeWhile (flip (<=) (Pos (Succ xu3100))) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];951 -> 1034[label="",style="dashed", color="magenta", weight=3]; 951 -> 1035[label="",style="dashed", color="magenta", weight=3]; 952 -> 43[label="",style="dashed", color="red", weight=0]; 952[label="takeWhile (flip (<=) (Pos Zero)) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];952 -> 1036[label="",style="dashed", color="magenta", weight=3]; 952 -> 1037[label="",style="dashed", color="magenta", weight=3]; 953 -> 43[label="",style="dashed", color="red", weight=0]; 953[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos (Succ Zero)))",fontsize=16,color="magenta"];953 -> 1038[label="",style="dashed", color="magenta", weight=3]; 953 -> 1039[label="",style="dashed", color="magenta", weight=3]; 958[label="(++) (LT : []) foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];958 -> 1046[label="",style="solid", color="black", weight=3]; 959[label="(++) range00 LT (not True) foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];959 -> 1047[label="",style="solid", color="black", weight=3]; 960[label="(++) range00 LT (not True) foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];960 -> 1048[label="",style="solid", color="black", weight=3]; 961[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];961 -> 1049[label="",style="solid", color="black", weight=3]; 962[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];962 -> 1050[label="",style="solid", color="black", weight=3]; 963[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];963 -> 1051[label="",style="solid", color="black", weight=3]; 964[label="(++) range00 LT (not (compare2 LT LT True == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];964 -> 1052[label="",style="solid", color="black", weight=3]; 965[label="(++) range00 LT (not (compare2 LT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];965 -> 1053[label="",style="solid", color="black", weight=3]; 966[label="(++) range00 LT (not (compare2 LT GT False == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];966 -> 1054[label="",style="solid", color="black", weight=3]; 967[label="(++) (False : []) foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];967 -> 1055[label="",style="solid", color="black", weight=3]; 968[label="(++) range60 False (not True) foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];968 -> 1056[label="",style="solid", color="black", weight=3]; 969[label="(++) range60 False (not (compare2 False False True == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];969 -> 1057[label="",style="solid", color="black", weight=3]; 970[label="(++) range60 False (not (compare2 False True False == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];970 -> 1058[label="",style="solid", color="black", weight=3]; 2693[label="[]",fontsize=16,color="green",shape="box"];2694[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2694 -> 2710[label="",style="solid", color="black", weight=3]; 980 -> 41[label="",style="dashed", color="red", weight=0]; 980[label="takeWhile (flip (<=) (Integer (Pos (Succ xu31000)))) (numericEnumFrom (Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];980 -> 1069[label="",style="dashed", color="magenta", weight=3]; 980 -> 1070[label="",style="dashed", color="magenta", weight=3]; 981[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];981 -> 1071[label="",style="dashed", color="green", weight=3]; 982[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];983[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];983 -> 1072[label="",style="dashed", color="green", weight=3]; 984[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];2707[label="[]",fontsize=16,color="green",shape="box"];2708[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];2708 -> 2724[label="",style="solid", color="black", weight=3]; 995 -> 41[label="",style="dashed", color="red", weight=0]; 995[label="takeWhile (flip (<=) (Integer (Neg Zero))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];995 -> 1084[label="",style="dashed", color="magenta", weight=3]; 995 -> 1085[label="",style="dashed", color="magenta", weight=3]; 996[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];996 -> 1086[label="",style="dashed", color="green", weight=3]; 997[label="Integer (Pos (Succ xu31000))",fontsize=16,color="green",shape="box"];998[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];998 -> 1087[label="",style="dashed", color="green", weight=3]; 999[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1000[label="Integer (primPlusInt (Neg Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1000 -> 1088[label="",style="dashed", color="green", weight=3]; 1001[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1240[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1241[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1242[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1243[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1244[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1245[label="xu130",fontsize=16,color="green",shape="box"];1246[label="xu140",fontsize=16,color="green",shape="box"];1247[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1248[label="xu130",fontsize=16,color="green",shape="box"];1249[label="xu140",fontsize=16,color="green",shape="box"];1250[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1251[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1252[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1253[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1254[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1255[label="xu130",fontsize=16,color="green",shape="box"];1256[label="xu140",fontsize=16,color="green",shape="box"];1257[label="(xu130,xu140)",fontsize=16,color="green",shape="box"];1258[label="xu130",fontsize=16,color="green",shape="box"];1259[label="xu140",fontsize=16,color="green",shape="box"];1261[label="xu530",fontsize=16,color="green",shape="box"];1262[label="range (xu51,xu52)",fontsize=16,color="blue",shape="box"];3185[label="range :: ((@2) () ()) -> [] ()",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3185[label="",style="solid", color="blue", weight=9]; 3185 -> 1264[label="",style="solid", color="blue", weight=3]; 3186[label="range :: ((@2) Ordering Ordering) -> [] Ordering",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3186[label="",style="solid", color="blue", weight=9]; 3186 -> 1265[label="",style="solid", color="blue", weight=3]; 3187[label="range :: ((@2) Char Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3187[label="",style="solid", color="blue", weight=9]; 3187 -> 1266[label="",style="solid", color="blue", weight=3]; 3188[label="range :: ((@2) Bool Bool) -> [] Bool",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3188[label="",style="solid", color="blue", weight=9]; 3188 -> 1267[label="",style="solid", color="blue", weight=3]; 3189[label="range :: ((@2) Integer Integer) -> [] Integer",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3189[label="",style="solid", color="blue", weight=9]; 3189 -> 1268[label="",style="solid", color="blue", weight=3]; 3190[label="range :: ((@2) ((@3) a b c) ((@3) a b c)) -> [] ((@3) a b c)",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3190[label="",style="solid", color="blue", weight=9]; 3190 -> 1269[label="",style="solid", color="blue", weight=3]; 3191[label="range :: ((@2) Int Int) -> [] Int",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3191[label="",style="solid", color="blue", weight=9]; 3191 -> 1270[label="",style="solid", color="blue", weight=3]; 3192[label="range :: ((@2) ((@2) a b) ((@2) a b)) -> [] ((@2) a b)",fontsize=10,color="white",style="solid",shape="box"];1262 -> 3192[label="",style="solid", color="blue", weight=9]; 3192 -> 1271[label="",style="solid", color="blue", weight=3]; 1263[label="xu50",fontsize=16,color="green",shape="box"];1260[label="foldr (++) [] (map (range3 xu70 xu71) xu72)",fontsize=16,color="burlywood",shape="triangle"];3193[label="xu72/xu720 : xu721",fontsize=10,color="white",style="solid",shape="box"];1260 -> 3193[label="",style="solid", color="burlywood", weight=9]; 3193 -> 1272[label="",style="solid", color="burlywood", weight=3]; 3194[label="xu72/[]",fontsize=10,color="white",style="solid",shape="box"];1260 -> 3194[label="",style="solid", color="burlywood", weight=9]; 3194 -> 1273[label="",style="solid", color="burlywood", weight=3]; 2512[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ xu168)) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos (Succ xu168)) (fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];2512 -> 2565[label="",style="solid", color="black", weight=3]; 1014[label="Pos (Succ xu3100)",fontsize=16,color="green",shape="box"];1015[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];1015 -> 1100[label="",style="dashed", color="green", weight=3]; 1016[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="black",shape="triangle"];1016 -> 1101[label="",style="solid", color="black", weight=3]; 1017 -> 1016[label="",style="dashed", color="red", weight=0]; 1017[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1018 -> 43[label="",style="dashed", color="red", weight=0]; 1018[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom (Neg (Succ xu30000)))",fontsize=16,color="magenta"];1018 -> 1102[label="",style="dashed", color="magenta", weight=3]; 1018 -> 1103[label="",style="dashed", color="magenta", weight=3]; 1019 -> 43[label="",style="dashed", color="red", weight=0]; 1019[label="takeWhile (flip (<=) (Pos xu310)) (numericEnumFrom (Pos Zero))",fontsize=16,color="magenta"];1019 -> 1104[label="",style="dashed", color="magenta", weight=3]; 1019 -> 1105[label="",style="dashed", color="magenta", weight=3]; 2709 -> 43[label="",style="dashed", color="red", weight=0]; 2709[label="takeWhile (flip (<=) (Neg (Succ xu195))) (numericEnumFrom xu197)",fontsize=16,color="magenta"];2709 -> 2725[label="",style="dashed", color="magenta", weight=3]; 2709 -> 2726[label="",style="dashed", color="magenta", weight=3]; 1032[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero (Succ xu30000))) (numericEnumFrom (primMinusNat Zero (Succ xu30000))))",fontsize=16,color="black",shape="box"];1032 -> 1137[label="",style="solid", color="black", weight=3]; 1033[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (primMinusNat Zero Zero)) (numericEnumFrom (primMinusNat Zero Zero)))",fontsize=16,color="black",shape="box"];1033 -> 1138[label="",style="solid", color="black", weight=3]; 1034[label="Pos (Succ xu3100)",fontsize=16,color="green",shape="box"];1035[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1036[label="Pos Zero",fontsize=16,color="green",shape="box"];1037[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1038[label="Neg Zero",fontsize=16,color="green",shape="box"];1039[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1046[label="LT : [] ++ foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1046 -> 1139[label="",style="dashed", color="green", weight=3]; 1047[label="(++) range00 LT False foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1047 -> 1140[label="",style="solid", color="black", weight=3]; 1048[label="(++) range00 LT False foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1048 -> 1141[label="",style="solid", color="black", weight=3]; 1049[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1049 -> 1142[label="",style="solid", color="black", weight=3]; 1050[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1050 -> 1143[label="",style="solid", color="black", weight=3]; 1051[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1051 -> 1144[label="",style="solid", color="black", weight=3]; 1052[label="(++) range00 LT (not (EQ == LT)) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1052 -> 1145[label="",style="solid", color="black", weight=3]; 1053[label="(++) range00 LT (not (compare1 LT EQ (LT <= EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1053 -> 1146[label="",style="solid", color="black", weight=3]; 1054[label="(++) range00 LT (not (compare1 LT GT (LT <= GT) == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1054 -> 1147[label="",style="solid", color="black", weight=3]; 1055[label="False : [] ++ foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="green",shape="box"];1055 -> 1148[label="",style="dashed", color="green", weight=3]; 1056[label="(++) range60 False False foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1056 -> 1149[label="",style="solid", color="black", weight=3]; 1057[label="(++) range60 False (not (EQ == LT)) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1057 -> 1150[label="",style="solid", color="black", weight=3]; 1058[label="(++) range60 False (not (compare1 False True (False <= True) == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1058 -> 1151[label="",style="solid", color="black", weight=3]; 2710[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos (Succ xu202)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2710 -> 2727[label="",style="solid", color="black", weight=3]; 1069[label="Integer (primPlusInt (Pos Zero) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1069 -> 1164[label="",style="dashed", color="green", weight=3]; 1070[label="Integer (Pos (Succ xu31000))",fontsize=16,color="green",shape="box"];1071[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];1071 -> 1165[label="",style="solid", color="black", weight=3]; 1072 -> 1071[label="",style="dashed", color="red", weight=0]; 1072[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];2724[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu207)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2724 -> 2741[label="",style="solid", color="black", weight=3]; 1084[label="Integer (primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];1084 -> 1179[label="",style="dashed", color="green", weight=3]; 1085[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1086[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];1086 -> 1180[label="",style="solid", color="black", weight=3]; 1087 -> 1086[label="",style="dashed", color="red", weight=0]; 1087[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1088 -> 1086[label="",style="dashed", color="red", weight=0]; 1088[label="primPlusInt (Neg Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1264 -> 4[label="",style="dashed", color="red", weight=0]; 1264[label="range (xu51,xu52)",fontsize=16,color="magenta"];1264 -> 1281[label="",style="dashed", color="magenta", weight=3]; 1265 -> 5[label="",style="dashed", color="red", weight=0]; 1265[label="range (xu51,xu52)",fontsize=16,color="magenta"];1265 -> 1282[label="",style="dashed", color="magenta", weight=3]; 1266 -> 6[label="",style="dashed", color="red", weight=0]; 1266[label="range (xu51,xu52)",fontsize=16,color="magenta"];1266 -> 1283[label="",style="dashed", color="magenta", weight=3]; 1267 -> 7[label="",style="dashed", color="red", weight=0]; 1267[label="range (xu51,xu52)",fontsize=16,color="magenta"];1267 -> 1284[label="",style="dashed", color="magenta", weight=3]; 1268 -> 8[label="",style="dashed", color="red", weight=0]; 1268[label="range (xu51,xu52)",fontsize=16,color="magenta"];1268 -> 1285[label="",style="dashed", color="magenta", weight=3]; 1269 -> 785[label="",style="dashed", color="red", weight=0]; 1269[label="range (xu51,xu52)",fontsize=16,color="magenta"];1269 -> 1286[label="",style="dashed", color="magenta", weight=3]; 1269 -> 1287[label="",style="dashed", color="magenta", weight=3]; 1270 -> 10[label="",style="dashed", color="red", weight=0]; 1270[label="range (xu51,xu52)",fontsize=16,color="magenta"];1270 -> 1288[label="",style="dashed", color="magenta", weight=3]; 1271 -> 787[label="",style="dashed", color="red", weight=0]; 1271[label="range (xu51,xu52)",fontsize=16,color="magenta"];1271 -> 1289[label="",style="dashed", color="magenta", weight=3]; 1271 -> 1290[label="",style="dashed", color="magenta", weight=3]; 1272[label="foldr (++) [] (map (range3 xu70 xu71) (xu720 : xu721))",fontsize=16,color="black",shape="box"];1272 -> 1291[label="",style="solid", color="black", weight=3]; 1273[label="foldr (++) [] (map (range3 xu70 xu71) [])",fontsize=16,color="black",shape="box"];1273 -> 1292[label="",style="solid", color="black", weight=3]; 2565[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (primPlusInt (Pos (Succ xu168)) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos (Succ xu168)) (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2565 -> 2592[label="",style="solid", color="black", weight=3]; 1100 -> 1016[label="",style="dashed", color="red", weight=0]; 1100[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];1101[label="Succ Zero",fontsize=16,color="green",shape="box"];1102[label="Pos xu310",fontsize=16,color="green",shape="box"];1103[label="Neg (Succ xu30000)",fontsize=16,color="green",shape="box"];1104[label="Pos xu310",fontsize=16,color="green",shape="box"];1105[label="Pos Zero",fontsize=16,color="green",shape="box"];2725[label="Neg (Succ xu195)",fontsize=16,color="green",shape="box"];2726[label="xu197",fontsize=16,color="green",shape="box"];1137[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Neg (Succ xu30000))) (numericEnumFrom (Neg (Succ xu30000))))",fontsize=16,color="black",shape="box"];1137 -> 1295[label="",style="solid", color="black", weight=3]; 1138[label="takeWhile (flip (<=) (Neg Zero)) (enforceWHNF (WHNF (Pos Zero)) (numericEnumFrom (Pos Zero)))",fontsize=16,color="black",shape="box"];1138 -> 1296[label="",style="solid", color="black", weight=3]; 1139[label="[] ++ foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1139 -> 1297[label="",style="solid", color="black", weight=3]; 1140[label="(++) [] foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1140 -> 1298[label="",style="solid", color="black", weight=3]; 1141[label="(++) [] foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1141 -> 1299[label="",style="solid", color="black", weight=3]; 1142[label="(++) range00 LT (not False) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1142 -> 1300[label="",style="solid", color="black", weight=3]; 1143[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1143 -> 1301[label="",style="solid", color="black", weight=3]; 1144[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1144 -> 1302[label="",style="solid", color="black", weight=3]; 1145[label="(++) range00 LT (not False) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1145 -> 1303[label="",style="solid", color="black", weight=3]; 1146[label="(++) range00 LT (not (compare1 LT EQ True == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1146 -> 1304[label="",style="solid", color="black", weight=3]; 1147[label="(++) range00 LT (not (compare1 LT GT True == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1147 -> 1305[label="",style="solid", color="black", weight=3]; 1148[label="[] ++ foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];1148 -> 1306[label="",style="solid", color="black", weight=3]; 1149[label="(++) [] foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1149 -> 1307[label="",style="solid", color="black", weight=3]; 1150[label="(++) range60 False (not False) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1150 -> 1308[label="",style="solid", color="black", weight=3]; 1151[label="(++) range60 False (not (compare1 False True True == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1151 -> 1309[label="",style="solid", color="black", weight=3]; 2727[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (Pos (Succ xu202)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Pos (Succ xu202)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2727 -> 2742[label="",style="solid", color="black", weight=3]; 1164 -> 1071[label="",style="dashed", color="red", weight=0]; 1164[label="primPlusInt (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="magenta"];1165[label="Pos (primPlusNat Zero (Succ Zero))",fontsize=16,color="green",shape="box"];1165 -> 1321[label="",style="dashed", color="green", weight=3]; 2741[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (Neg (Succ xu207)) + Integer (Pos (Succ Zero)))) (numericEnumFrom (Integer (Neg (Succ xu207)) + Integer (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];2741 -> 2754[label="",style="solid", color="black", weight=3]; 1179 -> 985[label="",style="dashed", color="red", weight=0]; 1179[label="primPlusInt (Neg (Succ xu30000)) (Pos (Succ Zero))",fontsize=16,color="magenta"];1180[label="primMinusNat (Succ Zero) Zero",fontsize=16,color="black",shape="box"];1180 -> 1338[label="",style="solid", color="black", weight=3]; 1281[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1282[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1283[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1284[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1285[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1286[label="xu51",fontsize=16,color="green",shape="box"];1287[label="xu52",fontsize=16,color="green",shape="box"];1288[label="(xu51,xu52)",fontsize=16,color="green",shape="box"];1289[label="xu51",fontsize=16,color="green",shape="box"];1290[label="xu52",fontsize=16,color="green",shape="box"];1291[label="foldr (++) [] (range3 xu70 xu71 xu720 : map (range3 xu70 xu71) xu721)",fontsize=16,color="black",shape="box"];1291 -> 1339[label="",style="solid", color="black", weight=3]; 1292 -> 132[label="",style="dashed", color="red", weight=0]; 1292[label="foldr (++) [] []",fontsize=16,color="magenta"];2592[label="takeWhile (flip (<=) (Pos (Succ xu167))) (enforceWHNF (WHNF (Pos (primPlusNat (Succ xu168) (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat (Succ xu168) (Succ Zero)))))",fontsize=16,color="black",shape="box"];2592 -> 2617[label="",style="solid", color="black", weight=3]; 1295 -> 43[label="",style="dashed", color="red", weight=0]; 1295[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Neg (Succ xu30000)))",fontsize=16,color="magenta"];1295 -> 1375[label="",style="dashed", color="magenta", weight=3]; 1295 -> 1376[label="",style="dashed", color="magenta", weight=3]; 1296 -> 43[label="",style="dashed", color="red", weight=0]; 1296[label="takeWhile (flip (<=) (Neg Zero)) (numericEnumFrom (Pos Zero))",fontsize=16,color="magenta"];1296 -> 1377[label="",style="dashed", color="magenta", weight=3]; 1296 -> 1378[label="",style="dashed", color="magenta", weight=3]; 1297[label="foldr (++) [] (map (range0 LT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1297 -> 1379[label="",style="solid", color="black", weight=3]; 1298[label="foldr (++) [] (map (range0 LT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1298 -> 1380[label="",style="solid", color="black", weight=3]; 1299[label="foldr (++) [] (map (range0 LT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1299 -> 1381[label="",style="solid", color="black", weight=3]; 1300[label="(++) range00 LT True foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1300 -> 1382[label="",style="solid", color="black", weight=3]; 1301[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1301 -> 1383[label="",style="solid", color="black", weight=3]; 1302[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1302 -> 1384[label="",style="solid", color="black", weight=3]; 1303[label="(++) range00 LT True foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1303 -> 1385[label="",style="solid", color="black", weight=3]; 1304[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1304 -> 1386[label="",style="solid", color="black", weight=3]; 1305[label="(++) range00 LT (not (LT == LT)) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1305 -> 1387[label="",style="solid", color="black", weight=3]; 1306[label="foldr (++) [] (map (range6 False False) (True : []))",fontsize=16,color="black",shape="box"];1306 -> 1388[label="",style="solid", color="black", weight=3]; 1307[label="foldr (++) [] (map (range6 False True) (True : []))",fontsize=16,color="black",shape="box"];1307 -> 1389[label="",style="solid", color="black", weight=3]; 1308[label="(++) range60 False True foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1308 -> 1390[label="",style="solid", color="black", weight=3]; 1309[label="(++) range60 False (not (LT == LT)) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1309 -> 1391[label="",style="solid", color="black", weight=3]; 2742[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (enforceWHNF (WHNF (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];2742 -> 2755[label="",style="solid", color="black", weight=3]; 1321 -> 1016[label="",style="dashed", color="red", weight=0]; 1321[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];2754 -> 2767[label="",style="dashed", color="red", weight=0]; 2754[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer (primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))))) (numericEnumFrom (Integer (primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))))))",fontsize=16,color="magenta"];2754 -> 2768[label="",style="dashed", color="magenta", weight=3]; 2754 -> 2769[label="",style="dashed", color="magenta", weight=3]; 1338[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];1339 -> 474[label="",style="dashed", color="red", weight=0]; 1339[label="(++) range3 xu70 xu71 xu720 foldr (++) [] (map (range3 xu70 xu71) xu721)",fontsize=16,color="magenta"];1339 -> 1423[label="",style="dashed", color="magenta", weight=3]; 1339 -> 1424[label="",style="dashed", color="magenta", weight=3]; 2617 -> 43[label="",style="dashed", color="red", weight=0]; 2617[label="takeWhile (flip (<=) (Pos (Succ xu167))) (numericEnumFrom (Pos (primPlusNat (Succ xu168) (Succ Zero))))",fontsize=16,color="magenta"];2617 -> 2640[label="",style="dashed", color="magenta", weight=3]; 2617 -> 2641[label="",style="dashed", color="magenta", weight=3]; 1375[label="Neg Zero",fontsize=16,color="green",shape="box"];1376[label="Neg (Succ xu30000)",fontsize=16,color="green",shape="box"];1377[label="Neg Zero",fontsize=16,color="green",shape="box"];1378[label="Pos Zero",fontsize=16,color="green",shape="box"];1379[label="foldr (++) [] (range0 LT LT EQ : map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1379 -> 1451[label="",style="solid", color="black", weight=3]; 1380[label="foldr (++) [] (range0 LT EQ EQ : map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1380 -> 1452[label="",style="solid", color="black", weight=3]; 1381[label="foldr (++) [] (range0 LT GT EQ : map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1381 -> 1453[label="",style="solid", color="black", weight=3]; 1382[label="(++) (LT : []) foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1382 -> 1454[label="",style="solid", color="black", weight=3]; 1383[label="(++) range00 LT (not True) foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1383 -> 1455[label="",style="solid", color="black", weight=3]; 1384[label="(++) range00 LT (not True) foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1384 -> 1456[label="",style="solid", color="black", weight=3]; 1385[label="(++) (LT : []) foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1385 -> 1457[label="",style="solid", color="black", weight=3]; 1386[label="(++) range00 LT (not True) foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1386 -> 1458[label="",style="solid", color="black", weight=3]; 1387[label="(++) range00 LT (not True) foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1387 -> 1459[label="",style="solid", color="black", weight=3]; 1388[label="foldr (++) [] (range6 False False True : map (range6 False False) [])",fontsize=16,color="black",shape="box"];1388 -> 1460[label="",style="solid", color="black", weight=3]; 1389[label="foldr (++) [] (range6 False True True : map (range6 False True) [])",fontsize=16,color="black",shape="box"];1389 -> 1461[label="",style="solid", color="black", weight=3]; 1390[label="(++) (False : []) foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1390 -> 1462[label="",style="solid", color="black", weight=3]; 1391[label="(++) range60 False (not True) foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1391 -> 1463[label="",style="solid", color="black", weight=3]; 2755 -> 41[label="",style="dashed", color="red", weight=0]; 2755[label="takeWhile (flip (<=) (Integer (Pos (Succ xu201)))) (numericEnumFrom (Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero)))))",fontsize=16,color="magenta"];2755 -> 2770[label="",style="dashed", color="magenta", weight=3]; 2755 -> 2771[label="",style="dashed", color="magenta", weight=3]; 2768 -> 985[label="",style="dashed", color="red", weight=0]; 2768[label="primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2768 -> 2772[label="",style="dashed", color="magenta", weight=3]; 2769 -> 985[label="",style="dashed", color="red", weight=0]; 2769[label="primPlusInt (Neg (Succ xu207)) (Pos (Succ Zero))",fontsize=16,color="magenta"];2769 -> 2773[label="",style="dashed", color="magenta", weight=3]; 2767[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (enforceWHNF (WHNF (Integer xu211)) (numericEnumFrom (Integer xu210)))",fontsize=16,color="black",shape="triangle"];2767 -> 2774[label="",style="solid", color="black", weight=3]; 1423[label="range3 xu70 xu71 xu720",fontsize=16,color="black",shape="box"];1423 -> 1492[label="",style="solid", color="black", weight=3]; 1424 -> 1260[label="",style="dashed", color="red", weight=0]; 1424[label="foldr (++) [] (map (range3 xu70 xu71) xu721)",fontsize=16,color="magenta"];1424 -> 1493[label="",style="dashed", color="magenta", weight=3]; 2640[label="Pos (Succ xu167)",fontsize=16,color="green",shape="box"];2641[label="Pos (primPlusNat (Succ xu168) (Succ Zero))",fontsize=16,color="green",shape="box"];2641 -> 2660[label="",style="dashed", color="green", weight=3]; 1451[label="(++) range0 LT LT EQ foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1451 -> 1519[label="",style="solid", color="black", weight=3]; 1452[label="(++) range0 LT EQ EQ foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1452 -> 1520[label="",style="solid", color="black", weight=3]; 1453[label="(++) range0 LT GT EQ foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1453 -> 1521[label="",style="solid", color="black", weight=3]; 1454[label="LT : [] ++ foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1454 -> 1522[label="",style="dashed", color="green", weight=3]; 1455[label="(++) range00 LT False foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1455 -> 1523[label="",style="solid", color="black", weight=3]; 1456[label="(++) range00 LT False foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1456 -> 1524[label="",style="solid", color="black", weight=3]; 1457[label="LT : [] ++ foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="green",shape="box"];1457 -> 1525[label="",style="dashed", color="green", weight=3]; 1458[label="(++) range00 LT False foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1458 -> 1526[label="",style="solid", color="black", weight=3]; 1459[label="(++) range00 LT False foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1459 -> 1527[label="",style="solid", color="black", weight=3]; 1460[label="(++) range6 False False True foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1460 -> 1528[label="",style="solid", color="black", weight=3]; 1461[label="(++) range6 False True True foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1461 -> 1529[label="",style="solid", color="black", weight=3]; 1462[label="False : [] ++ foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="green",shape="box"];1462 -> 1530[label="",style="dashed", color="green", weight=3]; 1463[label="(++) range60 False False foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1463 -> 1531[label="",style="solid", color="black", weight=3]; 2770[label="Integer (primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];2770 -> 2786[label="",style="dashed", color="green", weight=3]; 2771[label="Integer (Pos (Succ xu201))",fontsize=16,color="green",shape="box"];2772[label="xu207",fontsize=16,color="green",shape="box"];2773[label="xu207",fontsize=16,color="green",shape="box"];2774 -> 41[label="",style="dashed", color="red", weight=0]; 2774[label="takeWhile (flip (<=) (Integer (Neg (Succ xu206)))) (numericEnumFrom (Integer xu210))",fontsize=16,color="magenta"];2774 -> 2787[label="",style="dashed", color="magenta", weight=3]; 2774 -> 2788[label="",style="dashed", color="magenta", weight=3]; 1492[label="range30 xu70 xu71 xu720",fontsize=16,color="black",shape="box"];1492 -> 1558[label="",style="solid", color="black", weight=3]; 1493[label="xu721",fontsize=16,color="green",shape="box"];2660[label="primPlusNat (Succ xu168) (Succ Zero)",fontsize=16,color="black",shape="triangle"];2660 -> 2678[label="",style="solid", color="black", weight=3]; 1519[label="(++) range00 EQ (LT >= EQ && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1519 -> 1597[label="",style="solid", color="black", weight=3]; 1520[label="(++) range00 EQ (LT >= EQ && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1520 -> 1598[label="",style="solid", color="black", weight=3]; 1521[label="(++) range00 EQ (LT >= EQ && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1521 -> 1599[label="",style="solid", color="black", weight=3]; 1522[label="[] ++ foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1522 -> 1600[label="",style="solid", color="black", weight=3]; 1523[label="(++) [] foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1523 -> 1601[label="",style="solid", color="black", weight=3]; 1524[label="(++) [] foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1524 -> 1602[label="",style="solid", color="black", weight=3]; 1525[label="[] ++ foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1525 -> 1603[label="",style="solid", color="black", weight=3]; 1526[label="(++) [] foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1526 -> 1604[label="",style="solid", color="black", weight=3]; 1527[label="(++) [] foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1527 -> 1605[label="",style="solid", color="black", weight=3]; 1528[label="(++) range60 True (False >= True && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1528 -> 1606[label="",style="solid", color="black", weight=3]; 1529[label="(++) range60 True (False >= True && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1529 -> 1607[label="",style="solid", color="black", weight=3]; 1530[label="[] ++ foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1530 -> 1608[label="",style="solid", color="black", weight=3]; 1531[label="(++) [] foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1531 -> 1609[label="",style="solid", color="black", weight=3]; 2786[label="primPlusInt (Pos (Succ xu202)) (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];2786 -> 2800[label="",style="solid", color="black", weight=3]; 2787[label="Integer xu210",fontsize=16,color="green",shape="box"];2788[label="Integer (Neg (Succ xu206))",fontsize=16,color="green",shape="box"];1558[label="(xu70,xu71,xu720) : []",fontsize=16,color="green",shape="box"];2678[label="Succ (Succ (primPlusNat xu168 Zero))",fontsize=16,color="green",shape="box"];2678 -> 2695[label="",style="dashed", color="green", weight=3]; 1597[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1597 -> 1676[label="",style="solid", color="black", weight=3]; 1598[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1598 -> 1677[label="",style="solid", color="black", weight=3]; 1599[label="(++) range00 EQ (compare LT EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1599 -> 1678[label="",style="solid", color="black", weight=3]; 1600[label="foldr (++) [] (map (range0 EQ LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1600 -> 1679[label="",style="solid", color="black", weight=3]; 1601[label="foldr (++) [] (map (range0 EQ EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1601 -> 1680[label="",style="solid", color="black", weight=3]; 1602[label="foldr (++) [] (map (range0 EQ GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1602 -> 1681[label="",style="solid", color="black", weight=3]; 1603[label="foldr (++) [] (map (range0 GT LT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1603 -> 1682[label="",style="solid", color="black", weight=3]; 1604[label="foldr (++) [] (map (range0 GT EQ) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1604 -> 1683[label="",style="solid", color="black", weight=3]; 1605[label="foldr (++) [] (map (range0 GT GT) (EQ : GT : []))",fontsize=16,color="black",shape="box"];1605 -> 1684[label="",style="solid", color="black", weight=3]; 1606[label="(++) range60 True (compare False True /= LT && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1606 -> 1685[label="",style="solid", color="black", weight=3]; 1607[label="(++) range60 True (compare False True /= LT && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1607 -> 1686[label="",style="solid", color="black", weight=3]; 1608[label="foldr (++) [] (map (range6 True False) (True : []))",fontsize=16,color="black",shape="box"];1608 -> 1687[label="",style="solid", color="black", weight=3]; 1609[label="foldr (++) [] (map (range6 True True) (True : []))",fontsize=16,color="black",shape="box"];1609 -> 1688[label="",style="solid", color="black", weight=3]; 2800[label="Pos (primPlusNat (Succ xu202) (Succ Zero))",fontsize=16,color="green",shape="box"];2800 -> 2812[label="",style="dashed", color="green", weight=3]; 2695[label="primPlusNat xu168 Zero",fontsize=16,color="burlywood",shape="box"];3195[label="xu168/Succ xu1680",fontsize=10,color="white",style="solid",shape="box"];2695 -> 3195[label="",style="solid", color="burlywood", weight=9]; 3195 -> 2711[label="",style="solid", color="burlywood", weight=3]; 3196[label="xu168/Zero",fontsize=10,color="white",style="solid",shape="box"];2695 -> 3196[label="",style="solid", color="burlywood", weight=9]; 3196 -> 2712[label="",style="solid", color="burlywood", weight=3]; 1676[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1676 -> 1744[label="",style="solid", color="black", weight=3]; 1677[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1677 -> 1745[label="",style="solid", color="black", weight=3]; 1678[label="(++) range00 EQ (not (compare LT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1678 -> 1746[label="",style="solid", color="black", weight=3]; 1679[label="foldr (++) [] (range0 EQ LT EQ : map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1679 -> 1747[label="",style="solid", color="black", weight=3]; 1680[label="foldr (++) [] (range0 EQ EQ EQ : map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1680 -> 1748[label="",style="solid", color="black", weight=3]; 1681[label="foldr (++) [] (range0 EQ GT EQ : map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1681 -> 1749[label="",style="solid", color="black", weight=3]; 1682[label="foldr (++) [] (range0 GT LT EQ : map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1682 -> 1750[label="",style="solid", color="black", weight=3]; 1683[label="foldr (++) [] (range0 GT EQ EQ : map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1683 -> 1751[label="",style="solid", color="black", weight=3]; 1684[label="foldr (++) [] (range0 GT GT EQ : map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1684 -> 1752[label="",style="solid", color="black", weight=3]; 1685[label="(++) range60 True (not (compare False True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1685 -> 1753[label="",style="solid", color="black", weight=3]; 1686[label="(++) range60 True (not (compare False True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1686 -> 1754[label="",style="solid", color="black", weight=3]; 1687[label="foldr (++) [] (range6 True False True : map (range6 True False) [])",fontsize=16,color="black",shape="box"];1687 -> 1755[label="",style="solid", color="black", weight=3]; 1688[label="foldr (++) [] (range6 True True True : map (range6 True True) [])",fontsize=16,color="black",shape="box"];1688 -> 1756[label="",style="solid", color="black", weight=3]; 2812 -> 2660[label="",style="dashed", color="red", weight=0]; 2812[label="primPlusNat (Succ xu202) (Succ Zero)",fontsize=16,color="magenta"];2812 -> 2824[label="",style="dashed", color="magenta", weight=3]; 2711[label="primPlusNat (Succ xu1680) Zero",fontsize=16,color="black",shape="box"];2711 -> 2728[label="",style="solid", color="black", weight=3]; 2712[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];2712 -> 2729[label="",style="solid", color="black", weight=3]; 1744[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1744 -> 1858[label="",style="solid", color="black", weight=3]; 1745[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1745 -> 1859[label="",style="solid", color="black", weight=3]; 1746[label="(++) range00 EQ (not (compare3 LT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1746 -> 1860[label="",style="solid", color="black", weight=3]; 1747[label="(++) range0 EQ LT EQ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1747 -> 1861[label="",style="solid", color="black", weight=3]; 1748[label="(++) range0 EQ EQ EQ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1748 -> 1862[label="",style="solid", color="black", weight=3]; 1749[label="(++) range0 EQ GT EQ foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1749 -> 1863[label="",style="solid", color="black", weight=3]; 1750[label="(++) range0 GT LT EQ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1750 -> 1864[label="",style="solid", color="black", weight=3]; 1751[label="(++) range0 GT EQ EQ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1751 -> 1865[label="",style="solid", color="black", weight=3]; 1752[label="(++) range0 GT GT EQ foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1752 -> 1866[label="",style="solid", color="black", weight=3]; 1753[label="(++) range60 True (not (compare3 False True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1753 -> 1867[label="",style="solid", color="black", weight=3]; 1754[label="(++) range60 True (not (compare3 False True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1754 -> 1868[label="",style="solid", color="black", weight=3]; 1755[label="(++) range6 True False True foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1755 -> 1869[label="",style="solid", color="black", weight=3]; 1756[label="(++) range6 True True True foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1756 -> 1870[label="",style="solid", color="black", weight=3]; 2824[label="xu202",fontsize=16,color="green",shape="box"];2728[label="Succ xu1680",fontsize=16,color="green",shape="box"];2729[label="Zero",fontsize=16,color="green",shape="box"];1858[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1858 -> 1985[label="",style="solid", color="black", weight=3]; 1859[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1859 -> 1986[label="",style="solid", color="black", weight=3]; 1860[label="(++) range00 EQ (not (compare2 LT EQ (LT == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1860 -> 1987[label="",style="solid", color="black", weight=3]; 1861[label="(++) range00 EQ (EQ >= EQ && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1861 -> 1988[label="",style="solid", color="black", weight=3]; 1862[label="(++) range00 EQ (EQ >= EQ && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1862 -> 1989[label="",style="solid", color="black", weight=3]; 1863[label="(++) range00 EQ (EQ >= EQ && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1863 -> 1990[label="",style="solid", color="black", weight=3]; 1864[label="(++) range00 EQ (GT >= EQ && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1864 -> 1991[label="",style="solid", color="black", weight=3]; 1865[label="(++) range00 EQ (GT >= EQ && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1865 -> 1992[label="",style="solid", color="black", weight=3]; 1866[label="(++) range00 EQ (GT >= EQ && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1866 -> 1993[label="",style="solid", color="black", weight=3]; 1867[label="(++) range60 True (not (compare2 False True (False == True) == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1867 -> 1994[label="",style="solid", color="black", weight=3]; 1868[label="(++) range60 True (not (compare2 False True (False == True) == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1868 -> 1995[label="",style="solid", color="black", weight=3]; 1869[label="(++) range60 True (True >= True && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1869 -> 1996[label="",style="solid", color="black", weight=3]; 1870[label="(++) range60 True (True >= True && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1870 -> 1997[label="",style="solid", color="black", weight=3]; 1985[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];1985 -> 2046[label="",style="solid", color="black", weight=3]; 1986[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1986 -> 2047[label="",style="solid", color="black", weight=3]; 1987[label="(++) range00 EQ (not (compare2 LT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];1987 -> 2048[label="",style="solid", color="black", weight=3]; 1988[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];1988 -> 2049[label="",style="solid", color="black", weight=3]; 1989[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];1989 -> 2050[label="",style="solid", color="black", weight=3]; 1990[label="(++) range00 EQ (compare EQ EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];1990 -> 2051[label="",style="solid", color="black", weight=3]; 1991[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];1991 -> 2052[label="",style="solid", color="black", weight=3]; 1992[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];1992 -> 2053[label="",style="solid", color="black", weight=3]; 1993[label="(++) range00 EQ (compare GT EQ /= LT && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];1993 -> 2054[label="",style="solid", color="black", weight=3]; 1994[label="(++) range60 True (not (compare2 False True False == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];1994 -> 2055[label="",style="solid", color="black", weight=3]; 1995[label="(++) range60 True (not (compare2 False True False == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];1995 -> 2056[label="",style="solid", color="black", weight=3]; 1996[label="(++) range60 True (compare True True /= LT && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];1996 -> 2057[label="",style="solid", color="black", weight=3]; 1997[label="(++) range60 True (compare True True /= LT && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];1997 -> 2058[label="",style="solid", color="black", weight=3]; 2046[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2046 -> 2124[label="",style="solid", color="black", weight=3]; 2047[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2047 -> 2125[label="",style="solid", color="black", weight=3]; 2048[label="(++) range00 EQ (not (compare1 LT EQ (LT <= EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2048 -> 2126[label="",style="solid", color="black", weight=3]; 2049[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2049 -> 2127[label="",style="solid", color="black", weight=3]; 2050[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2050 -> 2128[label="",style="solid", color="black", weight=3]; 2051[label="(++) range00 EQ (not (compare EQ EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2051 -> 2129[label="",style="solid", color="black", weight=3]; 2052[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2052 -> 2130[label="",style="solid", color="black", weight=3]; 2053[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2053 -> 2131[label="",style="solid", color="black", weight=3]; 2054[label="(++) range00 EQ (not (compare GT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2054 -> 2132[label="",style="solid", color="black", weight=3]; 2055[label="(++) range60 True (not (compare1 False True (False <= True) == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2055 -> 2133[label="",style="solid", color="black", weight=3]; 2056[label="(++) range60 True (not (compare1 False True (False <= True) == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2056 -> 2134[label="",style="solid", color="black", weight=3]; 2057[label="(++) range60 True (not (compare True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2057 -> 2135[label="",style="solid", color="black", weight=3]; 2058[label="(++) range60 True (not (compare True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2058 -> 2136[label="",style="solid", color="black", weight=3]; 2124[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2124 -> 2176[label="",style="solid", color="black", weight=3]; 2125[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2125 -> 2177[label="",style="solid", color="black", weight=3]; 2126[label="(++) range00 EQ (not (compare1 LT EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2126 -> 2178[label="",style="solid", color="black", weight=3]; 2127[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2127 -> 2179[label="",style="solid", color="black", weight=3]; 2128[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2128 -> 2180[label="",style="solid", color="black", weight=3]; 2129[label="(++) range00 EQ (not (compare3 EQ EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2129 -> 2181[label="",style="solid", color="black", weight=3]; 2130[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2130 -> 2182[label="",style="solid", color="black", weight=3]; 2131[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2131 -> 2183[label="",style="solid", color="black", weight=3]; 2132[label="(++) range00 EQ (not (compare3 GT EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2132 -> 2184[label="",style="solid", color="black", weight=3]; 2133[label="(++) range60 True (not (compare1 False True True == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2133 -> 2185[label="",style="solid", color="black", weight=3]; 2134[label="(++) range60 True (not (compare1 False True True == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2134 -> 2186[label="",style="solid", color="black", weight=3]; 2135[label="(++) range60 True (not (compare3 True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2135 -> 2187[label="",style="solid", color="black", weight=3]; 2136[label="(++) range60 True (not (compare3 True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2136 -> 2188[label="",style="solid", color="black", weight=3]; 2176[label="(++) range00 EQ (not (LT == LT) && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2176 -> 2249[label="",style="solid", color="black", weight=3]; 2177[label="(++) range00 EQ (not (LT == LT) && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2177 -> 2250[label="",style="solid", color="black", weight=3]; 2178[label="(++) range00 EQ (not (LT == LT) && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2178 -> 2251[label="",style="solid", color="black", weight=3]; 2179[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2179 -> 2252[label="",style="solid", color="black", weight=3]; 2180[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2180 -> 2253[label="",style="solid", color="black", weight=3]; 2181[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2181 -> 2254[label="",style="solid", color="black", weight=3]; 2182[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2182 -> 2255[label="",style="solid", color="black", weight=3]; 2183[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2183 -> 2256[label="",style="solid", color="black", weight=3]; 2184[label="(++) range00 EQ (not (compare2 GT EQ (GT == EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2184 -> 2257[label="",style="solid", color="black", weight=3]; 2185[label="(++) range60 True (not (LT == LT) && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2185 -> 2258[label="",style="solid", color="black", weight=3]; 2186[label="(++) range60 True (not (LT == LT) && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2186 -> 2259[label="",style="solid", color="black", weight=3]; 2187[label="(++) range60 True (not (compare2 True True (True == True) == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2187 -> 2260[label="",style="solid", color="black", weight=3]; 2188[label="(++) range60 True (not (compare2 True True (True == True) == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2188 -> 2261[label="",style="solid", color="black", weight=3]; 2249[label="(++) range00 EQ (not True && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2249 -> 2348[label="",style="solid", color="black", weight=3]; 2250[label="(++) range00 EQ (not True && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2250 -> 2349[label="",style="solid", color="black", weight=3]; 2251[label="(++) range00 EQ (not True && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2251 -> 2350[label="",style="solid", color="black", weight=3]; 2252[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2252 -> 2351[label="",style="solid", color="black", weight=3]; 2253[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2253 -> 2352[label="",style="solid", color="black", weight=3]; 2254[label="(++) range00 EQ (not (compare2 EQ EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2254 -> 2353[label="",style="solid", color="black", weight=3]; 2255[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2255 -> 2354[label="",style="solid", color="black", weight=3]; 2256[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2256 -> 2355[label="",style="solid", color="black", weight=3]; 2257[label="(++) range00 EQ (not (compare2 GT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2257 -> 2356[label="",style="solid", color="black", weight=3]; 2258[label="(++) range60 True (not True && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2258 -> 2357[label="",style="solid", color="black", weight=3]; 2259[label="(++) range60 True (not True && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2259 -> 2358[label="",style="solid", color="black", weight=3]; 2260[label="(++) range60 True (not (compare2 True True True == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2260 -> 2359[label="",style="solid", color="black", weight=3]; 2261[label="(++) range60 True (not (compare2 True True True == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2261 -> 2360[label="",style="solid", color="black", weight=3]; 2348[label="(++) range00 EQ (False && EQ >= LT) foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2348 -> 2451[label="",style="solid", color="black", weight=3]; 2349[label="(++) range00 EQ (False && EQ >= EQ) foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2349 -> 2452[label="",style="solid", color="black", weight=3]; 2350[label="(++) range00 EQ (False && EQ >= GT) foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2350 -> 2453[label="",style="solid", color="black", weight=3]; 2351[label="(++) range00 EQ (not (EQ == LT) && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2351 -> 2454[label="",style="solid", color="black", weight=3]; 2352[label="(++) range00 EQ (not (EQ == LT) && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2352 -> 2455[label="",style="solid", color="black", weight=3]; 2353[label="(++) range00 EQ (not (EQ == LT) && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2353 -> 2456[label="",style="solid", color="black", weight=3]; 2354[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2354 -> 2457[label="",style="solid", color="black", weight=3]; 2355[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2355 -> 2458[label="",style="solid", color="black", weight=3]; 2356[label="(++) range00 EQ (not (compare1 GT EQ (GT <= EQ) == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2356 -> 2459[label="",style="solid", color="black", weight=3]; 2357[label="(++) range60 True (False && True >= False) foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2357 -> 2460[label="",style="solid", color="black", weight=3]; 2358[label="(++) range60 True (False && True >= True) foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2358 -> 2461[label="",style="solid", color="black", weight=3]; 2359[label="(++) range60 True (not (EQ == LT) && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2359 -> 2462[label="",style="solid", color="black", weight=3]; 2360[label="(++) range60 True (not (EQ == LT) && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2360 -> 2463[label="",style="solid", color="black", weight=3]; 2451[label="(++) range00 EQ False foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2451 -> 2566[label="",style="solid", color="black", weight=3]; 2452[label="(++) range00 EQ False foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2452 -> 2567[label="",style="solid", color="black", weight=3]; 2453[label="(++) range00 EQ False foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2453 -> 2568[label="",style="solid", color="black", weight=3]; 2454[label="(++) range00 EQ (not False && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2454 -> 2569[label="",style="solid", color="black", weight=3]; 2455[label="(++) range00 EQ (not False && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2455 -> 2570[label="",style="solid", color="black", weight=3]; 2456[label="(++) range00 EQ (not False && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2456 -> 2571[label="",style="solid", color="black", weight=3]; 2457[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2457 -> 2572[label="",style="solid", color="black", weight=3]; 2458[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2458 -> 2573[label="",style="solid", color="black", weight=3]; 2459[label="(++) range00 EQ (not (compare1 GT EQ False == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2459 -> 2574[label="",style="solid", color="black", weight=3]; 2460[label="(++) range60 True False foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2460 -> 2575[label="",style="solid", color="black", weight=3]; 2461[label="(++) range60 True False foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2461 -> 2576[label="",style="solid", color="black", weight=3]; 2462[label="(++) range60 True (not False && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2462 -> 2577[label="",style="solid", color="black", weight=3]; 2463[label="(++) range60 True (not False && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2463 -> 2578[label="",style="solid", color="black", weight=3]; 2566[label="(++) [] foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2566 -> 2593[label="",style="solid", color="black", weight=3]; 2567[label="(++) [] foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2567 -> 2594[label="",style="solid", color="black", weight=3]; 2568[label="(++) [] foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2568 -> 2595[label="",style="solid", color="black", weight=3]; 2569[label="(++) range00 EQ (True && EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2569 -> 2596[label="",style="solid", color="black", weight=3]; 2570[label="(++) range00 EQ (True && EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2570 -> 2597[label="",style="solid", color="black", weight=3]; 2571[label="(++) range00 EQ (True && EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2571 -> 2598[label="",style="solid", color="black", weight=3]; 2572[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2572 -> 2599[label="",style="solid", color="black", weight=3]; 2573[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2573 -> 2600[label="",style="solid", color="black", weight=3]; 2574[label="(++) range00 EQ (not (compare0 GT EQ otherwise == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2574 -> 2601[label="",style="solid", color="black", weight=3]; 2575[label="(++) [] foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2575 -> 2602[label="",style="solid", color="black", weight=3]; 2576[label="(++) [] foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2576 -> 2603[label="",style="solid", color="black", weight=3]; 2577[label="(++) range60 True (True && True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2577 -> 2604[label="",style="solid", color="black", weight=3]; 2578[label="(++) range60 True (True && True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2578 -> 2605[label="",style="solid", color="black", weight=3]; 2593[label="foldr (++) [] (map (range0 LT LT) (GT : []))",fontsize=16,color="black",shape="box"];2593 -> 2618[label="",style="solid", color="black", weight=3]; 2594[label="foldr (++) [] (map (range0 LT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2594 -> 2619[label="",style="solid", color="black", weight=3]; 2595[label="foldr (++) [] (map (range0 LT GT) (GT : []))",fontsize=16,color="black",shape="box"];2595 -> 2620[label="",style="solid", color="black", weight=3]; 2596[label="(++) range00 EQ (EQ >= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2596 -> 2621[label="",style="solid", color="black", weight=3]; 2597[label="(++) range00 EQ (EQ >= EQ) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2597 -> 2622[label="",style="solid", color="black", weight=3]; 2598[label="(++) range00 EQ (EQ >= GT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2598 -> 2623[label="",style="solid", color="black", weight=3]; 2599[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2599 -> 2624[label="",style="solid", color="black", weight=3]; 2600[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2600 -> 2625[label="",style="solid", color="black", weight=3]; 2601[label="(++) range00 EQ (not (compare0 GT EQ True == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2601 -> 2626[label="",style="solid", color="black", weight=3]; 2602[label="foldr (++) [] (map (range6 False False) [])",fontsize=16,color="black",shape="box"];2602 -> 2627[label="",style="solid", color="black", weight=3]; 2603[label="foldr (++) [] (map (range6 False True) [])",fontsize=16,color="black",shape="box"];2603 -> 2628[label="",style="solid", color="black", weight=3]; 2604[label="(++) range60 True (True >= False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2604 -> 2629[label="",style="solid", color="black", weight=3]; 2605[label="(++) range60 True (True >= True) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2605 -> 2630[label="",style="solid", color="black", weight=3]; 2618[label="foldr (++) [] (range0 LT LT GT : map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2618 -> 2642[label="",style="solid", color="black", weight=3]; 2619[label="foldr (++) [] (range0 LT EQ GT : map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2619 -> 2643[label="",style="solid", color="black", weight=3]; 2620[label="foldr (++) [] (range0 LT GT GT : map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2620 -> 2644[label="",style="solid", color="black", weight=3]; 2621[label="(++) range00 EQ (compare EQ LT /= LT) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2621 -> 2645[label="",style="solid", color="black", weight=3]; 2622[label="(++) range00 EQ (compare EQ EQ /= LT) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2622 -> 2646[label="",style="solid", color="black", weight=3]; 2623[label="(++) range00 EQ (compare EQ GT /= LT) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2623 -> 2647[label="",style="solid", color="black", weight=3]; 2624[label="(++) range00 EQ (not (GT == LT) && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2624 -> 2648[label="",style="solid", color="black", weight=3]; 2625[label="(++) range00 EQ (not (GT == LT) && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2625 -> 2649[label="",style="solid", color="black", weight=3]; 2626[label="(++) range00 EQ (not (GT == LT) && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2626 -> 2650[label="",style="solid", color="black", weight=3]; 2627[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];2627 -> 2651[label="",style="solid", color="black", weight=3]; 2628 -> 2627[label="",style="dashed", color="red", weight=0]; 2628[label="foldr (++) [] []",fontsize=16,color="magenta"];2629[label="(++) range60 True (compare True False /= LT) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2629 -> 2652[label="",style="solid", color="black", weight=3]; 2630[label="(++) range60 True (compare True True /= LT) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2630 -> 2653[label="",style="solid", color="black", weight=3]; 2642[label="(++) range0 LT LT GT foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2642 -> 2661[label="",style="solid", color="black", weight=3]; 2643[label="(++) range0 LT EQ GT foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2643 -> 2662[label="",style="solid", color="black", weight=3]; 2644[label="(++) range0 LT GT GT foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2644 -> 2663[label="",style="solid", color="black", weight=3]; 2645[label="(++) range00 EQ (not (compare EQ LT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2645 -> 2664[label="",style="solid", color="black", weight=3]; 2646[label="(++) range00 EQ (not (compare EQ EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2646 -> 2665[label="",style="solid", color="black", weight=3]; 2647[label="(++) range00 EQ (not (compare EQ GT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2647 -> 2666[label="",style="solid", color="black", weight=3]; 2648[label="(++) range00 EQ (not False && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2648 -> 2667[label="",style="solid", color="black", weight=3]; 2649[label="(++) range00 EQ (not False && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2649 -> 2668[label="",style="solid", color="black", weight=3]; 2650[label="(++) range00 EQ (not False && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2650 -> 2669[label="",style="solid", color="black", weight=3]; 2651[label="[]",fontsize=16,color="green",shape="box"];2652[label="(++) range60 True (not (compare True False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2652 -> 2670[label="",style="solid", color="black", weight=3]; 2653[label="(++) range60 True (not (compare True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2653 -> 2671[label="",style="solid", color="black", weight=3]; 2661[label="(++) range00 GT (LT >= GT && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2661 -> 2679[label="",style="solid", color="black", weight=3]; 2662[label="(++) range00 GT (LT >= GT && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2662 -> 2680[label="",style="solid", color="black", weight=3]; 2663[label="(++) range00 GT (LT >= GT && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2663 -> 2681[label="",style="solid", color="black", weight=3]; 2664[label="(++) range00 EQ (not (compare3 EQ LT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2664 -> 2682[label="",style="solid", color="black", weight=3]; 2665[label="(++) range00 EQ (not (compare3 EQ EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2665 -> 2683[label="",style="solid", color="black", weight=3]; 2666[label="(++) range00 EQ (not (compare3 EQ GT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2666 -> 2684[label="",style="solid", color="black", weight=3]; 2667[label="(++) range00 EQ (True && EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2667 -> 2685[label="",style="solid", color="black", weight=3]; 2668[label="(++) range00 EQ (True && EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2668 -> 2686[label="",style="solid", color="black", weight=3]; 2669[label="(++) range00 EQ (True && EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2669 -> 2687[label="",style="solid", color="black", weight=3]; 2670[label="(++) range60 True (not (compare3 True False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2670 -> 2688[label="",style="solid", color="black", weight=3]; 2671[label="(++) range60 True (not (compare3 True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2671 -> 2689[label="",style="solid", color="black", weight=3]; 2679[label="(++) range00 GT (compare LT GT /= LT && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2679 -> 2696[label="",style="solid", color="black", weight=3]; 2680[label="(++) range00 GT (compare LT GT /= LT && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2680 -> 2697[label="",style="solid", color="black", weight=3]; 2681[label="(++) range00 GT (compare LT GT /= LT && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2681 -> 2698[label="",style="solid", color="black", weight=3]; 2682[label="(++) range00 EQ (not (compare2 EQ LT (EQ == LT) == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2682 -> 2699[label="",style="solid", color="black", weight=3]; 2683[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2683 -> 2700[label="",style="solid", color="black", weight=3]; 2684[label="(++) range00 EQ (not (compare2 EQ GT (EQ == GT) == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2684 -> 2701[label="",style="solid", color="black", weight=3]; 2685[label="(++) range00 EQ (EQ >= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2685 -> 2702[label="",style="solid", color="black", weight=3]; 2686[label="(++) range00 EQ (EQ >= EQ) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2686 -> 2703[label="",style="solid", color="black", weight=3]; 2687[label="(++) range00 EQ (EQ >= GT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2687 -> 2704[label="",style="solid", color="black", weight=3]; 2688[label="(++) range60 True (not (compare2 True False (True == False) == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2688 -> 2705[label="",style="solid", color="black", weight=3]; 2689[label="(++) range60 True (not (compare2 True True (True == True) == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2689 -> 2706[label="",style="solid", color="black", weight=3]; 2696[label="(++) range00 GT (not (compare LT GT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2696 -> 2713[label="",style="solid", color="black", weight=3]; 2697[label="(++) range00 GT (not (compare LT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2697 -> 2714[label="",style="solid", color="black", weight=3]; 2698[label="(++) range00 GT (not (compare LT GT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2698 -> 2715[label="",style="solid", color="black", weight=3]; 2699[label="(++) range00 EQ (not (compare2 EQ LT False == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2699 -> 2716[label="",style="solid", color="black", weight=3]; 2700[label="(++) range00 EQ (not (compare2 EQ EQ True == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2700 -> 2717[label="",style="solid", color="black", weight=3]; 2701[label="(++) range00 EQ (not (compare2 EQ GT False == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2701 -> 2718[label="",style="solid", color="black", weight=3]; 2702[label="(++) range00 EQ (compare EQ LT /= LT) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2702 -> 2719[label="",style="solid", color="black", weight=3]; 2703[label="(++) range00 EQ (compare EQ EQ /= LT) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2703 -> 2720[label="",style="solid", color="black", weight=3]; 2704[label="(++) range00 EQ (compare EQ GT /= LT) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2704 -> 2721[label="",style="solid", color="black", weight=3]; 2705[label="(++) range60 True (not (compare2 True False False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2705 -> 2722[label="",style="solid", color="black", weight=3]; 2706[label="(++) range60 True (not (compare2 True True True == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2706 -> 2723[label="",style="solid", color="black", weight=3]; 2713[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2713 -> 2730[label="",style="solid", color="black", weight=3]; 2714[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2714 -> 2731[label="",style="solid", color="black", weight=3]; 2715[label="(++) range00 GT (not (compare3 LT GT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2715 -> 2732[label="",style="solid", color="black", weight=3]; 2716[label="(++) range00 EQ (not (compare1 EQ LT (EQ <= LT) == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2716 -> 2733[label="",style="solid", color="black", weight=3]; 2717[label="(++) range00 EQ (not (EQ == LT)) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2717 -> 2734[label="",style="solid", color="black", weight=3]; 2718[label="(++) range00 EQ (not (compare1 EQ GT (EQ <= GT) == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2718 -> 2735[label="",style="solid", color="black", weight=3]; 2719[label="(++) range00 EQ (not (compare EQ LT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2719 -> 2736[label="",style="solid", color="black", weight=3]; 2720[label="(++) range00 EQ (not (compare EQ EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2720 -> 2737[label="",style="solid", color="black", weight=3]; 2721[label="(++) range00 EQ (not (compare EQ GT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2721 -> 2738[label="",style="solid", color="black", weight=3]; 2722[label="(++) range60 True (not (compare1 True False (True <= False) == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2722 -> 2739[label="",style="solid", color="black", weight=3]; 2723[label="(++) range60 True (not (EQ == LT)) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2723 -> 2740[label="",style="solid", color="black", weight=3]; 2730[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2730 -> 2743[label="",style="solid", color="black", weight=3]; 2731[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2731 -> 2744[label="",style="solid", color="black", weight=3]; 2732[label="(++) range00 GT (not (compare2 LT GT (LT == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2732 -> 2745[label="",style="solid", color="black", weight=3]; 2733[label="(++) range00 EQ (not (compare1 EQ LT False == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2733 -> 2746[label="",style="solid", color="black", weight=3]; 2734[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2734 -> 2747[label="",style="solid", color="black", weight=3]; 2735[label="(++) range00 EQ (not (compare1 EQ GT True == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2735 -> 2748[label="",style="solid", color="black", weight=3]; 2736[label="(++) range00 EQ (not (compare3 EQ LT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2736 -> 2749[label="",style="solid", color="black", weight=3]; 2737[label="(++) range00 EQ (not (compare3 EQ EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2737 -> 2750[label="",style="solid", color="black", weight=3]; 2738[label="(++) range00 EQ (not (compare3 EQ GT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2738 -> 2751[label="",style="solid", color="black", weight=3]; 2739[label="(++) range60 True (not (compare1 True False False == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2739 -> 2752[label="",style="solid", color="black", weight=3]; 2740[label="(++) range60 True (not False) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2740 -> 2753[label="",style="solid", color="black", weight=3]; 2743[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2743 -> 2756[label="",style="solid", color="black", weight=3]; 2744[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2744 -> 2757[label="",style="solid", color="black", weight=3]; 2745[label="(++) range00 GT (not (compare2 LT GT False == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2745 -> 2758[label="",style="solid", color="black", weight=3]; 2746[label="(++) range00 EQ (not (compare0 EQ LT otherwise == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2746 -> 2759[label="",style="solid", color="black", weight=3]; 2747[label="(++) range00 EQ True foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2747 -> 2760[label="",style="solid", color="black", weight=3]; 2748[label="(++) range00 EQ (not (LT == LT)) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2748 -> 2761[label="",style="solid", color="black", weight=3]; 2749[label="(++) range00 EQ (not (compare2 EQ LT (EQ == LT) == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2749 -> 2762[label="",style="solid", color="black", weight=3]; 2750[label="(++) range00 EQ (not (compare2 EQ EQ (EQ == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2750 -> 2763[label="",style="solid", color="black", weight=3]; 2751[label="(++) range00 EQ (not (compare2 EQ GT (EQ == GT) == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2751 -> 2764[label="",style="solid", color="black", weight=3]; 2752[label="(++) range60 True (not (compare0 True False otherwise == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2752 -> 2765[label="",style="solid", color="black", weight=3]; 2753[label="(++) range60 True True foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2753 -> 2766[label="",style="solid", color="black", weight=3]; 2756[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2756 -> 2775[label="",style="solid", color="black", weight=3]; 2757[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2757 -> 2776[label="",style="solid", color="black", weight=3]; 2758[label="(++) range00 GT (not (compare1 LT GT (LT <= GT) == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2758 -> 2777[label="",style="solid", color="black", weight=3]; 2759[label="(++) range00 EQ (not (compare0 EQ LT True == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2759 -> 2778[label="",style="solid", color="black", weight=3]; 2760[label="(++) (EQ : []) foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2760 -> 2779[label="",style="solid", color="black", weight=3]; 2761[label="(++) range00 EQ (not True) foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2761 -> 2780[label="",style="solid", color="black", weight=3]; 2762[label="(++) range00 EQ (not (compare2 EQ LT False == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2762 -> 2781[label="",style="solid", color="black", weight=3]; 2763[label="(++) range00 EQ (not (compare2 EQ EQ True == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2763 -> 2782[label="",style="solid", color="black", weight=3]; 2764[label="(++) range00 EQ (not (compare2 EQ GT False == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2764 -> 2783[label="",style="solid", color="black", weight=3]; 2765[label="(++) range60 True (not (compare0 True False True == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2765 -> 2784[label="",style="solid", color="black", weight=3]; 2766[label="(++) (True : []) foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2766 -> 2785[label="",style="solid", color="black", weight=3]; 2775[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2775 -> 2789[label="",style="solid", color="black", weight=3]; 2776[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2776 -> 2790[label="",style="solid", color="black", weight=3]; 2777[label="(++) range00 GT (not (compare1 LT GT True == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2777 -> 2791[label="",style="solid", color="black", weight=3]; 2778[label="(++) range00 EQ (not (GT == LT)) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2778 -> 2792[label="",style="solid", color="black", weight=3]; 2779[label="EQ : [] ++ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="green",shape="box"];2779 -> 2793[label="",style="dashed", color="green", weight=3]; 2780[label="(++) range00 EQ False foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2780 -> 2794[label="",style="solid", color="black", weight=3]; 2781[label="(++) range00 EQ (not (compare1 EQ LT (EQ <= LT) == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2781 -> 2795[label="",style="solid", color="black", weight=3]; 2782[label="(++) range00 EQ (not (EQ == LT)) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2782 -> 2796[label="",style="solid", color="black", weight=3]; 2783[label="(++) range00 EQ (not (compare1 EQ GT (EQ <= GT) == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2783 -> 2797[label="",style="solid", color="black", weight=3]; 2784[label="(++) range60 True (not (GT == LT)) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2784 -> 2798[label="",style="solid", color="black", weight=3]; 2785[label="True : [] ++ foldr (++) [] (map (range6 True True) [])",fontsize=16,color="green",shape="box"];2785 -> 2799[label="",style="dashed", color="green", weight=3]; 2789[label="(++) range00 GT (not (LT == LT) && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2789 -> 2801[label="",style="solid", color="black", weight=3]; 2790[label="(++) range00 GT (not (LT == LT) && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2790 -> 2802[label="",style="solid", color="black", weight=3]; 2791[label="(++) range00 GT (not (LT == LT) && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2791 -> 2803[label="",style="solid", color="black", weight=3]; 2792[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2792 -> 2804[label="",style="solid", color="black", weight=3]; 2793[label="[] ++ foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2793 -> 2805[label="",style="solid", color="black", weight=3]; 2794[label="(++) [] foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2794 -> 2806[label="",style="solid", color="black", weight=3]; 2795[label="(++) range00 EQ (not (compare1 EQ LT False == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2795 -> 2807[label="",style="solid", color="black", weight=3]; 2796[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2796 -> 2808[label="",style="solid", color="black", weight=3]; 2797[label="(++) range00 EQ (not (compare1 EQ GT True == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2797 -> 2809[label="",style="solid", color="black", weight=3]; 2798[label="(++) range60 True (not False) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2798 -> 2810[label="",style="solid", color="black", weight=3]; 2799[label="[] ++ foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2799 -> 2811[label="",style="solid", color="black", weight=3]; 2801[label="(++) range00 GT (not True && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2801 -> 2813[label="",style="solid", color="black", weight=3]; 2802[label="(++) range00 GT (not True && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2802 -> 2814[label="",style="solid", color="black", weight=3]; 2803[label="(++) range00 GT (not True && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2803 -> 2815[label="",style="solid", color="black", weight=3]; 2804[label="(++) range00 EQ True foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2804 -> 2816[label="",style="solid", color="black", weight=3]; 2805[label="foldr (++) [] (map (range0 EQ EQ) (GT : []))",fontsize=16,color="black",shape="box"];2805 -> 2817[label="",style="solid", color="black", weight=3]; 2806[label="foldr (++) [] (map (range0 EQ GT) (GT : []))",fontsize=16,color="black",shape="box"];2806 -> 2818[label="",style="solid", color="black", weight=3]; 2807[label="(++) range00 EQ (not (compare0 EQ LT otherwise == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2807 -> 2819[label="",style="solid", color="black", weight=3]; 2808[label="(++) range00 EQ True foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2808 -> 2820[label="",style="solid", color="black", weight=3]; 2809[label="(++) range00 EQ (not (LT == LT)) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2809 -> 2821[label="",style="solid", color="black", weight=3]; 2810[label="(++) range60 True True foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2810 -> 2822[label="",style="solid", color="black", weight=3]; 2811[label="foldr (++) [] (map (range6 True True) [])",fontsize=16,color="black",shape="box"];2811 -> 2823[label="",style="solid", color="black", weight=3]; 2813[label="(++) range00 GT (False && GT >= LT) foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2813 -> 2825[label="",style="solid", color="black", weight=3]; 2814[label="(++) range00 GT (False && GT >= EQ) foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2814 -> 2826[label="",style="solid", color="black", weight=3]; 2815[label="(++) range00 GT (False && GT >= GT) foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2815 -> 2827[label="",style="solid", color="black", weight=3]; 2816[label="(++) (EQ : []) foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2816 -> 2828[label="",style="solid", color="black", weight=3]; 2817[label="foldr (++) [] (range0 EQ EQ GT : map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2817 -> 2829[label="",style="solid", color="black", weight=3]; 2818[label="foldr (++) [] (range0 EQ GT GT : map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2818 -> 2830[label="",style="solid", color="black", weight=3]; 2819[label="(++) range00 EQ (not (compare0 EQ LT True == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2819 -> 2831[label="",style="solid", color="black", weight=3]; 2820[label="(++) (EQ : []) foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2820 -> 2832[label="",style="solid", color="black", weight=3]; 2821[label="(++) range00 EQ (not True) foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2821 -> 2833[label="",style="solid", color="black", weight=3]; 2822[label="(++) (True : []) foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2822 -> 2834[label="",style="solid", color="black", weight=3]; 2823 -> 2627[label="",style="dashed", color="red", weight=0]; 2823[label="foldr (++) [] []",fontsize=16,color="magenta"];2825[label="(++) range00 GT False foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2825 -> 2835[label="",style="solid", color="black", weight=3]; 2826[label="(++) range00 GT False foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2826 -> 2836[label="",style="solid", color="black", weight=3]; 2827[label="(++) range00 GT False foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2827 -> 2837[label="",style="solid", color="black", weight=3]; 2828[label="EQ : [] ++ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="green",shape="box"];2828 -> 2838[label="",style="dashed", color="green", weight=3]; 2829[label="(++) range0 EQ EQ GT foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2829 -> 2839[label="",style="solid", color="black", weight=3]; 2830[label="(++) range0 EQ GT GT foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2830 -> 2840[label="",style="solid", color="black", weight=3]; 2831[label="(++) range00 EQ (not (GT == LT)) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2831 -> 2841[label="",style="solid", color="black", weight=3]; 2832[label="EQ : [] ++ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="green",shape="box"];2832 -> 2842[label="",style="dashed", color="green", weight=3]; 2833[label="(++) range00 EQ False foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2833 -> 2843[label="",style="solid", color="black", weight=3]; 2834[label="True : [] ++ foldr (++) [] (map (range6 True False) [])",fontsize=16,color="green",shape="box"];2834 -> 2844[label="",style="dashed", color="green", weight=3]; 2835[label="(++) [] foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2835 -> 2845[label="",style="solid", color="black", weight=3]; 2836[label="(++) [] foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2836 -> 2846[label="",style="solid", color="black", weight=3]; 2837[label="(++) [] foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2837 -> 2847[label="",style="solid", color="black", weight=3]; 2838[label="[] ++ foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2838 -> 2848[label="",style="solid", color="black", weight=3]; 2839[label="(++) range00 GT (EQ >= GT && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2839 -> 2849[label="",style="solid", color="black", weight=3]; 2840[label="(++) range00 GT (EQ >= GT && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2840 -> 2850[label="",style="solid", color="black", weight=3]; 2841[label="(++) range00 EQ (not False) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2841 -> 2851[label="",style="solid", color="black", weight=3]; 2842[label="[] ++ foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2842 -> 2852[label="",style="solid", color="black", weight=3]; 2843[label="(++) [] foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2843 -> 2853[label="",style="solid", color="black", weight=3]; 2844[label="[] ++ foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2844 -> 2854[label="",style="solid", color="black", weight=3]; 2845[label="foldr (++) [] (map (range0 LT LT) [])",fontsize=16,color="black",shape="box"];2845 -> 2855[label="",style="solid", color="black", weight=3]; 2846[label="foldr (++) [] (map (range0 LT EQ) [])",fontsize=16,color="black",shape="box"];2846 -> 2856[label="",style="solid", color="black", weight=3]; 2847[label="foldr (++) [] (map (range0 LT GT) [])",fontsize=16,color="black",shape="box"];2847 -> 2857[label="",style="solid", color="black", weight=3]; 2848[label="foldr (++) [] (map (range0 EQ LT) (GT : []))",fontsize=16,color="black",shape="box"];2848 -> 2858[label="",style="solid", color="black", weight=3]; 2849[label="(++) range00 GT (compare EQ GT /= LT && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2849 -> 2859[label="",style="solid", color="black", weight=3]; 2850[label="(++) range00 GT (compare EQ GT /= LT && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2850 -> 2860[label="",style="solid", color="black", weight=3]; 2851[label="(++) range00 EQ True foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2851 -> 2861[label="",style="solid", color="black", weight=3]; 2852[label="foldr (++) [] (map (range0 GT EQ) (GT : []))",fontsize=16,color="black",shape="box"];2852 -> 2862[label="",style="solid", color="black", weight=3]; 2853[label="foldr (++) [] (map (range0 GT GT) (GT : []))",fontsize=16,color="black",shape="box"];2853 -> 2863[label="",style="solid", color="black", weight=3]; 2854[label="foldr (++) [] (map (range6 True False) [])",fontsize=16,color="black",shape="box"];2854 -> 2864[label="",style="solid", color="black", weight=3]; 2855[label="foldr (++) [] []",fontsize=16,color="black",shape="triangle"];2855 -> 2865[label="",style="solid", color="black", weight=3]; 2856 -> 2855[label="",style="dashed", color="red", weight=0]; 2856[label="foldr (++) [] []",fontsize=16,color="magenta"];2857 -> 2855[label="",style="dashed", color="red", weight=0]; 2857[label="foldr (++) [] []",fontsize=16,color="magenta"];2858[label="foldr (++) [] (range0 EQ LT GT : map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2858 -> 2866[label="",style="solid", color="black", weight=3]; 2859[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2859 -> 2867[label="",style="solid", color="black", weight=3]; 2860[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2860 -> 2868[label="",style="solid", color="black", weight=3]; 2861[label="(++) (EQ : []) foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2861 -> 2869[label="",style="solid", color="black", weight=3]; 2862[label="foldr (++) [] (range0 GT EQ GT : map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2862 -> 2870[label="",style="solid", color="black", weight=3]; 2863[label="foldr (++) [] (range0 GT GT GT : map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2863 -> 2871[label="",style="solid", color="black", weight=3]; 2864 -> 2627[label="",style="dashed", color="red", weight=0]; 2864[label="foldr (++) [] []",fontsize=16,color="magenta"];2865[label="[]",fontsize=16,color="green",shape="box"];2866[label="(++) range0 EQ LT GT foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2866 -> 2872[label="",style="solid", color="black", weight=3]; 2867[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2867 -> 2873[label="",style="solid", color="black", weight=3]; 2868[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2868 -> 2874[label="",style="solid", color="black", weight=3]; 2869[label="EQ : [] ++ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="green",shape="box"];2869 -> 2875[label="",style="dashed", color="green", weight=3]; 2870[label="(++) range0 GT EQ GT foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2870 -> 2876[label="",style="solid", color="black", weight=3]; 2871[label="(++) range0 GT GT GT foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2871 -> 2877[label="",style="solid", color="black", weight=3]; 2872[label="(++) range00 GT (EQ >= GT && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2872 -> 2878[label="",style="solid", color="black", weight=3]; 2873[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2873 -> 2879[label="",style="solid", color="black", weight=3]; 2874[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2874 -> 2880[label="",style="solid", color="black", weight=3]; 2875[label="[] ++ foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2875 -> 2881[label="",style="solid", color="black", weight=3]; 2876[label="(++) range00 GT (GT >= GT && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2876 -> 2882[label="",style="solid", color="black", weight=3]; 2877[label="(++) range00 GT (GT >= GT && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2877 -> 2883[label="",style="solid", color="black", weight=3]; 2878[label="(++) range00 GT (compare EQ GT /= LT && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2878 -> 2884[label="",style="solid", color="black", weight=3]; 2879[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2879 -> 2885[label="",style="solid", color="black", weight=3]; 2880[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2880 -> 2886[label="",style="solid", color="black", weight=3]; 2881[label="foldr (++) [] (map (range0 GT LT) (GT : []))",fontsize=16,color="black",shape="box"];2881 -> 2887[label="",style="solid", color="black", weight=3]; 2882[label="(++) range00 GT (compare GT GT /= LT && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2882 -> 2888[label="",style="solid", color="black", weight=3]; 2883[label="(++) range00 GT (compare GT GT /= LT && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2883 -> 2889[label="",style="solid", color="black", weight=3]; 2884[label="(++) range00 GT (not (compare EQ GT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2884 -> 2890[label="",style="solid", color="black", weight=3]; 2885[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2885 -> 2891[label="",style="solid", color="black", weight=3]; 2886[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2886 -> 2892[label="",style="solid", color="black", weight=3]; 2887[label="foldr (++) [] (range0 GT LT GT : map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2887 -> 2893[label="",style="solid", color="black", weight=3]; 2888[label="(++) range00 GT (not (compare GT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2888 -> 2894[label="",style="solid", color="black", weight=3]; 2889[label="(++) range00 GT (not (compare GT GT == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2889 -> 2895[label="",style="solid", color="black", weight=3]; 2890[label="(++) range00 GT (not (compare3 EQ GT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2890 -> 2896[label="",style="solid", color="black", weight=3]; 2891[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2891 -> 2897[label="",style="solid", color="black", weight=3]; 2892[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2892 -> 2898[label="",style="solid", color="black", weight=3]; 2893[label="(++) range0 GT LT GT foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2893 -> 2899[label="",style="solid", color="black", weight=3]; 2894[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2894 -> 2900[label="",style="solid", color="black", weight=3]; 2895[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2895 -> 2901[label="",style="solid", color="black", weight=3]; 2896[label="(++) range00 GT (not (compare2 EQ GT (EQ == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2896 -> 2902[label="",style="solid", color="black", weight=3]; 2897[label="(++) range00 GT (not (LT == LT) && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2897 -> 2903[label="",style="solid", color="black", weight=3]; 2898[label="(++) range00 GT (not (LT == LT) && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2898 -> 2904[label="",style="solid", color="black", weight=3]; 2899[label="(++) range00 GT (GT >= GT && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2899 -> 2905[label="",style="solid", color="black", weight=3]; 2900[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2900 -> 2906[label="",style="solid", color="black", weight=3]; 2901[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2901 -> 2907[label="",style="solid", color="black", weight=3]; 2902[label="(++) range00 GT (not (compare2 EQ GT False == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2902 -> 2908[label="",style="solid", color="black", weight=3]; 2903[label="(++) range00 GT (not True && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2903 -> 2909[label="",style="solid", color="black", weight=3]; 2904[label="(++) range00 GT (not True && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2904 -> 2910[label="",style="solid", color="black", weight=3]; 2905[label="(++) range00 GT (compare GT GT /= LT && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2905 -> 2911[label="",style="solid", color="black", weight=3]; 2906[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2906 -> 2912[label="",style="solid", color="black", weight=3]; 2907[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2907 -> 2913[label="",style="solid", color="black", weight=3]; 2908[label="(++) range00 GT (not (compare1 EQ GT (EQ <= GT) == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2908 -> 2914[label="",style="solid", color="black", weight=3]; 2909[label="(++) range00 GT (False && GT >= EQ) foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2909 -> 2915[label="",style="solid", color="black", weight=3]; 2910[label="(++) range00 GT (False && GT >= GT) foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2910 -> 2916[label="",style="solid", color="black", weight=3]; 2911[label="(++) range00 GT (not (compare GT GT == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2911 -> 2917[label="",style="solid", color="black", weight=3]; 2912[label="(++) range00 GT (not (EQ == LT) && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2912 -> 2918[label="",style="solid", color="black", weight=3]; 2913[label="(++) range00 GT (not (EQ == LT) && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2913 -> 2919[label="",style="solid", color="black", weight=3]; 2914[label="(++) range00 GT (not (compare1 EQ GT True == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2914 -> 2920[label="",style="solid", color="black", weight=3]; 2915[label="(++) range00 GT False foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2915 -> 2921[label="",style="solid", color="black", weight=3]; 2916[label="(++) range00 GT False foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2916 -> 2922[label="",style="solid", color="black", weight=3]; 2917[label="(++) range00 GT (not (compare3 GT GT == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2917 -> 2923[label="",style="solid", color="black", weight=3]; 2918[label="(++) range00 GT (not False && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2918 -> 2924[label="",style="solid", color="black", weight=3]; 2919[label="(++) range00 GT (not False && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2919 -> 2925[label="",style="solid", color="black", weight=3]; 2920[label="(++) range00 GT (not (LT == LT) && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2920 -> 2926[label="",style="solid", color="black", weight=3]; 2921[label="(++) [] foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2921 -> 2927[label="",style="solid", color="black", weight=3]; 2922[label="(++) [] foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2922 -> 2928[label="",style="solid", color="black", weight=3]; 2923[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2923 -> 2929[label="",style="solid", color="black", weight=3]; 2924[label="(++) range00 GT (True && GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2924 -> 2930[label="",style="solid", color="black", weight=3]; 2925[label="(++) range00 GT (True && GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2925 -> 2931[label="",style="solid", color="black", weight=3]; 2926[label="(++) range00 GT (not True && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2926 -> 2932[label="",style="solid", color="black", weight=3]; 2927[label="foldr (++) [] (map (range0 EQ EQ) [])",fontsize=16,color="black",shape="box"];2927 -> 2933[label="",style="solid", color="black", weight=3]; 2928[label="foldr (++) [] (map (range0 EQ GT) [])",fontsize=16,color="black",shape="box"];2928 -> 2934[label="",style="solid", color="black", weight=3]; 2929[label="(++) range00 GT (not (compare2 GT GT True == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2929 -> 2935[label="",style="solid", color="black", weight=3]; 2930[label="(++) range00 GT (GT >= EQ) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2930 -> 2936[label="",style="solid", color="black", weight=3]; 2931[label="(++) range00 GT (GT >= GT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2931 -> 2937[label="",style="solid", color="black", weight=3]; 2932[label="(++) range00 GT (False && GT >= LT) foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2932 -> 2938[label="",style="solid", color="black", weight=3]; 2933 -> 2855[label="",style="dashed", color="red", weight=0]; 2933[label="foldr (++) [] []",fontsize=16,color="magenta"];2934 -> 2855[label="",style="dashed", color="red", weight=0]; 2934[label="foldr (++) [] []",fontsize=16,color="magenta"];2935[label="(++) range00 GT (not (EQ == LT) && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2935 -> 2939[label="",style="solid", color="black", weight=3]; 2936[label="(++) range00 GT (compare GT EQ /= LT) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2936 -> 2940[label="",style="solid", color="black", weight=3]; 2937[label="(++) range00 GT (compare GT GT /= LT) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2937 -> 2941[label="",style="solid", color="black", weight=3]; 2938[label="(++) range00 GT False foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2938 -> 2942[label="",style="solid", color="black", weight=3]; 2939[label="(++) range00 GT (not False && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2939 -> 2943[label="",style="solid", color="black", weight=3]; 2940[label="(++) range00 GT (not (compare GT EQ == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2940 -> 2944[label="",style="solid", color="black", weight=3]; 2941[label="(++) range00 GT (not (compare GT GT == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2941 -> 2945[label="",style="solid", color="black", weight=3]; 2942[label="(++) [] foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2942 -> 2946[label="",style="solid", color="black", weight=3]; 2943[label="(++) range00 GT (True && GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2943 -> 2947[label="",style="solid", color="black", weight=3]; 2944[label="(++) range00 GT (not (compare3 GT EQ == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2944 -> 2948[label="",style="solid", color="black", weight=3]; 2945[label="(++) range00 GT (not (compare3 GT GT == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2945 -> 2949[label="",style="solid", color="black", weight=3]; 2946[label="foldr (++) [] (map (range0 EQ LT) [])",fontsize=16,color="black",shape="box"];2946 -> 2950[label="",style="solid", color="black", weight=3]; 2947[label="(++) range00 GT (GT >= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2947 -> 2951[label="",style="solid", color="black", weight=3]; 2948[label="(++) range00 GT (not (compare2 GT EQ (GT == EQ) == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2948 -> 2952[label="",style="solid", color="black", weight=3]; 2949[label="(++) range00 GT (not (compare2 GT GT (GT == GT) == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2949 -> 2953[label="",style="solid", color="black", weight=3]; 2950 -> 2855[label="",style="dashed", color="red", weight=0]; 2950[label="foldr (++) [] []",fontsize=16,color="magenta"];2951[label="(++) range00 GT (compare GT LT /= LT) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2951 -> 2954[label="",style="solid", color="black", weight=3]; 2952[label="(++) range00 GT (not (compare2 GT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2952 -> 2955[label="",style="solid", color="black", weight=3]; 2953[label="(++) range00 GT (not (compare2 GT GT True == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2953 -> 2956[label="",style="solid", color="black", weight=3]; 2954[label="(++) range00 GT (not (compare GT LT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2954 -> 2957[label="",style="solid", color="black", weight=3]; 2955[label="(++) range00 GT (not (compare1 GT EQ (GT <= EQ) == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2955 -> 2958[label="",style="solid", color="black", weight=3]; 2956[label="(++) range00 GT (not (EQ == LT)) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2956 -> 2959[label="",style="solid", color="black", weight=3]; 2957[label="(++) range00 GT (not (compare3 GT LT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2957 -> 2960[label="",style="solid", color="black", weight=3]; 2958[label="(++) range00 GT (not (compare1 GT EQ False == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2958 -> 2961[label="",style="solid", color="black", weight=3]; 2959[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2959 -> 2962[label="",style="solid", color="black", weight=3]; 2960[label="(++) range00 GT (not (compare2 GT LT (GT == LT) == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2960 -> 2963[label="",style="solid", color="black", weight=3]; 2961[label="(++) range00 GT (not (compare0 GT EQ otherwise == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2961 -> 2964[label="",style="solid", color="black", weight=3]; 2962[label="(++) range00 GT True foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2962 -> 2965[label="",style="solid", color="black", weight=3]; 2963[label="(++) range00 GT (not (compare2 GT LT False == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2963 -> 2966[label="",style="solid", color="black", weight=3]; 2964[label="(++) range00 GT (not (compare0 GT EQ True == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2964 -> 2967[label="",style="solid", color="black", weight=3]; 2965[label="(++) (GT : []) foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2965 -> 2968[label="",style="solid", color="black", weight=3]; 2966[label="(++) range00 GT (not (compare1 GT LT (GT <= LT) == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2966 -> 2969[label="",style="solid", color="black", weight=3]; 2967[label="(++) range00 GT (not (GT == LT)) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2967 -> 2970[label="",style="solid", color="black", weight=3]; 2968[label="GT : [] ++ foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="green",shape="box"];2968 -> 2971[label="",style="dashed", color="green", weight=3]; 2969[label="(++) range00 GT (not (compare1 GT LT False == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2969 -> 2972[label="",style="solid", color="black", weight=3]; 2970[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2970 -> 2973[label="",style="solid", color="black", weight=3]; 2971[label="[] ++ foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2971 -> 2974[label="",style="solid", color="black", weight=3]; 2972[label="(++) range00 GT (not (compare0 GT LT otherwise == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2972 -> 2975[label="",style="solid", color="black", weight=3]; 2973[label="(++) range00 GT True foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2973 -> 2976[label="",style="solid", color="black", weight=3]; 2974[label="foldr (++) [] (map (range0 GT GT) [])",fontsize=16,color="black",shape="box"];2974 -> 2977[label="",style="solid", color="black", weight=3]; 2975[label="(++) range00 GT (not (compare0 GT LT True == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2975 -> 2978[label="",style="solid", color="black", weight=3]; 2976[label="(++) (GT : []) foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2976 -> 2979[label="",style="solid", color="black", weight=3]; 2977 -> 2855[label="",style="dashed", color="red", weight=0]; 2977[label="foldr (++) [] []",fontsize=16,color="magenta"];2978[label="(++) range00 GT (not (GT == LT)) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2978 -> 2980[label="",style="solid", color="black", weight=3]; 2979[label="GT : [] ++ foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="green",shape="box"];2979 -> 2981[label="",style="dashed", color="green", weight=3]; 2980[label="(++) range00 GT (not False) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2980 -> 2982[label="",style="solid", color="black", weight=3]; 2981[label="[] ++ foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2981 -> 2983[label="",style="solid", color="black", weight=3]; 2982[label="(++) range00 GT True foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2982 -> 2984[label="",style="solid", color="black", weight=3]; 2983[label="foldr (++) [] (map (range0 GT EQ) [])",fontsize=16,color="black",shape="box"];2983 -> 2985[label="",style="solid", color="black", weight=3]; 2984[label="(++) (GT : []) foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2984 -> 2986[label="",style="solid", color="black", weight=3]; 2985 -> 2855[label="",style="dashed", color="red", weight=0]; 2985[label="foldr (++) [] []",fontsize=16,color="magenta"];2986[label="GT : [] ++ foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="green",shape="box"];2986 -> 2987[label="",style="dashed", color="green", weight=3]; 2987[label="[] ++ foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2987 -> 2988[label="",style="solid", color="black", weight=3]; 2988[label="foldr (++) [] (map (range0 GT LT) [])",fontsize=16,color="black",shape="box"];2988 -> 2989[label="",style="solid", color="black", weight=3]; 2989 -> 2855[label="",style="dashed", color="red", weight=0]; 2989[label="foldr (++) [] []",fontsize=16,color="magenta"];} ---------------------------------------- (95) Complex Obligation (AND) ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700), []) -> new_takeWhile13(xu167, xu168, xu1690, xu1700, []) new_takeWhile2(Pos(xu310), Neg(Succ(Zero)), []) -> new_takeWhile2(Pos(xu310), Pos(Zero), []) new_takeWhile13(xu167, xu168, Zero, Succ(xu1700), []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) new_takeWhile2(Pos(Succ(xu3100)), Neg(Zero), []) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(Zero)), []) new_takeWhile2(Pos(Zero), Pos(Zero), []) -> new_takeWhile2(Pos(Zero), Pos(new_primPlusNat0([])), []) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000)), []) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100, []) new_takeWhile15(xu195, xu196, xu197, Zero, Zero, []) -> new_takeWhile16(xu195, xu196, xu197, []) new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000)), []) new_takeWhile2(Neg(Zero), Neg(Zero), []) -> new_takeWhile2(Neg(Zero), Pos(Succ(Zero)), []) new_takeWhile16(xu195, xu196, xu197, []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) new_takeWhile2(Neg(Zero), Neg(Succ(Zero)), []) -> new_takeWhile2(Neg(Zero), Pos(Zero), []) new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000)), []) new_takeWhile2(Pos(Zero), Neg(Zero), []) -> new_takeWhile2(Pos(Zero), Pos(Succ(Zero)), []) new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990), []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) new_takeWhile13(xu167, xu168, Zero, Zero, []) -> new_takeWhile14(xu167, xu168, []) new_takeWhile14(xu167, xu168, []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero), []) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0([])), []) new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) new_takeWhile2(Neg(Zero), Pos(Zero), []) -> new_takeWhile2(Neg(Zero), Pos(new_primPlusNat0([])), []) new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000)), []) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000, []), xu3100, xu3000, []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (97) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 6 SCCs with 5 less nodes. ---------------------------------------- (98) Complex Obligation (AND) ---------------------------------------- (99) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile2(Neg(Zero), Pos(Zero), []) -> new_takeWhile2(Neg(Zero), Pos(new_primPlusNat0([])), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (100) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 1 + x_1 POL(Pos(x_1)) = 1 + 2*x_1 POL(Succ(x_1)) = x_1 POL(Zero) = 2 POL([]) = 2 POL(new_primPlusInt0(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + x_2 POL(new_primPlusNat0(x_1)) = x_1 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 POL(new_takeWhile2(x_1, x_2, x_3)) = x_1 + x_2 + x_3 ---------------------------------------- (101) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile2(Neg(Zero), Pos(Zero), []) -> new_takeWhile2(Neg(Zero), Pos(new_primPlusNat0([])), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat0([]) -> Succ(Zero) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (102) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (103) TRUE ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000)), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (105) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_takeWhile2(Neg(Zero), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Neg(Zero), Neg(Succ(xu30000)), []) Strictly oriented rules of the TRS R: new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 1 + x_1 POL(Pos(x_1)) = 1 + x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL([]) = 1 POL(new_primPlusInt0(x_1, x_2)) = 1 + 2*x_1 + x_2 POL(new_primPlusNat(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 POL(new_primPlusNat0(x_1)) = 1 + x_1 POL(new_primPlusNat1(x_1, x_2)) = 1 + 2*x_1 + x_2 POL(new_takeWhile2(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 ---------------------------------------- (106) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (107) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (108) YES ---------------------------------------- (109) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile16(xu195, xu196, xu197, []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000)), []) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000, []), xu3100, xu3000, []) new_takeWhile15(xu195, xu196, xu197, Zero, Zero, []) -> new_takeWhile16(xu195, xu196, xu197, []) new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990), []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (110) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_takeWhile2(Neg(Succ(xu3100)), Neg(Succ(xu3000)), []) -> new_takeWhile15(xu3100, xu3000, new_primPlusInt0(xu3000, []), xu3100, xu3000, []) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 0 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 1 POL([]) = 1 POL(new_primPlusInt0(x_1, x_2)) = x_1 POL(new_primPlusNat(x_1, x_2)) = 1 + x_1 + x_2 POL(new_primPlusNat0(x_1)) = 1 + x_1 POL(new_primPlusNat1(x_1, x_2)) = x_1 POL(new_takeWhile15(x_1, x_2, x_3, x_4, x_5, x_6)) = x_3 POL(new_takeWhile16(x_1, x_2, x_3, x_4)) = x_3 POL(new_takeWhile2(x_1, x_2, x_3)) = x_2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) ---------------------------------------- (111) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile16(xu195, xu196, xu197, []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) new_takeWhile15(xu195, xu196, xu197, Zero, Zero, []) -> new_takeWhile16(xu195, xu196, xu197, []) new_takeWhile15(xu195, xu196, xu197, Zero, Succ(xu1990), []) -> new_takeWhile2(Neg(Succ(xu195)), xu197, []) new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (112) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (113) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (114) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = x_1 POL(Zero) = 1 POL([]) = 1 POL(new_primPlusInt0(x_1, x_2)) = 2 + 2*x_1 + x_2 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + 2*x_2 POL(new_primPlusNat0(x_1)) = 2 + 2*x_1 POL(new_primPlusNat1(x_1, x_2)) = 1 + x_1 + x_2 POL(new_takeWhile15(x_1, x_2, x_3, x_4, x_5, x_6)) = x_1 + x_2 + x_3 + x_4 + 2*x_5 + x_6 ---------------------------------------- (115) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (116) QDPSizeChangeProof (EQUIVALENT) We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. Order:EMB rules! AFS: [] = [] Succ(x1) = Succ(x1) From the DPs we obtained the following set of size-change graphs: *new_takeWhile15(xu195, xu196, xu197, Succ(xu1980), Succ(xu1990), []) -> new_takeWhile15(xu195, xu196, xu197, xu1980, xu1990, []) (allowed arguments on rhs = {1, 2, 3, 4, 5, 6}) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5, 6 >= 6 We oriented the following set of usable rules [AAECC05,FROCOS05]. none ---------------------------------------- (117) YES ---------------------------------------- (118) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile2(Pos(Zero), Pos(Zero), []) -> new_takeWhile2(Pos(Zero), Pos(new_primPlusNat0([])), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (119) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 1 + x_1 POL(Pos(x_1)) = 1 + 2*x_1 POL(Succ(x_1)) = x_1 POL(Zero) = 2 POL([]) = 2 POL(new_primPlusInt0(x_1, x_2)) = 2*x_1 + 2*x_2 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + x_2 POL(new_primPlusNat0(x_1)) = x_1 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 POL(new_takeWhile2(x_1, x_2, x_3)) = x_1 + x_2 + x_3 ---------------------------------------- (120) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile2(Pos(Zero), Pos(Zero), []) -> new_takeWhile2(Pos(Zero), Pos(new_primPlusNat0([])), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat0([]) -> Succ(Zero) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (121) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (122) TRUE ---------------------------------------- (123) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Zero, Succ(xu1700), []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000)), []) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100, []) new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700), []) -> new_takeWhile13(xu167, xu168, xu1690, xu1700, []) new_takeWhile13(xu167, xu168, Zero, Zero, []) -> new_takeWhile14(xu167, xu168, []) new_takeWhile14(xu167, xu168, []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero), []) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0([])), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (124) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_takeWhile2(Pos(Succ(xu3100)), Pos(Zero), []) -> new_takeWhile2(Pos(Succ(xu3100)), Pos(new_primPlusNat0([])), []) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 0 POL(Zero) = 1 POL([]) = 0 POL(new_primPlusInt0(x_1, x_2)) = 1 + x_1 + x_2 POL(new_primPlusNat(x_1, x_2)) = x_2 POL(new_primPlusNat0(x_1)) = x_1 POL(new_primPlusNat1(x_1, x_2)) = 1 + x_1 + x_2 POL(new_takeWhile13(x_1, x_2, x_3, x_4, x_5)) = x_5 POL(new_takeWhile14(x_1, x_2, x_3)) = 0 POL(new_takeWhile2(x_1, x_2, x_3)) = x_2 + x_3 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) ---------------------------------------- (125) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile13(xu167, xu168, Zero, Succ(xu1700), []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) new_takeWhile2(Pos(Succ(xu3100)), Pos(Succ(xu3000)), []) -> new_takeWhile13(xu3100, xu3000, xu3000, xu3100, []) new_takeWhile13(xu167, xu168, Succ(xu1690), Succ(xu1700), []) -> new_takeWhile13(xu167, xu168, xu1690, xu1700, []) new_takeWhile13(xu167, xu168, Zero, Zero, []) -> new_takeWhile14(xu167, xu168, []) new_takeWhile14(xu167, xu168, []) -> new_takeWhile2(Pos(Succ(xu167)), Pos(new_primPlusNat(xu168, [])), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (126) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000)), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (127) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_takeWhile2(Pos(xu310), Neg(Succ(Succ(xu30000))), []) -> new_takeWhile2(Pos(xu310), Neg(Succ(xu30000)), []) Strictly oriented rules of the TRS R: new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 1 + x_1 POL(Pos(x_1)) = 1 + x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL([]) = 1 POL(new_primPlusInt0(x_1, x_2)) = 1 + 2*x_1 + x_2 POL(new_primPlusNat(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 POL(new_primPlusNat0(x_1)) = 1 + x_1 POL(new_primPlusNat1(x_1, x_2)) = 1 + 2*x_1 + x_2 POL(new_takeWhile2(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 ---------------------------------------- (128) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (129) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (130) YES ---------------------------------------- (131) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) new_takeWhile12(xu206, xu207, []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) new_takeWhile10(xu206, xu207, Zero, Succ(xu2090), []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt([])), []) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) new_takeWhile(Integer(Pos(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt1([])), []) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt([])), []) new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000, []) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1([])), []) new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) new_takeWhile0(xu206, xu211, xu210, []) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210), []) new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt1([])), []) new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) new_takeWhile10(xu206, xu207, Zero, Zero, []) -> new_takeWhile12(xu206, xu207, []) new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt([])), []) new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (132) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs. ---------------------------------------- (133) Complex Obligation (AND) ---------------------------------------- (134) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt([])), []) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1([])), []) new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt([])), []) new_takeWhile(Integer(Pos(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt1([])), []) new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (135) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt1([])), []) new_takeWhile(Integer(Pos(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt1([])), []) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Integer(x_1)) = x_1 POL(Neg(x_1)) = 1 + x_1 POL(Pos(x_1)) = 0 POL(Succ(x_1)) = 0 POL(Zero) = 1 POL([]) = 0 POL(new_primPlusInt(x_1)) = 0 POL(new_primPlusInt0(x_1, x_2)) = 1 POL(new_primPlusInt1(x_1)) = 1 + x_1 POL(new_primPlusNat(x_1, x_2)) = x_1 POL(new_primPlusNat0(x_1)) = x_1 POL(new_primPlusNat1(x_1, x_2)) = 1 + x_1 + x_2 POL(new_takeWhile(x_1, x_2, x_3)) = x_2 + x_3 POL(new_takeWhile1(x_1, x_2, x_3, x_4, x_5)) = x_5 POL(new_takeWhile11(x_1, x_2, x_3)) = 0 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) ---------------------------------------- (136) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt([])), []) new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt([])), []) new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (137) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(new_primPlusInt([])), []) new_takeWhile(Integer(Pos(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Pos(Zero)), Integer(new_primPlusInt([])), []) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Integer(x_1)) = x_1 POL(Neg(x_1)) = 1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 0 POL(Zero) = 1 POL([]) = 0 POL(new_primPlusInt(x_1)) = 0 POL(new_primPlusInt0(x_1, x_2)) = 1 POL(new_primPlusInt1(x_1)) = 1 + x_1 POL(new_primPlusNat(x_1, x_2)) = 0 POL(new_primPlusNat0(x_1)) = x_1 POL(new_primPlusNat1(x_1, x_2)) = 1 + x_1 + x_2 POL(new_takeWhile(x_1, x_2, x_3)) = x_2 + x_3 POL(new_takeWhile1(x_1, x_2, x_3, x_4, x_5)) = x_5 POL(new_takeWhile11(x_1, x_2, x_3)) = 0 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) ---------------------------------------- (138) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (139) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. ---------------------------------------- (140) Complex Obligation (AND) ---------------------------------------- (141) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile1(xu201, xu202, Zero, Succ(xu2040), []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) new_takeWhile(Integer(Pos(Succ(xu31000))), Integer(Pos(Succ(xu30000))), []) -> new_takeWhile1(xu31000, xu30000, xu30000, xu31000, []) new_takeWhile1(xu201, xu202, Succ(xu2030), Succ(xu2040), []) -> new_takeWhile1(xu201, xu202, xu2030, xu2040, []) new_takeWhile1(xu201, xu202, Zero, Zero, []) -> new_takeWhile11(xu201, xu202, []) new_takeWhile11(xu201, xu202, []) -> new_takeWhile(Integer(Pos(Succ(xu201))), Integer(Pos(new_primPlusNat(xu202, []))), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (142) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (143) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_takeWhile(Integer(Pos(xu3100)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Pos(xu3100)), Integer(new_primPlusInt0(xu30000, [])), []) Strictly oriented rules of the TRS R: new_primPlusInt([]) -> Pos(new_primPlusNat0([])) Used ordering: Polynomial interpretation [POLO]: POL(Integer(x_1)) = x_1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL([]) = 0 POL(new_primPlusInt(x_1)) = 2 + 2*x_1 POL(new_primPlusInt0(x_1, x_2)) = x_1 + x_2 POL(new_primPlusInt1(x_1)) = 1 + 2*x_1 POL(new_primPlusNat(x_1, x_2)) = 2 + 2*x_1 + x_2 POL(new_primPlusNat0(x_1)) = 1 + x_1 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 POL(new_takeWhile(x_1, x_2, x_3)) = x_1 + x_2 + x_3 ---------------------------------------- (144) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (145) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (146) YES ---------------------------------------- (147) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile0(xu206, xu211, xu210, []) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210), []) new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000, []) new_takeWhile10(xu206, xu207, Zero, Succ(xu2090), []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) new_takeWhile10(xu206, xu207, Zero, Zero, []) -> new_takeWhile12(xu206, xu207, []) new_takeWhile12(xu206, xu207, []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (148) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. new_takeWhile(Integer(Neg(Succ(xu31000))), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile10(xu31000, xu30000, xu31000, xu30000, []) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial interpretation [POLO]: POL(Integer(x_1)) = x_1 POL(Neg(x_1)) = x_1 POL(Pos(x_1)) = 0 POL(Succ(x_1)) = 1 + x_1 POL(Zero) = 0 POL([]) = 1 POL(new_primPlusInt(x_1)) = 1 + x_1 POL(new_primPlusInt0(x_1, x_2)) = x_1 POL(new_primPlusInt1(x_1)) = 1 + x_1 POL(new_primPlusNat(x_1, x_2)) = 1 + x_1 + x_2 POL(new_primPlusNat0(x_1)) = 1 POL(new_primPlusNat1(x_1, x_2)) = x_1 POL(new_takeWhile(x_1, x_2, x_3)) = x_2 POL(new_takeWhile0(x_1, x_2, x_3, x_4)) = x_3 POL(new_takeWhile10(x_1, x_2, x_3, x_4, x_5)) = x_2 POL(new_takeWhile12(x_1, x_2, x_3)) = x_2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) ---------------------------------------- (149) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile0(xu206, xu211, xu210, []) -> new_takeWhile(Integer(Neg(Succ(xu206))), Integer(xu210), []) new_takeWhile10(xu206, xu207, Zero, Succ(xu2090), []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) new_takeWhile10(xu206, xu207, Zero, Zero, []) -> new_takeWhile12(xu206, xu207, []) new_takeWhile12(xu206, xu207, []) -> new_takeWhile0(xu206, new_primPlusInt0(xu207, []), new_primPlusInt0(xu207, []), []) new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (150) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. ---------------------------------------- (151) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (152) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Used ordering: Polynomial interpretation [POLO]: POL(Neg(x_1)) = 2 + 2*x_1 POL(Pos(x_1)) = 2 + x_1 POL(Succ(x_1)) = x_1 POL(Zero) = 1 POL([]) = 2 POL(new_primPlusInt(x_1)) = 2 + 2*x_1 POL(new_primPlusInt0(x_1, x_2)) = 1 + 2*x_1 + x_2 POL(new_primPlusInt1(x_1)) = 2*x_1 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + x_2 POL(new_primPlusNat0(x_1)) = 2 + x_1 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 POL(new_takeWhile10(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + x_3 + 2*x_4 + x_5 ---------------------------------------- (153) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (154) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_takeWhile10(xu206, xu207, Succ(xu2080), Succ(xu2090), []) -> new_takeWhile10(xu206, xu207, xu2080, xu2090, []) Used ordering: Polynomial interpretation [POLO]: POL(Pos(x_1)) = 2*x_1 POL(Succ(x_1)) = 1 + x_1 POL([]) = 2 POL(new_primPlusInt(x_1)) = 2 + x_1 POL(new_primPlusNat(x_1, x_2)) = 2 + x_1 + 2*x_2 POL(new_primPlusNat0(x_1)) = x_1 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 POL(new_takeWhile10(x_1, x_2, x_3, x_4, x_5)) = x_1 + x_2 + 2*x_3 + x_4 + x_5 ---------------------------------------- (155) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (156) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (157) YES ---------------------------------------- (158) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt1([])), []) new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt([])), []) The TRS R consists of the following rules: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusInt0(Zero, []) -> Pos(Zero) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (159) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt1([])), []) Strictly oriented rules of the TRS R: new_primPlusNat(xu168, []) -> Succ(Succ(new_primPlusNat1(xu168, []))) new_primPlusInt0(Zero, []) -> Pos(Zero) Used ordering: Polynomial interpretation [POLO]: POL(Integer(x_1)) = 2*x_1 POL(Neg(x_1)) = 2 + x_1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = x_1 POL(Zero) = 2 POL([]) = 0 POL(new_primPlusInt(x_1)) = 2 + x_1 POL(new_primPlusInt0(x_1, x_2)) = 2 + x_1 + 2*x_2 POL(new_primPlusInt1(x_1)) = 2 + 2*x_1 POL(new_primPlusNat(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 POL(new_primPlusNat0(x_1)) = 2 + x_1 POL(new_primPlusNat1(x_1, x_2)) = x_1 + 2*x_2 POL(new_takeWhile(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 ---------------------------------------- (160) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt([])), []) The TRS R consists of the following rules: new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusNat1(Zero, []) -> Zero new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (161) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented rules of the TRS R: new_primPlusNat1(Succ(xu1680), []) -> Succ(xu1680) new_primPlusNat1(Zero, []) -> Zero Used ordering: Polynomial interpretation [POLO]: POL(Integer(x_1)) = 2*x_1 POL(Neg(x_1)) = 1 + x_1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = x_1 POL(Zero) = 2 POL([]) = 1 POL(new_primPlusInt(x_1)) = 1 + x_1 POL(new_primPlusInt0(x_1, x_2)) = x_1 + x_2 POL(new_primPlusInt1(x_1)) = 2*x_1 POL(new_primPlusNat0(x_1)) = 1 + x_1 POL(new_primPlusNat1(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 POL(new_takeWhile(x_1, x_2, x_3)) = x_1 + x_2 + x_3 ---------------------------------------- (162) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) new_takeWhile(Integer(Neg(Zero)), Integer(Pos(Zero)), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt([])), []) The TRS R consists of the following rules: new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (163) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (164) Obligation: Q DP problem: The TRS P consists of the following rules: new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) The TRS R consists of the following rules: new_primPlusInt([]) -> Pos(new_primPlusNat0([])) new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (165) MRRProof (EQUIVALENT) By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. Strictly oriented dependency pairs: new_takeWhile(Integer(Neg(Zero)), Integer(Neg(Succ(xu30000))), []) -> new_takeWhile(Integer(Neg(Zero)), Integer(new_primPlusInt0(xu30000, [])), []) Strictly oriented rules of the TRS R: new_primPlusNat0([]) -> Succ(Zero) new_primPlusInt0(Succ(xu300000), []) -> Neg(Succ(xu300000)) new_primPlusInt1([]) -> Pos(Succ(Zero)) Used ordering: Polynomial interpretation [POLO]: POL(Integer(x_1)) = 2*x_1 POL(Neg(x_1)) = 2*x_1 POL(Pos(x_1)) = x_1 POL(Succ(x_1)) = 1 + 2*x_1 POL(Zero) = 0 POL([]) = 0 POL(new_primPlusInt(x_1)) = 2 + 2*x_1 POL(new_primPlusInt0(x_1, x_2)) = 1 + 2*x_1 + x_2 POL(new_primPlusInt1(x_1)) = 2 + 2*x_1 POL(new_primPlusNat0(x_1)) = 2 + x_1 POL(new_takeWhile(x_1, x_2, x_3)) = x_1 + x_2 + x_3 ---------------------------------------- (166) Obligation: Q DP problem: P is empty. The TRS R consists of the following rules: new_primPlusInt([]) -> Pos(new_primPlusNat0([])) Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (167) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (168) YES