14.88/6.09 YES 17.14/6.72 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 17.14/6.72 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 17.14/6.72 17.14/6.72 17.14/6.72 H-Termination with start terms of the given HASKELL could be proven: 17.14/6.72 17.14/6.72 (0) HASKELL 17.14/6.72 (1) LR [EQUIVALENT, 0 ms] 17.14/6.72 (2) HASKELL 17.14/6.72 (3) BR [EQUIVALENT, 0 ms] 17.14/6.72 (4) HASKELL 17.14/6.72 (5) COR [EQUIVALENT, 19 ms] 17.14/6.72 (6) HASKELL 17.14/6.72 (7) LetRed [EQUIVALENT, 0 ms] 17.14/6.72 (8) HASKELL 17.14/6.72 (9) Narrow [SOUND, 0 ms] 17.14/6.72 (10) AND 17.14/6.72 (11) QDP 17.14/6.72 (12) QDPSizeChangeProof [EQUIVALENT, 116 ms] 17.14/6.72 (13) YES 17.14/6.72 (14) QDP 17.14/6.72 (15) QDPSizeChangeProof [EQUIVALENT, 0 ms] 17.14/6.72 (16) YES 17.14/6.72 (17) QDP 17.14/6.72 (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] 17.14/6.72 (19) YES 17.14/6.72 (20) QDP 17.14/6.72 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 17.14/6.72 (22) YES 17.14/6.72 (23) QDP 17.14/6.72 (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] 17.14/6.72 (25) YES 17.14/6.72 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (0) 17.14/6.72 Obligation: 17.14/6.72 mainModule Main 17.14/6.72 module Maybe where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 module List where { 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 group :: Eq a => [a] -> [[a]]; 17.14/6.72 group = groupBy (==); 17.14/6.72 17.14/6.72 groupBy :: (a -> a -> Bool) -> [a] -> [[a]]; 17.14/6.72 groupBy _ [] = []; 17.14/6.72 groupBy eq (x : xs) = (x : ys) : groupBy eq zs where { 17.14/6.72 vv10 = span (eq x) xs; 17.14/6.72 ys = (\(ys,_) ->ys) vv10; 17.14/6.72 zs = (\(_,zs) ->zs) vv10; 17.14/6.72 }; 17.14/6.72 17.14/6.72 } 17.14/6.72 module Main where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (1) LR (EQUIVALENT) 17.14/6.72 Lambda Reductions: 17.14/6.72 The following Lambda expression 17.14/6.72 "\(_,zs)->zs" 17.14/6.72 is transformed to 17.14/6.72 "zs0 (_,zs) = zs; 17.14/6.72 " 17.14/6.72 The following Lambda expression 17.14/6.72 "\(ys,_)->ys" 17.14/6.72 is transformed to 17.14/6.72 "ys0 (ys,_) = ys; 17.14/6.72 " 17.14/6.72 The following Lambda expression 17.14/6.72 "\(_,zs)->zs" 17.14/6.72 is transformed to 17.14/6.72 "zs1 (_,zs) = zs; 17.14/6.72 " 17.14/6.72 The following Lambda expression 17.14/6.72 "\(ys,_)->ys" 17.14/6.72 is transformed to 17.14/6.72 "ys1 (ys,_) = ys; 17.14/6.72 " 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (2) 17.14/6.72 Obligation: 17.14/6.72 mainModule Main 17.14/6.72 module Maybe where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 module List where { 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 group :: Eq a => [a] -> [[a]]; 17.14/6.72 group = groupBy (==); 17.14/6.72 17.14/6.72 groupBy :: (a -> a -> Bool) -> [a] -> [[a]]; 17.14/6.72 groupBy _ [] = []; 17.14/6.72 groupBy eq (x : xs) = (x : ys) : groupBy eq zs where { 17.14/6.72 vv10 = span (eq x) xs; 17.14/6.72 ys = ys1 vv10; 17.14/6.72 ys1 (ys,_) = ys; 17.14/6.72 zs = zs1 vv10; 17.14/6.72 zs1 (_,zs) = zs; 17.14/6.72 }; 17.14/6.72 17.14/6.72 } 17.14/6.72 module Main where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (3) BR (EQUIVALENT) 17.14/6.72 Replaced joker patterns by fresh variables and removed binding patterns. 17.14/6.72 17.14/6.72 Binding Reductions: 17.14/6.72 The bind variable of the following binding Pattern 17.14/6.72 "xs@(vy : vz)" 17.14/6.72 is replaced by the following term 17.14/6.72 "vy : vz" 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (4) 17.14/6.72 Obligation: 17.14/6.72 mainModule Main 17.14/6.72 module Maybe where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 module List where { 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 group :: Eq a => [a] -> [[a]]; 17.14/6.72 group = groupBy (==); 17.14/6.72 17.14/6.72 groupBy :: (a -> a -> Bool) -> [a] -> [[a]]; 17.14/6.72 groupBy ww [] = []; 17.14/6.72 groupBy eq (x : xs) = (x : ys) : groupBy eq zs where { 17.14/6.72 vv10 = span (eq x) xs; 17.14/6.72 ys = ys1 vv10; 17.14/6.72 ys1 (ys,wx) = ys; 17.14/6.72 zs = zs1 vv10; 17.14/6.72 zs1 (wy,zs) = zs; 17.14/6.72 }; 17.14/6.72 17.14/6.72 } 17.14/6.72 module Main where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (5) COR (EQUIVALENT) 17.14/6.72 Cond Reductions: 17.14/6.72 The following Function with conditions 17.14/6.72 "undefined |Falseundefined; 17.14/6.72 " 17.14/6.72 is transformed to 17.14/6.72 "undefined = undefined1; 17.14/6.72 " 17.14/6.72 "undefined0 True = undefined; 17.14/6.72 " 17.14/6.72 "undefined1 = undefined0 False; 17.14/6.72 " 17.14/6.72 The following Function with conditions 17.14/6.72 "span p [] = ([],[]); 17.14/6.72 span p (vy : vz)|p vy(vy : ys,zs)|otherwise([],vy : vz) where { 17.14/6.72 vu43 = span p vz; 17.14/6.72 ; 17.14/6.72 ys = ys0 vu43; 17.14/6.72 ; 17.14/6.72 ys0 (ys,wv) = ys; 17.14/6.72 ; 17.14/6.72 zs = zs0 vu43; 17.14/6.72 ; 17.14/6.72 zs0 (wu,zs) = zs; 17.14/6.72 } 17.14/6.72 ; 17.14/6.72 " 17.14/6.72 is transformed to 17.14/6.72 "span p [] = span3 p []; 17.14/6.72 span p (vy : vz) = span2 p (vy : vz); 17.14/6.72 " 17.14/6.72 "span2 p (vy : vz) = span1 p vy vz (p vy) where { 17.14/6.72 span0 p vy vz True = ([],vy : vz); 17.14/6.72 ; 17.14/6.72 span1 p vy vz True = (vy : ys,zs); 17.14/6.72 span1 p vy vz False = span0 p vy vz otherwise; 17.14/6.72 ; 17.14/6.72 vu43 = span p vz; 17.14/6.72 ; 17.14/6.72 ys = ys0 vu43; 17.14/6.72 ; 17.14/6.72 ys0 (ys,wv) = ys; 17.14/6.72 ; 17.14/6.72 zs = zs0 vu43; 17.14/6.72 ; 17.14/6.72 zs0 (wu,zs) = zs; 17.14/6.72 } 17.14/6.72 ; 17.14/6.72 " 17.14/6.72 "span3 p [] = ([],[]); 17.14/6.72 span3 xv xw = span2 xv xw; 17.14/6.72 " 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (6) 17.14/6.72 Obligation: 17.14/6.72 mainModule Main 17.14/6.72 module Maybe where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 module List where { 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 group :: Eq a => [a] -> [[a]]; 17.14/6.72 group = groupBy (==); 17.14/6.72 17.14/6.72 groupBy :: (a -> a -> Bool) -> [a] -> [[a]]; 17.14/6.72 groupBy ww [] = []; 17.14/6.72 groupBy eq (x : xs) = (x : ys) : groupBy eq zs where { 17.14/6.72 vv10 = span (eq x) xs; 17.14/6.72 ys = ys1 vv10; 17.14/6.72 ys1 (ys,wx) = ys; 17.14/6.72 zs = zs1 vv10; 17.14/6.72 zs1 (wy,zs) = zs; 17.14/6.72 }; 17.14/6.72 17.14/6.72 } 17.14/6.72 module Main where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (7) LetRed (EQUIVALENT) 17.14/6.72 Let/Where Reductions: 17.14/6.72 The bindings of the following Let/Where expression 17.14/6.72 "span1 p vy vz (p vy) where { 17.14/6.72 span0 p vy vz True = ([],vy : vz); 17.14/6.72 ; 17.14/6.72 span1 p vy vz True = (vy : ys,zs); 17.14/6.72 span1 p vy vz False = span0 p vy vz otherwise; 17.14/6.72 ; 17.14/6.72 vu43 = span p vz; 17.14/6.72 ; 17.14/6.72 ys = ys0 vu43; 17.14/6.72 ; 17.14/6.72 ys0 (ys,wv) = ys; 17.14/6.72 ; 17.14/6.72 zs = zs0 vu43; 17.14/6.72 ; 17.14/6.72 zs0 (wu,zs) = zs; 17.14/6.72 } 17.14/6.72 " 17.14/6.72 are unpacked to the following functions on top level 17.14/6.72 "span2Zs0 xx xy (wu,zs) = zs; 17.14/6.72 " 17.14/6.72 "span2Ys xx xy = span2Ys0 xx xy (span2Vu43 xx xy); 17.14/6.72 " 17.14/6.72 "span2Zs xx xy = span2Zs0 xx xy (span2Vu43 xx xy); 17.14/6.72 " 17.14/6.72 "span2Span1 xx xy p vy vz True = (vy : span2Ys xx xy,span2Zs xx xy); 17.14/6.72 span2Span1 xx xy p vy vz False = span2Span0 xx xy p vy vz otherwise; 17.14/6.72 " 17.14/6.72 "span2Ys0 xx xy (ys,wv) = ys; 17.14/6.72 " 17.14/6.72 "span2Vu43 xx xy = span xx xy; 17.14/6.72 " 17.14/6.72 "span2Span0 xx xy p vy vz True = ([],vy : vz); 17.14/6.72 " 17.14/6.72 The bindings of the following Let/Where expression 17.14/6.72 "(x : ys) : groupBy eq zs where { 17.14/6.72 vv10 = span (eq x) xs; 17.14/6.72 ; 17.14/6.72 ys = ys1 vv10; 17.14/6.72 ; 17.14/6.72 ys1 (ys,wx) = ys; 17.14/6.72 ; 17.14/6.72 zs = zs1 vv10; 17.14/6.72 ; 17.14/6.72 zs1 (wy,zs) = zs; 17.14/6.72 } 17.14/6.72 " 17.14/6.72 are unpacked to the following functions on top level 17.14/6.72 "groupByYs xz yu yv = groupByYs1 xz yu yv (groupByVv10 xz yu yv); 17.14/6.72 " 17.14/6.72 "groupByVv10 xz yu yv = span (xz yu) yv; 17.14/6.72 " 17.14/6.72 "groupByZs1 xz yu yv (wy,zs) = zs; 17.14/6.72 " 17.14/6.72 "groupByYs1 xz yu yv (ys,wx) = ys; 17.14/6.72 " 17.14/6.72 "groupByZs xz yu yv = groupByZs1 xz yu yv (groupByVv10 xz yu yv); 17.14/6.72 " 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (8) 17.14/6.72 Obligation: 17.14/6.72 mainModule Main 17.14/6.72 module Maybe where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 module List where { 17.14/6.72 import qualified Main; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 group :: Eq a => [a] -> [[a]]; 17.14/6.72 group = groupBy (==); 17.14/6.72 17.14/6.72 groupBy :: (a -> a -> Bool) -> [a] -> [[a]]; 17.14/6.72 groupBy ww [] = []; 17.14/6.72 groupBy eq (x : xs) = (x : groupByYs eq x xs) : groupBy eq (groupByZs eq x xs); 17.14/6.72 17.14/6.72 groupByVv10 xz yu yv = span (xz yu) yv; 17.14/6.72 17.14/6.72 groupByYs xz yu yv = groupByYs1 xz yu yv (groupByVv10 xz yu yv); 17.14/6.72 17.14/6.72 groupByYs1 xz yu yv (ys,wx) = ys; 17.14/6.72 17.14/6.72 groupByZs xz yu yv = groupByZs1 xz yu yv (groupByVv10 xz yu yv); 17.14/6.72 17.14/6.72 groupByZs1 xz yu yv (wy,zs) = zs; 17.14/6.72 17.14/6.72 } 17.14/6.72 module Main where { 17.14/6.72 import qualified List; 17.14/6.72 import qualified Maybe; 17.14/6.72 import qualified Prelude; 17.14/6.72 } 17.14/6.72 17.14/6.72 ---------------------------------------- 17.14/6.72 17.14/6.72 (9) Narrow (SOUND) 17.14/6.72 Haskell To QDPs 17.14/6.72 17.14/6.72 digraph dp_graph { 17.14/6.72 node [outthreshold=100, inthreshold=100];1[label="List.group",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 17.14/6.72 3[label="List.group yw3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 17.14/6.72 4[label="List.groupBy (==) yw3",fontsize=16,color="burlywood",shape="triangle"];1586[label="yw3/yw30 : yw31",fontsize=10,color="white",style="solid",shape="box"];4 -> 1586[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1586 -> 5[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1587[label="yw3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 1587[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1587 -> 6[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 5[label="List.groupBy (==) (yw30 : yw31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 17.14/6.72 6[label="List.groupBy (==) []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 17.14/6.72 7[label="(yw30 : List.groupByYs (==) yw30 yw31) : List.groupBy (==) (List.groupByZs (==) yw30 yw31)",fontsize=16,color="green",shape="box"];7 -> 9[label="",style="dashed", color="green", weight=3]; 17.14/6.72 7 -> 10[label="",style="dashed", color="green", weight=3]; 17.14/6.72 8[label="[]",fontsize=16,color="green",shape="box"];9[label="List.groupByYs (==) yw30 yw31",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 17.14/6.72 10 -> 4[label="",style="dashed", color="red", weight=0]; 17.14/6.72 10[label="List.groupBy (==) (List.groupByZs (==) yw30 yw31)",fontsize=16,color="magenta"];10 -> 12[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 11[label="List.groupByYs1 (==) yw30 yw31 (List.groupByVv10 (==) yw30 yw31)",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 17.14/6.72 12[label="List.groupByZs (==) yw30 yw31",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 17.14/6.72 13[label="List.groupByYs1 (==) yw30 yw31 (span ((==) yw30) yw31)",fontsize=16,color="burlywood",shape="box"];1588[label="yw31/yw310 : yw311",fontsize=10,color="white",style="solid",shape="box"];13 -> 1588[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1588 -> 15[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1589[label="yw31/[]",fontsize=10,color="white",style="solid",shape="box"];13 -> 1589[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1589 -> 16[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 14[label="List.groupByZs1 (==) yw30 yw31 (List.groupByVv10 (==) yw30 yw31)",fontsize=16,color="black",shape="box"];14 -> 17[label="",style="solid", color="black", weight=3]; 17.14/6.72 15[label="List.groupByYs1 (==) yw30 (yw310 : yw311) (span ((==) yw30) (yw310 : yw311))",fontsize=16,color="black",shape="box"];15 -> 18[label="",style="solid", color="black", weight=3]; 17.14/6.72 16[label="List.groupByYs1 (==) yw30 [] (span ((==) yw30) [])",fontsize=16,color="black",shape="box"];16 -> 19[label="",style="solid", color="black", weight=3]; 17.14/6.72 17[label="List.groupByZs1 (==) yw30 yw31 (span ((==) yw30) yw31)",fontsize=16,color="burlywood",shape="box"];1590[label="yw31/yw310 : yw311",fontsize=10,color="white",style="solid",shape="box"];17 -> 1590[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1590 -> 20[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1591[label="yw31/[]",fontsize=10,color="white",style="solid",shape="box"];17 -> 1591[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1591 -> 21[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 18[label="List.groupByYs1 (==) yw30 (yw310 : yw311) (span2 ((==) yw30) (yw310 : yw311))",fontsize=16,color="black",shape="box"];18 -> 22[label="",style="solid", color="black", weight=3]; 17.14/6.72 19[label="List.groupByYs1 (==) yw30 [] (span3 ((==) yw30) [])",fontsize=16,color="black",shape="box"];19 -> 23[label="",style="solid", color="black", weight=3]; 17.14/6.72 20[label="List.groupByZs1 (==) yw30 (yw310 : yw311) (span ((==) yw30) (yw310 : yw311))",fontsize=16,color="black",shape="box"];20 -> 24[label="",style="solid", color="black", weight=3]; 17.14/6.72 21[label="List.groupByZs1 (==) yw30 [] (span ((==) yw30) [])",fontsize=16,color="black",shape="box"];21 -> 25[label="",style="solid", color="black", weight=3]; 17.14/6.72 22[label="List.groupByYs1 (==) yw30 (yw310 : yw311) (span2Span1 ((==) yw30) yw311 ((==) yw30) yw310 yw311 ((==) yw30 yw310))",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 17.14/6.72 23[label="List.groupByYs1 (==) yw30 [] ([],[])",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 17.14/6.72 24[label="List.groupByZs1 (==) yw30 (yw310 : yw311) (span2 ((==) yw30) (yw310 : yw311))",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 17.14/6.72 25[label="List.groupByZs1 (==) yw30 [] (span3 ((==) yw30) [])",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 17.14/6.72 26[label="List.groupByYs1 primEqChar yw30 (yw310 : yw311) (span2Span1 (primEqChar yw30) yw311 (primEqChar yw30) yw310 yw311 (primEqChar yw30 yw310))",fontsize=16,color="burlywood",shape="box"];1592[label="yw30/Char yw300",fontsize=10,color="white",style="solid",shape="box"];26 -> 1592[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1592 -> 30[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 27[label="[]",fontsize=16,color="green",shape="box"];28[label="List.groupByZs1 (==) yw30 (yw310 : yw311) (span2Span1 ((==) yw30) yw311 ((==) yw30) yw310 yw311 ((==) yw30 yw310))",fontsize=16,color="black",shape="box"];28 -> 31[label="",style="solid", color="black", weight=3]; 17.14/6.72 29[label="List.groupByZs1 (==) yw30 [] ([],[])",fontsize=16,color="black",shape="box"];29 -> 32[label="",style="solid", color="black", weight=3]; 17.14/6.72 30[label="List.groupByYs1 primEqChar (Char yw300) (yw310 : yw311) (span2Span1 (primEqChar (Char yw300)) yw311 (primEqChar (Char yw300)) yw310 yw311 (primEqChar (Char yw300) yw310))",fontsize=16,color="burlywood",shape="box"];1593[label="yw310/Char yw3100",fontsize=10,color="white",style="solid",shape="box"];30 -> 1593[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1593 -> 33[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 31[label="List.groupByZs1 primEqChar yw30 (yw310 : yw311) (span2Span1 (primEqChar yw30) yw311 (primEqChar yw30) yw310 yw311 (primEqChar yw30 yw310))",fontsize=16,color="burlywood",shape="box"];1594[label="yw30/Char yw300",fontsize=10,color="white",style="solid",shape="box"];31 -> 1594[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1594 -> 34[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 32[label="[]",fontsize=16,color="green",shape="box"];33[label="List.groupByYs1 primEqChar (Char yw300) (Char yw3100 : yw311) (span2Span1 (primEqChar (Char yw300)) yw311 (primEqChar (Char yw300)) (Char yw3100) yw311 (primEqChar (Char yw300) (Char yw3100)))",fontsize=16,color="black",shape="box"];33 -> 35[label="",style="solid", color="black", weight=3]; 17.14/6.72 34[label="List.groupByZs1 primEqChar (Char yw300) (yw310 : yw311) (span2Span1 (primEqChar (Char yw300)) yw311 (primEqChar (Char yw300)) yw310 yw311 (primEqChar (Char yw300) yw310))",fontsize=16,color="burlywood",shape="box"];1595[label="yw310/Char yw3100",fontsize=10,color="white",style="solid",shape="box"];34 -> 1595[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1595 -> 36[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 35[label="List.groupByYs1 primEqChar (Char yw300) (Char yw3100 : yw311) (span2Span1 (primEqChar (Char yw300)) yw311 (primEqChar (Char yw300)) (Char yw3100) yw311 (primEqNat yw300 yw3100))",fontsize=16,color="burlywood",shape="box"];1596[label="yw300/Succ yw3000",fontsize=10,color="white",style="solid",shape="box"];35 -> 1596[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1596 -> 37[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1597[label="yw300/Zero",fontsize=10,color="white",style="solid",shape="box"];35 -> 1597[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1597 -> 38[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 36[label="List.groupByZs1 primEqChar (Char yw300) (Char yw3100 : yw311) (span2Span1 (primEqChar (Char yw300)) yw311 (primEqChar (Char yw300)) (Char yw3100) yw311 (primEqChar (Char yw300) (Char yw3100)))",fontsize=16,color="black",shape="box"];36 -> 39[label="",style="solid", color="black", weight=3]; 17.14/6.72 37[label="List.groupByYs1 primEqChar (Char (Succ yw3000)) (Char yw3100 : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char yw3100) yw311 (primEqNat (Succ yw3000) yw3100))",fontsize=16,color="burlywood",shape="box"];1598[label="yw3100/Succ yw31000",fontsize=10,color="white",style="solid",shape="box"];37 -> 1598[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1598 -> 40[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1599[label="yw3100/Zero",fontsize=10,color="white",style="solid",shape="box"];37 -> 1599[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1599 -> 41[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 38[label="List.groupByYs1 primEqChar (Char Zero) (Char yw3100 : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char yw3100) yw311 (primEqNat Zero yw3100))",fontsize=16,color="burlywood",shape="box"];1600[label="yw3100/Succ yw31000",fontsize=10,color="white",style="solid",shape="box"];38 -> 1600[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1600 -> 42[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1601[label="yw3100/Zero",fontsize=10,color="white",style="solid",shape="box"];38 -> 1601[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1601 -> 43[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 39[label="List.groupByZs1 primEqChar (Char yw300) (Char yw3100 : yw311) (span2Span1 (primEqChar (Char yw300)) yw311 (primEqChar (Char yw300)) (Char yw3100) yw311 (primEqNat yw300 yw3100))",fontsize=16,color="burlywood",shape="box"];1602[label="yw300/Succ yw3000",fontsize=10,color="white",style="solid",shape="box"];39 -> 1602[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1602 -> 44[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1603[label="yw300/Zero",fontsize=10,color="white",style="solid",shape="box"];39 -> 1603[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1603 -> 45[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 40[label="List.groupByYs1 primEqChar (Char (Succ yw3000)) (Char (Succ yw31000) : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char (Succ yw31000)) yw311 (primEqNat (Succ yw3000) (Succ yw31000)))",fontsize=16,color="black",shape="box"];40 -> 46[label="",style="solid", color="black", weight=3]; 17.14/6.72 41[label="List.groupByYs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char Zero) yw311 (primEqNat (Succ yw3000) Zero))",fontsize=16,color="black",shape="box"];41 -> 47[label="",style="solid", color="black", weight=3]; 17.14/6.72 42[label="List.groupByYs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char (Succ yw31000)) yw311 (primEqNat Zero (Succ yw31000)))",fontsize=16,color="black",shape="box"];42 -> 48[label="",style="solid", color="black", weight=3]; 17.14/6.72 43[label="List.groupByYs1 primEqChar (Char Zero) (Char Zero : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char Zero) yw311 (primEqNat Zero Zero))",fontsize=16,color="black",shape="box"];43 -> 49[label="",style="solid", color="black", weight=3]; 17.14/6.72 44[label="List.groupByZs1 primEqChar (Char (Succ yw3000)) (Char yw3100 : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char yw3100) yw311 (primEqNat (Succ yw3000) yw3100))",fontsize=16,color="burlywood",shape="box"];1604[label="yw3100/Succ yw31000",fontsize=10,color="white",style="solid",shape="box"];44 -> 1604[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1604 -> 50[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1605[label="yw3100/Zero",fontsize=10,color="white",style="solid",shape="box"];44 -> 1605[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1605 -> 51[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 45[label="List.groupByZs1 primEqChar (Char Zero) (Char yw3100 : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char yw3100) yw311 (primEqNat Zero yw3100))",fontsize=16,color="burlywood",shape="box"];1606[label="yw3100/Succ yw31000",fontsize=10,color="white",style="solid",shape="box"];45 -> 1606[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1606 -> 52[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1607[label="yw3100/Zero",fontsize=10,color="white",style="solid",shape="box"];45 -> 1607[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1607 -> 53[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 46 -> 766[label="",style="dashed", color="red", weight=0]; 17.14/6.72 46[label="List.groupByYs1 primEqChar (Char (Succ yw3000)) (Char (Succ yw31000) : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char (Succ yw31000)) yw311 (primEqNat yw3000 yw31000))",fontsize=16,color="magenta"];46 -> 767[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 46 -> 768[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 46 -> 769[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 46 -> 770[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 46 -> 771[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 47[label="List.groupByYs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char Zero) yw311 False)",fontsize=16,color="black",shape="box"];47 -> 56[label="",style="solid", color="black", weight=3]; 17.14/6.72 48[label="List.groupByYs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char (Succ yw31000)) yw311 False)",fontsize=16,color="black",shape="box"];48 -> 57[label="",style="solid", color="black", weight=3]; 17.14/6.72 49[label="List.groupByYs1 primEqChar (Char Zero) (Char Zero : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char Zero) yw311 True)",fontsize=16,color="black",shape="box"];49 -> 58[label="",style="solid", color="black", weight=3]; 17.14/6.72 50[label="List.groupByZs1 primEqChar (Char (Succ yw3000)) (Char (Succ yw31000) : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char (Succ yw31000)) yw311 (primEqNat (Succ yw3000) (Succ yw31000)))",fontsize=16,color="black",shape="box"];50 -> 59[label="",style="solid", color="black", weight=3]; 17.14/6.72 51[label="List.groupByZs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char Zero) yw311 (primEqNat (Succ yw3000) Zero))",fontsize=16,color="black",shape="box"];51 -> 60[label="",style="solid", color="black", weight=3]; 17.14/6.72 52[label="List.groupByZs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char (Succ yw31000)) yw311 (primEqNat Zero (Succ yw31000)))",fontsize=16,color="black",shape="box"];52 -> 61[label="",style="solid", color="black", weight=3]; 17.14/6.72 53[label="List.groupByZs1 primEqChar (Char Zero) (Char Zero : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char Zero) yw311 (primEqNat Zero Zero))",fontsize=16,color="black",shape="box"];53 -> 62[label="",style="solid", color="black", weight=3]; 17.14/6.72 767[label="yw3000",fontsize=16,color="green",shape="box"];768[label="yw31000",fontsize=16,color="green",shape="box"];769[label="yw31000",fontsize=16,color="green",shape="box"];770[label="yw311",fontsize=16,color="green",shape="box"];771[label="yw3000",fontsize=16,color="green",shape="box"];766[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 (primEqNat yw71 yw72))",fontsize=16,color="burlywood",shape="triangle"];1608[label="yw71/Succ yw710",fontsize=10,color="white",style="solid",shape="box"];766 -> 1608[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1608 -> 817[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1609[label="yw71/Zero",fontsize=10,color="white",style="solid",shape="box"];766 -> 1609[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1609 -> 818[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 56[label="List.groupByYs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) (span2Span0 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char Zero) yw311 otherwise)",fontsize=16,color="black",shape="box"];56 -> 67[label="",style="solid", color="black", weight=3]; 17.14/6.72 57[label="List.groupByYs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) (span2Span0 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char (Succ yw31000)) yw311 otherwise)",fontsize=16,color="black",shape="box"];57 -> 68[label="",style="solid", color="black", weight=3]; 17.14/6.72 58[label="List.groupByYs1 primEqChar (Char Zero) (Char Zero : yw311) (Char Zero : span2Ys (primEqChar (Char Zero)) yw311,span2Zs (primEqChar (Char Zero)) yw311)",fontsize=16,color="black",shape="box"];58 -> 69[label="",style="solid", color="black", weight=3]; 17.14/6.72 59 -> 888[label="",style="dashed", color="red", weight=0]; 17.14/6.72 59[label="List.groupByZs1 primEqChar (Char (Succ yw3000)) (Char (Succ yw31000) : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char (Succ yw31000)) yw311 (primEqNat yw3000 yw31000))",fontsize=16,color="magenta"];59 -> 889[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 59 -> 890[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 59 -> 891[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 59 -> 892[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 59 -> 893[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 60[label="List.groupByZs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) (span2Span1 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char Zero) yw311 False)",fontsize=16,color="black",shape="box"];60 -> 72[label="",style="solid", color="black", weight=3]; 17.14/6.72 61[label="List.groupByZs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char (Succ yw31000)) yw311 False)",fontsize=16,color="black",shape="box"];61 -> 73[label="",style="solid", color="black", weight=3]; 17.14/6.72 62[label="List.groupByZs1 primEqChar (Char Zero) (Char Zero : yw311) (span2Span1 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char Zero) yw311 True)",fontsize=16,color="black",shape="box"];62 -> 74[label="",style="solid", color="black", weight=3]; 17.14/6.72 817[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 (primEqNat (Succ yw710) yw72))",fontsize=16,color="burlywood",shape="box"];1610[label="yw72/Succ yw720",fontsize=10,color="white",style="solid",shape="box"];817 -> 1610[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1610 -> 828[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1611[label="yw72/Zero",fontsize=10,color="white",style="solid",shape="box"];817 -> 1611[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1611 -> 829[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 818[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 (primEqNat Zero yw72))",fontsize=16,color="burlywood",shape="box"];1612[label="yw72/Succ yw720",fontsize=10,color="white",style="solid",shape="box"];818 -> 1612[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1612 -> 830[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1613[label="yw72/Zero",fontsize=10,color="white",style="solid",shape="box"];818 -> 1613[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1613 -> 831[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 67[label="List.groupByYs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) (span2Span0 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char Zero) yw311 True)",fontsize=16,color="black",shape="box"];67 -> 79[label="",style="solid", color="black", weight=3]; 17.14/6.72 68[label="List.groupByYs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) (span2Span0 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char (Succ yw31000)) yw311 True)",fontsize=16,color="black",shape="box"];68 -> 80[label="",style="solid", color="black", weight=3]; 17.14/6.72 69[label="Char Zero : span2Ys (primEqChar (Char Zero)) yw311",fontsize=16,color="green",shape="box"];69 -> 81[label="",style="dashed", color="green", weight=3]; 17.14/6.72 889[label="yw31000",fontsize=16,color="green",shape="box"];890[label="yw3000",fontsize=16,color="green",shape="box"];891[label="yw311",fontsize=16,color="green",shape="box"];892[label="yw3000",fontsize=16,color="green",shape="box"];893[label="yw31000",fontsize=16,color="green",shape="box"];888[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 (primEqNat yw93 yw94))",fontsize=16,color="burlywood",shape="triangle"];1614[label="yw93/Succ yw930",fontsize=10,color="white",style="solid",shape="box"];888 -> 1614[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1614 -> 939[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1615[label="yw93/Zero",fontsize=10,color="white",style="solid",shape="box"];888 -> 1615[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1615 -> 940[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 72[label="List.groupByZs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) (span2Span0 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char Zero) yw311 otherwise)",fontsize=16,color="black",shape="box"];72 -> 86[label="",style="solid", color="black", weight=3]; 17.14/6.72 73[label="List.groupByZs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) (span2Span0 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char (Succ yw31000)) yw311 otherwise)",fontsize=16,color="black",shape="box"];73 -> 87[label="",style="solid", color="black", weight=3]; 17.14/6.72 74[label="List.groupByZs1 primEqChar (Char Zero) (Char Zero : yw311) (Char Zero : span2Ys (primEqChar (Char Zero)) yw311,span2Zs (primEqChar (Char Zero)) yw311)",fontsize=16,color="black",shape="box"];74 -> 88[label="",style="solid", color="black", weight=3]; 17.14/6.72 828[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 (primEqNat (Succ yw710) (Succ yw720)))",fontsize=16,color="black",shape="box"];828 -> 839[label="",style="solid", color="black", weight=3]; 17.14/6.72 829[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 (primEqNat (Succ yw710) Zero))",fontsize=16,color="black",shape="box"];829 -> 840[label="",style="solid", color="black", weight=3]; 17.14/6.72 830[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 (primEqNat Zero (Succ yw720)))",fontsize=16,color="black",shape="box"];830 -> 841[label="",style="solid", color="black", weight=3]; 17.14/6.72 831[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 (primEqNat Zero Zero))",fontsize=16,color="black",shape="box"];831 -> 842[label="",style="solid", color="black", weight=3]; 17.14/6.72 79[label="List.groupByYs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) ([],Char Zero : yw311)",fontsize=16,color="black",shape="box"];79 -> 94[label="",style="solid", color="black", weight=3]; 17.14/6.72 80[label="List.groupByYs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) ([],Char (Succ yw31000) : yw311)",fontsize=16,color="black",shape="box"];80 -> 95[label="",style="solid", color="black", weight=3]; 17.14/6.72 81[label="span2Ys (primEqChar (Char Zero)) yw311",fontsize=16,color="black",shape="triangle"];81 -> 96[label="",style="solid", color="black", weight=3]; 17.14/6.72 939[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 (primEqNat (Succ yw930) yw94))",fontsize=16,color="burlywood",shape="box"];1616[label="yw94/Succ yw940",fontsize=10,color="white",style="solid",shape="box"];939 -> 1616[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1616 -> 956[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1617[label="yw94/Zero",fontsize=10,color="white",style="solid",shape="box"];939 -> 1617[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1617 -> 957[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 940[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 (primEqNat Zero yw94))",fontsize=16,color="burlywood",shape="box"];1618[label="yw94/Succ yw940",fontsize=10,color="white",style="solid",shape="box"];940 -> 1618[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1618 -> 958[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1619[label="yw94/Zero",fontsize=10,color="white",style="solid",shape="box"];940 -> 1619[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1619 -> 959[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 86[label="List.groupByZs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) (span2Span0 (primEqChar (Char (Succ yw3000))) yw311 (primEqChar (Char (Succ yw3000))) (Char Zero) yw311 True)",fontsize=16,color="black",shape="box"];86 -> 101[label="",style="solid", color="black", weight=3]; 17.14/6.72 87[label="List.groupByZs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) (span2Span0 (primEqChar (Char Zero)) yw311 (primEqChar (Char Zero)) (Char (Succ yw31000)) yw311 True)",fontsize=16,color="black",shape="box"];87 -> 102[label="",style="solid", color="black", weight=3]; 17.14/6.72 88[label="span2Zs (primEqChar (Char Zero)) yw311",fontsize=16,color="black",shape="triangle"];88 -> 103[label="",style="solid", color="black", weight=3]; 17.14/6.72 839 -> 766[label="",style="dashed", color="red", weight=0]; 17.14/6.72 839[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 (primEqNat yw710 yw720))",fontsize=16,color="magenta"];839 -> 853[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 839 -> 854[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 840[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 False)",fontsize=16,color="black",shape="triangle"];840 -> 855[label="",style="solid", color="black", weight=3]; 17.14/6.72 841 -> 840[label="",style="dashed", color="red", weight=0]; 17.14/6.72 841[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 False)",fontsize=16,color="magenta"];842[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span1 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 True)",fontsize=16,color="black",shape="box"];842 -> 856[label="",style="solid", color="black", weight=3]; 17.14/6.72 94[label="[]",fontsize=16,color="green",shape="box"];95[label="[]",fontsize=16,color="green",shape="box"];96[label="span2Ys0 (primEqChar (Char Zero)) yw311 (span2Vu43 (primEqChar (Char Zero)) yw311)",fontsize=16,color="black",shape="box"];96 -> 111[label="",style="solid", color="black", weight=3]; 17.14/6.72 956[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 (primEqNat (Succ yw930) (Succ yw940)))",fontsize=16,color="black",shape="box"];956 -> 976[label="",style="solid", color="black", weight=3]; 17.14/6.72 957[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 (primEqNat (Succ yw930) Zero))",fontsize=16,color="black",shape="box"];957 -> 977[label="",style="solid", color="black", weight=3]; 17.14/6.72 958[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 (primEqNat Zero (Succ yw940)))",fontsize=16,color="black",shape="box"];958 -> 978[label="",style="solid", color="black", weight=3]; 17.14/6.72 959[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 (primEqNat Zero Zero))",fontsize=16,color="black",shape="box"];959 -> 979[label="",style="solid", color="black", weight=3]; 17.14/6.72 101[label="List.groupByZs1 primEqChar (Char (Succ yw3000)) (Char Zero : yw311) ([],Char Zero : yw311)",fontsize=16,color="black",shape="box"];101 -> 117[label="",style="solid", color="black", weight=3]; 17.14/6.72 102[label="List.groupByZs1 primEqChar (Char Zero) (Char (Succ yw31000) : yw311) ([],Char (Succ yw31000) : yw311)",fontsize=16,color="black",shape="box"];102 -> 118[label="",style="solid", color="black", weight=3]; 17.14/6.72 103[label="span2Zs0 (primEqChar (Char Zero)) yw311 (span2Vu43 (primEqChar (Char Zero)) yw311)",fontsize=16,color="black",shape="box"];103 -> 119[label="",style="solid", color="black", weight=3]; 17.14/6.72 853[label="yw710",fontsize=16,color="green",shape="box"];854[label="yw720",fontsize=16,color="green",shape="box"];855[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span0 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 otherwise)",fontsize=16,color="black",shape="box"];855 -> 867[label="",style="solid", color="black", weight=3]; 17.14/6.72 856 -> 868[label="",style="dashed", color="red", weight=0]; 17.14/6.72 856[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (Char (Succ yw69) : span2Ys (primEqChar (Char (Succ yw68))) yw70,span2Zs (primEqChar (Char (Succ yw68))) yw70)",fontsize=16,color="magenta"];856 -> 869[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 856 -> 870[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 111[label="span2Ys0 (primEqChar (Char Zero)) yw311 (span (primEqChar (Char Zero)) yw311)",fontsize=16,color="burlywood",shape="box"];1620[label="yw311/yw3110 : yw3111",fontsize=10,color="white",style="solid",shape="box"];111 -> 1620[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1620 -> 127[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1621[label="yw311/[]",fontsize=10,color="white",style="solid",shape="box"];111 -> 1621[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1621 -> 128[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 976 -> 888[label="",style="dashed", color="red", weight=0]; 17.14/6.72 976[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 (primEqNat yw930 yw940))",fontsize=16,color="magenta"];976 -> 993[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 976 -> 994[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 977[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 False)",fontsize=16,color="black",shape="triangle"];977 -> 995[label="",style="solid", color="black", weight=3]; 17.14/6.72 978 -> 977[label="",style="dashed", color="red", weight=0]; 17.14/6.72 978[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 False)",fontsize=16,color="magenta"];979[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span1 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 True)",fontsize=16,color="black",shape="box"];979 -> 996[label="",style="solid", color="black", weight=3]; 17.14/6.72 117[label="Char Zero : yw311",fontsize=16,color="green",shape="box"];118[label="Char (Succ yw31000) : yw311",fontsize=16,color="green",shape="box"];119[label="span2Zs0 (primEqChar (Char Zero)) yw311 (span (primEqChar (Char Zero)) yw311)",fontsize=16,color="burlywood",shape="box"];1622[label="yw311/yw3110 : yw3111",fontsize=10,color="white",style="solid",shape="box"];119 -> 1622[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1622 -> 136[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1623[label="yw311/[]",fontsize=10,color="white",style="solid",shape="box"];119 -> 1623[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1623 -> 137[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 867[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (span2Span0 (primEqChar (Char (Succ yw68))) yw70 (primEqChar (Char (Succ yw68))) (Char (Succ yw69)) yw70 True)",fontsize=16,color="black",shape="box"];867 -> 871[label="",style="solid", color="black", weight=3]; 17.14/6.72 869 -> 545[label="",style="dashed", color="red", weight=0]; 17.14/6.72 869[label="span2Ys (primEqChar (Char (Succ yw68))) yw70",fontsize=16,color="magenta"];869 -> 872[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 869 -> 873[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 870 -> 648[label="",style="dashed", color="red", weight=0]; 17.14/6.72 870[label="span2Zs (primEqChar (Char (Succ yw68))) yw70",fontsize=16,color="magenta"];870 -> 874[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 870 -> 875[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 868[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) (Char (Succ yw69) : yw88,yw87)",fontsize=16,color="black",shape="triangle"];868 -> 876[label="",style="solid", color="black", weight=3]; 17.14/6.72 127[label="span2Ys0 (primEqChar (Char Zero)) (yw3110 : yw3111) (span (primEqChar (Char Zero)) (yw3110 : yw3111))",fontsize=16,color="black",shape="box"];127 -> 146[label="",style="solid", color="black", weight=3]; 17.14/6.72 128[label="span2Ys0 (primEqChar (Char Zero)) [] (span (primEqChar (Char Zero)) [])",fontsize=16,color="black",shape="box"];128 -> 147[label="",style="solid", color="black", weight=3]; 17.14/6.72 993[label="yw930",fontsize=16,color="green",shape="box"];994[label="yw940",fontsize=16,color="green",shape="box"];995[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span0 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 otherwise)",fontsize=16,color="black",shape="box"];995 -> 1006[label="",style="solid", color="black", weight=3]; 17.14/6.72 996 -> 1007[label="",style="dashed", color="red", weight=0]; 17.14/6.72 996[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (Char (Succ yw91) : span2Ys (primEqChar (Char (Succ yw90))) yw92,span2Zs (primEqChar (Char (Succ yw90))) yw92)",fontsize=16,color="magenta"];996 -> 1008[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 996 -> 1009[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 136[label="span2Zs0 (primEqChar (Char Zero)) (yw3110 : yw3111) (span (primEqChar (Char Zero)) (yw3110 : yw3111))",fontsize=16,color="black",shape="box"];136 -> 155[label="",style="solid", color="black", weight=3]; 17.14/6.72 137[label="span2Zs0 (primEqChar (Char Zero)) [] (span (primEqChar (Char Zero)) [])",fontsize=16,color="black",shape="box"];137 -> 156[label="",style="solid", color="black", weight=3]; 17.14/6.72 871[label="List.groupByYs1 primEqChar (Char (Succ yw68)) (Char (Succ yw69) : yw70) ([],Char (Succ yw69) : yw70)",fontsize=16,color="black",shape="box"];871 -> 941[label="",style="solid", color="black", weight=3]; 17.14/6.72 872[label="yw68",fontsize=16,color="green",shape="box"];873[label="yw70",fontsize=16,color="green",shape="box"];545[label="span2Ys (primEqChar (Char (Succ yw39))) yw41",fontsize=16,color="black",shape="triangle"];545 -> 574[label="",style="solid", color="black", weight=3]; 17.14/6.72 874[label="yw70",fontsize=16,color="green",shape="box"];875[label="yw68",fontsize=16,color="green",shape="box"];648[label="span2Zs (primEqChar (Char (Succ yw53))) yw55",fontsize=16,color="black",shape="triangle"];648 -> 675[label="",style="solid", color="black", weight=3]; 17.14/6.72 876[label="Char (Succ yw69) : yw88",fontsize=16,color="green",shape="box"];146[label="span2Ys0 (primEqChar (Char Zero)) (yw3110 : yw3111) (span2 (primEqChar (Char Zero)) (yw3110 : yw3111))",fontsize=16,color="black",shape="box"];146 -> 165[label="",style="solid", color="black", weight=3]; 17.14/6.72 147[label="span2Ys0 (primEqChar (Char Zero)) [] (span3 (primEqChar (Char Zero)) [])",fontsize=16,color="black",shape="box"];147 -> 166[label="",style="solid", color="black", weight=3]; 17.14/6.72 1006[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (span2Span0 (primEqChar (Char (Succ yw90))) yw92 (primEqChar (Char (Succ yw90))) (Char (Succ yw91)) yw92 True)",fontsize=16,color="black",shape="box"];1006 -> 1010[label="",style="solid", color="black", weight=3]; 17.14/6.72 1008 -> 545[label="",style="dashed", color="red", weight=0]; 17.14/6.72 1008[label="span2Ys (primEqChar (Char (Succ yw90))) yw92",fontsize=16,color="magenta"];1008 -> 1011[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 1008 -> 1012[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 1009 -> 648[label="",style="dashed", color="red", weight=0]; 17.14/6.72 1009[label="span2Zs (primEqChar (Char (Succ yw90))) yw92",fontsize=16,color="magenta"];1009 -> 1013[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 1009 -> 1014[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 1007[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) (Char (Succ yw91) : yw100,yw99)",fontsize=16,color="black",shape="triangle"];1007 -> 1015[label="",style="solid", color="black", weight=3]; 17.14/6.72 155[label="span2Zs0 (primEqChar (Char Zero)) (yw3110 : yw3111) (span2 (primEqChar (Char Zero)) (yw3110 : yw3111))",fontsize=16,color="black",shape="box"];155 -> 175[label="",style="solid", color="black", weight=3]; 17.14/6.72 156[label="span2Zs0 (primEqChar (Char Zero)) [] (span3 (primEqChar (Char Zero)) [])",fontsize=16,color="black",shape="box"];156 -> 176[label="",style="solid", color="black", weight=3]; 17.14/6.72 941[label="[]",fontsize=16,color="green",shape="box"];574[label="span2Ys0 (primEqChar (Char (Succ yw39))) yw41 (span2Vu43 (primEqChar (Char (Succ yw39))) yw41)",fontsize=16,color="black",shape="box"];574 -> 600[label="",style="solid", color="black", weight=3]; 17.14/6.72 675[label="span2Zs0 (primEqChar (Char (Succ yw53))) yw55 (span2Vu43 (primEqChar (Char (Succ yw53))) yw55)",fontsize=16,color="black",shape="box"];675 -> 682[label="",style="solid", color="black", weight=3]; 17.14/6.72 165[label="span2Ys0 (primEqChar (Char Zero)) (yw3110 : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) yw3110 yw3111 (primEqChar (Char Zero) yw3110))",fontsize=16,color="burlywood",shape="box"];1624[label="yw3110/Char yw31100",fontsize=10,color="white",style="solid",shape="box"];165 -> 1624[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1624 -> 186[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 166[label="span2Ys0 (primEqChar (Char Zero)) [] ([],[])",fontsize=16,color="black",shape="box"];166 -> 187[label="",style="solid", color="black", weight=3]; 17.14/6.72 1010[label="List.groupByZs1 primEqChar (Char (Succ yw90)) (Char (Succ yw91) : yw92) ([],Char (Succ yw91) : yw92)",fontsize=16,color="black",shape="box"];1010 -> 1036[label="",style="solid", color="black", weight=3]; 17.14/6.72 1011[label="yw90",fontsize=16,color="green",shape="box"];1012[label="yw92",fontsize=16,color="green",shape="box"];1013[label="yw92",fontsize=16,color="green",shape="box"];1014[label="yw90",fontsize=16,color="green",shape="box"];1015[label="yw99",fontsize=16,color="green",shape="box"];175[label="span2Zs0 (primEqChar (Char Zero)) (yw3110 : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) yw3110 yw3111 (primEqChar (Char Zero) yw3110))",fontsize=16,color="burlywood",shape="box"];1625[label="yw3110/Char yw31100",fontsize=10,color="white",style="solid",shape="box"];175 -> 1625[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1625 -> 197[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 176[label="span2Zs0 (primEqChar (Char Zero)) [] ([],[])",fontsize=16,color="black",shape="box"];176 -> 198[label="",style="solid", color="black", weight=3]; 17.14/6.72 600[label="span2Ys0 (primEqChar (Char (Succ yw39))) yw41 (span (primEqChar (Char (Succ yw39))) yw41)",fontsize=16,color="burlywood",shape="box"];1626[label="yw41/yw410 : yw411",fontsize=10,color="white",style="solid",shape="box"];600 -> 1626[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1626 -> 649[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1627[label="yw41/[]",fontsize=10,color="white",style="solid",shape="box"];600 -> 1627[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1627 -> 650[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 682[label="span2Zs0 (primEqChar (Char (Succ yw53))) yw55 (span (primEqChar (Char (Succ yw53))) yw55)",fontsize=16,color="burlywood",shape="box"];1628[label="yw55/yw550 : yw551",fontsize=10,color="white",style="solid",shape="box"];682 -> 1628[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1628 -> 702[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1629[label="yw55/[]",fontsize=10,color="white",style="solid",shape="box"];682 -> 1629[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1629 -> 703[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 186[label="span2Ys0 (primEqChar (Char Zero)) (Char yw31100 : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char yw31100) yw3111 (primEqChar (Char Zero) (Char yw31100)))",fontsize=16,color="black",shape="box"];186 -> 209[label="",style="solid", color="black", weight=3]; 17.14/6.72 187[label="[]",fontsize=16,color="green",shape="box"];1036[label="Char (Succ yw91) : yw92",fontsize=16,color="green",shape="box"];197[label="span2Zs0 (primEqChar (Char Zero)) (Char yw31100 : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char yw31100) yw3111 (primEqChar (Char Zero) (Char yw31100)))",fontsize=16,color="black",shape="box"];197 -> 219[label="",style="solid", color="black", weight=3]; 17.14/6.72 198[label="[]",fontsize=16,color="green",shape="box"];649[label="span2Ys0 (primEqChar (Char (Succ yw39))) (yw410 : yw411) (span (primEqChar (Char (Succ yw39))) (yw410 : yw411))",fontsize=16,color="black",shape="box"];649 -> 676[label="",style="solid", color="black", weight=3]; 17.14/6.72 650[label="span2Ys0 (primEqChar (Char (Succ yw39))) [] (span (primEqChar (Char (Succ yw39))) [])",fontsize=16,color="black",shape="box"];650 -> 677[label="",style="solid", color="black", weight=3]; 17.14/6.72 702[label="span2Zs0 (primEqChar (Char (Succ yw53))) (yw550 : yw551) (span (primEqChar (Char (Succ yw53))) (yw550 : yw551))",fontsize=16,color="black",shape="box"];702 -> 744[label="",style="solid", color="black", weight=3]; 17.14/6.72 703[label="span2Zs0 (primEqChar (Char (Succ yw53))) [] (span (primEqChar (Char (Succ yw53))) [])",fontsize=16,color="black",shape="box"];703 -> 745[label="",style="solid", color="black", weight=3]; 17.14/6.72 209[label="span2Ys0 (primEqChar (Char Zero)) (Char yw31100 : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char yw31100) yw3111 (primEqNat Zero yw31100))",fontsize=16,color="burlywood",shape="box"];1630[label="yw31100/Succ yw311000",fontsize=10,color="white",style="solid",shape="box"];209 -> 1630[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1630 -> 230[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1631[label="yw31100/Zero",fontsize=10,color="white",style="solid",shape="box"];209 -> 1631[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1631 -> 231[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 219[label="span2Zs0 (primEqChar (Char Zero)) (Char yw31100 : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char yw31100) yw3111 (primEqNat Zero yw31100))",fontsize=16,color="burlywood",shape="box"];1632[label="yw31100/Succ yw311000",fontsize=10,color="white",style="solid",shape="box"];219 -> 1632[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1632 -> 242[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1633[label="yw31100/Zero",fontsize=10,color="white",style="solid",shape="box"];219 -> 1633[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1633 -> 243[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 676[label="span2Ys0 (primEqChar (Char (Succ yw39))) (yw410 : yw411) (span2 (primEqChar (Char (Succ yw39))) (yw410 : yw411))",fontsize=16,color="black",shape="box"];676 -> 683[label="",style="solid", color="black", weight=3]; 17.14/6.72 677[label="span2Ys0 (primEqChar (Char (Succ yw39))) [] (span3 (primEqChar (Char (Succ yw39))) [])",fontsize=16,color="black",shape="box"];677 -> 684[label="",style="solid", color="black", weight=3]; 17.14/6.72 744[label="span2Zs0 (primEqChar (Char (Succ yw53))) (yw550 : yw551) (span2 (primEqChar (Char (Succ yw53))) (yw550 : yw551))",fontsize=16,color="black",shape="box"];744 -> 762[label="",style="solid", color="black", weight=3]; 17.14/6.72 745[label="span2Zs0 (primEqChar (Char (Succ yw53))) [] (span3 (primEqChar (Char (Succ yw53))) [])",fontsize=16,color="black",shape="box"];745 -> 763[label="",style="solid", color="black", weight=3]; 17.14/6.72 230[label="span2Ys0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char (Succ yw311000)) yw3111 (primEqNat Zero (Succ yw311000)))",fontsize=16,color="black",shape="box"];230 -> 255[label="",style="solid", color="black", weight=3]; 17.14/6.72 231[label="span2Ys0 (primEqChar (Char Zero)) (Char Zero : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char Zero) yw3111 (primEqNat Zero Zero))",fontsize=16,color="black",shape="box"];231 -> 256[label="",style="solid", color="black", weight=3]; 17.14/6.72 242[label="span2Zs0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char (Succ yw311000)) yw3111 (primEqNat Zero (Succ yw311000)))",fontsize=16,color="black",shape="box"];242 -> 268[label="",style="solid", color="black", weight=3]; 17.14/6.72 243[label="span2Zs0 (primEqChar (Char Zero)) (Char Zero : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char Zero) yw3111 (primEqNat Zero Zero))",fontsize=16,color="black",shape="box"];243 -> 269[label="",style="solid", color="black", weight=3]; 17.14/6.72 683[label="span2Ys0 (primEqChar (Char (Succ yw39))) (yw410 : yw411) (span2Span1 (primEqChar (Char (Succ yw39))) yw411 (primEqChar (Char (Succ yw39))) yw410 yw411 (primEqChar (Char (Succ yw39)) yw410))",fontsize=16,color="burlywood",shape="box"];1634[label="yw410/Char yw4100",fontsize=10,color="white",style="solid",shape="box"];683 -> 1634[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1634 -> 704[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 684[label="span2Ys0 (primEqChar (Char (Succ yw39))) [] ([],[])",fontsize=16,color="black",shape="box"];684 -> 705[label="",style="solid", color="black", weight=3]; 17.14/6.72 762[label="span2Zs0 (primEqChar (Char (Succ yw53))) (yw550 : yw551) (span2Span1 (primEqChar (Char (Succ yw53))) yw551 (primEqChar (Char (Succ yw53))) yw550 yw551 (primEqChar (Char (Succ yw53)) yw550))",fontsize=16,color="burlywood",shape="box"];1635[label="yw550/Char yw5500",fontsize=10,color="white",style="solid",shape="box"];762 -> 1635[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1635 -> 819[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 763[label="span2Zs0 (primEqChar (Char (Succ yw53))) [] ([],[])",fontsize=16,color="black",shape="box"];763 -> 820[label="",style="solid", color="black", weight=3]; 17.14/6.72 255[label="span2Ys0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char (Succ yw311000)) yw3111 False)",fontsize=16,color="black",shape="box"];255 -> 281[label="",style="solid", color="black", weight=3]; 17.14/6.72 256[label="span2Ys0 (primEqChar (Char Zero)) (Char Zero : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char Zero) yw3111 True)",fontsize=16,color="black",shape="box"];256 -> 282[label="",style="solid", color="black", weight=3]; 17.14/6.72 268[label="span2Zs0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char (Succ yw311000)) yw3111 False)",fontsize=16,color="black",shape="box"];268 -> 293[label="",style="solid", color="black", weight=3]; 17.14/6.72 269[label="span2Zs0 (primEqChar (Char Zero)) (Char Zero : yw3111) (span2Span1 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char Zero) yw3111 True)",fontsize=16,color="black",shape="box"];269 -> 294[label="",style="solid", color="black", weight=3]; 17.14/6.72 704[label="span2Ys0 (primEqChar (Char (Succ yw39))) (Char yw4100 : yw411) (span2Span1 (primEqChar (Char (Succ yw39))) yw411 (primEqChar (Char (Succ yw39))) (Char yw4100) yw411 (primEqChar (Char (Succ yw39)) (Char yw4100)))",fontsize=16,color="black",shape="box"];704 -> 746[label="",style="solid", color="black", weight=3]; 17.14/6.72 705[label="[]",fontsize=16,color="green",shape="box"];819[label="span2Zs0 (primEqChar (Char (Succ yw53))) (Char yw5500 : yw551) (span2Span1 (primEqChar (Char (Succ yw53))) yw551 (primEqChar (Char (Succ yw53))) (Char yw5500) yw551 (primEqChar (Char (Succ yw53)) (Char yw5500)))",fontsize=16,color="black",shape="box"];819 -> 832[label="",style="solid", color="black", weight=3]; 17.14/6.72 820[label="[]",fontsize=16,color="green",shape="box"];281[label="span2Ys0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) (span2Span0 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char (Succ yw311000)) yw3111 otherwise)",fontsize=16,color="black",shape="box"];281 -> 307[label="",style="solid", color="black", weight=3]; 17.14/6.72 282 -> 308[label="",style="dashed", color="red", weight=0]; 17.14/6.72 282[label="span2Ys0 (primEqChar (Char Zero)) (Char Zero : yw3111) (Char Zero : span2Ys (primEqChar (Char Zero)) yw3111,span2Zs (primEqChar (Char Zero)) yw3111)",fontsize=16,color="magenta"];282 -> 309[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 282 -> 310[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 293[label="span2Zs0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) (span2Span0 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char (Succ yw311000)) yw3111 otherwise)",fontsize=16,color="black",shape="box"];293 -> 323[label="",style="solid", color="black", weight=3]; 17.14/6.72 294 -> 324[label="",style="dashed", color="red", weight=0]; 17.14/6.72 294[label="span2Zs0 (primEqChar (Char Zero)) (Char Zero : yw3111) (Char Zero : span2Ys (primEqChar (Char Zero)) yw3111,span2Zs (primEqChar (Char Zero)) yw3111)",fontsize=16,color="magenta"];294 -> 325[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 294 -> 326[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 746[label="span2Ys0 (primEqChar (Char (Succ yw39))) (Char yw4100 : yw411) (span2Span1 (primEqChar (Char (Succ yw39))) yw411 (primEqChar (Char (Succ yw39))) (Char yw4100) yw411 (primEqNat (Succ yw39) yw4100))",fontsize=16,color="burlywood",shape="box"];1636[label="yw4100/Succ yw41000",fontsize=10,color="white",style="solid",shape="box"];746 -> 1636[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1636 -> 764[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1637[label="yw4100/Zero",fontsize=10,color="white",style="solid",shape="box"];746 -> 1637[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1637 -> 765[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 832[label="span2Zs0 (primEqChar (Char (Succ yw53))) (Char yw5500 : yw551) (span2Span1 (primEqChar (Char (Succ yw53))) yw551 (primEqChar (Char (Succ yw53))) (Char yw5500) yw551 (primEqNat (Succ yw53) yw5500))",fontsize=16,color="burlywood",shape="box"];1638[label="yw5500/Succ yw55000",fontsize=10,color="white",style="solid",shape="box"];832 -> 1638[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1638 -> 843[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 1639[label="yw5500/Zero",fontsize=10,color="white",style="solid",shape="box"];832 -> 1639[label="",style="solid", color="burlywood", weight=9]; 17.14/6.72 1639 -> 844[label="",style="solid", color="burlywood", weight=3]; 17.14/6.72 307[label="span2Ys0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) (span2Span0 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char (Succ yw311000)) yw3111 True)",fontsize=16,color="black",shape="box"];307 -> 340[label="",style="solid", color="black", weight=3]; 17.14/6.72 309 -> 88[label="",style="dashed", color="red", weight=0]; 17.14/6.72 309[label="span2Zs (primEqChar (Char Zero)) yw3111",fontsize=16,color="magenta"];309 -> 341[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 310 -> 81[label="",style="dashed", color="red", weight=0]; 17.14/6.72 310[label="span2Ys (primEqChar (Char Zero)) yw3111",fontsize=16,color="magenta"];310 -> 342[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 308[label="span2Ys0 (primEqChar (Char Zero)) (Char Zero : yw3111) (Char Zero : yw5,yw4)",fontsize=16,color="black",shape="triangle"];308 -> 343[label="",style="solid", color="black", weight=3]; 17.14/6.72 323[label="span2Zs0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) (span2Span0 (primEqChar (Char Zero)) yw3111 (primEqChar (Char Zero)) (Char (Succ yw311000)) yw3111 True)",fontsize=16,color="black",shape="box"];323 -> 357[label="",style="solid", color="black", weight=3]; 17.14/6.72 325 -> 81[label="",style="dashed", color="red", weight=0]; 17.14/6.72 325[label="span2Ys (primEqChar (Char Zero)) yw3111",fontsize=16,color="magenta"];325 -> 358[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 326 -> 88[label="",style="dashed", color="red", weight=0]; 17.14/6.72 326[label="span2Zs (primEqChar (Char Zero)) yw3111",fontsize=16,color="magenta"];326 -> 359[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 324[label="span2Zs0 (primEqChar (Char Zero)) (Char Zero : yw3111) (Char Zero : yw7,yw6)",fontsize=16,color="black",shape="triangle"];324 -> 360[label="",style="solid", color="black", weight=3]; 17.14/6.72 764[label="span2Ys0 (primEqChar (Char (Succ yw39))) (Char (Succ yw41000) : yw411) (span2Span1 (primEqChar (Char (Succ yw39))) yw411 (primEqChar (Char (Succ yw39))) (Char (Succ yw41000)) yw411 (primEqNat (Succ yw39) (Succ yw41000)))",fontsize=16,color="black",shape="box"];764 -> 821[label="",style="solid", color="black", weight=3]; 17.14/6.72 765[label="span2Ys0 (primEqChar (Char (Succ yw39))) (Char Zero : yw411) (span2Span1 (primEqChar (Char (Succ yw39))) yw411 (primEqChar (Char (Succ yw39))) (Char Zero) yw411 (primEqNat (Succ yw39) Zero))",fontsize=16,color="black",shape="box"];765 -> 822[label="",style="solid", color="black", weight=3]; 17.14/6.72 843[label="span2Zs0 (primEqChar (Char (Succ yw53))) (Char (Succ yw55000) : yw551) (span2Span1 (primEqChar (Char (Succ yw53))) yw551 (primEqChar (Char (Succ yw53))) (Char (Succ yw55000)) yw551 (primEqNat (Succ yw53) (Succ yw55000)))",fontsize=16,color="black",shape="box"];843 -> 857[label="",style="solid", color="black", weight=3]; 17.14/6.72 844[label="span2Zs0 (primEqChar (Char (Succ yw53))) (Char Zero : yw551) (span2Span1 (primEqChar (Char (Succ yw53))) yw551 (primEqChar (Char (Succ yw53))) (Char Zero) yw551 (primEqNat (Succ yw53) Zero))",fontsize=16,color="black",shape="box"];844 -> 858[label="",style="solid", color="black", weight=3]; 17.14/6.72 340[label="span2Ys0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) ([],Char (Succ yw311000) : yw3111)",fontsize=16,color="black",shape="box"];340 -> 384[label="",style="solid", color="black", weight=3]; 17.14/6.72 341[label="yw3111",fontsize=16,color="green",shape="box"];342[label="yw3111",fontsize=16,color="green",shape="box"];343[label="Char Zero : yw5",fontsize=16,color="green",shape="box"];357[label="span2Zs0 (primEqChar (Char Zero)) (Char (Succ yw311000) : yw3111) ([],Char (Succ yw311000) : yw3111)",fontsize=16,color="black",shape="box"];357 -> 398[label="",style="solid", color="black", weight=3]; 17.14/6.72 358[label="yw3111",fontsize=16,color="green",shape="box"];359[label="yw3111",fontsize=16,color="green",shape="box"];360[label="yw6",fontsize=16,color="green",shape="box"];821 -> 1434[label="",style="dashed", color="red", weight=0]; 17.14/6.72 821[label="span2Ys0 (primEqChar (Char (Succ yw39))) (Char (Succ yw41000) : yw411) (span2Span1 (primEqChar (Char (Succ yw39))) yw411 (primEqChar (Char (Succ yw39))) (Char (Succ yw41000)) yw411 (primEqNat yw39 yw41000))",fontsize=16,color="magenta"];821 -> 1435[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 821 -> 1436[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 821 -> 1437[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 821 -> 1438[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 821 -> 1439[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 822[label="span2Ys0 (primEqChar (Char (Succ yw39))) (Char Zero : yw411) (span2Span1 (primEqChar (Char (Succ yw39))) yw411 (primEqChar (Char (Succ yw39))) (Char Zero) yw411 False)",fontsize=16,color="black",shape="box"];822 -> 835[label="",style="solid", color="black", weight=3]; 17.14/6.72 857 -> 1487[label="",style="dashed", color="red", weight=0]; 17.14/6.72 857[label="span2Zs0 (primEqChar (Char (Succ yw53))) (Char (Succ yw55000) : yw551) (span2Span1 (primEqChar (Char (Succ yw53))) yw551 (primEqChar (Char (Succ yw53))) (Char (Succ yw55000)) yw551 (primEqNat yw53 yw55000))",fontsize=16,color="magenta"];857 -> 1488[label="",style="dashed", color="magenta", weight=3]; 17.14/6.72 857 -> 1489[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 857 -> 1490[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 857 -> 1491[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 857 -> 1492[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 858[label="span2Zs0 (primEqChar (Char (Succ yw53))) (Char Zero : yw551) (span2Span1 (primEqChar (Char (Succ yw53))) yw551 (primEqChar (Char (Succ yw53))) (Char Zero) yw551 False)",fontsize=16,color="black",shape="box"];858 -> 879[label="",style="solid", color="black", weight=3]; 17.14/6.73 384[label="[]",fontsize=16,color="green",shape="box"];398[label="Char (Succ yw311000) : yw3111",fontsize=16,color="green",shape="box"];1435[label="yw39",fontsize=16,color="green",shape="box"];1436[label="yw41000",fontsize=16,color="green",shape="box"];1437[label="yw41000",fontsize=16,color="green",shape="box"];1438[label="yw39",fontsize=16,color="green",shape="box"];1439[label="yw411",fontsize=16,color="green",shape="box"];1434[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 (primEqNat yw176 yw177))",fontsize=16,color="burlywood",shape="triangle"];1640[label="yw176/Succ yw1760",fontsize=10,color="white",style="solid",shape="box"];1434 -> 1640[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1640 -> 1485[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 1641[label="yw176/Zero",fontsize=10,color="white",style="solid",shape="box"];1434 -> 1641[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1641 -> 1486[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 835[label="span2Ys0 (primEqChar (Char (Succ yw39))) (Char Zero : yw411) (span2Span0 (primEqChar (Char (Succ yw39))) yw411 (primEqChar (Char (Succ yw39))) (Char Zero) yw411 otherwise)",fontsize=16,color="black",shape="box"];835 -> 849[label="",style="solid", color="black", weight=3]; 17.14/6.73 1488[label="yw551",fontsize=16,color="green",shape="box"];1489[label="yw53",fontsize=16,color="green",shape="box"];1490[label="yw55000",fontsize=16,color="green",shape="box"];1491[label="yw53",fontsize=16,color="green",shape="box"];1492[label="yw55000",fontsize=16,color="green",shape="box"];1487[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 (primEqNat yw182 yw183))",fontsize=16,color="burlywood",shape="triangle"];1642[label="yw182/Succ yw1820",fontsize=10,color="white",style="solid",shape="box"];1487 -> 1642[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1642 -> 1538[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 1643[label="yw182/Zero",fontsize=10,color="white",style="solid",shape="box"];1487 -> 1643[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1643 -> 1539[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 879[label="span2Zs0 (primEqChar (Char (Succ yw53))) (Char Zero : yw551) (span2Span0 (primEqChar (Char (Succ yw53))) yw551 (primEqChar (Char (Succ yw53))) (Char Zero) yw551 otherwise)",fontsize=16,color="black",shape="box"];879 -> 946[label="",style="solid", color="black", weight=3]; 17.14/6.73 1485[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 (primEqNat (Succ yw1760) yw177))",fontsize=16,color="burlywood",shape="box"];1644[label="yw177/Succ yw1770",fontsize=10,color="white",style="solid",shape="box"];1485 -> 1644[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1644 -> 1540[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 1645[label="yw177/Zero",fontsize=10,color="white",style="solid",shape="box"];1485 -> 1645[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1645 -> 1541[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 1486[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 (primEqNat Zero yw177))",fontsize=16,color="burlywood",shape="box"];1646[label="yw177/Succ yw1770",fontsize=10,color="white",style="solid",shape="box"];1486 -> 1646[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1646 -> 1542[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 1647[label="yw177/Zero",fontsize=10,color="white",style="solid",shape="box"];1486 -> 1647[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1647 -> 1543[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 849[label="span2Ys0 (primEqChar (Char (Succ yw39))) (Char Zero : yw411) (span2Span0 (primEqChar (Char (Succ yw39))) yw411 (primEqChar (Char (Succ yw39))) (Char Zero) yw411 True)",fontsize=16,color="black",shape="box"];849 -> 863[label="",style="solid", color="black", weight=3]; 17.14/6.73 1538[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 (primEqNat (Succ yw1820) yw183))",fontsize=16,color="burlywood",shape="box"];1648[label="yw183/Succ yw1830",fontsize=10,color="white",style="solid",shape="box"];1538 -> 1648[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1648 -> 1544[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 1649[label="yw183/Zero",fontsize=10,color="white",style="solid",shape="box"];1538 -> 1649[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1649 -> 1545[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 1539[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 (primEqNat Zero yw183))",fontsize=16,color="burlywood",shape="box"];1650[label="yw183/Succ yw1830",fontsize=10,color="white",style="solid",shape="box"];1539 -> 1650[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1650 -> 1546[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 1651[label="yw183/Zero",fontsize=10,color="white",style="solid",shape="box"];1539 -> 1651[label="",style="solid", color="burlywood", weight=9]; 17.14/6.73 1651 -> 1547[label="",style="solid", color="burlywood", weight=3]; 17.14/6.73 946[label="span2Zs0 (primEqChar (Char (Succ yw53))) (Char Zero : yw551) (span2Span0 (primEqChar (Char (Succ yw53))) yw551 (primEqChar (Char (Succ yw53))) (Char Zero) yw551 True)",fontsize=16,color="black",shape="box"];946 -> 964[label="",style="solid", color="black", weight=3]; 17.14/6.73 1540[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 (primEqNat (Succ yw1760) (Succ yw1770)))",fontsize=16,color="black",shape="box"];1540 -> 1548[label="",style="solid", color="black", weight=3]; 17.14/6.73 1541[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 (primEqNat (Succ yw1760) Zero))",fontsize=16,color="black",shape="box"];1541 -> 1549[label="",style="solid", color="black", weight=3]; 17.14/6.73 1542[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 (primEqNat Zero (Succ yw1770)))",fontsize=16,color="black",shape="box"];1542 -> 1550[label="",style="solid", color="black", weight=3]; 17.14/6.73 1543[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 (primEqNat Zero Zero))",fontsize=16,color="black",shape="box"];1543 -> 1551[label="",style="solid", color="black", weight=3]; 17.14/6.73 863[label="span2Ys0 (primEqChar (Char (Succ yw39))) (Char Zero : yw411) ([],Char Zero : yw411)",fontsize=16,color="black",shape="box"];863 -> 885[label="",style="solid", color="black", weight=3]; 17.14/6.73 1544[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 (primEqNat (Succ yw1820) (Succ yw1830)))",fontsize=16,color="black",shape="box"];1544 -> 1552[label="",style="solid", color="black", weight=3]; 17.14/6.73 1545[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 (primEqNat (Succ yw1820) Zero))",fontsize=16,color="black",shape="box"];1545 -> 1553[label="",style="solid", color="black", weight=3]; 17.14/6.73 1546[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 (primEqNat Zero (Succ yw1830)))",fontsize=16,color="black",shape="box"];1546 -> 1554[label="",style="solid", color="black", weight=3]; 17.14/6.73 1547[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 (primEqNat Zero Zero))",fontsize=16,color="black",shape="box"];1547 -> 1555[label="",style="solid", color="black", weight=3]; 17.14/6.73 964[label="span2Zs0 (primEqChar (Char (Succ yw53))) (Char Zero : yw551) ([],Char Zero : yw551)",fontsize=16,color="black",shape="box"];964 -> 985[label="",style="solid", color="black", weight=3]; 17.14/6.73 1548 -> 1434[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1548[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 (primEqNat yw1760 yw1770))",fontsize=16,color="magenta"];1548 -> 1556[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1548 -> 1557[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1549[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 False)",fontsize=16,color="black",shape="triangle"];1549 -> 1558[label="",style="solid", color="black", weight=3]; 17.14/6.73 1550 -> 1549[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1550[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 False)",fontsize=16,color="magenta"];1551[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span1 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 True)",fontsize=16,color="black",shape="box"];1551 -> 1559[label="",style="solid", color="black", weight=3]; 17.14/6.73 885[label="[]",fontsize=16,color="green",shape="box"];1552 -> 1487[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1552[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 (primEqNat yw1820 yw1830))",fontsize=16,color="magenta"];1552 -> 1560[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1552 -> 1561[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1553[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 False)",fontsize=16,color="black",shape="triangle"];1553 -> 1562[label="",style="solid", color="black", weight=3]; 17.14/6.73 1554 -> 1553[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1554[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 False)",fontsize=16,color="magenta"];1555[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span1 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 True)",fontsize=16,color="black",shape="box"];1555 -> 1563[label="",style="solid", color="black", weight=3]; 17.14/6.73 985[label="Char Zero : yw551",fontsize=16,color="green",shape="box"];1556[label="yw1760",fontsize=16,color="green",shape="box"];1557[label="yw1770",fontsize=16,color="green",shape="box"];1558[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span0 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 otherwise)",fontsize=16,color="black",shape="box"];1558 -> 1564[label="",style="solid", color="black", weight=3]; 17.14/6.73 1559 -> 1565[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1559[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (Char (Succ yw174) : span2Ys (primEqChar (Char (Succ yw173))) yw175,span2Zs (primEqChar (Char (Succ yw173))) yw175)",fontsize=16,color="magenta"];1559 -> 1566[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1559 -> 1567[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1560[label="yw1820",fontsize=16,color="green",shape="box"];1561[label="yw1830",fontsize=16,color="green",shape="box"];1562[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span0 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 otherwise)",fontsize=16,color="black",shape="box"];1562 -> 1568[label="",style="solid", color="black", weight=3]; 17.14/6.73 1563 -> 1569[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1563[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (Char (Succ yw180) : span2Ys (primEqChar (Char (Succ yw179))) yw181,span2Zs (primEqChar (Char (Succ yw179))) yw181)",fontsize=16,color="magenta"];1563 -> 1570[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1563 -> 1571[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1564[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (span2Span0 (primEqChar (Char (Succ yw173))) yw175 (primEqChar (Char (Succ yw173))) (Char (Succ yw174)) yw175 True)",fontsize=16,color="black",shape="box"];1564 -> 1572[label="",style="solid", color="black", weight=3]; 17.14/6.73 1566 -> 648[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1566[label="span2Zs (primEqChar (Char (Succ yw173))) yw175",fontsize=16,color="magenta"];1566 -> 1573[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1566 -> 1574[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1567 -> 545[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1567[label="span2Ys (primEqChar (Char (Succ yw173))) yw175",fontsize=16,color="magenta"];1567 -> 1575[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1567 -> 1576[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1565[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) (Char (Succ yw174) : yw185,yw184)",fontsize=16,color="black",shape="triangle"];1565 -> 1577[label="",style="solid", color="black", weight=3]; 17.14/6.73 1568[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (span2Span0 (primEqChar (Char (Succ yw179))) yw181 (primEqChar (Char (Succ yw179))) (Char (Succ yw180)) yw181 True)",fontsize=16,color="black",shape="box"];1568 -> 1578[label="",style="solid", color="black", weight=3]; 17.14/6.73 1570 -> 545[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1570[label="span2Ys (primEqChar (Char (Succ yw179))) yw181",fontsize=16,color="magenta"];1570 -> 1579[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1570 -> 1580[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1571 -> 648[label="",style="dashed", color="red", weight=0]; 17.14/6.73 1571[label="span2Zs (primEqChar (Char (Succ yw179))) yw181",fontsize=16,color="magenta"];1571 -> 1581[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1571 -> 1582[label="",style="dashed", color="magenta", weight=3]; 17.14/6.73 1569[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) (Char (Succ yw180) : yw187,yw186)",fontsize=16,color="black",shape="triangle"];1569 -> 1583[label="",style="solid", color="black", weight=3]; 17.14/6.73 1572[label="span2Ys0 (primEqChar (Char (Succ yw173))) (Char (Succ yw174) : yw175) ([],Char (Succ yw174) : yw175)",fontsize=16,color="black",shape="box"];1572 -> 1584[label="",style="solid", color="black", weight=3]; 17.14/6.73 1573[label="yw175",fontsize=16,color="green",shape="box"];1574[label="yw173",fontsize=16,color="green",shape="box"];1575[label="yw173",fontsize=16,color="green",shape="box"];1576[label="yw175",fontsize=16,color="green",shape="box"];1577[label="Char (Succ yw174) : yw185",fontsize=16,color="green",shape="box"];1578[label="span2Zs0 (primEqChar (Char (Succ yw179))) (Char (Succ yw180) : yw181) ([],Char (Succ yw180) : yw181)",fontsize=16,color="black",shape="box"];1578 -> 1585[label="",style="solid", color="black", weight=3]; 17.14/6.73 1579[label="yw179",fontsize=16,color="green",shape="box"];1580[label="yw181",fontsize=16,color="green",shape="box"];1581[label="yw181",fontsize=16,color="green",shape="box"];1582[label="yw179",fontsize=16,color="green",shape="box"];1583[label="yw186",fontsize=16,color="green",shape="box"];1584[label="[]",fontsize=16,color="green",shape="box"];1585[label="Char (Succ yw180) : yw181",fontsize=16,color="green",shape="box"];} 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (10) 17.14/6.73 Complex Obligation (AND) 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (11) 17.14/6.73 Obligation: 17.14/6.73 Q DP problem: 17.14/6.73 The TRS P consists of the following rules: 17.14/6.73 17.14/6.73 new_groupBy(:(yw30, yw31)) -> new_groupBy(new_groupByZs10(yw30, yw31)) 17.14/6.73 17.14/6.73 The TRS R consists of the following rules: 17.14/6.73 17.14/6.73 new_span2Ys3(:(Char(Zero), yw3111)) -> new_span2Ys01(yw3111, new_span2Ys3(yw3111), new_span2Zs2(yw3111)) 17.14/6.73 new_span2Zs2(:(Char(Zero), yw3111)) -> new_span2Zs01(yw3111, new_span2Ys3(yw3111), new_span2Zs2(yw3111)) 17.14/6.73 new_span2Zs1(yw53, :(Char(Succ(yw55000)), yw551)) -> new_span2Zs02(yw53, yw55000, yw551, yw53, yw55000) 17.14/6.73 new_span2Ys2(yw39, :(Char(Succ(yw41000)), yw411)) -> new_span2Ys02(yw39, yw41000, yw411, yw39, yw41000) 17.14/6.73 new_span2Ys02(yw173, yw174, yw175, Succ(yw1760), Succ(yw1770)) -> new_span2Ys02(yw173, yw174, yw175, yw1760, yw1770) 17.14/6.73 new_span2Zs02(yw179, yw180, yw181, Succ(yw1820), Succ(yw1830)) -> new_span2Zs02(yw179, yw180, yw181, yw1820, yw1830) 17.14/6.73 new_span2Ys3(:(Char(Succ(yw311000)), yw3111)) -> [] 17.14/6.73 new_groupByZs13(yw90, yw91, yw92, yw100, yw99) -> yw99 17.14/6.73 new_span2Ys01(yw3111, yw5, yw4) -> :(Char(Zero), yw5) 17.14/6.73 new_groupByZs11(yw90, yw91, yw92, Zero, Zero) -> new_groupByZs13(yw90, yw91, yw92, new_span2Ys2(yw90, yw92), new_span2Zs1(yw90, yw92)) 17.14/6.73 new_span2Ys02(yw173, yw174, yw175, Succ(yw1760), Zero) -> new_span2Ys03(yw173, yw174, yw175) 17.14/6.73 new_span2Ys02(yw173, yw174, yw175, Zero, Succ(yw1770)) -> new_span2Ys03(yw173, yw174, yw175) 17.14/6.73 new_span2Zs01(yw3111, yw7, yw6) -> yw6 17.14/6.73 new_groupByZs10(Char(Succ(yw3000)), :(Char(Zero), yw311)) -> :(Char(Zero), yw311) 17.14/6.73 new_span2Ys2(yw39, []) -> [] 17.14/6.73 new_span2Zs1(yw53, :(Char(Zero), yw551)) -> :(Char(Zero), yw551) 17.14/6.73 new_span2Zs02(yw179, yw180, yw181, Zero, Zero) -> new_span2Zs04(yw179, yw180, yw181, new_span2Ys2(yw179, yw181), new_span2Zs1(yw179, yw181)) 17.14/6.73 new_span2Ys00(yw173, yw174, yw175, yw185, yw184) -> :(Char(Succ(yw174)), yw185) 17.14/6.73 new_span2Zs1(yw53, []) -> [] 17.14/6.73 new_groupByZs12(yw90, yw91, yw92) -> :(Char(Succ(yw91)), yw92) 17.14/6.73 new_span2Zs2(:(Char(Succ(yw311000)), yw3111)) -> :(Char(Succ(yw311000)), yw3111) 17.14/6.73 new_groupByZs10(Char(Succ(yw3000)), :(Char(Succ(yw31000)), yw311)) -> new_groupByZs11(yw3000, yw31000, yw311, yw3000, yw31000) 17.14/6.73 new_groupByZs10(Char(Zero), :(Char(Zero), yw311)) -> new_span2Zs2(yw311) 17.14/6.73 new_span2Ys02(yw173, yw174, yw175, Zero, Zero) -> new_span2Ys00(yw173, yw174, yw175, new_span2Ys2(yw173, yw175), new_span2Zs1(yw173, yw175)) 17.14/6.73 new_groupByZs11(yw90, yw91, yw92, Succ(yw930), Zero) -> new_groupByZs12(yw90, yw91, yw92) 17.14/6.73 new_groupByZs11(yw90, yw91, yw92, Zero, Succ(yw940)) -> new_groupByZs12(yw90, yw91, yw92) 17.14/6.73 new_groupByZs10(Char(Zero), :(Char(Succ(yw31000)), yw311)) -> :(Char(Succ(yw31000)), yw311) 17.14/6.73 new_span2Ys3([]) -> [] 17.14/6.73 new_span2Zs2([]) -> [] 17.14/6.73 new_span2Zs04(yw179, yw180, yw181, yw187, yw186) -> yw186 17.14/6.73 new_groupByZs10(yw30, []) -> [] 17.14/6.73 new_span2Zs03(yw179, yw180, yw181) -> :(Char(Succ(yw180)), yw181) 17.14/6.73 new_span2Zs02(yw179, yw180, yw181, Succ(yw1820), Zero) -> new_span2Zs03(yw179, yw180, yw181) 17.14/6.73 new_span2Zs02(yw179, yw180, yw181, Zero, Succ(yw1830)) -> new_span2Zs03(yw179, yw180, yw181) 17.14/6.73 new_span2Ys03(yw173, yw174, yw175) -> [] 17.14/6.73 new_span2Ys2(yw39, :(Char(Zero), yw411)) -> [] 17.14/6.73 new_groupByZs11(yw90, yw91, yw92, Succ(yw930), Succ(yw940)) -> new_groupByZs11(yw90, yw91, yw92, yw930, yw940) 17.14/6.73 17.14/6.73 The set Q consists of the following terms: 17.14/6.73 17.14/6.73 new_span2Ys00(x0, x1, x2, x3, x4) 17.14/6.73 new_span2Zs04(x0, x1, x2, x3, x4) 17.14/6.73 new_span2Zs2(:(Char(Zero), x0)) 17.14/6.73 new_groupByZs11(x0, x1, x2, Succ(x3), Zero) 17.14/6.73 new_groupByZs10(Char(Zero), :(Char(Zero), x0)) 17.14/6.73 new_span2Zs02(x0, x1, x2, Succ(x3), Zero) 17.14/6.73 new_groupByZs11(x0, x1, x2, Zero, Zero) 17.14/6.73 new_groupByZs10(Char(Zero), :(Char(Succ(x0)), x1)) 17.14/6.73 new_groupByZs10(x0, []) 17.14/6.73 new_span2Ys2(x0, :(Char(Succ(x1)), x2)) 17.14/6.73 new_span2Zs2(:(Char(Succ(x0)), x1)) 17.14/6.73 new_span2Ys2(x0, :(Char(Zero), x1)) 17.14/6.73 new_groupByZs13(x0, x1, x2, x3, x4) 17.14/6.73 new_span2Ys2(x0, []) 17.14/6.73 new_span2Ys02(x0, x1, x2, Zero, Zero) 17.14/6.73 new_span2Zs02(x0, x1, x2, Zero, Succ(x3)) 17.14/6.73 new_span2Ys01(x0, x1, x2) 17.14/6.73 new_groupByZs12(x0, x1, x2) 17.14/6.73 new_span2Zs03(x0, x1, x2) 17.14/6.73 new_groupByZs11(x0, x1, x2, Succ(x3), Succ(x4)) 17.14/6.73 new_span2Zs2([]) 17.14/6.73 new_span2Ys02(x0, x1, x2, Zero, Succ(x3)) 17.14/6.73 new_groupByZs10(Char(Succ(x0)), :(Char(Zero), x1)) 17.14/6.73 new_span2Ys02(x0, x1, x2, Succ(x3), Succ(x4)) 17.14/6.73 new_span2Zs1(x0, :(Char(Succ(x1)), x2)) 17.14/6.73 new_span2Zs1(x0, :(Char(Zero), x1)) 17.14/6.73 new_groupByZs10(Char(Succ(x0)), :(Char(Succ(x1)), x2)) 17.14/6.73 new_span2Ys3([]) 17.14/6.73 new_span2Zs01(x0, x1, x2) 17.14/6.73 new_span2Ys3(:(Char(Zero), x0)) 17.14/6.73 new_span2Ys3(:(Char(Succ(x0)), x1)) 17.14/6.73 new_span2Zs1(x0, []) 17.14/6.73 new_span2Ys02(x0, x1, x2, Succ(x3), Zero) 17.14/6.73 new_span2Ys03(x0, x1, x2) 17.14/6.73 new_span2Zs02(x0, x1, x2, Zero, Zero) 17.14/6.73 new_groupByZs11(x0, x1, x2, Zero, Succ(x3)) 17.14/6.73 new_span2Zs02(x0, x1, x2, Succ(x3), Succ(x4)) 17.14/6.73 17.14/6.73 We have to consider all minimal (P,Q,R)-chains. 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (12) QDPSizeChangeProof (EQUIVALENT) 17.14/6.73 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 17.14/6.73 17.14/6.73 Order:Polynomial interpretation [POLO]: 17.14/6.73 17.14/6.73 POL(:(x_1, x_2)) = 1 + x_2 17.14/6.73 POL(Char(x_1)) = 0 17.14/6.73 POL(Succ(x_1)) = 0 17.14/6.73 POL(Zero) = 0 17.14/6.73 POL([]) = 1 17.14/6.73 POL(new_groupByZs10(x_1, x_2)) = x_2 17.14/6.73 POL(new_groupByZs11(x_1, x_2, x_3, x_4, x_5)) = 1 + x_3 17.14/6.73 POL(new_groupByZs12(x_1, x_2, x_3)) = 1 + x_3 17.14/6.73 POL(new_groupByZs13(x_1, x_2, x_3, x_4, x_5)) = x_5 17.14/6.73 POL(new_span2Ys00(x_1, x_2, x_3, x_4, x_5)) = 1 + x_4 17.14/6.73 POL(new_span2Ys01(x_1, x_2, x_3)) = 1 + x_2 17.14/6.73 POL(new_span2Ys02(x_1, x_2, x_3, x_4, x_5)) = 1 + x_3 17.14/6.73 POL(new_span2Ys03(x_1, x_2, x_3)) = 1 17.14/6.73 POL(new_span2Ys2(x_1, x_2)) = x_2 17.14/6.73 POL(new_span2Ys3(x_1)) = 1 + x_1 17.14/6.73 POL(new_span2Zs01(x_1, x_2, x_3)) = 1 + x_3 17.14/6.73 POL(new_span2Zs02(x_1, x_2, x_3, x_4, x_5)) = 1 + x_3 17.14/6.73 POL(new_span2Zs03(x_1, x_2, x_3)) = 1 + x_3 17.14/6.73 POL(new_span2Zs04(x_1, x_2, x_3, x_4, x_5)) = x_5 17.14/6.73 POL(new_span2Zs1(x_1, x_2)) = x_2 17.14/6.73 POL(new_span2Zs2(x_1)) = x_1 17.14/6.73 17.14/6.73 17.14/6.73 17.14/6.73 17.14/6.73 From the DPs we obtained the following set of size-change graphs: 17.14/6.73 *new_groupBy(:(yw30, yw31)) -> new_groupBy(new_groupByZs10(yw30, yw31)) (allowed arguments on rhs = {1}) 17.14/6.73 The graph contains the following edges 1 > 1 17.14/6.73 17.14/6.73 17.14/6.73 17.14/6.73 We oriented the following set of usable rules [AAECC05,FROCOS05]. 17.14/6.73 17.14/6.73 new_span2Zs2([]) -> [] 17.14/6.73 new_span2Zs2(:(Char(Zero), yw3111)) -> new_span2Zs01(yw3111, new_span2Ys3(yw3111), new_span2Zs2(yw3111)) 17.14/6.73 new_span2Zs2(:(Char(Succ(yw311000)), yw3111)) -> :(Char(Succ(yw311000)), yw3111) 17.14/6.73 new_span2Zs1(yw53, []) -> [] 17.14/6.73 new_span2Zs1(yw53, :(Char(Zero), yw551)) -> :(Char(Zero), yw551) 17.14/6.73 new_span2Zs1(yw53, :(Char(Succ(yw55000)), yw551)) -> new_span2Zs02(yw53, yw55000, yw551, yw53, yw55000) 17.14/6.73 new_span2Zs04(yw179, yw180, yw181, yw187, yw186) -> yw186 17.14/6.73 new_span2Zs03(yw179, yw180, yw181) -> :(Char(Succ(yw180)), yw181) 17.14/6.73 new_span2Zs02(yw179, yw180, yw181, Zero, Zero) -> new_span2Zs04(yw179, yw180, yw181, new_span2Ys2(yw179, yw181), new_span2Zs1(yw179, yw181)) 17.14/6.73 new_span2Zs02(yw179, yw180, yw181, Zero, Succ(yw1830)) -> new_span2Zs03(yw179, yw180, yw181) 17.14/6.73 new_span2Zs02(yw179, yw180, yw181, Succ(yw1820), Zero) -> new_span2Zs03(yw179, yw180, yw181) 17.14/6.73 new_span2Zs02(yw179, yw180, yw181, Succ(yw1820), Succ(yw1830)) -> new_span2Zs02(yw179, yw180, yw181, yw1820, yw1830) 17.14/6.73 new_span2Zs01(yw3111, yw7, yw6) -> yw6 17.14/6.73 new_span2Ys3([]) -> [] 17.14/6.73 new_span2Ys3(:(Char(Zero), yw3111)) -> new_span2Ys01(yw3111, new_span2Ys3(yw3111), new_span2Zs2(yw3111)) 17.14/6.73 new_span2Ys3(:(Char(Succ(yw311000)), yw3111)) -> [] 17.14/6.73 new_span2Ys2(yw39, []) -> [] 17.14/6.73 new_span2Ys2(yw39, :(Char(Zero), yw411)) -> [] 17.14/6.73 new_span2Ys2(yw39, :(Char(Succ(yw41000)), yw411)) -> new_span2Ys02(yw39, yw41000, yw411, yw39, yw41000) 17.14/6.73 new_span2Ys03(yw173, yw174, yw175) -> [] 17.14/6.73 new_span2Ys02(yw173, yw174, yw175, Zero, Zero) -> new_span2Ys00(yw173, yw174, yw175, new_span2Ys2(yw173, yw175), new_span2Zs1(yw173, yw175)) 17.14/6.73 new_span2Ys02(yw173, yw174, yw175, Zero, Succ(yw1770)) -> new_span2Ys03(yw173, yw174, yw175) 17.14/6.73 new_span2Ys02(yw173, yw174, yw175, Succ(yw1760), Zero) -> new_span2Ys03(yw173, yw174, yw175) 17.14/6.73 new_span2Ys02(yw173, yw174, yw175, Succ(yw1760), Succ(yw1770)) -> new_span2Ys02(yw173, yw174, yw175, yw1760, yw1770) 17.14/6.73 new_span2Ys01(yw3111, yw5, yw4) -> :(Char(Zero), yw5) 17.14/6.73 new_span2Ys00(yw173, yw174, yw175, yw185, yw184) -> :(Char(Succ(yw174)), yw185) 17.14/6.73 new_groupByZs13(yw90, yw91, yw92, yw100, yw99) -> yw99 17.14/6.73 new_groupByZs12(yw90, yw91, yw92) -> :(Char(Succ(yw91)), yw92) 17.14/6.73 new_groupByZs11(yw90, yw91, yw92, Zero, Zero) -> new_groupByZs13(yw90, yw91, yw92, new_span2Ys2(yw90, yw92), new_span2Zs1(yw90, yw92)) 17.14/6.73 new_groupByZs11(yw90, yw91, yw92, Zero, Succ(yw940)) -> new_groupByZs12(yw90, yw91, yw92) 17.14/6.73 new_groupByZs11(yw90, yw91, yw92, Succ(yw930), Zero) -> new_groupByZs12(yw90, yw91, yw92) 17.14/6.73 new_groupByZs11(yw90, yw91, yw92, Succ(yw930), Succ(yw940)) -> new_groupByZs11(yw90, yw91, yw92, yw930, yw940) 17.14/6.73 new_groupByZs10(yw30, []) -> [] 17.14/6.73 new_groupByZs10(Char(Zero), :(Char(Zero), yw311)) -> new_span2Zs2(yw311) 17.14/6.73 new_groupByZs10(Char(Zero), :(Char(Succ(yw31000)), yw311)) -> :(Char(Succ(yw31000)), yw311) 17.14/6.73 new_groupByZs10(Char(Succ(yw3000)), :(Char(Zero), yw311)) -> :(Char(Zero), yw311) 17.14/6.73 new_groupByZs10(Char(Succ(yw3000)), :(Char(Succ(yw31000)), yw311)) -> new_groupByZs11(yw3000, yw31000, yw311, yw3000, yw31000) 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (13) 17.14/6.73 YES 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (14) 17.14/6.73 Obligation: 17.14/6.73 Q DP problem: 17.14/6.73 The TRS P consists of the following rules: 17.14/6.73 17.14/6.73 new_groupByZs1(yw90, yw91, yw92, Succ(yw930), Succ(yw940)) -> new_groupByZs1(yw90, yw91, yw92, yw930, yw940) 17.14/6.73 17.14/6.73 R is empty. 17.14/6.73 Q is empty. 17.14/6.73 We have to consider all minimal (P,Q,R)-chains. 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (15) QDPSizeChangeProof (EQUIVALENT) 17.14/6.73 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. 17.14/6.73 17.14/6.73 From the DPs we obtained the following set of size-change graphs: 17.14/6.73 *new_groupByZs1(yw90, yw91, yw92, Succ(yw930), Succ(yw940)) -> new_groupByZs1(yw90, yw91, yw92, yw930, yw940) 17.14/6.73 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 17.14/6.73 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (16) 17.14/6.73 YES 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (17) 17.14/6.73 Obligation: 17.14/6.73 Q DP problem: 17.14/6.73 The TRS P consists of the following rules: 17.14/6.73 17.14/6.73 new_span2Ys(:(Char(Zero), yw3111)) -> new_span2Zs(yw3111) 17.14/6.73 new_span2Zs(:(Char(Zero), yw3111)) -> new_span2Zs(yw3111) 17.14/6.73 new_span2Ys(:(Char(Zero), yw3111)) -> new_span2Ys(yw3111) 17.14/6.73 new_span2Zs(:(Char(Zero), yw3111)) -> new_span2Ys(yw3111) 17.14/6.73 17.14/6.73 R is empty. 17.14/6.73 Q is empty. 17.14/6.73 We have to consider all minimal (P,Q,R)-chains. 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (18) QDPSizeChangeProof (EQUIVALENT) 17.14/6.73 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. 17.14/6.73 17.14/6.73 From the DPs we obtained the following set of size-change graphs: 17.14/6.73 *new_span2Zs(:(Char(Zero), yw3111)) -> new_span2Ys(yw3111) 17.14/6.73 The graph contains the following edges 1 > 1 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Zs(:(Char(Zero), yw3111)) -> new_span2Zs(yw3111) 17.14/6.73 The graph contains the following edges 1 > 1 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Ys(:(Char(Zero), yw3111)) -> new_span2Ys(yw3111) 17.14/6.73 The graph contains the following edges 1 > 1 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Ys(:(Char(Zero), yw3111)) -> new_span2Zs(yw3111) 17.14/6.73 The graph contains the following edges 1 > 1 17.14/6.73 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (19) 17.14/6.73 YES 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (20) 17.14/6.73 Obligation: 17.14/6.73 Q DP problem: 17.14/6.73 The TRS P consists of the following rules: 17.14/6.73 17.14/6.73 new_span2Zs00(yw179, yw180, yw181, Zero, Zero) -> new_span2Zs0(yw179, yw181) 17.14/6.73 new_span2Ys0(yw173, yw174, yw175, Succ(yw1760), Succ(yw1770)) -> new_span2Ys0(yw173, yw174, yw175, yw1760, yw1770) 17.14/6.73 new_span2Ys0(yw173, yw174, yw175, Zero, Zero) -> new_span2Ys1(yw173, yw175) 17.14/6.73 new_span2Zs00(yw179, yw180, yw181, Succ(yw1820), Succ(yw1830)) -> new_span2Zs00(yw179, yw180, yw181, yw1820, yw1830) 17.14/6.73 new_span2Ys1(yw39, :(Char(Succ(yw41000)), yw411)) -> new_span2Ys0(yw39, yw41000, yw411, yw39, yw41000) 17.14/6.73 new_span2Zs00(yw179, yw180, yw181, Zero, Zero) -> new_span2Ys1(yw179, yw181) 17.14/6.73 new_span2Ys0(yw173, yw174, yw175, Zero, Zero) -> new_span2Zs0(yw173, yw175) 17.14/6.73 new_span2Zs0(yw53, :(Char(Succ(yw55000)), yw551)) -> new_span2Zs00(yw53, yw55000, yw551, yw53, yw55000) 17.14/6.73 17.14/6.73 R is empty. 17.14/6.73 Q is empty. 17.14/6.73 We have to consider all minimal (P,Q,R)-chains. 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (21) QDPSizeChangeProof (EQUIVALENT) 17.14/6.73 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. 17.14/6.73 17.14/6.73 From the DPs we obtained the following set of size-change graphs: 17.14/6.73 *new_span2Zs0(yw53, :(Char(Succ(yw55000)), yw551)) -> new_span2Zs00(yw53, yw55000, yw551, yw53, yw55000) 17.14/6.73 The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3, 1 >= 4, 2 > 5 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Zs00(yw179, yw180, yw181, Succ(yw1820), Succ(yw1830)) -> new_span2Zs00(yw179, yw180, yw181, yw1820, yw1830) 17.14/6.73 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Ys0(yw173, yw174, yw175, Succ(yw1760), Succ(yw1770)) -> new_span2Ys0(yw173, yw174, yw175, yw1760, yw1770) 17.14/6.73 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Ys1(yw39, :(Char(Succ(yw41000)), yw411)) -> new_span2Ys0(yw39, yw41000, yw411, yw39, yw41000) 17.14/6.73 The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3, 1 >= 4, 2 > 5 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Ys0(yw173, yw174, yw175, Zero, Zero) -> new_span2Ys1(yw173, yw175) 17.14/6.73 The graph contains the following edges 1 >= 1, 3 >= 2 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Ys0(yw173, yw174, yw175, Zero, Zero) -> new_span2Zs0(yw173, yw175) 17.14/6.73 The graph contains the following edges 1 >= 1, 3 >= 2 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Zs00(yw179, yw180, yw181, Zero, Zero) -> new_span2Ys1(yw179, yw181) 17.14/6.73 The graph contains the following edges 1 >= 1, 3 >= 2 17.14/6.73 17.14/6.73 17.14/6.73 *new_span2Zs00(yw179, yw180, yw181, Zero, Zero) -> new_span2Zs0(yw179, yw181) 17.14/6.73 The graph contains the following edges 1 >= 1, 3 >= 2 17.14/6.73 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (22) 17.14/6.73 YES 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (23) 17.14/6.73 Obligation: 17.14/6.73 Q DP problem: 17.14/6.73 The TRS P consists of the following rules: 17.14/6.73 17.14/6.73 new_groupByYs1(yw68, yw69, yw70, Succ(yw710), Succ(yw720)) -> new_groupByYs1(yw68, yw69, yw70, yw710, yw720) 17.14/6.73 17.14/6.73 R is empty. 17.14/6.73 Q is empty. 17.14/6.73 We have to consider all minimal (P,Q,R)-chains. 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (24) QDPSizeChangeProof (EQUIVALENT) 17.14/6.73 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. 17.14/6.73 17.14/6.73 From the DPs we obtained the following set of size-change graphs: 17.14/6.73 *new_groupByYs1(yw68, yw69, yw70, Succ(yw710), Succ(yw720)) -> new_groupByYs1(yw68, yw69, yw70, yw710, yw720) 17.14/6.73 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5 17.14/6.73 17.14/6.73 17.14/6.73 ---------------------------------------- 17.14/6.73 17.14/6.73 (25) 17.14/6.73 YES 17.31/7.29 EOF