/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could be proven: (0) HASKELL (1) LR [EQUIVALENT, 0 ms] (2) HASKELL (3) CR [EQUIVALENT, 0 ms] (4) HASKELL (5) BR [EQUIVALENT, 0 ms] (6) HASKELL (7) COR [EQUIVALENT, 0 ms] (8) HASKELL (9) LetRed [EQUIVALENT, 10 ms] (10) HASKELL (11) Narrow [SOUND, 0 ms] (12) AND (13) QDP (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] (15) YES (16) QDP (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] (18) YES (19) QDP (20) TransformationProof [EQUIVALENT, 0 ms] (21) QDP (22) QDPSizeChangeProof [EQUIVALENT, 0 ms] (23) YES (24) QDP (25) QDPSizeChangeProof [EQUIVALENT, 0 ms] (26) YES (27) QDP (28) QDPSizeChangeProof [EQUIVALENT, 0 ms] (29) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) LR (EQUIVALENT) Lambda Reductions: The following Lambda expression "\vu68->case vu68 of { (cs@(_ : _),t) -> (cs,t) : []; _ -> []} " is transformed to "nonnull0 vu68 = case vu68 of { (cs@(_ : _),t) -> (cs,t) : []; _ -> []} ; " The following Lambda expression "\nd->n * radix + d" is transformed to "readInt0 radix n d = n * radix + d; " The following Lambda expression "\vu77->case vu77 of { (ds,r) -> (foldl1 (readInt0 radix) (map (fromIntegral . digToInt) ds),r) : []; _ -> []} " is transformed to "readInt1 radix digToInt vu77 = case vu77 of { (ds,r) -> (foldl1 (readInt0 radix) (map (fromIntegral . digToInt) ds),r) : []; _ -> []} ; " The following Lambda expression "\(_,zs)->zs" is transformed to "zs0 (_,zs) = zs; " The following Lambda expression "\(ys,_)->ys" is transformed to "ys0 (ys,_) = ys; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) CR (EQUIVALENT) Case Reductions: The following Case expression "case vu68 of { (cs@(_ : _),t) -> (cs,t) : []; _ -> []} " is transformed to "nonnull00 (cs@(_ : _),t) = (cs,t) : []; nonnull00 _ = []; " The following Case expression "case vu77 of { (ds,r) -> (foldl1 (readInt0 radix) (map (fromIntegral . digToInt) ds),r) : []; _ -> []} " is transformed to "readInt10 radix digToInt (ds,r) = (foldl1 (readInt0 radix) (map (fromIntegral . digToInt) ds),r) : []; readInt10 radix digToInt _ = []; " ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. Binding Reductions: The bind variable of the following binding Pattern "cs@(vx : vy)" is replaced by the following term "vx : vy" The bind variable of the following binding Pattern "xs@(ww : wx)" is replaced by the following term "ww : wx" ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "span p [] = ([],[]); span p (ww : wx)|p ww(ww : ys,zs)|otherwise([],ww : wx) where { vu43 = span p wx; ; ys = ys0 vu43; ; ys0 (ys,wz) = ys; ; zs = zs0 vu43; ; zs0 (wy,zs) = zs; } ; " is transformed to "span p [] = span3 p []; span p (ww : wx) = span2 p (ww : wx); " "span2 p (ww : wx) = span1 p ww wx (p ww) where { span0 p ww wx True = ([],ww : wx); ; span1 p ww wx True = (ww : ys,zs); span1 p ww wx False = span0 p ww wx otherwise; ; vu43 = span p wx; ; ys = ys0 vu43; ; ys0 (ys,wz) = ys; ; zs = zs0 vu43; ; zs0 (wy,zs) = zs; } ; " "span3 p [] = ([],[]); span3 xx xy = span2 xx xy; " ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "span1 p ww wx (p ww) where { span0 p ww wx True = ([],ww : wx); ; span1 p ww wx True = (ww : ys,zs); span1 p ww wx False = span0 p ww wx otherwise; ; vu43 = span p wx; ; ys = ys0 vu43; ; ys0 (ys,wz) = ys; ; zs = zs0 vu43; ; zs0 (wy,zs) = zs; } " are unpacked to the following functions on top level "span2Vu43 xz yu = span xz yu; " "span2Ys0 xz yu (ys,wz) = ys; " "span2Span1 xz yu p ww wx True = (ww : span2Ys xz yu,span2Zs xz yu); span2Span1 xz yu p ww wx False = span2Span0 xz yu p ww wx otherwise; " "span2Ys xz yu = span2Ys0 xz yu (span2Vu43 xz yu); " "span2Zs xz yu = span2Zs0 xz yu (span2Vu43 xz yu); " "span2Zs0 xz yu (wy,zs) = zs; " "span2Span0 xz yu p ww wx True = ([],ww : wx); " ---------------------------------------- (10) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (11) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="readInt",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="readInt yv3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="readInt yv3 yv4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 5[label="readInt yv3 yv4 yv5",fontsize=16,color="grey",shape="box"];5 -> 6[label="",style="dashed", color="grey", weight=3]; 6[label="readInt yv3 yv4 yv5 yv6",fontsize=16,color="black",shape="triangle"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="concatMap (readInt1 yv3 yv5) (nonnull yv4 yv6)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 8[label="concat . map (readInt1 yv3 yv5)",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9[label="concat (map (readInt1 yv3 yv5) (nonnull yv4 yv6))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 10[label="foldr (++) [] (map (readInt1 yv3 yv5) (nonnull yv4 yv6))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 11[label="foldr (++) [] (map (readInt1 yv3 yv5) (concatMap nonnull0 (span yv4 yv6 : [])))",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 12[label="foldr (++) [] (map (readInt1 yv3 yv5) (concat . map nonnull0))",fontsize=16,color="black",shape="box"];12 -> 13[label="",style="solid", color="black", weight=3]; 13[label="foldr (++) [] (map (readInt1 yv3 yv5) (concat (map nonnull0 (span yv4 yv6 : []))))",fontsize=16,color="black",shape="box"];13 -> 14[label="",style="solid", color="black", weight=3]; 14[label="foldr (++) [] (map (readInt1 yv3 yv5) (foldr (++) [] (map nonnull0 (span yv4 yv6 : []))))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 15[label="foldr (++) [] (map (readInt1 yv3 yv5) (foldr (++) [] (nonnull0 (span yv4 yv6) : map nonnull0 [])))",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 16[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull0 (span yv4 yv6) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];16 -> 17[label="",style="solid", color="black", weight=3]; 17[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span yv4 yv6) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="burlywood",shape="box"];278[label="yv6/yv60 : yv61",fontsize=10,color="white",style="solid",shape="box"];17 -> 278[label="",style="solid", color="burlywood", weight=9]; 278 -> 18[label="",style="solid", color="burlywood", weight=3]; 279[label="yv6/[]",fontsize=10,color="white",style="solid",shape="box"];17 -> 279[label="",style="solid", color="burlywood", weight=9]; 279 -> 19[label="",style="solid", color="burlywood", weight=3]; 18[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span yv4 (yv60 : yv61)) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];18 -> 20[label="",style="solid", color="black", weight=3]; 19[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span yv4 []) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];19 -> 21[label="",style="solid", color="black", weight=3]; 20[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span2 yv4 (yv60 : yv61)) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];20 -> 22[label="",style="solid", color="black", weight=3]; 21[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span3 yv4 []) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];21 -> 23[label="",style="solid", color="black", weight=3]; 22 -> 24[label="",style="dashed", color="red", weight=0]; 22[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span2Span1 yv4 yv61 yv4 yv60 yv61 (yv4 yv60)) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="magenta"];22 -> 25[label="",style="dashed", color="magenta", weight=3]; 23[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 ([],[]) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];23 -> 26[label="",style="solid", color="black", weight=3]; 25[label="yv4 yv60",fontsize=16,color="green",shape="box"];25 -> 30[label="",style="dashed", color="green", weight=3]; 24[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span2Span1 yv4 yv61 yv4 yv60 yv61 yv7) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="burlywood",shape="triangle"];280[label="yv7/False",fontsize=10,color="white",style="solid",shape="box"];24 -> 280[label="",style="solid", color="burlywood", weight=9]; 280 -> 28[label="",style="solid", color="burlywood", weight=3]; 281[label="yv7/True",fontsize=10,color="white",style="solid",shape="box"];24 -> 281[label="",style="solid", color="burlywood", weight=9]; 281 -> 29[label="",style="solid", color="burlywood", weight=3]; 26[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) [] foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="triangle"];26 -> 31[label="",style="solid", color="black", weight=3]; 30[label="yv60",fontsize=16,color="green",shape="box"];28[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span2Span1 yv4 yv61 yv4 yv60 yv61 False) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 29[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span2Span1 yv4 yv61 yv4 yv60 yv61 True) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 31[label="foldr (++) [] (map (readInt1 yv3 yv5) (foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];31 -> 34[label="",style="solid", color="black", weight=3]; 32[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span2Span0 yv4 yv61 yv4 yv60 yv61 otherwise) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];32 -> 35[label="",style="solid", color="black", weight=3]; 33[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (yv60 : span2Ys yv4 yv61,span2Zs yv4 yv61) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];33 -> 36[label="",style="solid", color="black", weight=3]; 34[label="foldr (++) [] (map (readInt1 yv3 yv5) (foldr (++) [] []))",fontsize=16,color="black",shape="box"];34 -> 37[label="",style="solid", color="black", weight=3]; 35[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 (span2Span0 yv4 yv61 yv4 yv60 yv61 True) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];35 -> 38[label="",style="solid", color="black", weight=3]; 36[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) ((yv60 : span2Ys yv4 yv61,span2Zs yv4 yv61) : []) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];36 -> 39[label="",style="solid", color="black", weight=3]; 37[label="foldr (++) [] (map (readInt1 yv3 yv5) [])",fontsize=16,color="black",shape="box"];37 -> 40[label="",style="solid", color="black", weight=3]; 38[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) nonnull00 ([],yv60 : yv61) foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];38 -> 41[label="",style="solid", color="black", weight=3]; 39[label="foldr (++) [] (map (readInt1 yv3 yv5) ((yv60 : span2Ys yv4 yv61,span2Zs yv4 yv61) : [] ++ foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];39 -> 42[label="",style="solid", color="black", weight=3]; 40[label="foldr (++) [] []",fontsize=16,color="black",shape="box"];40 -> 43[label="",style="solid", color="black", weight=3]; 41 -> 26[label="",style="dashed", color="red", weight=0]; 41[label="foldr (++) [] (map (readInt1 yv3 yv5) ((++) [] foldr (++) [] (map nonnull0 [])))",fontsize=16,color="magenta"];42[label="foldr (++) [] (readInt1 yv3 yv5 (yv60 : span2Ys yv4 yv61,span2Zs yv4 yv61) : map (readInt1 yv3 yv5) ([] ++ foldr (++) [] (map nonnull0 [])))",fontsize=16,color="black",shape="box"];42 -> 44[label="",style="solid", color="black", weight=3]; 43[label="[]",fontsize=16,color="green",shape="box"];44 -> 45[label="",style="dashed", color="red", weight=0]; 44[label="(++) readInt1 yv3 yv5 (yv60 : span2Ys yv4 yv61,span2Zs yv4 yv61) foldr (++) [] (map (readInt1 yv3 yv5) ([] ++ foldr (++) [] (map nonnull0 [])))",fontsize=16,color="magenta"];44 -> 46[label="",style="dashed", color="magenta", weight=3]; 46 -> 26[label="",style="dashed", color="red", weight=0]; 46[label="foldr (++) [] (map (readInt1 yv3 yv5) ([] ++ foldr (++) [] (map nonnull0 [])))",fontsize=16,color="magenta"];45[label="(++) readInt1 yv3 yv5 (yv60 : span2Ys yv4 yv61,span2Zs yv4 yv61) yv8",fontsize=16,color="black",shape="triangle"];45 -> 47[label="",style="solid", color="black", weight=3]; 47[label="(++) readInt10 yv3 yv5 (yv60 : span2Ys yv4 yv61,span2Zs yv4 yv61) yv8",fontsize=16,color="black",shape="box"];47 -> 48[label="",style="solid", color="black", weight=3]; 48[label="(++) ((foldl1 (readInt0 yv3) (map (fromIntegral . yv5) (yv60 : span2Ys yv4 yv61)),span2Zs yv4 yv61) : []) yv8",fontsize=16,color="black",shape="box"];48 -> 49[label="",style="solid", color="black", weight=3]; 49[label="(foldl1 (readInt0 yv3) (map (fromIntegral . yv5) (yv60 : span2Ys yv4 yv61)),span2Zs yv4 yv61) : [] ++ yv8",fontsize=16,color="green",shape="box"];49 -> 50[label="",style="dashed", color="green", weight=3]; 49 -> 51[label="",style="dashed", color="green", weight=3]; 49 -> 52[label="",style="dashed", color="green", weight=3]; 50[label="foldl1 (readInt0 yv3) (map (fromIntegral . yv5) (yv60 : span2Ys yv4 yv61))",fontsize=16,color="black",shape="box"];50 -> 53[label="",style="solid", color="black", weight=3]; 51[label="span2Zs yv4 yv61",fontsize=16,color="black",shape="triangle"];51 -> 54[label="",style="solid", color="black", weight=3]; 52[label="[] ++ yv8",fontsize=16,color="black",shape="box"];52 -> 55[label="",style="solid", color="black", weight=3]; 53[label="foldl1 (readInt0 yv3) (fromIntegral . yv5 : map (fromIntegral . yv5) (span2Ys yv4 yv61))",fontsize=16,color="black",shape="box"];53 -> 56[label="",style="solid", color="black", weight=3]; 54[label="span2Zs0 yv4 yv61 (span2Vu43 yv4 yv61)",fontsize=16,color="black",shape="box"];54 -> 57[label="",style="solid", color="black", weight=3]; 55[label="yv8",fontsize=16,color="green",shape="box"];56[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys yv4 yv61))",fontsize=16,color="black",shape="box"];56 -> 58[label="",style="solid", color="black", weight=3]; 57[label="span2Zs0 yv4 yv61 (span yv4 yv61)",fontsize=16,color="burlywood",shape="box"];282[label="yv61/yv610 : yv611",fontsize=10,color="white",style="solid",shape="box"];57 -> 282[label="",style="solid", color="burlywood", weight=9]; 282 -> 59[label="",style="solid", color="burlywood", weight=3]; 283[label="yv61/[]",fontsize=10,color="white",style="solid",shape="box"];57 -> 283[label="",style="solid", color="burlywood", weight=9]; 283 -> 60[label="",style="solid", color="burlywood", weight=3]; 58[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 yv61 (span2Vu43 yv4 yv61)))",fontsize=16,color="black",shape="box"];58 -> 61[label="",style="solid", color="black", weight=3]; 59[label="span2Zs0 yv4 (yv610 : yv611) (span yv4 (yv610 : yv611))",fontsize=16,color="black",shape="box"];59 -> 62[label="",style="solid", color="black", weight=3]; 60[label="span2Zs0 yv4 [] (span yv4 [])",fontsize=16,color="black",shape="box"];60 -> 63[label="",style="solid", color="black", weight=3]; 61[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 yv61 (span yv4 yv61)))",fontsize=16,color="burlywood",shape="box"];284[label="yv61/yv610 : yv611",fontsize=10,color="white",style="solid",shape="box"];61 -> 284[label="",style="solid", color="burlywood", weight=9]; 284 -> 64[label="",style="solid", color="burlywood", weight=3]; 285[label="yv61/[]",fontsize=10,color="white",style="solid",shape="box"];61 -> 285[label="",style="solid", color="burlywood", weight=9]; 285 -> 65[label="",style="solid", color="burlywood", weight=3]; 62[label="span2Zs0 yv4 (yv610 : yv611) (span2 yv4 (yv610 : yv611))",fontsize=16,color="black",shape="box"];62 -> 66[label="",style="solid", color="black", weight=3]; 63[label="span2Zs0 yv4 [] (span3 yv4 [])",fontsize=16,color="black",shape="box"];63 -> 67[label="",style="solid", color="black", weight=3]; 64[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv610 : yv611) (span yv4 (yv610 : yv611))))",fontsize=16,color="black",shape="box"];64 -> 68[label="",style="solid", color="black", weight=3]; 65[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 [] (span yv4 [])))",fontsize=16,color="black",shape="box"];65 -> 69[label="",style="solid", color="black", weight=3]; 66 -> 70[label="",style="dashed", color="red", weight=0]; 66[label="span2Zs0 yv4 (yv610 : yv611) (span2Span1 yv4 yv611 yv4 yv610 yv611 (yv4 yv610))",fontsize=16,color="magenta"];66 -> 71[label="",style="dashed", color="magenta", weight=3]; 67[label="span2Zs0 yv4 [] ([],[])",fontsize=16,color="black",shape="box"];67 -> 72[label="",style="solid", color="black", weight=3]; 68[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv610 : yv611) (span2 yv4 (yv610 : yv611))))",fontsize=16,color="black",shape="box"];68 -> 73[label="",style="solid", color="black", weight=3]; 69[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 [] (span3 yv4 [])))",fontsize=16,color="black",shape="box"];69 -> 74[label="",style="solid", color="black", weight=3]; 71[label="yv4 yv610",fontsize=16,color="green",shape="box"];71 -> 78[label="",style="dashed", color="green", weight=3]; 70[label="span2Zs0 yv4 (yv610 : yv611) (span2Span1 yv4 yv611 yv4 yv610 yv611 yv9)",fontsize=16,color="burlywood",shape="triangle"];286[label="yv9/False",fontsize=10,color="white",style="solid",shape="box"];70 -> 286[label="",style="solid", color="burlywood", weight=9]; 286 -> 76[label="",style="solid", color="burlywood", weight=3]; 287[label="yv9/True",fontsize=10,color="white",style="solid",shape="box"];70 -> 287[label="",style="solid", color="burlywood", weight=9]; 287 -> 77[label="",style="solid", color="burlywood", weight=3]; 72[label="[]",fontsize=16,color="green",shape="box"];73 -> 79[label="",style="dashed", color="red", weight=0]; 73[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv610 : yv611) (span2Span1 yv4 yv611 yv4 yv610 yv611 (yv4 yv610))))",fontsize=16,color="magenta"];73 -> 80[label="",style="dashed", color="magenta", weight=3]; 74[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 [] ([],[])))",fontsize=16,color="black",shape="box"];74 -> 81[label="",style="solid", color="black", weight=3]; 78[label="yv610",fontsize=16,color="green",shape="box"];76[label="span2Zs0 yv4 (yv610 : yv611) (span2Span1 yv4 yv611 yv4 yv610 yv611 False)",fontsize=16,color="black",shape="box"];76 -> 82[label="",style="solid", color="black", weight=3]; 77[label="span2Zs0 yv4 (yv610 : yv611) (span2Span1 yv4 yv611 yv4 yv610 yv611 True)",fontsize=16,color="black",shape="box"];77 -> 83[label="",style="solid", color="black", weight=3]; 80[label="yv4 yv610",fontsize=16,color="green",shape="box"];80 -> 87[label="",style="dashed", color="green", weight=3]; 79[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv610 : yv611) (span2Span1 yv4 yv611 yv4 yv610 yv611 yv10)))",fontsize=16,color="burlywood",shape="triangle"];288[label="yv10/False",fontsize=10,color="white",style="solid",shape="box"];79 -> 288[label="",style="solid", color="burlywood", weight=9]; 288 -> 85[label="",style="solid", color="burlywood", weight=3]; 289[label="yv10/True",fontsize=10,color="white",style="solid",shape="box"];79 -> 289[label="",style="solid", color="burlywood", weight=9]; 289 -> 86[label="",style="solid", color="burlywood", weight=3]; 81[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) [])",fontsize=16,color="black",shape="box"];81 -> 88[label="",style="solid", color="black", weight=3]; 82[label="span2Zs0 yv4 (yv610 : yv611) (span2Span0 yv4 yv611 yv4 yv610 yv611 otherwise)",fontsize=16,color="black",shape="box"];82 -> 89[label="",style="solid", color="black", weight=3]; 83 -> 90[label="",style="dashed", color="red", weight=0]; 83[label="span2Zs0 yv4 (yv610 : yv611) (yv610 : span2Ys yv4 yv611,span2Zs yv4 yv611)",fontsize=16,color="magenta"];83 -> 91[label="",style="dashed", color="magenta", weight=3]; 87[label="yv610",fontsize=16,color="green",shape="box"];85[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv610 : yv611) (span2Span1 yv4 yv611 yv4 yv610 yv611 False)))",fontsize=16,color="black",shape="box"];85 -> 92[label="",style="solid", color="black", weight=3]; 86[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv610 : yv611) (span2Span1 yv4 yv611 yv4 yv610 yv611 True)))",fontsize=16,color="black",shape="box"];86 -> 93[label="",style="solid", color="black", weight=3]; 88[label="foldl (readInt0 yv3) (fromIntegral . yv5) []",fontsize=16,color="black",shape="box"];88 -> 94[label="",style="solid", color="black", weight=3]; 89[label="span2Zs0 yv4 (yv610 : yv611) (span2Span0 yv4 yv611 yv4 yv610 yv611 True)",fontsize=16,color="black",shape="box"];89 -> 95[label="",style="solid", color="black", weight=3]; 91 -> 51[label="",style="dashed", color="red", weight=0]; 91[label="span2Zs yv4 yv611",fontsize=16,color="magenta"];91 -> 96[label="",style="dashed", color="magenta", weight=3]; 90[label="span2Zs0 yv4 (yv610 : yv611) (yv610 : span2Ys yv4 yv611,yv11)",fontsize=16,color="black",shape="triangle"];90 -> 97[label="",style="solid", color="black", weight=3]; 92 -> 145[label="",style="dashed", color="red", weight=0]; 92[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv610 : yv611) (span2Span0 yv4 yv611 yv4 yv610 yv611 otherwise)))",fontsize=16,color="magenta"];92 -> 146[label="",style="dashed", color="magenta", weight=3]; 92 -> 147[label="",style="dashed", color="magenta", weight=3]; 92 -> 148[label="",style="dashed", color="magenta", weight=3]; 93 -> 106[label="",style="dashed", color="red", weight=0]; 93[label="foldl (readInt0 yv3) (fromIntegral . yv5) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv610 : yv611) (yv610 : span2Ys yv4 yv611,span2Zs yv4 yv611)))",fontsize=16,color="magenta"];93 -> 107[label="",style="dashed", color="magenta", weight=3]; 93 -> 108[label="",style="dashed", color="magenta", weight=3]; 94[label="fromIntegral . yv5",fontsize=16,color="black",shape="triangle"];94 -> 101[label="",style="solid", color="black", weight=3]; 95[label="span2Zs0 yv4 (yv610 : yv611) ([],yv610 : yv611)",fontsize=16,color="black",shape="box"];95 -> 102[label="",style="solid", color="black", weight=3]; 96[label="yv611",fontsize=16,color="green",shape="box"];97[label="yv11",fontsize=16,color="green",shape="box"];146 -> 94[label="",style="dashed", color="red", weight=0]; 146[label="fromIntegral . yv5",fontsize=16,color="magenta"];147[label="yv610",fontsize=16,color="green",shape="box"];148[label="yv611",fontsize=16,color="green",shape="box"];145[label="foldl (readInt0 yv3) yv17 (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (span2Span0 yv4 yv6111 yv4 yv6110 yv6111 otherwise)))",fontsize=16,color="black",shape="triangle"];145 -> 150[label="",style="solid", color="black", weight=3]; 107 -> 51[label="",style="dashed", color="red", weight=0]; 107[label="span2Zs yv4 yv611",fontsize=16,color="magenta"];107 -> 110[label="",style="dashed", color="magenta", weight=3]; 108 -> 94[label="",style="dashed", color="red", weight=0]; 108[label="fromIntegral . yv5",fontsize=16,color="magenta"];106[label="foldl (readInt0 yv3) yv14 (map (fromIntegral . yv5) (span2Ys0 yv4 (yv610 : yv611) (yv610 : span2Ys yv4 yv611,yv12)))",fontsize=16,color="black",shape="triangle"];106 -> 111[label="",style="solid", color="black", weight=3]; 101[label="fromIntegral (yv5 yv60)",fontsize=16,color="black",shape="box"];101 -> 112[label="",style="solid", color="black", weight=3]; 102[label="yv610 : yv611",fontsize=16,color="green",shape="box"];150[label="foldl (readInt0 yv3) yv17 (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (span2Span0 yv4 yv6111 yv4 yv6110 yv6111 True)))",fontsize=16,color="black",shape="box"];150 -> 156[label="",style="solid", color="black", weight=3]; 110[label="yv611",fontsize=16,color="green",shape="box"];111[label="foldl (readInt0 yv3) yv14 (map (fromIntegral . yv5) (yv610 : span2Ys yv4 yv611))",fontsize=16,color="black",shape="box"];111 -> 114[label="",style="solid", color="black", weight=3]; 112[label="fromInteger . toInteger",fontsize=16,color="black",shape="box"];112 -> 115[label="",style="solid", color="black", weight=3]; 156[label="foldl (readInt0 yv3) yv17 (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) ([],yv6110 : yv6111)))",fontsize=16,color="black",shape="box"];156 -> 159[label="",style="solid", color="black", weight=3]; 114 -> 117[label="",style="dashed", color="red", weight=0]; 114[label="foldl (readInt0 yv3) yv14 (fromIntegral . yv5 : map (fromIntegral . yv5) (span2Ys yv4 yv611))",fontsize=16,color="magenta"];114 -> 118[label="",style="dashed", color="magenta", weight=3]; 115[label="fromInteger (toInteger (yv5 yv60))",fontsize=16,color="black",shape="box"];115 -> 119[label="",style="solid", color="black", weight=3]; 159 -> 116[label="",style="dashed", color="red", weight=0]; 159[label="foldl (readInt0 yv3) yv17 (map (fromIntegral . yv5) [])",fontsize=16,color="magenta"];159 -> 162[label="",style="dashed", color="magenta", weight=3]; 118 -> 94[label="",style="dashed", color="red", weight=0]; 118[label="fromIntegral . yv5",fontsize=16,color="magenta"];118 -> 121[label="",style="dashed", color="magenta", weight=3]; 117[label="foldl (readInt0 yv3) yv14 (yv15 : map (fromIntegral . yv5) (span2Ys yv4 yv611))",fontsize=16,color="black",shape="triangle"];117 -> 122[label="",style="solid", color="black", weight=3]; 119[label="fromInteger (Integer (yv5 yv60))",fontsize=16,color="black",shape="box"];119 -> 123[label="",style="solid", color="black", weight=3]; 162[label="yv17",fontsize=16,color="green",shape="box"];116[label="foldl (readInt0 yv3) yv13 (map (fromIntegral . yv5) [])",fontsize=16,color="black",shape="triangle"];116 -> 120[label="",style="solid", color="black", weight=3]; 121[label="yv610",fontsize=16,color="green",shape="box"];122[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys yv4 yv611))",fontsize=16,color="black",shape="box"];122 -> 125[label="",style="solid", color="black", weight=3]; 123[label="yv5 yv60",fontsize=16,color="green",shape="box"];123 -> 126[label="",style="dashed", color="green", weight=3]; 120[label="foldl (readInt0 yv3) yv13 []",fontsize=16,color="black",shape="box"];120 -> 124[label="",style="solid", color="black", weight=3]; 125[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 yv611 (span2Vu43 yv4 yv611)))",fontsize=16,color="black",shape="box"];125 -> 127[label="",style="solid", color="black", weight=3]; 126[label="yv60",fontsize=16,color="green",shape="box"];124[label="yv13",fontsize=16,color="green",shape="box"];127[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 yv611 (span yv4 yv611)))",fontsize=16,color="burlywood",shape="box"];290[label="yv611/yv6110 : yv6111",fontsize=10,color="white",style="solid",shape="box"];127 -> 290[label="",style="solid", color="burlywood", weight=9]; 290 -> 128[label="",style="solid", color="burlywood", weight=3]; 291[label="yv611/[]",fontsize=10,color="white",style="solid",shape="box"];127 -> 291[label="",style="solid", color="burlywood", weight=9]; 291 -> 129[label="",style="solid", color="burlywood", weight=3]; 128[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (span yv4 (yv6110 : yv6111))))",fontsize=16,color="black",shape="box"];128 -> 130[label="",style="solid", color="black", weight=3]; 129[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 [] (span yv4 [])))",fontsize=16,color="black",shape="box"];129 -> 131[label="",style="solid", color="black", weight=3]; 130[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (span2 yv4 (yv6110 : yv6111))))",fontsize=16,color="black",shape="box"];130 -> 132[label="",style="solid", color="black", weight=3]; 131[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 [] (span3 yv4 [])))",fontsize=16,color="black",shape="box"];131 -> 133[label="",style="solid", color="black", weight=3]; 132 -> 134[label="",style="dashed", color="red", weight=0]; 132[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (span2Span1 yv4 yv6111 yv4 yv6110 yv6111 (yv4 yv6110))))",fontsize=16,color="magenta"];132 -> 135[label="",style="dashed", color="magenta", weight=3]; 133[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 [] ([],[])))",fontsize=16,color="black",shape="box"];133 -> 136[label="",style="solid", color="black", weight=3]; 135[label="yv4 yv6110",fontsize=16,color="green",shape="box"];135 -> 140[label="",style="dashed", color="green", weight=3]; 134[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (span2Span1 yv4 yv6111 yv4 yv6110 yv6111 yv16)))",fontsize=16,color="burlywood",shape="triangle"];292[label="yv16/False",fontsize=10,color="white",style="solid",shape="box"];134 -> 292[label="",style="solid", color="burlywood", weight=9]; 292 -> 138[label="",style="solid", color="burlywood", weight=3]; 293[label="yv16/True",fontsize=10,color="white",style="solid",shape="box"];134 -> 293[label="",style="solid", color="burlywood", weight=9]; 293 -> 139[label="",style="solid", color="burlywood", weight=3]; 136 -> 116[label="",style="dashed", color="red", weight=0]; 136[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) [])",fontsize=16,color="magenta"];136 -> 141[label="",style="dashed", color="magenta", weight=3]; 140[label="yv6110",fontsize=16,color="green",shape="box"];138[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (span2Span1 yv4 yv6111 yv4 yv6110 yv6111 False)))",fontsize=16,color="black",shape="box"];138 -> 142[label="",style="solid", color="black", weight=3]; 139[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (span2Span1 yv4 yv6111 yv4 yv6110 yv6111 True)))",fontsize=16,color="black",shape="box"];139 -> 143[label="",style="solid", color="black", weight=3]; 141[label="readInt0 yv3 yv14 yv15",fontsize=16,color="black",shape="triangle"];141 -> 144[label="",style="solid", color="black", weight=3]; 142 -> 145[label="",style="dashed", color="red", weight=0]; 142[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (span2Span0 yv4 yv6111 yv4 yv6110 yv6111 otherwise)))",fontsize=16,color="magenta"];142 -> 149[label="",style="dashed", color="magenta", weight=3]; 143 -> 106[label="",style="dashed", color="red", weight=0]; 143[label="foldl (readInt0 yv3) (readInt0 yv3 yv14 yv15) (map (fromIntegral . yv5) (span2Ys0 yv4 (yv6110 : yv6111) (yv6110 : span2Ys yv4 yv6111,span2Zs yv4 yv6111)))",fontsize=16,color="magenta"];143 -> 151[label="",style="dashed", color="magenta", weight=3]; 143 -> 152[label="",style="dashed", color="magenta", weight=3]; 143 -> 153[label="",style="dashed", color="magenta", weight=3]; 143 -> 154[label="",style="dashed", color="magenta", weight=3]; 144[label="yv14 * yv3 + yv15",fontsize=16,color="black",shape="box"];144 -> 155[label="",style="solid", color="black", weight=3]; 149 -> 141[label="",style="dashed", color="red", weight=0]; 149[label="readInt0 yv3 yv14 yv15",fontsize=16,color="magenta"];151 -> 51[label="",style="dashed", color="red", weight=0]; 151[label="span2Zs yv4 yv6111",fontsize=16,color="magenta"];151 -> 157[label="",style="dashed", color="magenta", weight=3]; 152[label="yv6110",fontsize=16,color="green",shape="box"];153[label="yv6111",fontsize=16,color="green",shape="box"];154 -> 141[label="",style="dashed", color="red", weight=0]; 154[label="readInt0 yv3 yv14 yv15",fontsize=16,color="magenta"];155[label="primPlusInt (yv14 * yv3) yv15",fontsize=16,color="black",shape="box"];155 -> 158[label="",style="solid", color="black", weight=3]; 157[label="yv6111",fontsize=16,color="green",shape="box"];158[label="primPlusInt (primMulInt yv14 yv3) yv15",fontsize=16,color="burlywood",shape="box"];294[label="yv14/Pos yv140",fontsize=10,color="white",style="solid",shape="box"];158 -> 294[label="",style="solid", color="burlywood", weight=9]; 294 -> 160[label="",style="solid", color="burlywood", weight=3]; 295[label="yv14/Neg yv140",fontsize=10,color="white",style="solid",shape="box"];158 -> 295[label="",style="solid", color="burlywood", weight=9]; 295 -> 161[label="",style="solid", color="burlywood", weight=3]; 160[label="primPlusInt (primMulInt (Pos yv140) yv3) yv15",fontsize=16,color="burlywood",shape="box"];296[label="yv3/Pos yv30",fontsize=10,color="white",style="solid",shape="box"];160 -> 296[label="",style="solid", color="burlywood", weight=9]; 296 -> 163[label="",style="solid", color="burlywood", weight=3]; 297[label="yv3/Neg yv30",fontsize=10,color="white",style="solid",shape="box"];160 -> 297[label="",style="solid", color="burlywood", weight=9]; 297 -> 164[label="",style="solid", color="burlywood", weight=3]; 161[label="primPlusInt (primMulInt (Neg yv140) yv3) yv15",fontsize=16,color="burlywood",shape="box"];298[label="yv3/Pos yv30",fontsize=10,color="white",style="solid",shape="box"];161 -> 298[label="",style="solid", color="burlywood", weight=9]; 298 -> 165[label="",style="solid", color="burlywood", weight=3]; 299[label="yv3/Neg yv30",fontsize=10,color="white",style="solid",shape="box"];161 -> 299[label="",style="solid", color="burlywood", weight=9]; 299 -> 166[label="",style="solid", color="burlywood", weight=3]; 163[label="primPlusInt (primMulInt (Pos yv140) (Pos yv30)) yv15",fontsize=16,color="black",shape="box"];163 -> 167[label="",style="solid", color="black", weight=3]; 164[label="primPlusInt (primMulInt (Pos yv140) (Neg yv30)) yv15",fontsize=16,color="black",shape="box"];164 -> 168[label="",style="solid", color="black", weight=3]; 165[label="primPlusInt (primMulInt (Neg yv140) (Pos yv30)) yv15",fontsize=16,color="black",shape="box"];165 -> 169[label="",style="solid", color="black", weight=3]; 166[label="primPlusInt (primMulInt (Neg yv140) (Neg yv30)) yv15",fontsize=16,color="black",shape="box"];166 -> 170[label="",style="solid", color="black", weight=3]; 167[label="primPlusInt (Pos (primMulNat yv140 yv30)) yv15",fontsize=16,color="burlywood",shape="triangle"];300[label="yv15/Pos yv150",fontsize=10,color="white",style="solid",shape="box"];167 -> 300[label="",style="solid", color="burlywood", weight=9]; 300 -> 171[label="",style="solid", color="burlywood", weight=3]; 301[label="yv15/Neg yv150",fontsize=10,color="white",style="solid",shape="box"];167 -> 301[label="",style="solid", color="burlywood", weight=9]; 301 -> 172[label="",style="solid", color="burlywood", weight=3]; 168[label="primPlusInt (Neg (primMulNat yv140 yv30)) yv15",fontsize=16,color="burlywood",shape="triangle"];302[label="yv15/Pos yv150",fontsize=10,color="white",style="solid",shape="box"];168 -> 302[label="",style="solid", color="burlywood", weight=9]; 302 -> 173[label="",style="solid", color="burlywood", weight=3]; 303[label="yv15/Neg yv150",fontsize=10,color="white",style="solid",shape="box"];168 -> 303[label="",style="solid", color="burlywood", weight=9]; 303 -> 174[label="",style="solid", color="burlywood", weight=3]; 169 -> 168[label="",style="dashed", color="red", weight=0]; 169[label="primPlusInt (Neg (primMulNat yv140 yv30)) yv15",fontsize=16,color="magenta"];169 -> 175[label="",style="dashed", color="magenta", weight=3]; 169 -> 176[label="",style="dashed", color="magenta", weight=3]; 170 -> 167[label="",style="dashed", color="red", weight=0]; 170[label="primPlusInt (Pos (primMulNat yv140 yv30)) yv15",fontsize=16,color="magenta"];170 -> 177[label="",style="dashed", color="magenta", weight=3]; 170 -> 178[label="",style="dashed", color="magenta", weight=3]; 171[label="primPlusInt (Pos (primMulNat yv140 yv30)) (Pos yv150)",fontsize=16,color="black",shape="box"];171 -> 179[label="",style="solid", color="black", weight=3]; 172[label="primPlusInt (Pos (primMulNat yv140 yv30)) (Neg yv150)",fontsize=16,color="black",shape="box"];172 -> 180[label="",style="solid", color="black", weight=3]; 173[label="primPlusInt (Neg (primMulNat yv140 yv30)) (Pos yv150)",fontsize=16,color="black",shape="box"];173 -> 181[label="",style="solid", color="black", weight=3]; 174[label="primPlusInt (Neg (primMulNat yv140 yv30)) (Neg yv150)",fontsize=16,color="black",shape="box"];174 -> 182[label="",style="solid", color="black", weight=3]; 175[label="yv30",fontsize=16,color="green",shape="box"];176[label="yv140",fontsize=16,color="green",shape="box"];177[label="yv30",fontsize=16,color="green",shape="box"];178[label="yv140",fontsize=16,color="green",shape="box"];179[label="Pos (primPlusNat (primMulNat yv140 yv30) yv150)",fontsize=16,color="green",shape="box"];179 -> 183[label="",style="dashed", color="green", weight=3]; 180 -> 221[label="",style="dashed", color="red", weight=0]; 180[label="primMinusNat (primMulNat yv140 yv30) yv150",fontsize=16,color="magenta"];180 -> 222[label="",style="dashed", color="magenta", weight=3]; 181 -> 221[label="",style="dashed", color="red", weight=0]; 181[label="primMinusNat yv150 (primMulNat yv140 yv30)",fontsize=16,color="magenta"];181 -> 223[label="",style="dashed", color="magenta", weight=3]; 181 -> 224[label="",style="dashed", color="magenta", weight=3]; 182[label="Neg (primPlusNat (primMulNat yv140 yv30) yv150)",fontsize=16,color="green",shape="box"];182 -> 188[label="",style="dashed", color="green", weight=3]; 183 -> 234[label="",style="dashed", color="red", weight=0]; 183[label="primPlusNat (primMulNat yv140 yv30) yv150",fontsize=16,color="magenta"];183 -> 235[label="",style="dashed", color="magenta", weight=3]; 222[label="primMulNat yv140 yv30",fontsize=16,color="burlywood",shape="triangle"];304[label="yv140/Succ yv1400",fontsize=10,color="white",style="solid",shape="box"];222 -> 304[label="",style="solid", color="burlywood", weight=9]; 304 -> 229[label="",style="solid", color="burlywood", weight=3]; 305[label="yv140/Zero",fontsize=10,color="white",style="solid",shape="box"];222 -> 305[label="",style="solid", color="burlywood", weight=9]; 305 -> 230[label="",style="solid", color="burlywood", weight=3]; 221[label="primMinusNat yv18 yv150",fontsize=16,color="burlywood",shape="triangle"];306[label="yv18/Succ yv180",fontsize=10,color="white",style="solid",shape="box"];221 -> 306[label="",style="solid", color="burlywood", weight=9]; 306 -> 231[label="",style="solid", color="burlywood", weight=3]; 307[label="yv18/Zero",fontsize=10,color="white",style="solid",shape="box"];221 -> 307[label="",style="solid", color="burlywood", weight=9]; 307 -> 232[label="",style="solid", color="burlywood", weight=3]; 223 -> 222[label="",style="dashed", color="red", weight=0]; 223[label="primMulNat yv140 yv30",fontsize=16,color="magenta"];223 -> 233[label="",style="dashed", color="magenta", weight=3]; 224[label="yv150",fontsize=16,color="green",shape="box"];188 -> 234[label="",style="dashed", color="red", weight=0]; 188[label="primPlusNat (primMulNat yv140 yv30) yv150",fontsize=16,color="magenta"];188 -> 236[label="",style="dashed", color="magenta", weight=3]; 188 -> 237[label="",style="dashed", color="magenta", weight=3]; 235 -> 222[label="",style="dashed", color="red", weight=0]; 235[label="primMulNat yv140 yv30",fontsize=16,color="magenta"];234[label="primPlusNat yv19 yv150",fontsize=16,color="burlywood",shape="triangle"];308[label="yv19/Succ yv190",fontsize=10,color="white",style="solid",shape="box"];234 -> 308[label="",style="solid", color="burlywood", weight=9]; 308 -> 242[label="",style="solid", color="burlywood", weight=3]; 309[label="yv19/Zero",fontsize=10,color="white",style="solid",shape="box"];234 -> 309[label="",style="solid", color="burlywood", weight=9]; 309 -> 243[label="",style="solid", color="burlywood", weight=3]; 229[label="primMulNat (Succ yv1400) yv30",fontsize=16,color="burlywood",shape="box"];310[label="yv30/Succ yv300",fontsize=10,color="white",style="solid",shape="box"];229 -> 310[label="",style="solid", color="burlywood", weight=9]; 310 -> 244[label="",style="solid", color="burlywood", weight=3]; 311[label="yv30/Zero",fontsize=10,color="white",style="solid",shape="box"];229 -> 311[label="",style="solid", color="burlywood", weight=9]; 311 -> 245[label="",style="solid", color="burlywood", weight=3]; 230[label="primMulNat Zero yv30",fontsize=16,color="burlywood",shape="box"];312[label="yv30/Succ yv300",fontsize=10,color="white",style="solid",shape="box"];230 -> 312[label="",style="solid", color="burlywood", weight=9]; 312 -> 246[label="",style="solid", color="burlywood", weight=3]; 313[label="yv30/Zero",fontsize=10,color="white",style="solid",shape="box"];230 -> 313[label="",style="solid", color="burlywood", weight=9]; 313 -> 247[label="",style="solid", color="burlywood", weight=3]; 231[label="primMinusNat (Succ yv180) yv150",fontsize=16,color="burlywood",shape="box"];314[label="yv150/Succ yv1500",fontsize=10,color="white",style="solid",shape="box"];231 -> 314[label="",style="solid", color="burlywood", weight=9]; 314 -> 248[label="",style="solid", color="burlywood", weight=3]; 315[label="yv150/Zero",fontsize=10,color="white",style="solid",shape="box"];231 -> 315[label="",style="solid", color="burlywood", weight=9]; 315 -> 249[label="",style="solid", color="burlywood", weight=3]; 232[label="primMinusNat Zero yv150",fontsize=16,color="burlywood",shape="box"];316[label="yv150/Succ yv1500",fontsize=10,color="white",style="solid",shape="box"];232 -> 316[label="",style="solid", color="burlywood", weight=9]; 316 -> 250[label="",style="solid", color="burlywood", weight=3]; 317[label="yv150/Zero",fontsize=10,color="white",style="solid",shape="box"];232 -> 317[label="",style="solid", color="burlywood", weight=9]; 317 -> 251[label="",style="solid", color="burlywood", weight=3]; 233[label="yv30",fontsize=16,color="green",shape="box"];236[label="yv150",fontsize=16,color="green",shape="box"];237 -> 222[label="",style="dashed", color="red", weight=0]; 237[label="primMulNat yv140 yv30",fontsize=16,color="magenta"];237 -> 252[label="",style="dashed", color="magenta", weight=3]; 242[label="primPlusNat (Succ yv190) yv150",fontsize=16,color="burlywood",shape="box"];318[label="yv150/Succ yv1500",fontsize=10,color="white",style="solid",shape="box"];242 -> 318[label="",style="solid", color="burlywood", weight=9]; 318 -> 253[label="",style="solid", color="burlywood", weight=3]; 319[label="yv150/Zero",fontsize=10,color="white",style="solid",shape="box"];242 -> 319[label="",style="solid", color="burlywood", weight=9]; 319 -> 254[label="",style="solid", color="burlywood", weight=3]; 243[label="primPlusNat Zero yv150",fontsize=16,color="burlywood",shape="box"];320[label="yv150/Succ yv1500",fontsize=10,color="white",style="solid",shape="box"];243 -> 320[label="",style="solid", color="burlywood", weight=9]; 320 -> 255[label="",style="solid", color="burlywood", weight=3]; 321[label="yv150/Zero",fontsize=10,color="white",style="solid",shape="box"];243 -> 321[label="",style="solid", color="burlywood", weight=9]; 321 -> 256[label="",style="solid", color="burlywood", weight=3]; 244[label="primMulNat (Succ yv1400) (Succ yv300)",fontsize=16,color="black",shape="box"];244 -> 257[label="",style="solid", color="black", weight=3]; 245[label="primMulNat (Succ yv1400) Zero",fontsize=16,color="black",shape="box"];245 -> 258[label="",style="solid", color="black", weight=3]; 246[label="primMulNat Zero (Succ yv300)",fontsize=16,color="black",shape="box"];246 -> 259[label="",style="solid", color="black", weight=3]; 247[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];247 -> 260[label="",style="solid", color="black", weight=3]; 248[label="primMinusNat (Succ yv180) (Succ yv1500)",fontsize=16,color="black",shape="box"];248 -> 261[label="",style="solid", color="black", weight=3]; 249[label="primMinusNat (Succ yv180) Zero",fontsize=16,color="black",shape="box"];249 -> 262[label="",style="solid", color="black", weight=3]; 250[label="primMinusNat Zero (Succ yv1500)",fontsize=16,color="black",shape="box"];250 -> 263[label="",style="solid", color="black", weight=3]; 251[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];251 -> 264[label="",style="solid", color="black", weight=3]; 252[label="yv30",fontsize=16,color="green",shape="box"];253[label="primPlusNat (Succ yv190) (Succ yv1500)",fontsize=16,color="black",shape="box"];253 -> 265[label="",style="solid", color="black", weight=3]; 254[label="primPlusNat (Succ yv190) Zero",fontsize=16,color="black",shape="box"];254 -> 266[label="",style="solid", color="black", weight=3]; 255[label="primPlusNat Zero (Succ yv1500)",fontsize=16,color="black",shape="box"];255 -> 267[label="",style="solid", color="black", weight=3]; 256[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];256 -> 268[label="",style="solid", color="black", weight=3]; 257 -> 234[label="",style="dashed", color="red", weight=0]; 257[label="primPlusNat (primMulNat yv1400 (Succ yv300)) (Succ yv300)",fontsize=16,color="magenta"];257 -> 269[label="",style="dashed", color="magenta", weight=3]; 257 -> 270[label="",style="dashed", color="magenta", weight=3]; 258[label="Zero",fontsize=16,color="green",shape="box"];259[label="Zero",fontsize=16,color="green",shape="box"];260[label="Zero",fontsize=16,color="green",shape="box"];261 -> 221[label="",style="dashed", color="red", weight=0]; 261[label="primMinusNat yv180 yv1500",fontsize=16,color="magenta"];261 -> 271[label="",style="dashed", color="magenta", weight=3]; 261 -> 272[label="",style="dashed", color="magenta", weight=3]; 262[label="Pos (Succ yv180)",fontsize=16,color="green",shape="box"];263[label="Neg (Succ yv1500)",fontsize=16,color="green",shape="box"];264[label="Pos Zero",fontsize=16,color="green",shape="box"];265[label="Succ (Succ (primPlusNat yv190 yv1500))",fontsize=16,color="green",shape="box"];265 -> 273[label="",style="dashed", color="green", weight=3]; 266[label="Succ yv190",fontsize=16,color="green",shape="box"];267[label="Succ yv1500",fontsize=16,color="green",shape="box"];268[label="Zero",fontsize=16,color="green",shape="box"];269[label="Succ yv300",fontsize=16,color="green",shape="box"];270 -> 222[label="",style="dashed", color="red", weight=0]; 270[label="primMulNat yv1400 (Succ yv300)",fontsize=16,color="magenta"];270 -> 274[label="",style="dashed", color="magenta", weight=3]; 270 -> 275[label="",style="dashed", color="magenta", weight=3]; 271[label="yv1500",fontsize=16,color="green",shape="box"];272[label="yv180",fontsize=16,color="green",shape="box"];273 -> 234[label="",style="dashed", color="red", weight=0]; 273[label="primPlusNat yv190 yv1500",fontsize=16,color="magenta"];273 -> 276[label="",style="dashed", color="magenta", weight=3]; 273 -> 277[label="",style="dashed", color="magenta", weight=3]; 274[label="Succ yv300",fontsize=16,color="green",shape="box"];275[label="yv1400",fontsize=16,color="green",shape="box"];276[label="yv1500",fontsize=16,color="green",shape="box"];277[label="yv190",fontsize=16,color="green",shape="box"];} ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_span2Zs0(yv4, yv610, yv611) -> new_span2Zs(yv4, yv611) new_span2Zs(yv4, :(yv610, yv611)) -> new_span2Zs0(yv4, yv610, yv611) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) 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_span2Zs(yv4, :(yv610, yv611)) -> new_span2Zs0(yv4, yv610, yv611) The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3 *new_span2Zs0(yv4, yv610, yv611) -> new_span2Zs(yv4, yv611) The graph contains the following edges 1 >= 1, 3 >= 2 ---------------------------------------- (15) YES ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(yv1400), Succ(yv300)) -> new_primMulNat(yv1400, Succ(yv300)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) 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_primMulNat(Succ(yv1400), Succ(yv300)) -> new_primMulNat(yv1400, Succ(yv300)) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (18) YES ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldl(yv3, yv14, yv5, yv4, yv610, yv611, yv12) -> new_foldl0(yv3, yv14, new_pt(yv5, yv610), yv5, yv4, yv611) new_foldl1(yv3, yv14, yv15, yv5, yv4, yv6110, yv6111) -> new_foldl(yv3, new_readInt0(yv3, yv14, yv15), yv5, yv4, yv6110, yv6111, new_span2Zs1(yv4, yv6111)) new_foldl0(yv3, yv14, yv15, yv5, yv4, :(yv6110, yv6111)) -> new_foldl1(yv3, yv14, yv15, yv5, yv4, yv6110, yv6111) The TRS R consists of the following rules: new_primPlusInt0(yv140, yv30, Neg(yv150)) -> new_primMinusNat0(new_primMulNat0(yv140, yv30), yv150) new_primPlusNat0(Succ(yv190), Zero) -> Succ(yv190) new_primPlusNat0(Zero, Succ(yv1500)) -> Succ(yv1500) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMulNat0(Zero, Zero) -> Zero new_primPlusNat0(Zero, Zero) -> Zero new_primMinusNat0(Zero, Succ(yv1500)) -> Neg(Succ(yv1500)) new_primPlusInt(yv140, yv30, Neg(yv150)) -> Neg(new_primPlusNat0(new_primMulNat0(yv140, yv30), yv150)) new_primMulNat0(Succ(yv1400), Zero) -> Zero new_primMulNat0(Zero, Succ(yv300)) -> Zero new_readInt0(Neg(yv30), Neg(yv140), yv15) -> new_primPlusInt0(yv140, yv30, yv15) new_primPlusInt(yv140, yv30, Pos(yv150)) -> new_primMinusNat0(yv150, new_primMulNat0(yv140, yv30)) new_readInt0(Pos(yv30), Pos(yv140), yv15) -> new_primPlusInt0(yv140, yv30, yv15) new_primMulNat0(Succ(yv1400), Succ(yv300)) -> new_primPlusNat0(new_primMulNat0(yv1400, Succ(yv300)), Succ(yv300)) new_readInt0(Neg(yv30), Pos(yv140), yv15) -> new_primPlusInt(yv140, yv30, yv15) new_readInt0(Pos(yv30), Neg(yv140), yv15) -> new_primPlusInt(yv140, yv30, yv15) new_primPlusNat0(Succ(yv190), Succ(yv1500)) -> Succ(Succ(new_primPlusNat0(yv190, yv1500))) new_primMinusNat0(Succ(yv180), Succ(yv1500)) -> new_primMinusNat0(yv180, yv1500) new_primPlusInt0(yv140, yv30, Pos(yv150)) -> Pos(new_primPlusNat0(new_primMulNat0(yv140, yv30), yv150)) new_primMinusNat0(Succ(yv180), Zero) -> Pos(Succ(yv180)) The set Q consists of the following terms: new_primPlusNat0(Zero, Succ(x0)) new_primMulNat0(Zero, Zero) new_readInt0(Pos(x0), Pos(x1), x2) new_primMulNat0(Succ(x0), Succ(x1)) new_primPlusInt0(x0, x1, Pos(x2)) new_primPlusInt(x0, x1, Pos(x2)) new_primPlusInt0(x0, x1, Neg(x2)) new_primMinusNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_readInt0(Neg(x0), Neg(x1), x2) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMinusNat0(Zero, Succ(x0)) new_readInt0(Neg(x0), Pos(x1), x2) new_readInt0(Pos(x0), Neg(x1), x2) new_primPlusInt(x0, x1, Neg(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_primMinusNat0(Succ(x0), Zero) new_primPlusNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_foldl(yv3, yv14, yv5, yv4, yv610, yv611, yv12) -> new_foldl0(yv3, yv14, new_pt(yv5, yv610), yv5, yv4, yv611) we obtained the following new rules [LPAR04]: (new_foldl(z0, y_0, z3, z4, z5, z6, new_span2Zs1(z4, z6)) -> new_foldl0(z0, y_0, new_pt(z3, z5), z3, z4, z6),new_foldl(z0, y_0, z3, z4, z5, z6, new_span2Zs1(z4, z6)) -> new_foldl0(z0, y_0, new_pt(z3, z5), z3, z4, z6)) ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldl1(yv3, yv14, yv15, yv5, yv4, yv6110, yv6111) -> new_foldl(yv3, new_readInt0(yv3, yv14, yv15), yv5, yv4, yv6110, yv6111, new_span2Zs1(yv4, yv6111)) new_foldl0(yv3, yv14, yv15, yv5, yv4, :(yv6110, yv6111)) -> new_foldl1(yv3, yv14, yv15, yv5, yv4, yv6110, yv6111) new_foldl(z0, y_0, z3, z4, z5, z6, new_span2Zs1(z4, z6)) -> new_foldl0(z0, y_0, new_pt(z3, z5), z3, z4, z6) The TRS R consists of the following rules: new_primPlusInt0(yv140, yv30, Neg(yv150)) -> new_primMinusNat0(new_primMulNat0(yv140, yv30), yv150) new_primPlusNat0(Succ(yv190), Zero) -> Succ(yv190) new_primPlusNat0(Zero, Succ(yv1500)) -> Succ(yv1500) new_primMinusNat0(Zero, Zero) -> Pos(Zero) new_primMulNat0(Zero, Zero) -> Zero new_primPlusNat0(Zero, Zero) -> Zero new_primMinusNat0(Zero, Succ(yv1500)) -> Neg(Succ(yv1500)) new_primPlusInt(yv140, yv30, Neg(yv150)) -> Neg(new_primPlusNat0(new_primMulNat0(yv140, yv30), yv150)) new_primMulNat0(Succ(yv1400), Zero) -> Zero new_primMulNat0(Zero, Succ(yv300)) -> Zero new_readInt0(Neg(yv30), Neg(yv140), yv15) -> new_primPlusInt0(yv140, yv30, yv15) new_primPlusInt(yv140, yv30, Pos(yv150)) -> new_primMinusNat0(yv150, new_primMulNat0(yv140, yv30)) new_readInt0(Pos(yv30), Pos(yv140), yv15) -> new_primPlusInt0(yv140, yv30, yv15) new_primMulNat0(Succ(yv1400), Succ(yv300)) -> new_primPlusNat0(new_primMulNat0(yv1400, Succ(yv300)), Succ(yv300)) new_readInt0(Neg(yv30), Pos(yv140), yv15) -> new_primPlusInt(yv140, yv30, yv15) new_readInt0(Pos(yv30), Neg(yv140), yv15) -> new_primPlusInt(yv140, yv30, yv15) new_primPlusNat0(Succ(yv190), Succ(yv1500)) -> Succ(Succ(new_primPlusNat0(yv190, yv1500))) new_primMinusNat0(Succ(yv180), Succ(yv1500)) -> new_primMinusNat0(yv180, yv1500) new_primPlusInt0(yv140, yv30, Pos(yv150)) -> Pos(new_primPlusNat0(new_primMulNat0(yv140, yv30), yv150)) new_primMinusNat0(Succ(yv180), Zero) -> Pos(Succ(yv180)) The set Q consists of the following terms: new_primPlusNat0(Zero, Succ(x0)) new_primMulNat0(Zero, Zero) new_readInt0(Pos(x0), Pos(x1), x2) new_primMulNat0(Succ(x0), Succ(x1)) new_primPlusInt0(x0, x1, Pos(x2)) new_primPlusInt(x0, x1, Pos(x2)) new_primPlusInt0(x0, x1, Neg(x2)) new_primMinusNat0(Zero, Zero) new_primPlusNat0(Succ(x0), Zero) new_readInt0(Neg(x0), Neg(x1), x2) new_primMinusNat0(Succ(x0), Succ(x1)) new_primMinusNat0(Zero, Succ(x0)) new_readInt0(Neg(x0), Pos(x1), x2) new_readInt0(Pos(x0), Neg(x1), x2) new_primPlusInt(x0, x1, Neg(x2)) new_primPlusNat0(Succ(x0), Succ(x1)) new_primMulNat0(Zero, Succ(x0)) new_primMinusNat0(Succ(x0), Zero) new_primPlusNat0(Zero, Zero) new_primMulNat0(Succ(x0), Zero) 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_foldl(z0, y_0, z3, z4, z5, z6, new_span2Zs1(z4, z6)) -> new_foldl0(z0, y_0, new_pt(z3, z5), z3, z4, z6) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 4, 4 >= 5, 7 > 5, 6 >= 6, 7 > 6 *new_foldl0(yv3, yv14, yv15, yv5, yv4, :(yv6110, yv6111)) -> new_foldl1(yv3, yv14, yv15, yv5, yv4, yv6110, yv6111) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 6, 6 > 7 *new_foldl1(yv3, yv14, yv15, yv5, yv4, yv6110, yv6111) -> new_foldl(yv3, new_readInt0(yv3, yv14, yv15), yv5, yv4, yv6110, yv6111, new_span2Zs1(yv4, yv6111)) The graph contains the following edges 1 >= 1, 4 >= 3, 5 >= 4, 6 >= 5, 7 >= 6 ---------------------------------------- (23) YES ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(yv180), Succ(yv1500)) -> new_primMinusNat(yv180, yv1500) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) 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_primMinusNat(Succ(yv180), Succ(yv1500)) -> new_primMinusNat(yv180, yv1500) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (26) YES ---------------------------------------- (27) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(yv190), Succ(yv1500)) -> new_primPlusNat(yv190, yv1500) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) 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_primPlusNat(Succ(yv190), Succ(yv1500)) -> new_primPlusNat(yv190, yv1500) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (29) YES