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