11.60/4.75 YES 14.26/5.49 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 14.26/5.49 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 14.26/5.49 14.26/5.49 14.26/5.49 H-Termination with start terms of the given HASKELL could be proven: 14.26/5.49 14.26/5.49 (0) HASKELL 14.26/5.49 (1) LR [EQUIVALENT, 0 ms] 14.26/5.49 (2) HASKELL 14.26/5.49 (3) CR [EQUIVALENT, 0 ms] 14.26/5.49 (4) HASKELL 14.26/5.49 (5) IFR [EQUIVALENT, 0 ms] 14.26/5.49 (6) HASKELL 14.26/5.49 (7) BR [EQUIVALENT, 0 ms] 14.26/5.49 (8) HASKELL 14.26/5.49 (9) COR [EQUIVALENT, 22 ms] 14.26/5.49 (10) HASKELL 14.26/5.49 (11) NumRed [SOUND, 0 ms] 14.26/5.49 (12) HASKELL 14.26/5.49 (13) Narrow [SOUND, 0 ms] 14.26/5.49 (14) AND 14.26/5.49 (15) QDP 14.26/5.49 (16) TransformationProof [EQUIVALENT, 0 ms] 14.26/5.49 (17) QDP 14.26/5.49 (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.26/5.49 (19) YES 14.26/5.49 (20) QDP 14.26/5.49 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.26/5.49 (22) YES 14.26/5.49 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (0) 14.26/5.49 Obligation: 14.26/5.49 mainModule Main 14.26/5.49 module Maybe where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Prelude; 14.26/5.49 listToMaybe :: [a] -> Maybe a; 14.26/5.49 listToMaybe [] = Nothing; 14.26/5.49 listToMaybe (a : _) = Just a; 14.26/5.49 14.26/5.49 } 14.26/5.49 module List where { 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.26/5.49 elemIndex x = findIndex (== x); 14.26/5.49 14.26/5.49 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.26/5.49 findIndex p = Maybe.listToMaybe . findIndices p; 14.26/5.49 14.26/5.49 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.26/5.49 findIndices p xs = concatMap (\vv1 ->case vv1 of { 14.26/5.49 (x,i)-> if p x then i : [] else []; 14.26/5.49 _-> []; 14.26/5.49 } ) (zip xs (enumFrom 0)); 14.26/5.49 14.26/5.49 } 14.26/5.49 module Main where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 } 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (1) LR (EQUIVALENT) 14.26/5.49 Lambda Reductions: 14.26/5.49 The following Lambda expression 14.26/5.49 "\ab->(a,b)" 14.26/5.49 is transformed to 14.26/5.49 "zip0 a b = (a,b); 14.26/5.49 " 14.26/5.49 The following Lambda expression 14.26/5.49 "\vv1->case vv1 of { 14.26/5.49 (x,i) -> if p x then i : [] else []; 14.26/5.49 _ -> []} 14.26/5.49 " 14.26/5.49 is transformed to 14.26/5.49 "findIndices0 p vv1 = case vv1 of { 14.26/5.49 (x,i) -> if p x then i : [] else []; 14.26/5.49 _ -> []} 14.26/5.49 ; 14.26/5.49 " 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (2) 14.26/5.49 Obligation: 14.26/5.49 mainModule Main 14.26/5.49 module Maybe where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Prelude; 14.26/5.49 listToMaybe :: [a] -> Maybe a; 14.26/5.49 listToMaybe [] = Nothing; 14.26/5.49 listToMaybe (a : _) = Just a; 14.26/5.49 14.26/5.49 } 14.26/5.49 module List where { 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.26/5.49 elemIndex x = findIndex (== x); 14.26/5.49 14.26/5.49 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.26/5.49 findIndex p = Maybe.listToMaybe . findIndices p; 14.26/5.49 14.26/5.49 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.26/5.49 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.26/5.49 14.26/5.49 findIndices0 p vv1 = case vv1 of { 14.26/5.49 (x,i)-> if p x then i : [] else []; 14.26/5.49 _-> []; 14.26/5.49 } ; 14.26/5.49 14.26/5.49 } 14.26/5.49 module Main where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 } 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (3) CR (EQUIVALENT) 14.26/5.49 Case Reductions: 14.26/5.49 The following Case expression 14.26/5.49 "case vv1 of { 14.26/5.49 (x,i) -> if p x then i : [] else []; 14.26/5.49 _ -> []} 14.26/5.49 " 14.26/5.49 is transformed to 14.26/5.49 "findIndices00 p (x,i) = if p x then i : [] else []; 14.26/5.49 findIndices00 p _ = []; 14.26/5.49 " 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (4) 14.26/5.49 Obligation: 14.26/5.49 mainModule Main 14.26/5.49 module Maybe where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Prelude; 14.26/5.49 listToMaybe :: [a] -> Maybe a; 14.26/5.49 listToMaybe [] = Nothing; 14.26/5.49 listToMaybe (a : _) = Just a; 14.26/5.49 14.26/5.49 } 14.26/5.49 module List where { 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.26/5.49 elemIndex x = findIndex (== x); 14.26/5.49 14.26/5.49 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.26/5.49 findIndex p = Maybe.listToMaybe . findIndices p; 14.26/5.49 14.26/5.49 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.26/5.49 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.26/5.49 14.26/5.49 findIndices0 p vv1 = findIndices00 p vv1; 14.26/5.49 14.26/5.49 findIndices00 p (x,i) = if p x then i : [] else []; 14.26/5.49 findIndices00 p _ = []; 14.26/5.49 14.26/5.49 } 14.26/5.49 module Main where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 } 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (5) IFR (EQUIVALENT) 14.26/5.49 If Reductions: 14.26/5.49 The following If expression 14.26/5.49 "if p x then i : [] else []" 14.26/5.49 is transformed to 14.26/5.49 "findIndices000 i True = i : []; 14.26/5.49 findIndices000 i False = []; 14.26/5.49 " 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (6) 14.26/5.49 Obligation: 14.26/5.49 mainModule Main 14.26/5.49 module Maybe where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Prelude; 14.26/5.49 listToMaybe :: [a] -> Maybe a; 14.26/5.49 listToMaybe [] = Nothing; 14.26/5.49 listToMaybe (a : _) = Just a; 14.26/5.49 14.26/5.49 } 14.26/5.49 module List where { 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.26/5.49 elemIndex x = findIndex (== x); 14.26/5.49 14.26/5.49 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.26/5.49 findIndex p = Maybe.listToMaybe . findIndices p; 14.26/5.49 14.26/5.49 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.26/5.49 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.26/5.49 14.26/5.49 findIndices0 p vv1 = findIndices00 p vv1; 14.26/5.49 14.26/5.49 findIndices00 p (x,i) = findIndices000 i (p x); 14.26/5.49 findIndices00 p _ = []; 14.26/5.49 14.26/5.49 findIndices000 i True = i : []; 14.26/5.49 findIndices000 i False = []; 14.26/5.49 14.26/5.49 } 14.26/5.49 module Main where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 } 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (7) BR (EQUIVALENT) 14.26/5.49 Replaced joker patterns by fresh variables and removed binding patterns. 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (8) 14.26/5.49 Obligation: 14.26/5.49 mainModule Main 14.26/5.49 module Maybe where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Prelude; 14.26/5.49 listToMaybe :: [a] -> Maybe a; 14.26/5.49 listToMaybe [] = Nothing; 14.26/5.49 listToMaybe (a : wv) = Just a; 14.26/5.49 14.26/5.49 } 14.26/5.49 module List where { 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.26/5.49 elemIndex x = findIndex (== x); 14.26/5.49 14.26/5.49 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.26/5.49 findIndex p = Maybe.listToMaybe . findIndices p; 14.26/5.49 14.26/5.49 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.26/5.49 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.26/5.49 14.26/5.49 findIndices0 p vv1 = findIndices00 p vv1; 14.26/5.49 14.26/5.49 findIndices00 p (x,i) = findIndices000 i (p x); 14.26/5.49 findIndices00 p ww = []; 14.26/5.49 14.26/5.49 findIndices000 i True = i : []; 14.26/5.49 findIndices000 i False = []; 14.26/5.49 14.26/5.49 } 14.26/5.49 module Main where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 } 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (9) COR (EQUIVALENT) 14.26/5.49 Cond Reductions: 14.26/5.49 The following Function with conditions 14.26/5.49 "undefined |Falseundefined; 14.26/5.49 " 14.26/5.49 is transformed to 14.26/5.49 "undefined = undefined1; 14.26/5.49 " 14.26/5.49 "undefined0 True = undefined; 14.26/5.49 " 14.26/5.49 "undefined1 = undefined0 False; 14.26/5.49 " 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (10) 14.26/5.49 Obligation: 14.26/5.49 mainModule Main 14.26/5.49 module Maybe where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Prelude; 14.26/5.49 listToMaybe :: [a] -> Maybe a; 14.26/5.49 listToMaybe [] = Nothing; 14.26/5.49 listToMaybe (a : wv) = Just a; 14.26/5.49 14.26/5.49 } 14.26/5.49 module List where { 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.26/5.49 elemIndex x = findIndex (== x); 14.26/5.49 14.26/5.49 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.26/5.49 findIndex p = Maybe.listToMaybe . findIndices p; 14.26/5.49 14.26/5.49 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.26/5.49 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.26/5.49 14.26/5.49 findIndices0 p vv1 = findIndices00 p vv1; 14.26/5.49 14.26/5.49 findIndices00 p (x,i) = findIndices000 i (p x); 14.26/5.49 findIndices00 p ww = []; 14.26/5.49 14.26/5.49 findIndices000 i True = i : []; 14.26/5.49 findIndices000 i False = []; 14.26/5.49 14.26/5.49 } 14.26/5.49 module Main where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 } 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (11) NumRed (SOUND) 14.26/5.49 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (12) 14.26/5.49 Obligation: 14.26/5.49 mainModule Main 14.26/5.49 module Maybe where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Prelude; 14.26/5.49 listToMaybe :: [a] -> Maybe a; 14.26/5.49 listToMaybe [] = Nothing; 14.26/5.49 listToMaybe (a : wv) = Just a; 14.26/5.49 14.26/5.49 } 14.26/5.49 module List where { 14.26/5.49 import qualified Main; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.26/5.49 elemIndex x = findIndex (== x); 14.26/5.49 14.26/5.49 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.26/5.49 findIndex p = Maybe.listToMaybe . findIndices p; 14.26/5.49 14.26/5.49 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.26/5.49 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom (Pos Zero))); 14.26/5.49 14.26/5.49 findIndices0 p vv1 = findIndices00 p vv1; 14.26/5.49 14.26/5.49 findIndices00 p (x,i) = findIndices000 i (p x); 14.26/5.49 findIndices00 p ww = []; 14.26/5.49 14.26/5.49 findIndices000 i True = i : []; 14.26/5.49 findIndices000 i False = []; 14.26/5.49 14.26/5.49 } 14.26/5.49 module Main where { 14.26/5.49 import qualified List; 14.26/5.49 import qualified Maybe; 14.26/5.49 import qualified Prelude; 14.26/5.49 } 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (13) Narrow (SOUND) 14.26/5.49 Haskell To QDPs 14.26/5.49 14.26/5.49 digraph dp_graph { 14.26/5.49 node [outthreshold=100, inthreshold=100];1[label="List.elemIndex",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 14.26/5.49 3[label="List.elemIndex wx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 14.26/5.49 4[label="List.elemIndex wx3 wx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 14.26/5.49 5[label="List.findIndex (wx3 ==) wx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 14.26/5.49 6[label="Maybe.listToMaybe . List.findIndices (wx3 ==)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 14.26/5.49 7[label="Maybe.listToMaybe (List.findIndices (wx3 ==) wx4)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 14.26/5.49 8[label="Maybe.listToMaybe (concatMap (List.findIndices0 (wx3 ==)) (zip wx4 (enumFrom (Pos Zero))))",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 14.26/5.49 9[label="Maybe.listToMaybe (concat . map (List.findIndices0 (wx3 ==)))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 14.26/5.49 10[label="Maybe.listToMaybe (concat (map (List.findIndices0 (wx3 ==)) (zip wx4 (enumFrom (Pos Zero)))))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 14.26/5.49 11[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zip wx4 (enumFrom (Pos Zero)))))",fontsize=16,color="black",shape="box"];11 -> 12[label="",style="solid", color="black", weight=3]; 14.26/5.49 12[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 wx4 (enumFrom (Pos Zero)))))",fontsize=16,color="burlywood",shape="box"];709[label="wx4/wx40 : wx41",fontsize=10,color="white",style="solid",shape="box"];12 -> 709[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 709 -> 13[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 710[label="wx4/[]",fontsize=10,color="white",style="solid",shape="box"];12 -> 710[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 710 -> 14[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 13[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 (wx40 : wx41) (enumFrom (Pos Zero)))))",fontsize=16,color="black",shape="box"];13 -> 15[label="",style="solid", color="black", weight=3]; 14.26/5.49 14[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 [] (enumFrom (Pos Zero)))))",fontsize=16,color="black",shape="box"];14 -> 16[label="",style="solid", color="black", weight=3]; 14.26/5.49 15[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 (wx40 : wx41) (numericEnumFrom (Pos Zero)))))",fontsize=16,color="black",shape="box"];15 -> 17[label="",style="solid", color="black", weight=3]; 14.26/5.49 16[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) []))",fontsize=16,color="black",shape="box"];16 -> 18[label="",style="solid", color="black", weight=3]; 14.26/5.49 17[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 (wx40 : wx41) (Pos Zero : (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];17 -> 19[label="",style="solid", color="black", weight=3]; 14.26/5.49 18[label="Maybe.listToMaybe (foldr (++) [] [])",fontsize=16,color="black",shape="triangle"];18 -> 20[label="",style="solid", color="black", weight=3]; 14.26/5.49 19[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zip0 wx40 (Pos Zero) : zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];19 -> 21[label="",style="solid", color="black", weight=3]; 14.26/5.49 20[label="Maybe.listToMaybe []",fontsize=16,color="black",shape="box"];20 -> 22[label="",style="solid", color="black", weight=3]; 14.26/5.49 21[label="Maybe.listToMaybe (foldr (++) [] (List.findIndices0 (wx3 ==) (zip0 wx40 (Pos Zero)) : map (List.findIndices0 (wx3 ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];21 -> 23[label="",style="solid", color="black", weight=3]; 14.26/5.49 22[label="Nothing",fontsize=16,color="green",shape="box"];23[label="Maybe.listToMaybe ((++) List.findIndices0 (wx3 ==) (zip0 wx40 (Pos Zero)) foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];23 -> 24[label="",style="solid", color="black", weight=3]; 14.26/5.49 24[label="Maybe.listToMaybe ((++) List.findIndices00 (wx3 ==) (zip0 wx40 (Pos Zero)) foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];24 -> 25[label="",style="solid", color="black", weight=3]; 14.26/5.49 25[label="Maybe.listToMaybe ((++) List.findIndices00 (wx3 ==) (wx40,Pos Zero) foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];25 -> 26[label="",style="solid", color="black", weight=3]; 14.26/5.49 26[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (wx3 == wx40) foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];26 -> 27[label="",style="solid", color="black", weight=3]; 14.26/5.49 27[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqChar wx3 wx40) foldr (++) [] (map (List.findIndices0 (primEqChar wx3)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];711[label="wx3/Char wx30",fontsize=10,color="white",style="solid",shape="box"];27 -> 711[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 711 -> 28[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 28[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqChar (Char wx30) wx40) foldr (++) [] (map (List.findIndices0 (primEqChar (Char wx30))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];712[label="wx40/Char wx400",fontsize=10,color="white",style="solid",shape="box"];28 -> 712[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 712 -> 29[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 29[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqChar (Char wx30) (Char wx400)) foldr (++) [] (map (List.findIndices0 (primEqChar (Char wx30))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];29 -> 30[label="",style="solid", color="black", weight=3]; 14.26/5.49 30[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqNat wx30 wx400) foldr (++) [] (map (List.findIndices0 (primEqChar (Char wx30))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];713[label="wx30/Succ wx300",fontsize=10,color="white",style="solid",shape="box"];30 -> 713[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 713 -> 31[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 714[label="wx30/Zero",fontsize=10,color="white",style="solid",shape="box"];30 -> 714[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 714 -> 32[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 31[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqNat (Succ wx300) wx400) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];715[label="wx400/Succ wx4000",fontsize=10,color="white",style="solid",shape="box"];31 -> 715[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 715 -> 33[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 716[label="wx400/Zero",fontsize=10,color="white",style="solid",shape="box"];31 -> 716[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 716 -> 34[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 32[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqNat Zero wx400) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];717[label="wx400/Succ wx4000",fontsize=10,color="white",style="solid",shape="box"];32 -> 717[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 717 -> 35[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 718[label="wx400/Zero",fontsize=10,color="white",style="solid",shape="box"];32 -> 718[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 718 -> 36[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 33[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqNat (Succ wx300) (Succ wx4000)) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];33 -> 37[label="",style="solid", color="black", weight=3]; 14.26/5.49 34[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqNat (Succ wx300) Zero) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];34 -> 38[label="",style="solid", color="black", weight=3]; 14.26/5.49 35[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqNat Zero (Succ wx4000)) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];35 -> 39[label="",style="solid", color="black", weight=3]; 14.26/5.49 36[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqNat Zero Zero) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];36 -> 40[label="",style="solid", color="black", weight=3]; 14.26/5.49 37 -> 594[label="",style="dashed", color="red", weight=0]; 14.26/5.49 37[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (primEqNat wx300 wx4000) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];37 -> 595[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 37 -> 596[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 37 -> 597[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 37 -> 598[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 37 -> 599[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 37 -> 600[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 38[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];38 -> 43[label="",style="solid", color="black", weight=3]; 14.26/5.49 39[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];39 -> 44[label="",style="solid", color="black", weight=3]; 14.26/5.49 40[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) True foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];40 -> 45[label="",style="solid", color="black", weight=3]; 14.26/5.49 595[label="wx300",fontsize=16,color="green",shape="box"];596[label="Zero",fontsize=16,color="green",shape="box"];597[label="Zero",fontsize=16,color="green",shape="box"];598[label="wx4000",fontsize=16,color="green",shape="box"];599[label="wx300",fontsize=16,color="green",shape="box"];600[label="wx41",fontsize=16,color="green",shape="box"];594[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) (primEqNat wx32 wx33) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="triangle"];719[label="wx32/Succ wx320",fontsize=10,color="white",style="solid",shape="box"];594 -> 719[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 719 -> 679[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 720[label="wx32/Zero",fontsize=10,color="white",style="solid",shape="box"];594 -> 720[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 720 -> 680[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 43[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];43 -> 50[label="",style="solid", color="black", weight=3]; 14.26/5.49 44[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];44 -> 51[label="",style="solid", color="black", weight=3]; 14.26/5.49 45[label="Maybe.listToMaybe ((++) (Pos Zero : []) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];45 -> 52[label="",style="solid", color="black", weight=3]; 14.26/5.49 679[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) (primEqNat (Succ wx320) wx33) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];721[label="wx33/Succ wx330",fontsize=10,color="white",style="solid",shape="box"];679 -> 721[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 721 -> 683[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 722[label="wx33/Zero",fontsize=10,color="white",style="solid",shape="box"];679 -> 722[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 722 -> 684[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 680[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) (primEqNat Zero wx33) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];723[label="wx33/Succ wx330",fontsize=10,color="white",style="solid",shape="box"];680 -> 723[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 723 -> 685[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 724[label="wx33/Zero",fontsize=10,color="white",style="solid",shape="box"];680 -> 724[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 724 -> 686[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 50[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];725[label="wx41/wx410 : wx411",fontsize=10,color="white",style="solid",shape="box"];50 -> 725[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 725 -> 57[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 726[label="wx41/[]",fontsize=10,color="white",style="solid",shape="box"];50 -> 726[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 726 -> 58[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 51[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];727[label="wx41/wx410 : wx411",fontsize=10,color="white",style="solid",shape="box"];51 -> 727[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 727 -> 59[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 728[label="wx41/[]",fontsize=10,color="white",style="solid",shape="box"];51 -> 728[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 728 -> 60[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 52[label="Maybe.listToMaybe (Pos Zero : [] ++ foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];52 -> 61[label="",style="solid", color="black", weight=3]; 14.26/5.49 683[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) (primEqNat (Succ wx320) (Succ wx330)) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];683 -> 687[label="",style="solid", color="black", weight=3]; 14.26/5.49 684[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) (primEqNat (Succ wx320) Zero) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];684 -> 688[label="",style="solid", color="black", weight=3]; 14.26/5.49 685[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) (primEqNat Zero (Succ wx330)) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];685 -> 689[label="",style="solid", color="black", weight=3]; 14.26/5.49 686[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) (primEqNat Zero Zero) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];686 -> 690[label="",style="solid", color="black", weight=3]; 14.26/5.49 57[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 (wx410 : wx411) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];57 -> 67[label="",style="solid", color="black", weight=3]; 14.26/5.49 58[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 [] (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];58 -> 68[label="",style="solid", color="black", weight=3]; 14.26/5.49 59[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx410 : wx411) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];59 -> 69[label="",style="solid", color="black", weight=3]; 14.26/5.49 60[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 [] (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];60 -> 70[label="",style="solid", color="black", weight=3]; 14.26/5.49 61[label="Just (Pos Zero)",fontsize=16,color="green",shape="box"];687 -> 594[label="",style="dashed", color="red", weight=0]; 14.26/5.49 687[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) (primEqNat wx320 wx330) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];687 -> 691[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 687 -> 692[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 688[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) False foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];688 -> 693[label="",style="solid", color="black", weight=3]; 14.26/5.49 689 -> 688[label="",style="dashed", color="red", weight=0]; 14.26/5.49 689[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) False foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];690[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx31) True foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];690 -> 694[label="",style="solid", color="black", weight=3]; 14.26/5.49 67[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 (wx410 : wx411) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];67 -> 76[label="",style="solid", color="black", weight=3]; 14.26/5.49 68[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) []))",fontsize=16,color="black",shape="triangle"];68 -> 77[label="",style="solid", color="black", weight=3]; 14.26/5.49 69[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx410 : wx411) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];69 -> 78[label="",style="solid", color="black", weight=3]; 14.26/5.49 70[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) []))",fontsize=16,color="black",shape="triangle"];70 -> 79[label="",style="solid", color="black", weight=3]; 14.26/5.49 691[label="wx320",fontsize=16,color="green",shape="box"];692[label="wx330",fontsize=16,color="green",shape="box"];693[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];693 -> 695[label="",style="solid", color="black", weight=3]; 14.26/5.49 694[label="Maybe.listToMaybe ((++) (Pos wx31 : []) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];694 -> 696[label="",style="solid", color="black", weight=3]; 14.26/5.49 76 -> 311[label="",style="dashed", color="red", weight=0]; 14.26/5.49 76[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 (wx410 : wx411) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))))))",fontsize=16,color="magenta"];76 -> 312[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 76 -> 313[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 76 -> 314[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 76 -> 315[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 77 -> 18[label="",style="dashed", color="red", weight=0]; 14.26/5.49 77[label="Maybe.listToMaybe (foldr (++) [] [])",fontsize=16,color="magenta"];78 -> 326[label="",style="dashed", color="red", weight=0]; 14.26/5.49 78[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx410 : wx411) (enforceWHNF (WHNF (Pos Zero + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))))))",fontsize=16,color="magenta"];78 -> 327[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 78 -> 328[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 78 -> 329[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 78 -> 330[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 79 -> 18[label="",style="dashed", color="red", weight=0]; 14.26/5.49 79[label="Maybe.listToMaybe (foldr (++) [] [])",fontsize=16,color="magenta"];695[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];729[label="wx35/wx350 : wx351",fontsize=10,color="white",style="solid",shape="box"];695 -> 729[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 729 -> 697[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 730[label="wx35/[]",fontsize=10,color="white",style="solid",shape="box"];695 -> 730[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 730 -> 698[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 696[label="Maybe.listToMaybe (Pos wx31 : [] ++ foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 wx35 (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];696 -> 699[label="",style="solid", color="black", weight=3]; 14.26/5.49 312[label="wx411",fontsize=16,color="green",shape="box"];313[label="wx410",fontsize=16,color="green",shape="box"];314[label="Zero",fontsize=16,color="green",shape="box"];315[label="Zero",fontsize=16,color="green",shape="box"];311[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (Pos wx16 + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos wx15 + fromInt (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="triangle"];311 -> 325[label="",style="solid", color="black", weight=3]; 14.26/5.49 327[label="wx411",fontsize=16,color="green",shape="box"];328[label="Zero",fontsize=16,color="green",shape="box"];329[label="wx410",fontsize=16,color="green",shape="box"];330[label="Zero",fontsize=16,color="green",shape="box"];326[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (Pos wx18 + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos wx17 + fromInt (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="triangle"];326 -> 334[label="",style="solid", color="black", weight=3]; 14.26/5.49 697[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 (wx350 : wx351) (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];697 -> 700[label="",style="solid", color="black", weight=3]; 14.26/5.49 698[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 [] (numericEnumFrom $! Pos wx36 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];698 -> 701[label="",style="solid", color="black", weight=3]; 14.26/5.49 699[label="Just (Pos wx31)",fontsize=16,color="green",shape="box"];325[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (primPlusInt (Pos wx16) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos wx15) (fromInt (Pos (Succ Zero)))))))))",fontsize=16,color="black",shape="box"];325 -> 335[label="",style="solid", color="black", weight=3]; 14.26/5.49 334[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (primPlusInt (Pos wx18) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos wx17) (fromInt (Pos (Succ Zero)))))))))",fontsize=16,color="black",shape="box"];334 -> 337[label="",style="solid", color="black", weight=3]; 14.26/5.49 700[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 (wx350 : wx351) (Pos wx36 + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos wx36 + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];700 -> 702[label="",style="solid", color="black", weight=3]; 14.26/5.49 701 -> 68[label="",style="dashed", color="red", weight=0]; 14.26/5.49 701[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) []))",fontsize=16,color="magenta"];701 -> 703[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 335[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (primPlusInt (Pos wx16) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos wx15) (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];335 -> 338[label="",style="solid", color="black", weight=3]; 14.26/5.49 337[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (primPlusInt (Pos wx18) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos wx17) (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];337 -> 339[label="",style="solid", color="black", weight=3]; 14.26/5.49 702 -> 311[label="",style="dashed", color="red", weight=0]; 14.26/5.49 702[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx34)))) (zipWith zip0 (wx350 : wx351) (enforceWHNF (WHNF (Pos wx36 + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos wx36 + fromInt (Pos (Succ Zero))))))))",fontsize=16,color="magenta"];702 -> 704[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 702 -> 705[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 702 -> 706[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 702 -> 707[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 702 -> 708[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 703[label="wx34",fontsize=16,color="green",shape="box"];338[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (Pos (primPlusNat wx16 (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat wx16 (Succ Zero))))))))",fontsize=16,color="black",shape="box"];338 -> 340[label="",style="solid", color="black", weight=3]; 14.26/5.49 339[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (Pos (primPlusNat wx18 (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat wx18 (Succ Zero))))))))",fontsize=16,color="black",shape="box"];339 -> 341[label="",style="solid", color="black", weight=3]; 14.26/5.49 704[label="wx351",fontsize=16,color="green",shape="box"];705[label="wx350",fontsize=16,color="green",shape="box"];706[label="wx34",fontsize=16,color="green",shape="box"];707[label="wx36",fontsize=16,color="green",shape="box"];708[label="wx36",fontsize=16,color="green",shape="box"];340[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 (wx4110 : wx4111) (numericEnumFrom (Pos (primPlusNat wx16 (Succ Zero)))))))",fontsize=16,color="black",shape="box"];340 -> 342[label="",style="solid", color="black", weight=3]; 14.26/5.49 341[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx4110 : wx4111) (numericEnumFrom (Pos (primPlusNat wx18 (Succ Zero)))))))",fontsize=16,color="black",shape="box"];341 -> 343[label="",style="solid", color="black", weight=3]; 14.26/5.49 342[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 (wx4110 : wx4111) (Pos (primPlusNat wx16 (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat wx16 (Succ Zero)) + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];342 -> 344[label="",style="solid", color="black", weight=3]; 14.26/5.49 343[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx4110 : wx4111) (Pos (primPlusNat wx18 (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];343 -> 345[label="",style="solid", color="black", weight=3]; 14.26/5.49 344[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zip0 wx4110 (Pos (primPlusNat wx16 (Succ Zero))) : zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx16 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];344 -> 346[label="",style="solid", color="black", weight=3]; 14.26/5.49 345[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zip0 wx4110 (Pos (primPlusNat wx18 (Succ Zero))) : zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];345 -> 347[label="",style="solid", color="black", weight=3]; 14.26/5.49 346[label="Maybe.listToMaybe (foldr (++) [] (List.findIndices0 (primEqChar (Char (Succ wx300))) (zip0 wx4110 (Pos (primPlusNat wx16 (Succ Zero)))) : map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx16 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];346 -> 348[label="",style="solid", color="black", weight=3]; 14.26/5.49 347[label="Maybe.listToMaybe (foldr (++) [] (List.findIndices0 (primEqChar (Char Zero)) (zip0 wx4110 (Pos (primPlusNat wx18 (Succ Zero)))) : map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];347 -> 349[label="",style="solid", color="black", weight=3]; 14.26/5.49 348[label="Maybe.listToMaybe ((++) List.findIndices0 (primEqChar (Char (Succ wx300))) (zip0 wx4110 (Pos (primPlusNat wx16 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx16 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];348 -> 350[label="",style="solid", color="black", weight=3]; 14.26/5.49 349[label="Maybe.listToMaybe ((++) List.findIndices0 (primEqChar (Char Zero)) (zip0 wx4110 (Pos (primPlusNat wx18 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];349 -> 351[label="",style="solid", color="black", weight=3]; 14.26/5.49 350[label="Maybe.listToMaybe ((++) List.findIndices00 (primEqChar (Char (Succ wx300))) (zip0 wx4110 (Pos (primPlusNat wx16 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx16 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];350 -> 352[label="",style="solid", color="black", weight=3]; 14.26/5.49 351[label="Maybe.listToMaybe ((++) List.findIndices00 (primEqChar (Char Zero)) (zip0 wx4110 (Pos (primPlusNat wx18 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];351 -> 353[label="",style="solid", color="black", weight=3]; 14.26/5.49 352[label="Maybe.listToMaybe ((++) List.findIndices00 (primEqChar (Char (Succ wx300))) (wx4110,Pos (primPlusNat wx16 (Succ Zero))) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx16 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];352 -> 354[label="",style="solid", color="black", weight=3]; 14.26/5.49 353[label="Maybe.listToMaybe ((++) List.findIndices00 (primEqChar (Char Zero)) (wx4110,Pos (primPlusNat wx18 (Succ Zero))) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];353 -> 355[label="",style="solid", color="black", weight=3]; 14.26/5.49 354[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx16 (Succ Zero))) (primEqChar (Char (Succ wx300)) wx4110) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx16 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];731[label="wx4110/Char wx41100",fontsize=10,color="white",style="solid",shape="box"];354 -> 731[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 731 -> 356[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 355[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx18 (Succ Zero))) (primEqChar (Char Zero) wx4110) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];732[label="wx4110/Char wx41100",fontsize=10,color="white",style="solid",shape="box"];355 -> 732[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 732 -> 357[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 356[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx16 (Succ Zero))) (primEqChar (Char (Succ wx300)) (Char wx41100)) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx16 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];356 -> 358[label="",style="solid", color="black", weight=3]; 14.26/5.49 357[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx18 (Succ Zero))) (primEqChar (Char Zero) (Char wx41100)) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];357 -> 359[label="",style="solid", color="black", weight=3]; 14.26/5.49 358 -> 594[label="",style="dashed", color="red", weight=0]; 14.26/5.49 358[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx16 (Succ Zero))) (primEqNat (Succ wx300) wx41100) foldr (++) [] (map (List.findIndices0 (primEqChar (Char (Succ wx300)))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx16 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];358 -> 613[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 358 -> 614[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 358 -> 615[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 358 -> 616[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 358 -> 617[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 358 -> 618[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 359[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx18 (Succ Zero))) (primEqNat Zero wx41100) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];733[label="wx41100/Succ wx411000",fontsize=10,color="white",style="solid",shape="box"];359 -> 733[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 733 -> 362[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 734[label="wx41100/Zero",fontsize=10,color="white",style="solid",shape="box"];359 -> 734[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 734 -> 363[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 613[label="Succ wx300",fontsize=16,color="green",shape="box"];614 -> 398[label="",style="dashed", color="red", weight=0]; 14.26/5.49 614[label="primPlusNat wx16 (Succ Zero)",fontsize=16,color="magenta"];614 -> 681[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 615 -> 398[label="",style="dashed", color="red", weight=0]; 14.26/5.49 615[label="primPlusNat wx16 (Succ Zero)",fontsize=16,color="magenta"];615 -> 682[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 616[label="wx41100",fontsize=16,color="green",shape="box"];617[label="wx300",fontsize=16,color="green",shape="box"];618[label="wx4111",fontsize=16,color="green",shape="box"];362[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx18 (Succ Zero))) (primEqNat Zero (Succ wx411000)) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];362 -> 366[label="",style="solid", color="black", weight=3]; 14.26/5.49 363[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx18 (Succ Zero))) (primEqNat Zero Zero) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];363 -> 367[label="",style="solid", color="black", weight=3]; 14.26/5.49 681[label="wx16",fontsize=16,color="green",shape="box"];398[label="primPlusNat wx18 (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];735[label="wx18/Succ wx180",fontsize=10,color="white",style="solid",shape="box"];398 -> 735[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 735 -> 406[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 736[label="wx18/Zero",fontsize=10,color="white",style="solid",shape="box"];398 -> 736[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 736 -> 407[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 682[label="wx16",fontsize=16,color="green",shape="box"];366[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx18 (Succ Zero))) False foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];366 -> 371[label="",style="solid", color="black", weight=3]; 14.26/5.49 367[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx18 (Succ Zero))) True foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];367 -> 372[label="",style="solid", color="black", weight=3]; 14.26/5.49 406[label="primPlusNat (Succ wx180) (Succ Zero)",fontsize=16,color="black",shape="box"];406 -> 423[label="",style="solid", color="black", weight=3]; 14.26/5.49 407[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];407 -> 424[label="",style="solid", color="black", weight=3]; 14.26/5.49 371[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];371 -> 378[label="",style="solid", color="black", weight=3]; 14.26/5.49 372[label="Maybe.listToMaybe ((++) (Pos (primPlusNat wx18 (Succ Zero)) : []) foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];372 -> 379[label="",style="solid", color="black", weight=3]; 14.26/5.49 423[label="Succ (Succ (primPlusNat wx180 Zero))",fontsize=16,color="green",shape="box"];423 -> 438[label="",style="dashed", color="green", weight=3]; 14.26/5.49 424[label="Succ Zero",fontsize=16,color="green",shape="box"];378[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];737[label="wx4111/wx41110 : wx41111",fontsize=10,color="white",style="solid",shape="box"];378 -> 737[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 737 -> 386[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 738[label="wx4111/[]",fontsize=10,color="white",style="solid",shape="box"];378 -> 738[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 738 -> 387[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 379[label="Maybe.listToMaybe (Pos (primPlusNat wx18 (Succ Zero)) : [] ++ foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];379 -> 388[label="",style="solid", color="black", weight=3]; 14.26/5.49 438[label="primPlusNat wx180 Zero",fontsize=16,color="burlywood",shape="box"];739[label="wx180/Succ wx1800",fontsize=10,color="white",style="solid",shape="box"];438 -> 739[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 739 -> 446[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 740[label="wx180/Zero",fontsize=10,color="white",style="solid",shape="box"];438 -> 740[label="",style="solid", color="burlywood", weight=9]; 14.26/5.49 740 -> 447[label="",style="solid", color="burlywood", weight=3]; 14.26/5.49 386[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx41110 : wx41111) (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];386 -> 396[label="",style="solid", color="black", weight=3]; 14.26/5.49 387[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 [] (numericEnumFrom $! Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];387 -> 397[label="",style="solid", color="black", weight=3]; 14.26/5.49 388[label="Just (Pos (primPlusNat wx18 (Succ Zero)))",fontsize=16,color="green",shape="box"];388 -> 398[label="",style="dashed", color="green", weight=3]; 14.26/5.49 446[label="primPlusNat (Succ wx1800) Zero",fontsize=16,color="black",shape="box"];446 -> 453[label="",style="solid", color="black", weight=3]; 14.26/5.49 447[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];447 -> 454[label="",style="solid", color="black", weight=3]; 14.26/5.49 396[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx41110 : wx41111) (Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];396 -> 405[label="",style="solid", color="black", weight=3]; 14.26/5.49 397 -> 70[label="",style="dashed", color="red", weight=0]; 14.26/5.49 397[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) []))",fontsize=16,color="magenta"];453[label="Succ wx1800",fontsize=16,color="green",shape="box"];454[label="Zero",fontsize=16,color="green",shape="box"];405 -> 326[label="",style="dashed", color="red", weight=0]; 14.26/5.49 405[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (primEqChar (Char Zero))) (zipWith zip0 (wx41110 : wx41111) (enforceWHNF (WHNF (Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat wx18 (Succ Zero)) + fromInt (Pos (Succ Zero))))))))",fontsize=16,color="magenta"];405 -> 419[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 405 -> 420[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 405 -> 421[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 405 -> 422[label="",style="dashed", color="magenta", weight=3]; 14.26/5.49 419[label="wx41111",fontsize=16,color="green",shape="box"];420 -> 398[label="",style="dashed", color="red", weight=0]; 14.26/5.49 420[label="primPlusNat wx18 (Succ Zero)",fontsize=16,color="magenta"];421[label="wx41110",fontsize=16,color="green",shape="box"];422 -> 398[label="",style="dashed", color="red", weight=0]; 14.26/5.49 422[label="primPlusNat wx18 (Succ Zero)",fontsize=16,color="magenta"];} 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (14) 14.26/5.49 Complex Obligation (AND) 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (15) 14.26/5.49 Obligation: 14.26/5.49 Q DP problem: 14.26/5.49 The TRS P consists of the following rules: 14.26/5.49 14.26/5.49 new_listToMaybe0(wx31, Succ(wx320), Zero, wx34, :(wx350, wx351), wx36) -> new_listToMaybe1(wx34, wx350, wx351, wx36, wx36) 14.26/5.49 new_listToMaybe0(wx31, Zero, Succ(wx330), wx34, wx35, wx36) -> new_listToMaybe2(wx31, wx34, wx35, wx36) 14.26/5.49 new_listToMaybe1(wx300, Char(wx41100), wx4111, wx16, wx15) -> new_listToMaybe0(new_primPlusNat(wx16), Succ(wx300), wx41100, wx300, wx4111, new_primPlusNat(wx16)) 14.26/5.49 new_listToMaybe2(wx31, wx34, :(wx350, wx351), wx36) -> new_listToMaybe1(wx34, wx350, wx351, wx36, wx36) 14.26/5.49 new_listToMaybe0(wx31, Succ(wx320), Succ(wx330), wx34, wx35, wx36) -> new_listToMaybe0(wx31, wx320, wx330, wx34, wx35, wx36) 14.26/5.49 14.26/5.49 The TRS R consists of the following rules: 14.26/5.49 14.26/5.49 new_primPlusNat(Succ(wx180)) -> Succ(Succ(new_primPlusNat0(wx180))) 14.26/5.49 new_primPlusNat(Zero) -> Succ(Zero) 14.26/5.49 new_primPlusNat0(Succ(wx1800)) -> Succ(wx1800) 14.26/5.49 new_primPlusNat0(Zero) -> Zero 14.26/5.49 14.26/5.49 The set Q consists of the following terms: 14.26/5.49 14.26/5.49 new_primPlusNat(Succ(x0)) 14.26/5.49 new_primPlusNat0(Zero) 14.26/5.49 new_primPlusNat0(Succ(x0)) 14.26/5.49 new_primPlusNat(Zero) 14.26/5.49 14.26/5.49 We have to consider all minimal (P,Q,R)-chains. 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (16) TransformationProof (EQUIVALENT) 14.26/5.49 By instantiating [LPAR04] the rule new_listToMaybe1(wx300, Char(wx41100), wx4111, wx16, wx15) -> new_listToMaybe0(new_primPlusNat(wx16), Succ(wx300), wx41100, wx300, wx4111, new_primPlusNat(wx16)) we obtained the following new rules [LPAR04]: 14.26/5.49 14.26/5.49 (new_listToMaybe1(z2, Char(x1), z4, z5, z5) -> new_listToMaybe0(new_primPlusNat(z5), Succ(z2), x1, z2, z4, new_primPlusNat(z5)),new_listToMaybe1(z2, Char(x1), z4, z5, z5) -> new_listToMaybe0(new_primPlusNat(z5), Succ(z2), x1, z2, z4, new_primPlusNat(z5))) 14.26/5.49 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (17) 14.26/5.49 Obligation: 14.26/5.49 Q DP problem: 14.26/5.49 The TRS P consists of the following rules: 14.26/5.49 14.26/5.49 new_listToMaybe0(wx31, Succ(wx320), Zero, wx34, :(wx350, wx351), wx36) -> new_listToMaybe1(wx34, wx350, wx351, wx36, wx36) 14.26/5.49 new_listToMaybe0(wx31, Zero, Succ(wx330), wx34, wx35, wx36) -> new_listToMaybe2(wx31, wx34, wx35, wx36) 14.26/5.49 new_listToMaybe2(wx31, wx34, :(wx350, wx351), wx36) -> new_listToMaybe1(wx34, wx350, wx351, wx36, wx36) 14.26/5.49 new_listToMaybe0(wx31, Succ(wx320), Succ(wx330), wx34, wx35, wx36) -> new_listToMaybe0(wx31, wx320, wx330, wx34, wx35, wx36) 14.26/5.49 new_listToMaybe1(z2, Char(x1), z4, z5, z5) -> new_listToMaybe0(new_primPlusNat(z5), Succ(z2), x1, z2, z4, new_primPlusNat(z5)) 14.26/5.49 14.26/5.49 The TRS R consists of the following rules: 14.26/5.49 14.26/5.49 new_primPlusNat(Succ(wx180)) -> Succ(Succ(new_primPlusNat0(wx180))) 14.26/5.49 new_primPlusNat(Zero) -> Succ(Zero) 14.26/5.49 new_primPlusNat0(Succ(wx1800)) -> Succ(wx1800) 14.26/5.49 new_primPlusNat0(Zero) -> Zero 14.26/5.49 14.26/5.49 The set Q consists of the following terms: 14.26/5.49 14.26/5.49 new_primPlusNat(Succ(x0)) 14.26/5.49 new_primPlusNat0(Zero) 14.26/5.49 new_primPlusNat0(Succ(x0)) 14.26/5.49 new_primPlusNat(Zero) 14.26/5.49 14.26/5.49 We have to consider all minimal (P,Q,R)-chains. 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (18) QDPSizeChangeProof (EQUIVALENT) 14.26/5.49 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. 14.26/5.49 14.26/5.49 From the DPs we obtained the following set of size-change graphs: 14.26/5.49 *new_listToMaybe1(z2, Char(x1), z4, z5, z5) -> new_listToMaybe0(new_primPlusNat(z5), Succ(z2), x1, z2, z4, new_primPlusNat(z5)) 14.26/5.49 The graph contains the following edges 2 > 3, 1 >= 4, 3 >= 5 14.26/5.49 14.26/5.49 14.26/5.49 *new_listToMaybe0(wx31, Succ(wx320), Succ(wx330), wx34, wx35, wx36) -> new_listToMaybe0(wx31, wx320, wx330, wx34, wx35, wx36) 14.26/5.49 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4, 5 >= 5, 6 >= 6 14.26/5.49 14.26/5.49 14.26/5.49 *new_listToMaybe2(wx31, wx34, :(wx350, wx351), wx36) -> new_listToMaybe1(wx34, wx350, wx351, wx36, wx36) 14.26/5.49 The graph contains the following edges 2 >= 1, 3 > 2, 3 > 3, 4 >= 4, 4 >= 5 14.26/5.49 14.26/5.49 14.26/5.49 *new_listToMaybe0(wx31, Zero, Succ(wx330), wx34, wx35, wx36) -> new_listToMaybe2(wx31, wx34, wx35, wx36) 14.26/5.49 The graph contains the following edges 1 >= 1, 4 >= 2, 5 >= 3, 6 >= 4 14.26/5.49 14.26/5.49 14.26/5.49 *new_listToMaybe0(wx31, Succ(wx320), Zero, wx34, :(wx350, wx351), wx36) -> new_listToMaybe1(wx34, wx350, wx351, wx36, wx36) 14.26/5.49 The graph contains the following edges 4 >= 1, 5 > 2, 5 > 3, 6 >= 4, 6 >= 5 14.26/5.49 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (19) 14.26/5.49 YES 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (20) 14.26/5.49 Obligation: 14.26/5.49 Q DP problem: 14.26/5.49 The TRS P consists of the following rules: 14.26/5.49 14.26/5.49 new_listToMaybe(Char(Succ(wx411000)), :(wx41110, wx41111), wx18, wx17) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx18), new_primPlusNat(wx18)) 14.26/5.49 14.26/5.49 The TRS R consists of the following rules: 14.26/5.49 14.26/5.49 new_primPlusNat(Succ(wx180)) -> Succ(Succ(new_primPlusNat0(wx180))) 14.26/5.49 new_primPlusNat(Zero) -> Succ(Zero) 14.26/5.49 new_primPlusNat0(Succ(wx1800)) -> Succ(wx1800) 14.26/5.49 new_primPlusNat0(Zero) -> Zero 14.26/5.49 14.26/5.49 The set Q consists of the following terms: 14.26/5.49 14.26/5.49 new_primPlusNat(Succ(x0)) 14.26/5.49 new_primPlusNat0(Zero) 14.26/5.49 new_primPlusNat0(Succ(x0)) 14.26/5.49 new_primPlusNat(Zero) 14.26/5.49 14.26/5.49 We have to consider all minimal (P,Q,R)-chains. 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (21) QDPSizeChangeProof (EQUIVALENT) 14.26/5.49 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. 14.26/5.49 14.26/5.49 From the DPs we obtained the following set of size-change graphs: 14.26/5.49 *new_listToMaybe(Char(Succ(wx411000)), :(wx41110, wx41111), wx18, wx17) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx18), new_primPlusNat(wx18)) 14.26/5.49 The graph contains the following edges 2 > 1, 2 > 2 14.26/5.49 14.26/5.49 14.26/5.49 ---------------------------------------- 14.26/5.49 14.26/5.49 (22) 14.26/5.49 YES 14.61/5.53 EOF