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