11.65/4.74 YES 14.18/5.44 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 14.18/5.44 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 14.18/5.44 14.18/5.44 14.18/5.44 H-Termination with start terms of the given HASKELL could be proven: 14.18/5.44 14.18/5.44 (0) HASKELL 14.18/5.44 (1) LR [EQUIVALENT, 0 ms] 14.18/5.44 (2) HASKELL 14.18/5.44 (3) CR [EQUIVALENT, 0 ms] 14.18/5.44 (4) HASKELL 14.18/5.44 (5) IFR [EQUIVALENT, 0 ms] 14.18/5.44 (6) HASKELL 14.18/5.44 (7) BR [EQUIVALENT, 0 ms] 14.18/5.44 (8) HASKELL 14.18/5.44 (9) COR [EQUIVALENT, 10 ms] 14.18/5.44 (10) HASKELL 14.18/5.44 (11) NumRed [SOUND, 0 ms] 14.18/5.44 (12) HASKELL 14.18/5.44 (13) Narrow [SOUND, 0 ms] 14.18/5.44 (14) AND 14.18/5.44 (15) QDP 14.18/5.44 (16) QDPSizeChangeProof [EQUIVALENT, 1 ms] 14.18/5.44 (17) YES 14.18/5.44 (18) QDP 14.18/5.44 (19) TransformationProof [EQUIVALENT, 0 ms] 14.18/5.44 (20) QDP 14.18/5.44 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.18/5.44 (22) YES 14.18/5.44 (23) QDP 14.18/5.44 (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.18/5.44 (25) YES 14.18/5.44 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (0) 14.18/5.44 Obligation: 14.18/5.44 mainModule Main 14.18/5.44 module Maybe where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Prelude; 14.18/5.44 listToMaybe :: [a] -> Maybe a; 14.18/5.44 listToMaybe [] = Nothing; 14.18/5.44 listToMaybe (a : _) = Just a; 14.18/5.44 14.18/5.44 } 14.18/5.44 module List where { 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.18/5.44 elemIndex x = findIndex (== x); 14.18/5.44 14.18/5.44 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.18/5.44 findIndex p = Maybe.listToMaybe . findIndices p; 14.18/5.44 14.18/5.44 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.18/5.44 findIndices p xs = concatMap (\vv1 ->case vv1 of { 14.18/5.44 (x,i)-> if p x then i : [] else []; 14.18/5.44 _-> []; 14.18/5.44 } ) (zip xs (enumFrom 0)); 14.18/5.44 14.18/5.44 } 14.18/5.44 module Main where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 } 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (1) LR (EQUIVALENT) 14.18/5.44 Lambda Reductions: 14.18/5.44 The following Lambda expression 14.18/5.44 "\ab->(a,b)" 14.18/5.44 is transformed to 14.18/5.44 "zip0 a b = (a,b); 14.18/5.44 " 14.18/5.44 The following Lambda expression 14.18/5.44 "\vv1->case vv1 of { 14.18/5.44 (x,i) -> if p x then i : [] else []; 14.18/5.44 _ -> []} 14.18/5.44 " 14.18/5.44 is transformed to 14.18/5.44 "findIndices0 p vv1 = case vv1 of { 14.18/5.44 (x,i) -> if p x then i : [] else []; 14.18/5.44 _ -> []} 14.18/5.44 ; 14.18/5.44 " 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (2) 14.18/5.44 Obligation: 14.18/5.44 mainModule Main 14.18/5.44 module Maybe where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Prelude; 14.18/5.44 listToMaybe :: [a] -> Maybe a; 14.18/5.44 listToMaybe [] = Nothing; 14.18/5.44 listToMaybe (a : _) = Just a; 14.18/5.44 14.18/5.44 } 14.18/5.44 module List where { 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.18/5.44 elemIndex x = findIndex (== x); 14.18/5.44 14.18/5.44 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.18/5.44 findIndex p = Maybe.listToMaybe . findIndices p; 14.18/5.44 14.18/5.44 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.18/5.44 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.18/5.44 14.18/5.44 findIndices0 p vv1 = case vv1 of { 14.18/5.44 (x,i)-> if p x then i : [] else []; 14.18/5.44 _-> []; 14.18/5.44 } ; 14.18/5.44 14.18/5.44 } 14.18/5.44 module Main where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 } 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (3) CR (EQUIVALENT) 14.18/5.44 Case Reductions: 14.18/5.44 The following Case expression 14.18/5.44 "case vv1 of { 14.18/5.44 (x,i) -> if p x then i : [] else []; 14.18/5.44 _ -> []} 14.18/5.44 " 14.18/5.44 is transformed to 14.18/5.44 "findIndices00 p (x,i) = if p x then i : [] else []; 14.18/5.44 findIndices00 p _ = []; 14.18/5.44 " 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (4) 14.18/5.44 Obligation: 14.18/5.44 mainModule Main 14.18/5.44 module Maybe where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Prelude; 14.18/5.44 listToMaybe :: [a] -> Maybe a; 14.18/5.44 listToMaybe [] = Nothing; 14.18/5.44 listToMaybe (a : _) = Just a; 14.18/5.44 14.18/5.44 } 14.18/5.44 module List where { 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.18/5.44 elemIndex x = findIndex (== x); 14.18/5.44 14.18/5.44 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.18/5.44 findIndex p = Maybe.listToMaybe . findIndices p; 14.18/5.44 14.18/5.44 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.18/5.44 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.18/5.44 14.18/5.44 findIndices0 p vv1 = findIndices00 p vv1; 14.18/5.44 14.18/5.44 findIndices00 p (x,i) = if p x then i : [] else []; 14.18/5.44 findIndices00 p _ = []; 14.18/5.44 14.18/5.44 } 14.18/5.44 module Main where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 } 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (5) IFR (EQUIVALENT) 14.18/5.44 If Reductions: 14.18/5.44 The following If expression 14.18/5.44 "if p x then i : [] else []" 14.18/5.44 is transformed to 14.18/5.44 "findIndices000 i True = i : []; 14.18/5.44 findIndices000 i False = []; 14.18/5.44 " 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (6) 14.18/5.44 Obligation: 14.18/5.44 mainModule Main 14.18/5.44 module Maybe where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Prelude; 14.18/5.44 listToMaybe :: [a] -> Maybe a; 14.18/5.44 listToMaybe [] = Nothing; 14.18/5.44 listToMaybe (a : _) = Just a; 14.18/5.44 14.18/5.44 } 14.18/5.44 module List where { 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.18/5.44 elemIndex x = findIndex (== x); 14.18/5.44 14.18/5.44 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.18/5.44 findIndex p = Maybe.listToMaybe . findIndices p; 14.18/5.44 14.18/5.44 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.18/5.44 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.18/5.44 14.18/5.44 findIndices0 p vv1 = findIndices00 p vv1; 14.18/5.44 14.18/5.44 findIndices00 p (x,i) = findIndices000 i (p x); 14.18/5.44 findIndices00 p _ = []; 14.18/5.44 14.18/5.44 findIndices000 i True = i : []; 14.18/5.44 findIndices000 i False = []; 14.18/5.44 14.18/5.44 } 14.18/5.44 module Main where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 } 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (7) BR (EQUIVALENT) 14.18/5.44 Replaced joker patterns by fresh variables and removed binding patterns. 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (8) 14.18/5.44 Obligation: 14.18/5.44 mainModule Main 14.18/5.44 module Maybe where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Prelude; 14.18/5.44 listToMaybe :: [a] -> Maybe a; 14.18/5.44 listToMaybe [] = Nothing; 14.18/5.44 listToMaybe (a : wv) = Just a; 14.18/5.44 14.18/5.44 } 14.18/5.44 module List where { 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.18/5.44 elemIndex x = findIndex (== x); 14.18/5.44 14.18/5.44 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.18/5.44 findIndex p = Maybe.listToMaybe . findIndices p; 14.18/5.44 14.18/5.44 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.18/5.44 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.18/5.44 14.18/5.44 findIndices0 p vv1 = findIndices00 p vv1; 14.18/5.44 14.18/5.44 findIndices00 p (x,i) = findIndices000 i (p x); 14.18/5.44 findIndices00 p ww = []; 14.18/5.44 14.18/5.44 findIndices000 i True = i : []; 14.18/5.44 findIndices000 i False = []; 14.18/5.44 14.18/5.44 } 14.18/5.44 module Main where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 } 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (9) COR (EQUIVALENT) 14.18/5.44 Cond Reductions: 14.18/5.44 The following Function with conditions 14.18/5.44 "undefined |Falseundefined; 14.18/5.44 " 14.18/5.44 is transformed to 14.18/5.44 "undefined = undefined1; 14.18/5.44 " 14.18/5.44 "undefined0 True = undefined; 14.18/5.44 " 14.18/5.44 "undefined1 = undefined0 False; 14.18/5.44 " 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (10) 14.18/5.44 Obligation: 14.18/5.44 mainModule Main 14.18/5.44 module Maybe where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Prelude; 14.18/5.44 listToMaybe :: [a] -> Maybe a; 14.18/5.44 listToMaybe [] = Nothing; 14.18/5.44 listToMaybe (a : wv) = Just a; 14.18/5.44 14.18/5.44 } 14.18/5.44 module List where { 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.18/5.44 elemIndex x = findIndex (== x); 14.18/5.44 14.18/5.44 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.18/5.44 findIndex p = Maybe.listToMaybe . findIndices p; 14.18/5.44 14.18/5.44 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.18/5.44 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 14.18/5.44 14.18/5.44 findIndices0 p vv1 = findIndices00 p vv1; 14.18/5.44 14.18/5.44 findIndices00 p (x,i) = findIndices000 i (p x); 14.18/5.44 findIndices00 p ww = []; 14.18/5.44 14.18/5.44 findIndices000 i True = i : []; 14.18/5.44 findIndices000 i False = []; 14.18/5.44 14.18/5.44 } 14.18/5.44 module Main where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 } 14.18/5.44 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (11) NumRed (SOUND) 14.18/5.44 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 14.18/5.44 ---------------------------------------- 14.18/5.44 14.18/5.44 (12) 14.18/5.44 Obligation: 14.18/5.44 mainModule Main 14.18/5.44 module Maybe where { 14.18/5.44 import qualified List; 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Prelude; 14.18/5.44 listToMaybe :: [a] -> Maybe a; 14.18/5.44 listToMaybe [] = Nothing; 14.18/5.44 listToMaybe (a : wv) = Just a; 14.18/5.44 14.18/5.44 } 14.18/5.44 module List where { 14.18/5.44 import qualified Main; 14.18/5.44 import qualified Maybe; 14.18/5.44 import qualified Prelude; 14.18/5.44 elemIndex :: Eq a => a -> [a] -> Maybe Int; 14.18/5.44 elemIndex x = findIndex (== x); 14.18/5.44 14.18/5.44 findIndex :: (a -> Bool) -> [a] -> Maybe Int; 14.18/5.44 findIndex p = Maybe.listToMaybe . findIndices p; 14.18/5.44 14.18/5.44 findIndices :: (a -> Bool) -> [a] -> [Int]; 14.18/5.44 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom (Pos Zero))); 14.18/5.45 14.18/5.45 findIndices0 p vv1 = findIndices00 p vv1; 14.18/5.45 14.18/5.45 findIndices00 p (x,i) = findIndices000 i (p x); 14.18/5.45 findIndices00 p ww = []; 14.18/5.45 14.18/5.45 findIndices000 i True = i : []; 14.18/5.45 findIndices000 i False = []; 14.18/5.45 14.18/5.45 } 14.18/5.45 module Main where { 14.18/5.45 import qualified List; 14.18/5.45 import qualified Maybe; 14.18/5.45 import qualified Prelude; 14.18/5.45 } 14.18/5.45 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (13) Narrow (SOUND) 14.18/5.45 Haskell To QDPs 14.18/5.45 14.18/5.45 digraph dp_graph { 14.18/5.45 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.18/5.45 3[label="List.elemIndex wx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 14.18/5.45 4[label="List.elemIndex wx3 wx4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 14.18/5.45 5[label="List.findIndex (wx3 ==) wx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 14.18/5.45 6[label="Maybe.listToMaybe . List.findIndices (wx3 ==)",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 14.18/5.45 7[label="Maybe.listToMaybe (List.findIndices (wx3 ==) wx4)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 14.18/5.45 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.18/5.45 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.18/5.45 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.18/5.45 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.18/5.45 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]; 14.18/5.45 336 -> 13[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 337[label="wx4/[]",fontsize=10,color="white",style="solid",shape="box"];12 -> 337[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 337 -> 14[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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.18/5.45 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.18/5.45 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.18/5.45 16[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (wx3 ==)) []))",fontsize=16,color="black",shape="triangle"];16 -> 18[label="",style="solid", color="black", weight=3]; 14.18/5.45 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.18/5.45 18[label="Maybe.listToMaybe (foldr (++) [] [])",fontsize=16,color="black",shape="box"];18 -> 20[label="",style="solid", color="black", weight=3]; 14.18/5.45 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.18/5.45 20[label="Maybe.listToMaybe []",fontsize=16,color="black",shape="box"];20 -> 22[label="",style="solid", color="black", weight=3]; 14.18/5.45 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.18/5.45 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.18/5.45 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.18/5.45 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.18/5.45 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]; 14.18/5.45 338 -> 27[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 339[label="wx3/EQ",fontsize=10,color="white",style="solid",shape="box"];26 -> 339[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 339 -> 28[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 340[label="wx3/GT",fontsize=10,color="white",style="solid",shape="box"];26 -> 340[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 340 -> 29[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 341 -> 30[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 342[label="wx40/EQ",fontsize=10,color="white",style="solid",shape="box"];27 -> 342[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 342 -> 31[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 343[label="wx40/GT",fontsize=10,color="white",style="solid",shape="box"];27 -> 343[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 343 -> 32[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 344 -> 33[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 345[label="wx40/EQ",fontsize=10,color="white",style="solid",shape="box"];28 -> 345[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 345 -> 34[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 346[label="wx40/GT",fontsize=10,color="white",style="solid",shape="box"];28 -> 346[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 346 -> 35[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 347 -> 36[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 348[label="wx40/EQ",fontsize=10,color="white",style="solid",shape="box"];29 -> 348[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 348 -> 37[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 349[label="wx40/GT",fontsize=10,color="white",style="solid",shape="box"];29 -> 349[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 349 -> 38[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 41 -> 40[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 44 -> 42[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 46 -> 45[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 350 -> 61[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 351[label="wx41/[]",fontsize=10,color="white",style="solid",shape="box"];55 -> 351[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 351 -> 62[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 352 -> 63[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 353[label="wx41/[]",fontsize=10,color="white",style="solid",shape="box"];56 -> 353[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 353 -> 64[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 354 -> 66[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 355[label="wx41/[]",fontsize=10,color="white",style="solid",shape="box"];58 -> 355[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 355 -> 67[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 68[label="Just (Pos Zero)",fontsize=16,color="green",shape="box"];69 -> 163[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 69 -> 165[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 69 -> 166[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 69 -> 167[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 70 -> 16[label="",style="dashed", color="red", weight=0]; 14.18/5.45 70[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) []))",fontsize=16,color="magenta"];70 -> 76[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 71 -> 277[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 71 -> 279[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 71 -> 280[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 71 -> 281[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 72 -> 16[label="",style="dashed", color="red", weight=0]; 14.18/5.45 72[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) []))",fontsize=16,color="magenta"];72 -> 78[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 73 -> 174[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 73 -> 176[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 73 -> 177[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 73 -> 178[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 74 -> 16[label="",style="dashed", color="red", weight=0]; 14.18/5.45 74[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) []))",fontsize=16,color="magenta"];74 -> 80[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 300 -> 303[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 300 -> 305[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 304 -> 261[label="",style="dashed", color="red", weight=0]; 14.18/5.45 304[label="primPlusNat wx11 (Succ Zero)",fontsize=16,color="magenta"];304 -> 306[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 305 -> 261[label="",style="dashed", color="red", weight=0]; 14.18/5.45 305[label="primPlusNat wx11 (Succ Zero)",fontsize=16,color="magenta"];305 -> 307[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 356 -> 270[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 357[label="wx5/Zero",fontsize=10,color="white",style="solid",shape="box"];261 -> 357[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 357 -> 271[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 270[label="primPlusNat (Succ wx50) (Succ Zero)",fontsize=16,color="black",shape="box"];270 -> 291[label="",style="solid", color="black", weight=3]; 14.18/5.45 271[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];271 -> 292[label="",style="solid", color="black", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 291[label="Succ (Succ (primPlusNat wx50 Zero))",fontsize=16,color="green",shape="box"];291 -> 296[label="",style="dashed", color="green", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 358 -> 298[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 359[label="wx50/Zero",fontsize=10,color="white",style="solid",shape="box"];296 -> 359[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 359 -> 299[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 298[label="primPlusNat (Succ wx500) Zero",fontsize=16,color="black",shape="box"];298 -> 301[label="",style="solid", color="black", weight=3]; 14.18/5.45 299[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];299 -> 302[label="",style="solid", color="black", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 360 -> 222[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 361[label="wx4110/EQ",fontsize=10,color="white",style="solid",shape="box"];219 -> 361[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 361 -> 223[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 362[label="wx4110/GT",fontsize=10,color="white",style="solid",shape="box"];219 -> 362[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 362 -> 224[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 363 -> 228[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 364[label="wx4110/EQ",fontsize=10,color="white",style="solid",shape="box"];221 -> 364[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 364 -> 229[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 365[label="wx4110/GT",fontsize=10,color="white",style="solid",shape="box"];221 -> 365[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 365 -> 230[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 366 -> 316[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 367[label="wx41110/EQ",fontsize=10,color="white",style="solid",shape="box"];315 -> 367[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 367 -> 317[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 368[label="wx41110/GT",fontsize=10,color="white",style="solid",shape="box"];315 -> 368[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 368 -> 318[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 233 -> 232[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 238 -> 237[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 321 -> 319[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 369 -> 253[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 370[label="wx4111/[]",fontsize=10,color="white",style="solid",shape="box"];247 -> 370[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 370 -> 254[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 371 -> 258[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 372[label="wx4111/[]",fontsize=10,color="white",style="solid",shape="box"];250 -> 372[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 372 -> 259[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 252[label="Just (Pos (primPlusNat wx5 (Succ Zero)))",fontsize=16,color="green",shape="box"];252 -> 261[label="",style="dashed", color="green", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 373 -> 326[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 374[label="wx41111/[]",fontsize=10,color="white",style="solid",shape="box"];324 -> 374[label="",style="solid", color="burlywood", weight=9]; 14.18/5.45 374 -> 327[label="",style="solid", color="burlywood", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 260[label="Just (Pos (primPlusNat wx7 (Succ Zero)))",fontsize=16,color="green",shape="box"];260 -> 269[label="",style="dashed", color="green", weight=3]; 14.18/5.45 262 -> 163[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 262 -> 273[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 262 -> 274[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 262 -> 275[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 263 -> 16[label="",style="dashed", color="red", weight=0]; 14.18/5.45 263[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (LT ==)) []))",fontsize=16,color="magenta"];263 -> 276[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 328[label="Just (Pos wx13)",fontsize=16,color="green",shape="box"];267 -> 174[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 267 -> 286[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 267 -> 287[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 267 -> 288[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 268 -> 16[label="",style="dashed", color="red", weight=0]; 14.18/5.45 268[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (GT ==)) []))",fontsize=16,color="magenta"];268 -> 289[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 269 -> 261[label="",style="dashed", color="red", weight=0]; 14.18/5.45 269[label="primPlusNat wx7 (Succ Zero)",fontsize=16,color="magenta"];269 -> 290[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 272 -> 261[label="",style="dashed", color="red", weight=0]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 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]; 14.18/5.45 329 -> 332[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 329 -> 333[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 329 -> 334[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 330 -> 16[label="",style="dashed", color="red", weight=0]; 14.18/5.45 330[label="Maybe.listToMaybe (foldr (++) [] (map (List.findIndices0 (EQ ==)) []))",fontsize=16,color="magenta"];330 -> 335[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 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]; 14.18/5.45 287[label="primPlusNat wx7 (Succ Zero)",fontsize=16,color="magenta"];287 -> 294[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 288 -> 261[label="",style="dashed", color="red", weight=0]; 14.18/5.45 288[label="primPlusNat wx7 (Succ Zero)",fontsize=16,color="magenta"];288 -> 295[label="",style="dashed", color="magenta", weight=3]; 14.18/5.45 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.18/5.45 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (14) 14.18/5.45 Complex Obligation (AND) 14.18/5.45 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (15) 14.18/5.45 Obligation: 14.18/5.45 Q DP problem: 14.18/5.45 The TRS P consists of the following rules: 14.18/5.45 14.18/5.45 new_listToMaybe5(GT, wx4111, wx5, wx6) -> new_listToMaybe4(wx5, wx4111) 14.18/5.45 new_listToMaybe4(wx5, :(wx41110, wx41111)) -> new_listToMaybe5(wx41110, wx41111, new_primPlusNat(wx5), new_primPlusNat(wx5)) 14.18/5.45 new_listToMaybe5(EQ, :(wx41110, wx41111), wx5, wx6) -> new_listToMaybe5(wx41110, wx41111, new_primPlusNat(wx5), new_primPlusNat(wx5)) 14.18/5.45 14.18/5.45 The TRS R consists of the following rules: 14.18/5.45 14.18/5.45 new_primPlusNat(Succ(wx50)) -> Succ(Succ(new_primPlusNat0(wx50))) 14.18/5.45 new_primPlusNat(Zero) -> Succ(Zero) 14.18/5.45 new_primPlusNat0(Succ(wx500)) -> Succ(wx500) 14.18/5.45 new_primPlusNat0(Zero) -> Zero 14.18/5.45 14.18/5.45 The set Q consists of the following terms: 14.18/5.45 14.18/5.45 new_primPlusNat0(Succ(x0)) 14.18/5.45 new_primPlusNat0(Zero) 14.18/5.45 new_primPlusNat(Succ(x0)) 14.18/5.45 new_primPlusNat(Zero) 14.18/5.45 14.18/5.45 We have to consider all minimal (P,Q,R)-chains. 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (16) QDPSizeChangeProof (EQUIVALENT) 14.18/5.45 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.18/5.45 14.18/5.45 From the DPs we obtained the following set of size-change graphs: 14.18/5.45 *new_listToMaybe4(wx5, :(wx41110, wx41111)) -> new_listToMaybe5(wx41110, wx41111, new_primPlusNat(wx5), new_primPlusNat(wx5)) 14.18/5.45 The graph contains the following edges 2 > 1, 2 > 2 14.18/5.45 14.18/5.45 14.18/5.45 *new_listToMaybe5(EQ, :(wx41110, wx41111), wx5, wx6) -> new_listToMaybe5(wx41110, wx41111, new_primPlusNat(wx5), new_primPlusNat(wx5)) 14.18/5.45 The graph contains the following edges 2 > 1, 2 > 2 14.18/5.45 14.18/5.45 14.18/5.45 *new_listToMaybe5(GT, wx4111, wx5, wx6) -> new_listToMaybe4(wx5, wx4111) 14.18/5.45 The graph contains the following edges 3 >= 1, 2 >= 2 14.18/5.45 14.18/5.45 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (17) 14.18/5.45 YES 14.18/5.45 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (18) 14.18/5.45 Obligation: 14.18/5.45 Q DP problem: 14.18/5.45 The TRS P consists of the following rules: 14.18/5.45 14.18/5.45 new_listToMaybe1(GT, wx41111, wx14, wx13) -> new_listToMaybe3(wx13, wx41111) 14.18/5.45 new_listToMaybe2(wx41110, wx41111, wx11, wx12) -> new_listToMaybe1(wx41110, wx41111, new_primPlusNat(wx11), new_primPlusNat(wx11)) 14.18/5.45 new_listToMaybe1(LT, :(wx411110, wx411111), wx14, wx13) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) 14.18/5.45 new_listToMaybe3(wx13, :(wx411110, wx411111)) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) 14.18/5.45 14.18/5.45 The TRS R consists of the following rules: 14.18/5.45 14.18/5.45 new_primPlusNat(Succ(wx50)) -> Succ(Succ(new_primPlusNat0(wx50))) 14.18/5.45 new_primPlusNat(Zero) -> Succ(Zero) 14.18/5.45 new_primPlusNat0(Succ(wx500)) -> Succ(wx500) 14.18/5.45 new_primPlusNat0(Zero) -> Zero 14.18/5.45 14.18/5.45 The set Q consists of the following terms: 14.18/5.45 14.18/5.45 new_primPlusNat0(Succ(x0)) 14.18/5.45 new_primPlusNat0(Zero) 14.18/5.45 new_primPlusNat(Succ(x0)) 14.18/5.45 new_primPlusNat(Zero) 14.18/5.45 14.18/5.45 We have to consider all minimal (P,Q,R)-chains. 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (19) TransformationProof (EQUIVALENT) 14.18/5.45 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]: 14.18/5.45 14.18/5.45 (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))) 14.18/5.45 14.18/5.45 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (20) 14.18/5.45 Obligation: 14.18/5.45 Q DP problem: 14.18/5.45 The TRS P consists of the following rules: 14.18/5.45 14.18/5.45 new_listToMaybe1(GT, wx41111, wx14, wx13) -> new_listToMaybe3(wx13, wx41111) 14.18/5.45 new_listToMaybe1(LT, :(wx411110, wx411111), wx14, wx13) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) 14.18/5.45 new_listToMaybe3(wx13, :(wx411110, wx411111)) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) 14.18/5.45 new_listToMaybe2(z0, z1, z3, z3) -> new_listToMaybe1(z0, z1, new_primPlusNat(z3), new_primPlusNat(z3)) 14.18/5.45 14.18/5.45 The TRS R consists of the following rules: 14.18/5.45 14.18/5.45 new_primPlusNat(Succ(wx50)) -> Succ(Succ(new_primPlusNat0(wx50))) 14.18/5.45 new_primPlusNat(Zero) -> Succ(Zero) 14.18/5.45 new_primPlusNat0(Succ(wx500)) -> Succ(wx500) 14.18/5.45 new_primPlusNat0(Zero) -> Zero 14.18/5.45 14.18/5.45 The set Q consists of the following terms: 14.18/5.45 14.18/5.45 new_primPlusNat0(Succ(x0)) 14.18/5.45 new_primPlusNat0(Zero) 14.18/5.45 new_primPlusNat(Succ(x0)) 14.18/5.45 new_primPlusNat(Zero) 14.18/5.45 14.18/5.45 We have to consider all minimal (P,Q,R)-chains. 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (21) QDPSizeChangeProof (EQUIVALENT) 14.18/5.45 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.18/5.45 14.18/5.45 From the DPs we obtained the following set of size-change graphs: 14.18/5.45 *new_listToMaybe3(wx13, :(wx411110, wx411111)) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) 14.18/5.45 The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 1 >= 4 14.18/5.45 14.18/5.45 14.18/5.45 *new_listToMaybe2(z0, z1, z3, z3) -> new_listToMaybe1(z0, z1, new_primPlusNat(z3), new_primPlusNat(z3)) 14.18/5.45 The graph contains the following edges 1 >= 1, 2 >= 2 14.18/5.45 14.18/5.45 14.18/5.45 *new_listToMaybe1(GT, wx41111, wx14, wx13) -> new_listToMaybe3(wx13, wx41111) 14.18/5.45 The graph contains the following edges 4 >= 1, 2 >= 2 14.18/5.45 14.18/5.45 14.18/5.45 *new_listToMaybe1(LT, :(wx411110, wx411111), wx14, wx13) -> new_listToMaybe2(wx411110, wx411111, wx13, wx13) 14.18/5.45 The graph contains the following edges 2 > 1, 2 > 2, 4 >= 3, 4 >= 4 14.18/5.45 14.18/5.45 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (22) 14.18/5.45 YES 14.18/5.45 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (23) 14.18/5.45 Obligation: 14.18/5.45 Q DP problem: 14.18/5.45 The TRS P consists of the following rules: 14.18/5.45 14.18/5.45 new_listToMaybe(LT, :(wx41110, wx41111), wx7, wx8) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx7), new_primPlusNat(wx7)) 14.18/5.45 new_listToMaybe(EQ, wx4111, wx7, wx8) -> new_listToMaybe0(wx7, wx4111) 14.18/5.45 new_listToMaybe0(wx7, :(wx41110, wx41111)) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx7), new_primPlusNat(wx7)) 14.18/5.45 14.18/5.45 The TRS R consists of the following rules: 14.18/5.45 14.18/5.45 new_primPlusNat(Succ(wx50)) -> Succ(Succ(new_primPlusNat0(wx50))) 14.18/5.45 new_primPlusNat(Zero) -> Succ(Zero) 14.18/5.45 new_primPlusNat0(Succ(wx500)) -> Succ(wx500) 14.18/5.45 new_primPlusNat0(Zero) -> Zero 14.18/5.45 14.18/5.45 The set Q consists of the following terms: 14.18/5.45 14.18/5.45 new_primPlusNat0(Succ(x0)) 14.18/5.45 new_primPlusNat0(Zero) 14.18/5.45 new_primPlusNat(Succ(x0)) 14.18/5.45 new_primPlusNat(Zero) 14.18/5.45 14.18/5.45 We have to consider all minimal (P,Q,R)-chains. 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (24) QDPSizeChangeProof (EQUIVALENT) 14.18/5.45 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.18/5.45 14.18/5.45 From the DPs we obtained the following set of size-change graphs: 14.18/5.45 *new_listToMaybe(LT, :(wx41110, wx41111), wx7, wx8) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx7), new_primPlusNat(wx7)) 14.18/5.45 The graph contains the following edges 2 > 1, 2 > 2 14.18/5.45 14.18/5.45 14.18/5.45 *new_listToMaybe(EQ, wx4111, wx7, wx8) -> new_listToMaybe0(wx7, wx4111) 14.18/5.45 The graph contains the following edges 3 >= 1, 2 >= 2 14.18/5.45 14.18/5.45 14.18/5.45 *new_listToMaybe0(wx7, :(wx41110, wx41111)) -> new_listToMaybe(wx41110, wx41111, new_primPlusNat(wx7), new_primPlusNat(wx7)) 14.18/5.45 The graph contains the following edges 2 > 1, 2 > 2 14.18/5.45 14.18/5.45 14.18/5.45 ---------------------------------------- 14.18/5.45 14.18/5.45 (25) 14.18/5.45 YES 14.18/5.49 EOF