/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) CR [EQUIVALENT, 0 ms] (4) HASKELL (5) IFR [EQUIVALENT, 0 ms] (6) HASKELL (7) BR [EQUIVALENT, 0 ms] (8) HASKELL (9) COR [EQUIVALENT, 15 ms] (10) HASKELL (11) NumRed [SOUND, 0 ms] (12) HASKELL (13) Narrow [SOUND, 0 ms] (14) AND (15) QDP (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] (17) YES (18) QDP (19) TransformationProof [EQUIVALENT, 0 ms] (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; listToMaybe :: [a] -> Maybe a; listToMaybe [] = Nothing; listToMaybe (a : _) = Just a; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; elemIndex :: Eq a => a -> [a] -> Maybe Int; elemIndex x = findIndex (== x); findIndex :: (a -> Bool) -> [a] -> Maybe Int; findIndex p = Maybe.listToMaybe . findIndices p; findIndices :: (a -> Bool) -> [a] -> [Int]; findIndices p xs = concatMap (\vv1 ->case vv1 of { (x,i)-> if p x then i : [] else []; _-> []; } ) (zip xs (enumFrom 0)); } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (1) LR (EQUIVALENT) Lambda Reductions: The following Lambda expression "\ab->(a,b)" is transformed to "zip0 a b = (a,b); " The following Lambda expression "\vv1->case vv1 of { (x,i) -> if p x then i : [] else []; _ -> []} " is transformed to "findIndices0 p vv1 = case vv1 of { (x,i) -> if p x then i : [] else []; _ -> []} ; " ---------------------------------------- (2) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; listToMaybe :: [a] -> Maybe a; listToMaybe [] = Nothing; listToMaybe (a : _) = Just a; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; elemIndex :: Eq a => a -> [a] -> Maybe Int; elemIndex x = findIndex (== x); findIndex :: (a -> Bool) -> [a] -> Maybe Int; findIndex p = Maybe.listToMaybe . findIndices p; findIndices :: (a -> Bool) -> [a] -> [Int]; findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); findIndices0 p vv1 = case vv1 of { (x,i)-> if p x then i : [] else []; _-> []; } ; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (3) CR (EQUIVALENT) Case Reductions: The following Case expression "case vv1 of { (x,i) -> if p x then i : [] else []; _ -> []} " is transformed to "findIndices00 p (x,i) = if p x then i : [] else []; findIndices00 p _ = []; " ---------------------------------------- (4) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; listToMaybe :: [a] -> Maybe a; listToMaybe [] = Nothing; listToMaybe (a : _) = Just a; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; elemIndex :: Eq a => a -> [a] -> Maybe Int; elemIndex x = findIndex (== x); findIndex :: (a -> Bool) -> [a] -> Maybe Int; findIndex p = Maybe.listToMaybe . findIndices p; findIndices :: (a -> Bool) -> [a] -> [Int]; findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); findIndices0 p vv1 = findIndices00 p vv1; findIndices00 p (x,i) = if p x then i : [] else []; findIndices00 p _ = []; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (5) IFR (EQUIVALENT) If Reductions: The following If expression "if p x then i : [] else []" is transformed to "findIndices000 i True = i : []; findIndices000 i False = []; " ---------------------------------------- (6) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; listToMaybe :: [a] -> Maybe a; listToMaybe [] = Nothing; listToMaybe (a : _) = Just a; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; elemIndex :: Eq a => a -> [a] -> Maybe Int; elemIndex x = findIndex (== x); findIndex :: (a -> Bool) -> [a] -> Maybe Int; findIndex p = Maybe.listToMaybe . findIndices p; findIndices :: (a -> Bool) -> [a] -> [Int]; findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); findIndices0 p vv1 = findIndices00 p vv1; findIndices00 p (x,i) = findIndices000 i (p x); findIndices00 p _ = []; findIndices000 i True = i : []; findIndices000 i False = []; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (7) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (8) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; listToMaybe :: [a] -> Maybe a; listToMaybe [] = Nothing; listToMaybe (a : wv) = Just a; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; elemIndex :: Eq a => a -> [a] -> Maybe Int; elemIndex x = findIndex (== x); findIndex :: (a -> Bool) -> [a] -> Maybe Int; findIndex p = Maybe.listToMaybe . findIndices p; findIndices :: (a -> Bool) -> [a] -> [Int]; findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); findIndices0 p vv1 = findIndices00 p vv1; findIndices00 p (x,i) = findIndices000 i (p x); findIndices00 p ww = []; findIndices000 i True = i : []; findIndices000 i False = []; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (9) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (10) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; listToMaybe :: [a] -> Maybe a; listToMaybe [] = Nothing; listToMaybe (a : wv) = Just a; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; elemIndex :: Eq a => a -> [a] -> Maybe Int; elemIndex x = findIndex (== x); findIndex :: (a -> Bool) -> [a] -> Maybe Int; findIndex p = Maybe.listToMaybe . findIndices p; findIndices :: (a -> Bool) -> [a] -> [Int]; findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); findIndices0 p vv1 = findIndices00 p vv1; findIndices00 p (x,i) = findIndices000 i (p x); findIndices00 p ww = []; findIndices000 i True = i : []; findIndices000 i False = []; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (11) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (12) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; listToMaybe :: [a] -> Maybe a; listToMaybe [] = Nothing; listToMaybe (a : wv) = Just a; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; elemIndex :: Eq a => a -> [a] -> Maybe Int; elemIndex x = findIndex (== x); findIndex :: (a -> Bool) -> [a] -> Maybe Int; findIndex p = Maybe.listToMaybe . findIndices p; findIndices :: (a -> Bool) -> [a] -> [Int]; findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom (Pos Zero))); findIndices0 p vv1 = findIndices00 p vv1; findIndices00 p (x,i) = findIndices000 i (p x); findIndices00 p ww = []; findIndices000 i True = i : []; findIndices000 i False = []; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (13) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="List.elemIndex",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="List.elemIndex wx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="List.elemIndex wx3 wx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="List.findIndex (wx3 ==) wx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="Maybe.listToMaybe . List.findIndices (wx3 ==)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="Maybe.listToMaybe (List.findIndices (wx3 ==) wx4)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 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]; 9[label="Maybe.listToMaybe (concat . map (List.findIndices0 (wx3 ==)))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 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]; 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]; 12[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) (zipWith zip0 wx4 (enumFrom (Pos Zero)))))",fontsize=16,color="burlywood",shape="box"];336[label="wx4/wx40 : wx41",fontsize=10,color="white",style="solid",shape="box"];12 -> 336[label="",style="solid", color="burlywood", weight=9]; 336 -> 13[label="",style="solid", color="burlywood", weight=3]; 337[label="wx4/[]",fontsize=10,color="white",style="solid",shape="box"];12 -> 337[label="",style="solid", color="burlywood", weight=9]; 337 -> 14[label="",style="solid", color="burlywood", weight=3]; 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[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]; 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]; 16[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) []))",fontsize=16,color="black",shape="triangle"];16 -> 18[label="",style="solid", color="black", weight=3]; 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]; 18[label="Maybe.listToMaybe (foldr (++) [] [])",fontsize=16,color="black",shape="box"];18 -> 20[label="",style="solid", color="black", weight=3]; 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]; 20[label="Maybe.listToMaybe []",fontsize=16,color="black",shape="box"];20 -> 22[label="",style="solid", color="black", weight=3]; 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]; 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]; 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]; 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]; 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="burlywood",shape="box"];338[label="wx3/LT",fontsize=10,color="white",style="solid",shape="box"];26 -> 338[label="",style="solid", color="burlywood", weight=9]; 338 -> 27[label="",style="solid", color="burlywood", weight=3]; 339[label="wx3/EQ",fontsize=10,color="white",style="solid",shape="box"];26 -> 339[label="",style="solid", color="burlywood", weight=9]; 339 -> 28[label="",style="solid", color="burlywood", weight=3]; 340[label="wx3/GT",fontsize=10,color="white",style="solid",shape="box"];26 -> 340[label="",style="solid", color="burlywood", weight=9]; 340 -> 29[label="",style="solid", color="burlywood", weight=3]; 27[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (LT == wx40) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];341[label="wx40/LT",fontsize=10,color="white",style="solid",shape="box"];27 -> 341[label="",style="solid", color="burlywood", weight=9]; 341 -> 30[label="",style="solid", color="burlywood", weight=3]; 342[label="wx40/EQ",fontsize=10,color="white",style="solid",shape="box"];27 -> 342[label="",style="solid", color="burlywood", weight=9]; 342 -> 31[label="",style="solid", color="burlywood", weight=3]; 343[label="wx40/GT",fontsize=10,color="white",style="solid",shape="box"];27 -> 343[label="",style="solid", color="burlywood", weight=9]; 343 -> 32[label="",style="solid", color="burlywood", weight=3]; 28[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (EQ == wx40) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];344[label="wx40/LT",fontsize=10,color="white",style="solid",shape="box"];28 -> 344[label="",style="solid", color="burlywood", weight=9]; 344 -> 33[label="",style="solid", color="burlywood", weight=3]; 345[label="wx40/EQ",fontsize=10,color="white",style="solid",shape="box"];28 -> 345[label="",style="solid", color="burlywood", weight=9]; 345 -> 34[label="",style="solid", color="burlywood", weight=3]; 346[label="wx40/GT",fontsize=10,color="white",style="solid",shape="box"];28 -> 346[label="",style="solid", color="burlywood", weight=9]; 346 -> 35[label="",style="solid", color="burlywood", weight=3]; 29[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (GT == wx40) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];347[label="wx40/LT",fontsize=10,color="white",style="solid",shape="box"];29 -> 347[label="",style="solid", color="burlywood", weight=9]; 347 -> 36[label="",style="solid", color="burlywood", weight=3]; 348[label="wx40/EQ",fontsize=10,color="white",style="solid",shape="box"];29 -> 348[label="",style="solid", color="burlywood", weight=9]; 348 -> 37[label="",style="solid", color="burlywood", weight=3]; 349[label="wx40/GT",fontsize=10,color="white",style="solid",shape="box"];29 -> 349[label="",style="solid", color="burlywood", weight=9]; 349 -> 38[label="",style="solid", color="burlywood", weight=3]; 30[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (LT == LT) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];30 -> 39[label="",style="solid", color="black", weight=3]; 31[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (LT == EQ) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];31 -> 40[label="",style="solid", color="black", weight=3]; 32[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (LT == GT) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];32 -> 41[label="",style="solid", color="black", weight=3]; 33[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (EQ == LT) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];33 -> 42[label="",style="solid", color="black", weight=3]; 34[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (EQ == EQ) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];34 -> 43[label="",style="solid", color="black", weight=3]; 35[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (EQ == GT) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];35 -> 44[label="",style="solid", color="black", weight=3]; 36[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (GT == LT) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];36 -> 45[label="",style="solid", color="black", weight=3]; 37[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (GT == EQ) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];37 -> 46[label="",style="solid", color="black", weight=3]; 38[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) (GT == GT) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];38 -> 47[label="",style="solid", color="black", weight=3]; 39[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) True foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];39 -> 48[label="",style="solid", color="black", weight=3]; 40[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];40 -> 49[label="",style="solid", color="black", weight=3]; 41 -> 40[label="",style="dashed", color="red", weight=0]; 41[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];42[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];42 -> 50[label="",style="solid", color="black", weight=3]; 43[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) True foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];43 -> 51[label="",style="solid", color="black", weight=3]; 44 -> 42[label="",style="dashed", color="red", weight=0]; 44[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];45[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];45 -> 52[label="",style="solid", color="black", weight=3]; 46 -> 45[label="",style="dashed", color="red", weight=0]; 46[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];47[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos Zero) True foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];47 -> 53[label="",style="solid", color="black", weight=3]; 48[label="Maybe.listToMaybe ((++) (Pos Zero : []) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];48 -> 54[label="",style="solid", color="black", weight=3]; 49[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];49 -> 55[label="",style="solid", color="black", weight=3]; 50[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];50 -> 56[label="",style="solid", color="black", weight=3]; 51[label="Maybe.listToMaybe ((++) (Pos Zero : []) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];51 -> 57[label="",style="solid", color="black", weight=3]; 52[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];52 -> 58[label="",style="solid", color="black", weight=3]; 53[label="Maybe.listToMaybe ((++) (Pos Zero : []) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];53 -> 59[label="",style="solid", color="black", weight=3]; 54[label="Maybe.listToMaybe (Pos Zero : [] ++ foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];54 -> 60[label="",style="solid", color="black", weight=3]; 55[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];350[label="wx41/wx410 : wx411",fontsize=10,color="white",style="solid",shape="box"];55 -> 350[label="",style="solid", color="burlywood", weight=9]; 350 -> 61[label="",style="solid", color="burlywood", weight=3]; 351[label="wx41/[]",fontsize=10,color="white",style="solid",shape="box"];55 -> 351[label="",style="solid", color="burlywood", weight=9]; 351 -> 62[label="",style="solid", color="burlywood", weight=3]; 56[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];352[label="wx41/wx410 : wx411",fontsize=10,color="white",style="solid",shape="box"];56 -> 352[label="",style="solid", color="burlywood", weight=9]; 352 -> 63[label="",style="solid", color="burlywood", weight=3]; 353[label="wx41/[]",fontsize=10,color="white",style="solid",shape="box"];56 -> 353[label="",style="solid", color="burlywood", weight=9]; 353 -> 64[label="",style="solid", color="burlywood", weight=3]; 57[label="Maybe.listToMaybe (Pos Zero : [] ++ foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];57 -> 65[label="",style="solid", color="black", weight=3]; 58[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];354[label="wx41/wx410 : wx411",fontsize=10,color="white",style="solid",shape="box"];58 -> 354[label="",style="solid", color="burlywood", weight=9]; 354 -> 66[label="",style="solid", color="burlywood", weight=3]; 355[label="wx41/[]",fontsize=10,color="white",style="solid",shape="box"];58 -> 355[label="",style="solid", color="burlywood", weight=9]; 355 -> 67[label="",style="solid", color="burlywood", weight=3]; 59[label="Maybe.listToMaybe (Pos Zero : [] ++ foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];59 -> 68[label="",style="solid", color="black", weight=3]; 60[label="Just (Pos Zero)",fontsize=16,color="green",shape="box"];61[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx410 : wx411) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];61 -> 69[label="",style="solid", color="black", weight=3]; 62[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 [] (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];62 -> 70[label="",style="solid", color="black", weight=3]; 63[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx410 : wx411) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];63 -> 71[label="",style="solid", color="black", weight=3]; 64[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 [] (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];64 -> 72[label="",style="solid", color="black", weight=3]; 65[label="Just (Pos Zero)",fontsize=16,color="green",shape="box"];66[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx410 : wx411) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];66 -> 73[label="",style="solid", color="black", weight=3]; 67[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 [] (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];67 -> 74[label="",style="solid", color="black", weight=3]; 68[label="Just (Pos Zero)",fontsize=16,color="green",shape="box"];69 -> 163[label="",style="dashed", color="red", weight=0]; 69[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx410 : wx411) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="magenta"];69 -> 164[label="",style="dashed", color="magenta", weight=3]; 69 -> 165[label="",style="dashed", color="magenta", weight=3]; 69 -> 166[label="",style="dashed", color="magenta", weight=3]; 69 -> 167[label="",style="dashed", color="magenta", weight=3]; 70 -> 16[label="",style="dashed", color="red", weight=0]; 70[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) []))",fontsize=16,color="magenta"];70 -> 76[label="",style="dashed", color="magenta", weight=3]; 71 -> 277[label="",style="dashed", color="red", weight=0]; 71[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx410 : wx411) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="magenta"];71 -> 278[label="",style="dashed", color="magenta", weight=3]; 71 -> 279[label="",style="dashed", color="magenta", weight=3]; 71 -> 280[label="",style="dashed", color="magenta", weight=3]; 71 -> 281[label="",style="dashed", color="magenta", weight=3]; 72 -> 16[label="",style="dashed", color="red", weight=0]; 72[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) []))",fontsize=16,color="magenta"];72 -> 78[label="",style="dashed", color="magenta", weight=3]; 73 -> 174[label="",style="dashed", color="red", weight=0]; 73[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx410 : wx411) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="magenta"];73 -> 175[label="",style="dashed", color="magenta", weight=3]; 73 -> 176[label="",style="dashed", color="magenta", weight=3]; 73 -> 177[label="",style="dashed", color="magenta", weight=3]; 73 -> 178[label="",style="dashed", color="magenta", weight=3]; 74 -> 16[label="",style="dashed", color="red", weight=0]; 74[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) []))",fontsize=16,color="magenta"];74 -> 80[label="",style="dashed", color="magenta", weight=3]; 164[label="Zero",fontsize=16,color="green",shape="box"];165[label="wx411",fontsize=16,color="green",shape="box"];166[label="Zero",fontsize=16,color="green",shape="box"];167[label="wx410",fontsize=16,color="green",shape="box"];163[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx4110 : wx4111) (Pos wx5 + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos wx6 + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="triangle"];163 -> 170[label="",style="solid", color="black", weight=3]; 76[label="LT",fontsize=16,color="green",shape="box"];278[label="wx410",fontsize=16,color="green",shape="box"];279[label="Zero",fontsize=16,color="green",shape="box"];280[label="Zero",fontsize=16,color="green",shape="box"];281[label="wx411",fontsize=16,color="green",shape="box"];277[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx41110 : wx41111) (Pos wx11 + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos wx12 + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="triangle"];277 -> 284[label="",style="solid", color="black", weight=3]; 78[label="EQ",fontsize=16,color="green",shape="box"];175[label="wx411",fontsize=16,color="green",shape="box"];176[label="wx410",fontsize=16,color="green",shape="box"];177[label="Zero",fontsize=16,color="green",shape="box"];178[label="Zero",fontsize=16,color="green",shape="box"];174[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx4110 : wx4111) (Pos wx7 + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos wx8 + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="triangle"];174 -> 181[label="",style="solid", color="black", weight=3]; 80[label="GT",fontsize=16,color="green",shape="box"];170[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (Pos wx5 + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos wx6 + fromInt (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];170 -> 182[label="",style="solid", color="black", weight=3]; 284[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx41110 : wx41111) (enforceWHNF (WHNF (Pos wx11 + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos wx12 + fromInt (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];284 -> 293[label="",style="solid", color="black", weight=3]; 181[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (Pos wx7 + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos wx8 + fromInt (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];181 -> 191[label="",style="solid", color="black", weight=3]; 182[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (primPlusInt (Pos wx5) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos wx6) (fromInt (Pos (Succ Zero)))))))))",fontsize=16,color="black",shape="box"];182 -> 192[label="",style="solid", color="black", weight=3]; 293[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx41110 : wx41111) (enforceWHNF (WHNF (primPlusInt (Pos wx11) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos wx12) (fromInt (Pos (Succ Zero)))))))))",fontsize=16,color="black",shape="box"];293 -> 297[label="",style="solid", color="black", weight=3]; 191[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (primPlusInt (Pos wx7) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos wx8) (fromInt (Pos (Succ Zero)))))))))",fontsize=16,color="black",shape="box"];191 -> 194[label="",style="solid", color="black", weight=3]; 192[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (primPlusInt (Pos wx5) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos wx6) (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];192 -> 195[label="",style="solid", color="black", weight=3]; 297[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx41110 : wx41111) (enforceWHNF (WHNF (primPlusInt (Pos wx11) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos wx12) (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];297 -> 300[label="",style="solid", color="black", weight=3]; 194[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (primPlusInt (Pos wx7) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos wx8) (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];194 -> 197[label="",style="solid", color="black", weight=3]; 195[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (Pos (primPlusNat wx5 (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat wx5 (Succ Zero))))))))",fontsize=16,color="black",shape="box"];195 -> 198[label="",style="solid", color="black", weight=3]; 300 -> 303[label="",style="dashed", color="red", weight=0]; 300[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx41110 : wx41111) (enforceWHNF (WHNF (Pos (primPlusNat wx11 (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat wx11 (Succ Zero))))))))",fontsize=16,color="magenta"];300 -> 304[label="",style="dashed", color="magenta", weight=3]; 300 -> 305[label="",style="dashed", color="magenta", weight=3]; 197[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx4110 : wx4111) (enforceWHNF (WHNF (Pos (primPlusNat wx7 (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat wx7 (Succ Zero))))))))",fontsize=16,color="black",shape="box"];197 -> 200[label="",style="solid", color="black", weight=3]; 198[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx4110 : wx4111) (numericEnumFrom (Pos (primPlusNat wx5 (Succ Zero)))))))",fontsize=16,color="black",shape="box"];198 -> 201[label="",style="solid", color="black", weight=3]; 304 -> 261[label="",style="dashed", color="red", weight=0]; 304[label="primPlusNat wx11 (Succ Zero)",fontsize=16,color="magenta"];304 -> 306[label="",style="dashed", color="magenta", weight=3]; 305 -> 261[label="",style="dashed", color="red", weight=0]; 305[label="primPlusNat wx11 (Succ Zero)",fontsize=16,color="magenta"];305 -> 307[label="",style="dashed", color="magenta", weight=3]; 303[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx41110 : wx41111) (enforceWHNF (WHNF (Pos wx14)) (numericEnumFrom (Pos wx13))))))",fontsize=16,color="black",shape="triangle"];303 -> 308[label="",style="solid", color="black", weight=3]; 200[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx4110 : wx4111) (numericEnumFrom (Pos (primPlusNat wx7 (Succ Zero)))))))",fontsize=16,color="black",shape="box"];200 -> 203[label="",style="solid", color="black", weight=3]; 201[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx4110 : wx4111) (Pos (primPlusNat wx5 (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];201 -> 204[label="",style="solid", color="black", weight=3]; 306[label="wx11",fontsize=16,color="green",shape="box"];261[label="primPlusNat wx5 (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];356[label="wx5/Succ wx50",fontsize=10,color="white",style="solid",shape="box"];261 -> 356[label="",style="solid", color="burlywood", weight=9]; 356 -> 270[label="",style="solid", color="burlywood", weight=3]; 357[label="wx5/Zero",fontsize=10,color="white",style="solid",shape="box"];261 -> 357[label="",style="solid", color="burlywood", weight=9]; 357 -> 271[label="",style="solid", color="burlywood", weight=3]; 307[label="wx11",fontsize=16,color="green",shape="box"];308[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx41110 : wx41111) (numericEnumFrom (Pos wx13)))))",fontsize=16,color="black",shape="box"];308 -> 309[label="",style="solid", color="black", weight=3]; 203[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx4110 : wx4111) (Pos (primPlusNat wx7 (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];203 -> 206[label="",style="solid", color="black", weight=3]; 204[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zip0 wx4110 (Pos (primPlusNat wx5 (Succ Zero))) : zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];204 -> 207[label="",style="solid", color="black", weight=3]; 270[label="primPlusNat (Succ wx50) (Succ Zero)",fontsize=16,color="black",shape="box"];270 -> 291[label="",style="solid", color="black", weight=3]; 271[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];271 -> 292[label="",style="solid", color="black", weight=3]; 309[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx41110 : wx41111) (Pos wx13 : (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];309 -> 310[label="",style="solid", color="black", weight=3]; 206[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zip0 wx4110 (Pos (primPlusNat wx7 (Succ Zero))) : zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];206 -> 209[label="",style="solid", color="black", weight=3]; 207[label="Maybe.listToMaybe (foldr (++) [] (List.findIndices0 (LT ==) (zip0 wx4110 (Pos (primPlusNat wx5 (Succ Zero)))) : map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];207 -> 210[label="",style="solid", color="black", weight=3]; 291[label="Succ (Succ (primPlusNat wx50 Zero))",fontsize=16,color="green",shape="box"];291 -> 296[label="",style="dashed", color="green", weight=3]; 292[label="Succ Zero",fontsize=16,color="green",shape="box"];310[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zip0 wx41110 (Pos wx13) : zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];310 -> 311[label="",style="solid", color="black", weight=3]; 209[label="Maybe.listToMaybe (foldr (++) [] (List.findIndices0 (GT ==) (zip0 wx4110 (Pos (primPlusNat wx7 (Succ Zero)))) : map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];209 -> 212[label="",style="solid", color="black", weight=3]; 210[label="Maybe.listToMaybe ((++) List.findIndices0 (LT ==) (zip0 wx4110 (Pos (primPlusNat wx5 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];210 -> 213[label="",style="solid", color="black", weight=3]; 296[label="primPlusNat wx50 Zero",fontsize=16,color="burlywood",shape="box"];358[label="wx50/Succ wx500",fontsize=10,color="white",style="solid",shape="box"];296 -> 358[label="",style="solid", color="burlywood", weight=9]; 358 -> 298[label="",style="solid", color="burlywood", weight=3]; 359[label="wx50/Zero",fontsize=10,color="white",style="solid",shape="box"];296 -> 359[label="",style="solid", color="burlywood", weight=9]; 359 -> 299[label="",style="solid", color="burlywood", weight=3]; 311[label="Maybe.listToMaybe (foldr (++) [] (List.findIndices0 (EQ ==) (zip0 wx41110 (Pos wx13)) : map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];311 -> 312[label="",style="solid", color="black", weight=3]; 212[label="Maybe.listToMaybe ((++) List.findIndices0 (GT ==) (zip0 wx4110 (Pos (primPlusNat wx7 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];212 -> 215[label="",style="solid", color="black", weight=3]; 213[label="Maybe.listToMaybe ((++) List.findIndices00 (LT ==) (zip0 wx4110 (Pos (primPlusNat wx5 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];213 -> 216[label="",style="solid", color="black", weight=3]; 298[label="primPlusNat (Succ wx500) Zero",fontsize=16,color="black",shape="box"];298 -> 301[label="",style="solid", color="black", weight=3]; 299[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];299 -> 302[label="",style="solid", color="black", weight=3]; 312[label="Maybe.listToMaybe ((++) List.findIndices0 (EQ ==) (zip0 wx41110 (Pos wx13)) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];312 -> 313[label="",style="solid", color="black", weight=3]; 215[label="Maybe.listToMaybe ((++) List.findIndices00 (GT ==) (zip0 wx4110 (Pos (primPlusNat wx7 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];215 -> 218[label="",style="solid", color="black", weight=3]; 216[label="Maybe.listToMaybe ((++) List.findIndices00 (LT ==) (wx4110,Pos (primPlusNat wx5 (Succ Zero))) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];216 -> 219[label="",style="solid", color="black", weight=3]; 301[label="Succ wx500",fontsize=16,color="green",shape="box"];302[label="Zero",fontsize=16,color="green",shape="box"];313[label="Maybe.listToMaybe ((++) List.findIndices00 (EQ ==) (zip0 wx41110 (Pos wx13)) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];313 -> 314[label="",style="solid", color="black", weight=3]; 218[label="Maybe.listToMaybe ((++) List.findIndices00 (GT ==) (wx4110,Pos (primPlusNat wx7 (Succ Zero))) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];218 -> 221[label="",style="solid", color="black", weight=3]; 219[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx5 (Succ Zero))) (LT == wx4110) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];360[label="wx4110/LT",fontsize=10,color="white",style="solid",shape="box"];219 -> 360[label="",style="solid", color="burlywood", weight=9]; 360 -> 222[label="",style="solid", color="burlywood", weight=3]; 361[label="wx4110/EQ",fontsize=10,color="white",style="solid",shape="box"];219 -> 361[label="",style="solid", color="burlywood", weight=9]; 361 -> 223[label="",style="solid", color="burlywood", weight=3]; 362[label="wx4110/GT",fontsize=10,color="white",style="solid",shape="box"];219 -> 362[label="",style="solid", color="burlywood", weight=9]; 362 -> 224[label="",style="solid", color="burlywood", weight=3]; 314[label="Maybe.listToMaybe ((++) List.findIndices00 (EQ ==) (wx41110,Pos wx13) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];314 -> 315[label="",style="solid", color="black", weight=3]; 221[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx7 (Succ Zero))) (GT == wx4110) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];363[label="wx4110/LT",fontsize=10,color="white",style="solid",shape="box"];221 -> 363[label="",style="solid", color="burlywood", weight=9]; 363 -> 228[label="",style="solid", color="burlywood", weight=3]; 364[label="wx4110/EQ",fontsize=10,color="white",style="solid",shape="box"];221 -> 364[label="",style="solid", color="burlywood", weight=9]; 364 -> 229[label="",style="solid", color="burlywood", weight=3]; 365[label="wx4110/GT",fontsize=10,color="white",style="solid",shape="box"];221 -> 365[label="",style="solid", color="burlywood", weight=9]; 365 -> 230[label="",style="solid", color="burlywood", weight=3]; 222[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx5 (Succ Zero))) (LT == LT) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];222 -> 231[label="",style="solid", color="black", weight=3]; 223[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx5 (Succ Zero))) (LT == EQ) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];223 -> 232[label="",style="solid", color="black", weight=3]; 224[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx5 (Succ Zero))) (LT == GT) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];224 -> 233[label="",style="solid", color="black", weight=3]; 315[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx13) (EQ == wx41110) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];366[label="wx41110/LT",fontsize=10,color="white",style="solid",shape="box"];315 -> 366[label="",style="solid", color="burlywood", weight=9]; 366 -> 316[label="",style="solid", color="burlywood", weight=3]; 367[label="wx41110/EQ",fontsize=10,color="white",style="solid",shape="box"];315 -> 367[label="",style="solid", color="burlywood", weight=9]; 367 -> 317[label="",style="solid", color="burlywood", weight=3]; 368[label="wx41110/GT",fontsize=10,color="white",style="solid",shape="box"];315 -> 368[label="",style="solid", color="burlywood", weight=9]; 368 -> 318[label="",style="solid", color="burlywood", weight=3]; 228[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx7 (Succ Zero))) (GT == LT) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];228 -> 237[label="",style="solid", color="black", weight=3]; 229[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx7 (Succ Zero))) (GT == EQ) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];229 -> 238[label="",style="solid", color="black", weight=3]; 230[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx7 (Succ Zero))) (GT == GT) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];230 -> 239[label="",style="solid", color="black", weight=3]; 231[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx5 (Succ Zero))) True foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];231 -> 240[label="",style="solid", color="black", weight=3]; 232[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx5 (Succ Zero))) False foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];232 -> 241[label="",style="solid", color="black", weight=3]; 233 -> 232[label="",style="dashed", color="red", weight=0]; 233[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx5 (Succ Zero))) False foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];316[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx13) (EQ == LT) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];316 -> 319[label="",style="solid", color="black", weight=3]; 317[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx13) (EQ == EQ) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];317 -> 320[label="",style="solid", color="black", weight=3]; 318[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx13) (EQ == GT) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];318 -> 321[label="",style="solid", color="black", weight=3]; 237[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx7 (Succ Zero))) False foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];237 -> 244[label="",style="solid", color="black", weight=3]; 238 -> 237[label="",style="dashed", color="red", weight=0]; 238[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx7 (Succ Zero))) False foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];239[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos (primPlusNat wx7 (Succ Zero))) True foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];239 -> 245[label="",style="solid", color="black", weight=3]; 240[label="Maybe.listToMaybe ((++) (Pos (primPlusNat wx5 (Succ Zero)) : []) foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];240 -> 246[label="",style="solid", color="black", weight=3]; 241[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];241 -> 247[label="",style="solid", color="black", weight=3]; 319[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx13) False foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];319 -> 322[label="",style="solid", color="black", weight=3]; 320[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx13) True foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];320 -> 323[label="",style="solid", color="black", weight=3]; 321 -> 319[label="",style="dashed", color="red", weight=0]; 321[label="Maybe.listToMaybe ((++) List.findIndices000 (Pos wx13) False foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];244[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];244 -> 250[label="",style="solid", color="black", weight=3]; 245[label="Maybe.listToMaybe ((++) (Pos (primPlusNat wx7 (Succ Zero)) : []) foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];245 -> 251[label="",style="solid", color="black", weight=3]; 246[label="Maybe.listToMaybe (Pos (primPlusNat wx5 (Succ Zero)) : [] ++ foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];246 -> 252[label="",style="solid", color="black", weight=3]; 247[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];369[label="wx4111/wx41110 : wx41111",fontsize=10,color="white",style="solid",shape="box"];247 -> 369[label="",style="solid", color="burlywood", weight=9]; 369 -> 253[label="",style="solid", color="burlywood", weight=3]; 370[label="wx4111/[]",fontsize=10,color="white",style="solid",shape="box"];247 -> 370[label="",style="solid", color="burlywood", weight=9]; 370 -> 254[label="",style="solid", color="burlywood", weight=3]; 322[label="Maybe.listToMaybe ((++) [] foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];322 -> 324[label="",style="solid", color="black", weight=3]; 323[label="Maybe.listToMaybe ((++) (Pos wx13 : []) foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];323 -> 325[label="",style="solid", color="black", weight=3]; 250[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];371[label="wx4111/wx41110 : wx41111",fontsize=10,color="white",style="solid",shape="box"];250 -> 371[label="",style="solid", color="burlywood", weight=9]; 371 -> 258[label="",style="solid", color="burlywood", weight=3]; 372[label="wx4111/[]",fontsize=10,color="white",style="solid",shape="box"];250 -> 372[label="",style="solid", color="burlywood", weight=9]; 372 -> 259[label="",style="solid", color="burlywood", weight=3]; 251[label="Maybe.listToMaybe (Pos (primPlusNat wx7 (Succ Zero)) : [] ++ foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 wx4111 (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];251 -> 260[label="",style="solid", color="black", weight=3]; 252[label="Just (Pos (primPlusNat wx5 (Succ Zero)))",fontsize=16,color="green",shape="box"];252 -> 261[label="",style="dashed", color="green", weight=3]; 253[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx41110 : wx41111) (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];253 -> 262[label="",style="solid", color="black", weight=3]; 254[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 [] (numericEnumFrom $! Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];254 -> 263[label="",style="solid", color="black", weight=3]; 324[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="burlywood",shape="box"];373[label="wx41111/wx411110 : wx411111",fontsize=10,color="white",style="solid",shape="box"];324 -> 373[label="",style="solid", color="burlywood", weight=9]; 373 -> 326[label="",style="solid", color="burlywood", weight=3]; 374[label="wx41111/[]",fontsize=10,color="white",style="solid",shape="box"];324 -> 374[label="",style="solid", color="burlywood", weight=9]; 374 -> 327[label="",style="solid", color="burlywood", weight=3]; 325[label="Maybe.listToMaybe (Pos wx13 : [] ++ foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 wx41111 (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];325 -> 328[label="",style="solid", color="black", weight=3]; 258[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx41110 : wx41111) (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];258 -> 267[label="",style="solid", color="black", weight=3]; 259[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 [] (numericEnumFrom $! Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];259 -> 268[label="",style="solid", color="black", weight=3]; 260[label="Just (Pos (primPlusNat wx7 (Succ Zero)))",fontsize=16,color="green",shape="box"];260 -> 269[label="",style="dashed", color="green", weight=3]; 262 -> 163[label="",style="dashed", color="red", weight=0]; 262[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) (zipWith zip0 (wx41110 : wx41111) (Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (primPlusNat wx5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="magenta"];262 -> 272[label="",style="dashed", color="magenta", weight=3]; 262 -> 273[label="",style="dashed", color="magenta", weight=3]; 262 -> 274[label="",style="dashed", color="magenta", weight=3]; 262 -> 275[label="",style="dashed", color="magenta", weight=3]; 263 -> 16[label="",style="dashed", color="red", weight=0]; 263[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) []))",fontsize=16,color="magenta"];263 -> 276[label="",style="dashed", color="magenta", weight=3]; 326[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx411110 : wx411111) (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];326 -> 329[label="",style="solid", color="black", weight=3]; 327[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 [] (numericEnumFrom $! Pos wx13 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];327 -> 330[label="",style="solid", color="black", weight=3]; 328[label="Just (Pos wx13)",fontsize=16,color="green",shape="box"];267 -> 174[label="",style="dashed", color="red", weight=0]; 267[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) (zipWith zip0 (wx41110 : wx41111) (Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (primPlusNat wx7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="magenta"];267 -> 285[label="",style="dashed", color="magenta", weight=3]; 267 -> 286[label="",style="dashed", color="magenta", weight=3]; 267 -> 287[label="",style="dashed", color="magenta", weight=3]; 267 -> 288[label="",style="dashed", color="magenta", weight=3]; 268 -> 16[label="",style="dashed", color="red", weight=0]; 268[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) []))",fontsize=16,color="magenta"];268 -> 289[label="",style="dashed", color="magenta", weight=3]; 269 -> 261[label="",style="dashed", color="red", weight=0]; 269[label="primPlusNat wx7 (Succ Zero)",fontsize=16,color="magenta"];269 -> 290[label="",style="dashed", color="magenta", weight=3]; 272 -> 261[label="",style="dashed", color="red", weight=0]; 272[label="primPlusNat wx5 (Succ Zero)",fontsize=16,color="magenta"];273[label="wx41111",fontsize=16,color="green",shape="box"];274 -> 261[label="",style="dashed", color="red", weight=0]; 274[label="primPlusNat wx5 (Succ Zero)",fontsize=16,color="magenta"];275[label="wx41110",fontsize=16,color="green",shape="box"];276[label="LT",fontsize=16,color="green",shape="box"];329 -> 277[label="",style="dashed", color="red", weight=0]; 329[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) (zipWith zip0 (wx411110 : wx411111) (Pos wx13 + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos wx13 + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="magenta"];329 -> 331[label="",style="dashed", color="magenta", weight=3]; 329 -> 332[label="",style="dashed", color="magenta", weight=3]; 329 -> 333[label="",style="dashed", color="magenta", weight=3]; 329 -> 334[label="",style="dashed", color="magenta", weight=3]; 330 -> 16[label="",style="dashed", color="red", weight=0]; 330[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) []))",fontsize=16,color="magenta"];330 -> 335[label="",style="dashed", color="magenta", weight=3]; 285[label="wx41111",fontsize=16,color="green",shape="box"];286[label="wx41110",fontsize=16,color="green",shape="box"];287 -> 261[label="",style="dashed", color="red", weight=0]; 287[label="primPlusNat wx7 (Succ Zero)",fontsize=16,color="magenta"];287 -> 294[label="",style="dashed", color="magenta", weight=3]; 288 -> 261[label="",style="dashed", color="red", weight=0]; 288[label="primPlusNat wx7 (Succ Zero)",fontsize=16,color="magenta"];288 -> 295[label="",style="dashed", color="magenta", weight=3]; 289[label="GT",fontsize=16,color="green",shape="box"];290[label="wx7",fontsize=16,color="green",shape="box"];331[label="wx411110",fontsize=16,color="green",shape="box"];332[label="wx13",fontsize=16,color="green",shape="box"];333[label="wx13",fontsize=16,color="green",shape="box"];334[label="wx411111",fontsize=16,color="green",shape="box"];335[label="EQ",fontsize=16,color="green",shape="box"];294[label="wx7",fontsize=16,color="green",shape="box"];295[label="wx7",fontsize=16,color="green",shape="box"];} ---------------------------------------- (14) Complex Obligation (AND) ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: new_listToMaybe5(GT, wx4111, wx5, wx6) -> new_listToMaybe4(wx5, wx4111) new_listToMaybe4(wx5, :(wx41110, wx41111)) -> new_listToMaybe5(wx41110, wx41111, new_primPlusNat(wx5), new_primPlusNat(wx5)) new_listToMaybe5(EQ, :(wx41110, wx41111), wx5, wx6) -> new_listToMaybe5(wx41110, wx41111, new_primPlusNat(wx5), new_primPlusNat(wx5)) The TRS R consists of the following rules: new_primPlusNat(Succ(wx50)) -> Succ(Succ(new_primPlusNat0(wx50))) new_primPlusNat(Zero) -> Succ(Zero) new_primPlusNat0(Succ(wx500)) -> Succ(wx500) new_primPlusNat0(Zero) -> Zero The set Q consists of the following terms: new_primPlusNat0(Succ(x0)) new_primPlusNat0(Zero) new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (16) 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_listToMaybe4(wx5, :(wx41110, wx41111)) -> new_listToMaybe5(wx41110, wx41111, new_primPlusNat(wx5), new_primPlusNat(wx5)) The graph contains the following edges 2 > 1, 2 > 2 *new_listToMaybe5(EQ, :(wx41110, wx41111), wx5, wx6) -> new_listToMaybe5(wx41110, wx41111, new_primPlusNat(wx5), new_primPlusNat(wx5)) The graph contains the following edges 2 > 1, 2 > 2 *new_listToMaybe5(GT, wx4111, wx5, wx6) -> new_listToMaybe4(wx5, wx4111) The graph contains the following edges 3 >= 1, 2 >= 2 ---------------------------------------- (17) YES ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_listToMaybe1(GT, wx41111, wx14, wx13) -> new_listToMaybe3(wx13, wx41111) new_listToMaybe2(wx41110, wx41111, wx11, wx12) -> new_listToMaybe1(wx41110, wx41111, new_primPlusNat(wx11), new_primPlusNat(wx11)) new_listToMaybe1(LT, :(wx411110, wx411111), wx14, wx13) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) new_listToMaybe3(wx13, :(wx411110, wx411111)) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) The TRS R consists of the following rules: new_primPlusNat(Succ(wx50)) -> Succ(Succ(new_primPlusNat0(wx50))) new_primPlusNat(Zero) -> Succ(Zero) new_primPlusNat0(Succ(wx500)) -> Succ(wx500) new_primPlusNat0(Zero) -> Zero The set Q consists of the following terms: new_primPlusNat0(Succ(x0)) new_primPlusNat0(Zero) new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_listToMaybe2(wx41110, wx41111, wx11, wx12) -> new_listToMaybe1(wx41110, wx41111, new_primPlusNat(wx11), new_primPlusNat(wx11)) we obtained the following new rules [LPAR04]: (new_listToMaybe2(z0, z1, z3, z3) -> new_listToMaybe1(z0, z1, new_primPlusNat(z3), new_primPlusNat(z3)),new_listToMaybe2(z0, z1, z3, z3) -> new_listToMaybe1(z0, z1, new_primPlusNat(z3), new_primPlusNat(z3))) ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: new_listToMaybe1(GT, wx41111, wx14, wx13) -> new_listToMaybe3(wx13, wx41111) new_listToMaybe1(LT, :(wx411110, wx411111), wx14, wx13) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) new_listToMaybe3(wx13, :(wx411110, wx411111)) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) new_listToMaybe2(z0, z1, z3, z3) -> new_listToMaybe1(z0, z1, new_primPlusNat(z3), new_primPlusNat(z3)) The TRS R consists of the following rules: new_primPlusNat(Succ(wx50)) -> Succ(Succ(new_primPlusNat0(wx50))) new_primPlusNat(Zero) -> Succ(Zero) new_primPlusNat0(Succ(wx500)) -> Succ(wx500) new_primPlusNat0(Zero) -> Zero The set Q consists of the following terms: new_primPlusNat0(Succ(x0)) new_primPlusNat0(Zero) new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) 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_listToMaybe3(wx13, :(wx411110, wx411111)) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 1 >= 4 *new_listToMaybe2(z0, z1, z3, z3) -> new_listToMaybe1(z0, z1, new_primPlusNat(z3), new_primPlusNat(z3)) The graph contains the following edges 1 >= 1, 2 >= 2 *new_listToMaybe1(GT, wx41111, wx14, wx13) -> new_listToMaybe3(wx13, wx41111) The graph contains the following edges 4 >= 1, 2 >= 2 *new_listToMaybe1(LT, :(wx411110, wx411111), wx14, wx13) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) The graph contains the following edges 2 > 1, 2 > 2, 4 >= 3, 4 >= 4 ---------------------------------------- (22) YES ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_listToMaybe(LT, :(wx41110, wx41111), wx7, wx8) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx7), new_primPlusNat(wx7)) new_listToMaybe(EQ, wx4111, wx7, wx8) -> new_listToMaybe0(wx7, wx4111) new_listToMaybe0(wx7, :(wx41110, wx41111)) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx7), new_primPlusNat(wx7)) The TRS R consists of the following rules: new_primPlusNat(Succ(wx50)) -> Succ(Succ(new_primPlusNat0(wx50))) new_primPlusNat(Zero) -> Succ(Zero) new_primPlusNat0(Succ(wx500)) -> Succ(wx500) new_primPlusNat0(Zero) -> Zero The set Q consists of the following terms: new_primPlusNat0(Succ(x0)) new_primPlusNat0(Zero) new_primPlusNat(Succ(x0)) new_primPlusNat(Zero) 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_listToMaybe(LT, :(wx41110, wx41111), wx7, wx8) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx7), new_primPlusNat(wx7)) The graph contains the following edges 2 > 1, 2 > 2 *new_listToMaybe(EQ, wx4111, wx7, wx8) -> new_listToMaybe0(wx7, wx4111) The graph contains the following edges 3 >= 1, 2 >= 2 *new_listToMaybe0(wx7, :(wx41110, wx41111)) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx7), new_primPlusNat(wx7)) The graph contains the following edges 2 > 1, 2 > 2 ---------------------------------------- (25) YES