11.47/4.54 YES 13.99/5.27 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 13.99/5.27 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 13.99/5.27 13.99/5.27 13.99/5.27 H-Termination with start terms of the given HASKELL could be proven: 13.99/5.27 13.99/5.27 (0) HASKELL 13.99/5.27 (1) LR [EQUIVALENT, 0 ms] 13.99/5.27 (2) HASKELL 13.99/5.27 (3) CR [EQUIVALENT, 0 ms] 13.99/5.27 (4) HASKELL 13.99/5.27 (5) IFR [EQUIVALENT, 0 ms] 13.99/5.27 (6) HASKELL 13.99/5.27 (7) BR [EQUIVALENT, 0 ms] 13.99/5.27 (8) HASKELL 13.99/5.27 (9) COR [EQUIVALENT, 13 ms] 13.99/5.27 (10) HASKELL 13.99/5.27 (11) NumRed [SOUND, 0 ms] 13.99/5.27 (12) HASKELL 13.99/5.27 (13) Narrow [SOUND, 0 ms] 13.99/5.27 (14) AND 13.99/5.27 (15) QDP 13.99/5.27 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.99/5.27 (17) YES 13.99/5.27 (18) QDP 13.99/5.27 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 13.99/5.27 (20) YES 13.99/5.27 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (0) 13.99/5.27 Obligation: 13.99/5.27 mainModule Main 13.99/5.27 module Maybe where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 module List where { 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 elemIndices :: Eq a => a -> [a] -> [Int]; 13.99/5.27 elemIndices x = findIndices (== x); 13.99/5.27 13.99/5.27 findIndices :: (a -> Bool) -> [a] -> [Int]; 13.99/5.27 findIndices p xs = concatMap (\vv1 ->case vv1 of { 13.99/5.27 (x,i)-> if p x then i : [] else []; 13.99/5.27 _-> []; 13.99/5.27 } ) (zip xs (enumFrom 0)); 13.99/5.27 13.99/5.27 } 13.99/5.27 module Main where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (1) LR (EQUIVALENT) 13.99/5.27 Lambda Reductions: 13.99/5.27 The following Lambda expression 13.99/5.27 "\ab->(a,b)" 13.99/5.27 is transformed to 13.99/5.27 "zip0 a b = (a,b); 13.99/5.27 " 13.99/5.27 The following Lambda expression 13.99/5.27 "\vv1->case vv1 of { 13.99/5.27 (x,i) -> if p x then i : [] else []; 13.99/5.27 _ -> []} 13.99/5.27 " 13.99/5.27 is transformed to 13.99/5.27 "findIndices0 p vv1 = case vv1 of { 13.99/5.27 (x,i) -> if p x then i : [] else []; 13.99/5.27 _ -> []} 13.99/5.27 ; 13.99/5.27 " 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (2) 13.99/5.27 Obligation: 13.99/5.27 mainModule Main 13.99/5.27 module Maybe where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 module List where { 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 elemIndices :: Eq a => a -> [a] -> [Int]; 13.99/5.27 elemIndices x = findIndices (== x); 13.99/5.27 13.99/5.27 findIndices :: (a -> Bool) -> [a] -> [Int]; 13.99/5.27 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 13.99/5.27 13.99/5.27 findIndices0 p vv1 = case vv1 of { 13.99/5.27 (x,i)-> if p x then i : [] else []; 13.99/5.27 _-> []; 13.99/5.27 } ; 13.99/5.27 13.99/5.27 } 13.99/5.27 module Main where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (3) CR (EQUIVALENT) 13.99/5.27 Case Reductions: 13.99/5.27 The following Case expression 13.99/5.27 "case vv1 of { 13.99/5.27 (x,i) -> if p x then i : [] else []; 13.99/5.27 _ -> []} 13.99/5.27 " 13.99/5.27 is transformed to 13.99/5.27 "findIndices00 p (x,i) = if p x then i : [] else []; 13.99/5.27 findIndices00 p _ = []; 13.99/5.27 " 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (4) 13.99/5.27 Obligation: 13.99/5.27 mainModule Main 13.99/5.27 module Maybe where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 module List where { 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 elemIndices :: Eq a => a -> [a] -> [Int]; 13.99/5.27 elemIndices x = findIndices (== x); 13.99/5.27 13.99/5.27 findIndices :: (a -> Bool) -> [a] -> [Int]; 13.99/5.27 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 13.99/5.27 13.99/5.27 findIndices0 p vv1 = findIndices00 p vv1; 13.99/5.27 13.99/5.27 findIndices00 p (x,i) = if p x then i : [] else []; 13.99/5.27 findIndices00 p _ = []; 13.99/5.27 13.99/5.27 } 13.99/5.27 module Main where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (5) IFR (EQUIVALENT) 13.99/5.27 If Reductions: 13.99/5.27 The following If expression 13.99/5.27 "if p x then i : [] else []" 13.99/5.27 is transformed to 13.99/5.27 "findIndices000 i True = i : []; 13.99/5.27 findIndices000 i False = []; 13.99/5.27 " 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (6) 13.99/5.27 Obligation: 13.99/5.27 mainModule Main 13.99/5.27 module Maybe where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 module List where { 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 elemIndices :: Eq a => a -> [a] -> [Int]; 13.99/5.27 elemIndices x = findIndices (== x); 13.99/5.27 13.99/5.27 findIndices :: (a -> Bool) -> [a] -> [Int]; 13.99/5.27 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 13.99/5.27 13.99/5.27 findIndices0 p vv1 = findIndices00 p vv1; 13.99/5.27 13.99/5.27 findIndices00 p (x,i) = findIndices000 i (p x); 13.99/5.27 findIndices00 p _ = []; 13.99/5.27 13.99/5.27 findIndices000 i True = i : []; 13.99/5.27 findIndices000 i False = []; 13.99/5.27 13.99/5.27 } 13.99/5.27 module Main where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (7) BR (EQUIVALENT) 13.99/5.27 Replaced joker patterns by fresh variables and removed binding patterns. 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (8) 13.99/5.27 Obligation: 13.99/5.27 mainModule Main 13.99/5.27 module Maybe where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 module List where { 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 elemIndices :: Eq a => a -> [a] -> [Int]; 13.99/5.27 elemIndices x = findIndices (== x); 13.99/5.27 13.99/5.27 findIndices :: (a -> Bool) -> [a] -> [Int]; 13.99/5.27 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 13.99/5.27 13.99/5.27 findIndices0 p vv1 = findIndices00 p vv1; 13.99/5.27 13.99/5.27 findIndices00 p (x,i) = findIndices000 i (p x); 13.99/5.27 findIndices00 p wv = []; 13.99/5.27 13.99/5.27 findIndices000 i True = i : []; 13.99/5.27 findIndices000 i False = []; 13.99/5.27 13.99/5.27 } 13.99/5.27 module Main where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (9) COR (EQUIVALENT) 13.99/5.27 Cond Reductions: 13.99/5.27 The following Function with conditions 13.99/5.27 "undefined |Falseundefined; 13.99/5.27 " 13.99/5.27 is transformed to 13.99/5.27 "undefined = undefined1; 13.99/5.27 " 13.99/5.27 "undefined0 True = undefined; 13.99/5.27 " 13.99/5.27 "undefined1 = undefined0 False; 13.99/5.27 " 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (10) 13.99/5.27 Obligation: 13.99/5.27 mainModule Main 13.99/5.27 module Maybe where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 module List where { 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 elemIndices :: Eq a => a -> [a] -> [Int]; 13.99/5.27 elemIndices x = findIndices (== x); 13.99/5.27 13.99/5.27 findIndices :: (a -> Bool) -> [a] -> [Int]; 13.99/5.27 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom 0)); 13.99/5.27 13.99/5.27 findIndices0 p vv1 = findIndices00 p vv1; 13.99/5.27 13.99/5.27 findIndices00 p (x,i) = findIndices000 i (p x); 13.99/5.27 findIndices00 p wv = []; 13.99/5.27 13.99/5.27 findIndices000 i True = i : []; 13.99/5.27 findIndices000 i False = []; 13.99/5.27 13.99/5.27 } 13.99/5.27 module Main where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (11) NumRed (SOUND) 13.99/5.27 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (12) 13.99/5.27 Obligation: 13.99/5.27 mainModule Main 13.99/5.27 module Maybe where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 module List where { 13.99/5.27 import qualified Main; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 elemIndices :: Eq a => a -> [a] -> [Int]; 13.99/5.27 elemIndices x = findIndices (== x); 13.99/5.27 13.99/5.27 findIndices :: (a -> Bool) -> [a] -> [Int]; 13.99/5.27 findIndices p xs = concatMap (findIndices0 p) (zip xs (enumFrom (Pos Zero))); 13.99/5.27 13.99/5.27 findIndices0 p vv1 = findIndices00 p vv1; 13.99/5.27 13.99/5.27 findIndices00 p (x,i) = findIndices000 i (p x); 13.99/5.27 findIndices00 p wv = []; 13.99/5.27 13.99/5.27 findIndices000 i True = i : []; 13.99/5.27 findIndices000 i False = []; 13.99/5.27 13.99/5.27 } 13.99/5.27 module Main where { 13.99/5.27 import qualified List; 13.99/5.27 import qualified Maybe; 13.99/5.27 import qualified Prelude; 13.99/5.27 } 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (13) Narrow (SOUND) 13.99/5.27 Haskell To QDPs 13.99/5.27 13.99/5.27 digraph dp_graph { 13.99/5.27 node [outthreshold=100, inthreshold=100];1[label="List.elemIndices",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 13.99/5.27 3[label="List.elemIndices ww3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 13.99/5.27 4[label="List.elemIndices ww3 ww4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 13.99/5.27 5[label="List.findIndices (ww3 ==) ww4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 13.99/5.27 6[label="concatMap (List.findIndices0 (ww3 ==)) (zip ww4 (enumFrom (Pos Zero)))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 13.99/5.27 7[label="concat . map (List.findIndices0 (ww3 ==))",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 13.99/5.27 8[label="concat (map (List.findIndices0 (ww3 ==)) (zip ww4 (enumFrom (Pos Zero))))",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 13.99/5.27 9[label="foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zip ww4 (enumFrom (Pos Zero))))",fontsize=16,color="black",shape="box"];9 -> 10[label="",style="solid", color="black", weight=3]; 13.99/5.27 10[label="foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zipWith zip0 ww4 (enumFrom (Pos Zero))))",fontsize=16,color="burlywood",shape="box"];195[label="ww4/ww40 : ww41",fontsize=10,color="white",style="solid",shape="box"];10 -> 195[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 195 -> 11[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 196[label="ww4/[]",fontsize=10,color="white",style="solid",shape="box"];10 -> 196[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 196 -> 12[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 11[label="foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zipWith zip0 (ww40 : ww41) (enumFrom (Pos Zero))))",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 13.99/5.27 12[label="foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zipWith zip0 [] (enumFrom (Pos Zero))))",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 13.99/5.27 13[label="foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zipWith zip0 (ww40 : ww41) (numericEnumFrom (Pos Zero))))",fontsize=16,color="black",shape="box"];13 -> 15[label="",style="solid", color="black", weight=3]; 13.99/5.27 14[label="foldr (++) [] (map (List.findIndices0 (ww3 ==)) [])",fontsize=16,color="black",shape="triangle"];14 -> 16[label="",style="solid", color="black", weight=3]; 13.99/5.27 15[label="foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zipWith zip0 (ww40 : ww41) (Pos Zero : (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];15 -> 17[label="",style="solid", color="black", weight=3]; 13.99/5.27 16[label="foldr (++) [] []",fontsize=16,color="black",shape="box"];16 -> 18[label="",style="solid", color="black", weight=3]; 13.99/5.27 17[label="foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zip0 ww40 (Pos Zero) : zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];17 -> 19[label="",style="solid", color="black", weight=3]; 13.99/5.27 18[label="[]",fontsize=16,color="green",shape="box"];19[label="foldr (++) [] (List.findIndices0 (ww3 ==) (zip0 ww40 (Pos Zero)) : map (List.findIndices0 (ww3 ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];19 -> 20[label="",style="solid", color="black", weight=3]; 13.99/5.27 20[label="(++) List.findIndices0 (ww3 ==) (zip0 ww40 (Pos Zero)) foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];20 -> 21[label="",style="solid", color="black", weight=3]; 13.99/5.27 21[label="(++) List.findIndices00 (ww3 ==) (zip0 ww40 (Pos Zero)) foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];21 -> 22[label="",style="solid", color="black", weight=3]; 13.99/5.27 22[label="(++) List.findIndices00 (ww3 ==) (ww40,Pos Zero) foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];22 -> 23[label="",style="solid", color="black", weight=3]; 13.99/5.27 23[label="(++) List.findIndices000 (Pos Zero) (ww3 == ww40) foldr (++) [] (map (List.findIndices0 (ww3 ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="burlywood",shape="box"];197[label="ww3/False",fontsize=10,color="white",style="solid",shape="box"];23 -> 197[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 197 -> 24[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 198[label="ww3/True",fontsize=10,color="white",style="solid",shape="box"];23 -> 198[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 198 -> 25[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 24[label="(++) List.findIndices000 (Pos Zero) (False == ww40) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="burlywood",shape="box"];199[label="ww40/False",fontsize=10,color="white",style="solid",shape="box"];24 -> 199[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 199 -> 26[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 200[label="ww40/True",fontsize=10,color="white",style="solid",shape="box"];24 -> 200[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 200 -> 27[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 25[label="(++) List.findIndices000 (Pos Zero) (True == ww40) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="burlywood",shape="box"];201[label="ww40/False",fontsize=10,color="white",style="solid",shape="box"];25 -> 201[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 201 -> 28[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 202[label="ww40/True",fontsize=10,color="white",style="solid",shape="box"];25 -> 202[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 202 -> 29[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 26[label="(++) List.findIndices000 (Pos Zero) (False == False) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 13.99/5.27 27[label="(++) List.findIndices000 (Pos Zero) (False == True) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 13.99/5.27 28[label="(++) List.findIndices000 (Pos Zero) (True == False) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 13.99/5.27 29[label="(++) List.findIndices000 (Pos Zero) (True == True) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];29 -> 33[label="",style="solid", color="black", weight=3]; 13.99/5.27 30[label="(++) List.findIndices000 (Pos Zero) True foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 13.99/5.27 31[label="(++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 13.99/5.27 32[label="(++) List.findIndices000 (Pos Zero) False foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];32 -> 36[label="",style="solid", color="black", weight=3]; 13.99/5.27 33[label="(++) List.findIndices000 (Pos Zero) True foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];33 -> 37[label="",style="solid", color="black", weight=3]; 13.99/5.27 34[label="(++) (Pos Zero : []) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];34 -> 38[label="",style="solid", color="black", weight=3]; 13.99/5.27 35[label="(++) [] foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];35 -> 39[label="",style="solid", color="black", weight=3]; 13.99/5.27 36[label="(++) [] foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];36 -> 40[label="",style="solid", color="black", weight=3]; 13.99/5.27 37[label="(++) (Pos Zero : []) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];37 -> 41[label="",style="solid", color="black", weight=3]; 13.99/5.27 38[label="Pos Zero : [] ++ foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="green",shape="box"];38 -> 42[label="",style="dashed", color="green", weight=3]; 13.99/5.27 39[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="burlywood",shape="box"];203[label="ww41/ww410 : ww411",fontsize=10,color="white",style="solid",shape="box"];39 -> 203[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 203 -> 43[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 204[label="ww41/[]",fontsize=10,color="white",style="solid",shape="box"];39 -> 204[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 204 -> 44[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 40[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="burlywood",shape="box"];205[label="ww41/ww410 : ww411",fontsize=10,color="white",style="solid",shape="box"];40 -> 205[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 205 -> 45[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 206[label="ww41/[]",fontsize=10,color="white",style="solid",shape="box"];40 -> 206[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 206 -> 46[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 41[label="Pos Zero : [] ++ foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="green",shape="box"];41 -> 47[label="",style="dashed", color="green", weight=3]; 13.99/5.27 42 -> 35[label="",style="dashed", color="red", weight=0]; 13.99/5.27 42[label="[] ++ foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="magenta"];43[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww410 : ww411) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];43 -> 48[label="",style="solid", color="black", weight=3]; 13.99/5.27 44[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 [] (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];44 -> 49[label="",style="solid", color="black", weight=3]; 13.99/5.27 45[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww410 : ww411) (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];45 -> 50[label="",style="solid", color="black", weight=3]; 13.99/5.27 46[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 [] (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];46 -> 51[label="",style="solid", color="black", weight=3]; 13.99/5.27 47 -> 36[label="",style="dashed", color="red", weight=0]; 13.99/5.27 47[label="[] ++ foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww41 (numericEnumFrom $! Pos Zero + fromInt (Pos (Succ Zero)))))",fontsize=16,color="magenta"];48 -> 107[label="",style="dashed", color="red", weight=0]; 13.99/5.27 48[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww410 : ww411) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];48 -> 108[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 48 -> 109[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 48 -> 110[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 48 -> 111[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 49 -> 14[label="",style="dashed", color="red", weight=0]; 13.99/5.27 49[label="foldr (++) [] (map (List.findIndices0 (False ==)) [])",fontsize=16,color="magenta"];49 -> 53[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 50 -> 115[label="",style="dashed", color="red", weight=0]; 13.99/5.27 50[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww410 : ww411) (Pos Zero + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos Zero + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];50 -> 116[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 50 -> 117[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 50 -> 118[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 50 -> 119[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 51 -> 14[label="",style="dashed", color="red", weight=0]; 13.99/5.27 51[label="foldr (++) [] (map (List.findIndices0 (True ==)) [])",fontsize=16,color="magenta"];51 -> 55[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 108[label="Zero",fontsize=16,color="green",shape="box"];109[label="Zero",fontsize=16,color="green",shape="box"];110[label="ww411",fontsize=16,color="green",shape="box"];111[label="ww410",fontsize=16,color="green",shape="box"];107[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww4110 : ww4111) (Pos ww5 + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos ww6 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];107 -> 114[label="",style="solid", color="black", weight=3]; 13.99/5.27 53[label="False",fontsize=16,color="green",shape="box"];116[label="Zero",fontsize=16,color="green",shape="box"];117[label="Zero",fontsize=16,color="green",shape="box"];118[label="ww411",fontsize=16,color="green",shape="box"];119[label="ww410",fontsize=16,color="green",shape="box"];115[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww4110 : ww4111) (Pos ww7 + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos ww8 + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="triangle"];115 -> 122[label="",style="solid", color="black", weight=3]; 13.99/5.27 55[label="True",fontsize=16,color="green",shape="box"];114[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww4110 : ww4111) (enforceWHNF (WHNF (Pos ww5 + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos ww6 + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];114 -> 123[label="",style="solid", color="black", weight=3]; 13.99/5.27 122[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww4110 : ww4111) (enforceWHNF (WHNF (Pos ww7 + fromInt (Pos (Succ Zero)))) (numericEnumFrom (Pos ww8 + fromInt (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];122 -> 124[label="",style="solid", color="black", weight=3]; 13.99/5.27 123[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww4110 : ww4111) (enforceWHNF (WHNF (primPlusInt (Pos ww5) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos ww6) (fromInt (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];123 -> 125[label="",style="solid", color="black", weight=3]; 13.99/5.27 124[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww4110 : ww4111) (enforceWHNF (WHNF (primPlusInt (Pos ww7) (fromInt (Pos (Succ Zero))))) (numericEnumFrom (primPlusInt (Pos ww8) (fromInt (Pos (Succ Zero))))))))",fontsize=16,color="black",shape="box"];124 -> 126[label="",style="solid", color="black", weight=3]; 13.99/5.27 125[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww4110 : ww4111) (enforceWHNF (WHNF (primPlusInt (Pos ww5) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos ww6) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];125 -> 127[label="",style="solid", color="black", weight=3]; 13.99/5.27 126[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww4110 : ww4111) (enforceWHNF (WHNF (primPlusInt (Pos ww7) (Pos (Succ Zero)))) (numericEnumFrom (primPlusInt (Pos ww8) (Pos (Succ Zero)))))))",fontsize=16,color="black",shape="box"];126 -> 128[label="",style="solid", color="black", weight=3]; 13.99/5.27 127[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww4110 : ww4111) (enforceWHNF (WHNF (Pos (primPlusNat ww5 (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat ww5 (Succ Zero)))))))",fontsize=16,color="black",shape="box"];127 -> 129[label="",style="solid", color="black", weight=3]; 13.99/5.27 128[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww4110 : ww4111) (enforceWHNF (WHNF (Pos (primPlusNat ww7 (Succ Zero)))) (numericEnumFrom (Pos (primPlusNat ww7 (Succ Zero)))))))",fontsize=16,color="black",shape="box"];128 -> 130[label="",style="solid", color="black", weight=3]; 13.99/5.27 129[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww4110 : ww4111) (numericEnumFrom (Pos (primPlusNat ww5 (Succ Zero))))))",fontsize=16,color="black",shape="box"];129 -> 131[label="",style="solid", color="black", weight=3]; 13.99/5.27 130[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww4110 : ww4111) (numericEnumFrom (Pos (primPlusNat ww7 (Succ Zero))))))",fontsize=16,color="black",shape="box"];130 -> 132[label="",style="solid", color="black", weight=3]; 13.99/5.27 131[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww4110 : ww4111) (Pos (primPlusNat ww5 (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];131 -> 133[label="",style="solid", color="black", weight=3]; 13.99/5.27 132[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww4110 : ww4111) (Pos (primPlusNat ww7 (Succ Zero)) : (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="black",shape="box"];132 -> 134[label="",style="solid", color="black", weight=3]; 13.99/5.27 133[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zip0 ww4110 (Pos (primPlusNat ww5 (Succ Zero))) : zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];133 -> 135[label="",style="solid", color="black", weight=3]; 13.99/5.27 134[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zip0 ww4110 (Pos (primPlusNat ww7 (Succ Zero))) : zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];134 -> 136[label="",style="solid", color="black", weight=3]; 13.99/5.27 135[label="foldr (++) [] (List.findIndices0 (False ==) (zip0 ww4110 (Pos (primPlusNat ww5 (Succ Zero)))) : map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];135 -> 137[label="",style="solid", color="black", weight=3]; 13.99/5.27 136[label="foldr (++) [] (List.findIndices0 (True ==) (zip0 ww4110 (Pos (primPlusNat ww7 (Succ Zero)))) : map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];136 -> 138[label="",style="solid", color="black", weight=3]; 13.99/5.27 137[label="(++) List.findIndices0 (False ==) (zip0 ww4110 (Pos (primPlusNat ww5 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];137 -> 139[label="",style="solid", color="black", weight=3]; 13.99/5.27 138[label="(++) List.findIndices0 (True ==) (zip0 ww4110 (Pos (primPlusNat ww7 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];138 -> 140[label="",style="solid", color="black", weight=3]; 13.99/5.27 139[label="(++) List.findIndices00 (False ==) (zip0 ww4110 (Pos (primPlusNat ww5 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];139 -> 141[label="",style="solid", color="black", weight=3]; 13.99/5.27 140[label="(++) List.findIndices00 (True ==) (zip0 ww4110 (Pos (primPlusNat ww7 (Succ Zero)))) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];140 -> 142[label="",style="solid", color="black", weight=3]; 13.99/5.27 141[label="(++) List.findIndices00 (False ==) (ww4110,Pos (primPlusNat ww5 (Succ Zero))) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];141 -> 143[label="",style="solid", color="black", weight=3]; 13.99/5.27 142[label="(++) List.findIndices00 (True ==) (ww4110,Pos (primPlusNat ww7 (Succ Zero))) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];142 -> 144[label="",style="solid", color="black", weight=3]; 13.99/5.27 143[label="(++) List.findIndices000 (Pos (primPlusNat ww5 (Succ Zero))) (False == ww4110) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="burlywood",shape="box"];207[label="ww4110/False",fontsize=10,color="white",style="solid",shape="box"];143 -> 207[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 207 -> 145[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 208[label="ww4110/True",fontsize=10,color="white",style="solid",shape="box"];143 -> 208[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 208 -> 146[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 144[label="(++) List.findIndices000 (Pos (primPlusNat ww7 (Succ Zero))) (True == ww4110) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="burlywood",shape="box"];209[label="ww4110/False",fontsize=10,color="white",style="solid",shape="box"];144 -> 209[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 209 -> 147[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 210[label="ww4110/True",fontsize=10,color="white",style="solid",shape="box"];144 -> 210[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 210 -> 148[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 145[label="(++) List.findIndices000 (Pos (primPlusNat ww5 (Succ Zero))) (False == False) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];145 -> 149[label="",style="solid", color="black", weight=3]; 13.99/5.27 146[label="(++) List.findIndices000 (Pos (primPlusNat ww5 (Succ Zero))) (False == True) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];146 -> 150[label="",style="solid", color="black", weight=3]; 13.99/5.27 147[label="(++) List.findIndices000 (Pos (primPlusNat ww7 (Succ Zero))) (True == False) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];147 -> 151[label="",style="solid", color="black", weight=3]; 13.99/5.27 148[label="(++) List.findIndices000 (Pos (primPlusNat ww7 (Succ Zero))) (True == True) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];148 -> 152[label="",style="solid", color="black", weight=3]; 13.99/5.27 149[label="(++) List.findIndices000 (Pos (primPlusNat ww5 (Succ Zero))) True foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];149 -> 153[label="",style="solid", color="black", weight=3]; 13.99/5.27 150[label="(++) List.findIndices000 (Pos (primPlusNat ww5 (Succ Zero))) False foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];150 -> 154[label="",style="solid", color="black", weight=3]; 13.99/5.27 151[label="(++) List.findIndices000 (Pos (primPlusNat ww7 (Succ Zero))) False foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];151 -> 155[label="",style="solid", color="black", weight=3]; 13.99/5.27 152[label="(++) List.findIndices000 (Pos (primPlusNat ww7 (Succ Zero))) True foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];152 -> 156[label="",style="solid", color="black", weight=3]; 13.99/5.27 153[label="(++) (Pos (primPlusNat ww5 (Succ Zero)) : []) foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];153 -> 157[label="",style="solid", color="black", weight=3]; 13.99/5.27 154[label="(++) [] foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];154 -> 158[label="",style="solid", color="black", weight=3]; 13.99/5.27 155[label="(++) [] foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="triangle"];155 -> 159[label="",style="solid", color="black", weight=3]; 13.99/5.27 156[label="(++) (Pos (primPlusNat ww7 (Succ Zero)) : []) foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];156 -> 160[label="",style="solid", color="black", weight=3]; 13.99/5.27 157[label="Pos (primPlusNat ww5 (Succ Zero)) : [] ++ foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="green",shape="box"];157 -> 161[label="",style="dashed", color="green", weight=3]; 13.99/5.27 157 -> 162[label="",style="dashed", color="green", weight=3]; 13.99/5.27 158[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="burlywood",shape="box"];211[label="ww4111/ww41110 : ww41111",fontsize=10,color="white",style="solid",shape="box"];158 -> 211[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 211 -> 163[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 212[label="ww4111/[]",fontsize=10,color="white",style="solid",shape="box"];158 -> 212[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 212 -> 164[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 159[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="burlywood",shape="box"];213[label="ww4111/ww41110 : ww41111",fontsize=10,color="white",style="solid",shape="box"];159 -> 213[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 213 -> 165[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 214[label="ww4111/[]",fontsize=10,color="white",style="solid",shape="box"];159 -> 214[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 214 -> 166[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 160[label="Pos (primPlusNat ww7 (Succ Zero)) : [] ++ foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="green",shape="box"];160 -> 167[label="",style="dashed", color="green", weight=3]; 13.99/5.27 160 -> 168[label="",style="dashed", color="green", weight=3]; 13.99/5.27 161[label="primPlusNat ww5 (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];215[label="ww5/Succ ww50",fontsize=10,color="white",style="solid",shape="box"];161 -> 215[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 215 -> 169[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 216[label="ww5/Zero",fontsize=10,color="white",style="solid",shape="box"];161 -> 216[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 216 -> 170[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 162 -> 154[label="",style="dashed", color="red", weight=0]; 13.99/5.27 162[label="[] ++ foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="magenta"];163[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww41110 : ww41111) (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];163 -> 171[label="",style="solid", color="black", weight=3]; 13.99/5.27 164[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 [] (numericEnumFrom $! Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];164 -> 172[label="",style="solid", color="black", weight=3]; 13.99/5.27 165[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww41110 : ww41111) (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];165 -> 173[label="",style="solid", color="black", weight=3]; 13.99/5.27 166[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 [] (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="black",shape="box"];166 -> 174[label="",style="solid", color="black", weight=3]; 13.99/5.27 167 -> 161[label="",style="dashed", color="red", weight=0]; 13.99/5.27 167[label="primPlusNat ww7 (Succ Zero)",fontsize=16,color="magenta"];167 -> 175[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 168 -> 155[label="",style="dashed", color="red", weight=0]; 13.99/5.27 168[label="[] ++ foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 ww4111 (numericEnumFrom $! Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)))))",fontsize=16,color="magenta"];169[label="primPlusNat (Succ ww50) (Succ Zero)",fontsize=16,color="black",shape="box"];169 -> 176[label="",style="solid", color="black", weight=3]; 13.99/5.27 170[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];170 -> 177[label="",style="solid", color="black", weight=3]; 13.99/5.27 171 -> 107[label="",style="dashed", color="red", weight=0]; 13.99/5.27 171[label="foldr (++) [] (map (List.findIndices0 (False ==)) (zipWith zip0 (ww41110 : ww41111) (Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (primPlusNat ww5 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];171 -> 178[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 171 -> 179[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 171 -> 180[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 171 -> 181[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 172 -> 14[label="",style="dashed", color="red", weight=0]; 13.99/5.27 172[label="foldr (++) [] (map (List.findIndices0 (False ==)) [])",fontsize=16,color="magenta"];172 -> 182[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 173 -> 115[label="",style="dashed", color="red", weight=0]; 13.99/5.27 173[label="foldr (++) [] (map (List.findIndices0 (True ==)) (zipWith zip0 (ww41110 : ww41111) (Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero)) `seq` numericEnumFrom (Pos (primPlusNat ww7 (Succ Zero)) + fromInt (Pos (Succ Zero))))))",fontsize=16,color="magenta"];173 -> 183[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 173 -> 184[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 173 -> 185[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 173 -> 186[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 174 -> 14[label="",style="dashed", color="red", weight=0]; 13.99/5.27 174[label="foldr (++) [] (map (List.findIndices0 (True ==)) [])",fontsize=16,color="magenta"];174 -> 187[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 175[label="ww7",fontsize=16,color="green",shape="box"];176[label="Succ (Succ (primPlusNat ww50 Zero))",fontsize=16,color="green",shape="box"];176 -> 188[label="",style="dashed", color="green", weight=3]; 13.99/5.27 177[label="Succ Zero",fontsize=16,color="green",shape="box"];178 -> 161[label="",style="dashed", color="red", weight=0]; 13.99/5.27 178[label="primPlusNat ww5 (Succ Zero)",fontsize=16,color="magenta"];179 -> 161[label="",style="dashed", color="red", weight=0]; 13.99/5.27 179[label="primPlusNat ww5 (Succ Zero)",fontsize=16,color="magenta"];180[label="ww41111",fontsize=16,color="green",shape="box"];181[label="ww41110",fontsize=16,color="green",shape="box"];182[label="False",fontsize=16,color="green",shape="box"];183 -> 161[label="",style="dashed", color="red", weight=0]; 13.99/5.27 183[label="primPlusNat ww7 (Succ Zero)",fontsize=16,color="magenta"];183 -> 189[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 184 -> 161[label="",style="dashed", color="red", weight=0]; 13.99/5.27 184[label="primPlusNat ww7 (Succ Zero)",fontsize=16,color="magenta"];184 -> 190[label="",style="dashed", color="magenta", weight=3]; 13.99/5.27 185[label="ww41111",fontsize=16,color="green",shape="box"];186[label="ww41110",fontsize=16,color="green",shape="box"];187[label="True",fontsize=16,color="green",shape="box"];188[label="primPlusNat ww50 Zero",fontsize=16,color="burlywood",shape="box"];217[label="ww50/Succ ww500",fontsize=10,color="white",style="solid",shape="box"];188 -> 217[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 217 -> 191[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 218[label="ww50/Zero",fontsize=10,color="white",style="solid",shape="box"];188 -> 218[label="",style="solid", color="burlywood", weight=9]; 13.99/5.27 218 -> 192[label="",style="solid", color="burlywood", weight=3]; 13.99/5.27 189[label="ww7",fontsize=16,color="green",shape="box"];190[label="ww7",fontsize=16,color="green",shape="box"];191[label="primPlusNat (Succ ww500) Zero",fontsize=16,color="black",shape="box"];191 -> 193[label="",style="solid", color="black", weight=3]; 13.99/5.27 192[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];192 -> 194[label="",style="solid", color="black", weight=3]; 13.99/5.27 193[label="Succ ww500",fontsize=16,color="green",shape="box"];194[label="Zero",fontsize=16,color="green",shape="box"];} 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (14) 13.99/5.27 Complex Obligation (AND) 13.99/5.27 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (15) 13.99/5.27 Obligation: 13.99/5.27 Q DP problem: 13.99/5.27 The TRS P consists of the following rules: 13.99/5.27 13.99/5.27 new_foldr(False, :(ww41110, ww41111), ww7, ww8) -> new_foldr(ww41110, ww41111, new_primPlusNat(ww7), new_primPlusNat(ww7)) 13.99/5.27 new_psPs(:(ww41110, ww41111), ww7) -> new_foldr(ww41110, ww41111, new_primPlusNat(ww7), new_primPlusNat(ww7)) 13.99/5.27 new_foldr(True, ww4111, ww7, ww8) -> new_psPs(ww4111, ww7) 13.99/5.27 13.99/5.27 The TRS R consists of the following rules: 13.99/5.27 13.99/5.27 new_primPlusNat(Succ(ww50)) -> Succ(Succ(new_primPlusNat0(ww50))) 13.99/5.27 new_primPlusNat(Zero) -> Succ(Zero) 13.99/5.27 new_primPlusNat0(Succ(ww500)) -> Succ(ww500) 13.99/5.27 new_primPlusNat0(Zero) -> Zero 13.99/5.27 13.99/5.27 The set Q consists of the following terms: 13.99/5.27 13.99/5.27 new_primPlusNat0(Succ(x0)) 13.99/5.27 new_primPlusNat0(Zero) 13.99/5.27 new_primPlusNat(Succ(x0)) 13.99/5.27 new_primPlusNat(Zero) 13.99/5.27 13.99/5.27 We have to consider all minimal (P,Q,R)-chains. 13.99/5.27 ---------------------------------------- 13.99/5.27 13.99/5.27 (16) QDPSizeChangeProof (EQUIVALENT) 13.99/5.27 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. 13.99/5.27 13.99/5.27 From the DPs we obtained the following set of size-change graphs: 13.99/5.27 *new_foldr(False, :(ww41110, ww41111), ww7, ww8) -> new_foldr(ww41110, ww41111, new_primPlusNat(ww7), new_primPlusNat(ww7)) 13.99/5.27 The graph contains the following edges 2 > 1, 2 > 2 13.99/5.27 13.99/5.27 13.99/5.27 *new_foldr(True, ww4111, ww7, ww8) -> new_psPs(ww4111, ww7) 13.99/5.27 The graph contains the following edges 2 >= 1, 3 >= 2 13.99/5.27 13.99/5.27 13.99/5.27 *new_psPs(:(ww41110, ww41111), ww7) -> new_foldr(ww41110, ww41111, new_primPlusNat(ww7), new_primPlusNat(ww7)) 13.99/5.28 The graph contains the following edges 1 > 1, 1 > 2 13.99/5.28 13.99/5.28 13.99/5.28 ---------------------------------------- 13.99/5.28 13.99/5.28 (17) 13.99/5.28 YES 13.99/5.28 13.99/5.28 ---------------------------------------- 13.99/5.28 13.99/5.28 (18) 13.99/5.28 Obligation: 13.99/5.28 Q DP problem: 13.99/5.28 The TRS P consists of the following rules: 13.99/5.28 13.99/5.28 new_foldr0(True, :(ww41110, ww41111), ww5, ww6) -> new_foldr0(ww41110, ww41111, new_primPlusNat(ww5), new_primPlusNat(ww5)) 13.99/5.28 new_foldr0(False, ww4111, ww5, ww6) -> new_psPs0(ww4111, ww5) 13.99/5.28 new_psPs0(:(ww41110, ww41111), ww5) -> new_foldr0(ww41110, ww41111, new_primPlusNat(ww5), new_primPlusNat(ww5)) 13.99/5.28 13.99/5.28 The TRS R consists of the following rules: 13.99/5.28 13.99/5.28 new_primPlusNat(Succ(ww50)) -> Succ(Succ(new_primPlusNat0(ww50))) 13.99/5.28 new_primPlusNat(Zero) -> Succ(Zero) 13.99/5.28 new_primPlusNat0(Succ(ww500)) -> Succ(ww500) 13.99/5.28 new_primPlusNat0(Zero) -> Zero 13.99/5.28 13.99/5.28 The set Q consists of the following terms: 13.99/5.28 13.99/5.28 new_primPlusNat0(Succ(x0)) 13.99/5.28 new_primPlusNat0(Zero) 13.99/5.28 new_primPlusNat(Succ(x0)) 13.99/5.28 new_primPlusNat(Zero) 13.99/5.28 13.99/5.28 We have to consider all minimal (P,Q,R)-chains. 13.99/5.28 ---------------------------------------- 13.99/5.28 13.99/5.28 (19) QDPSizeChangeProof (EQUIVALENT) 13.99/5.28 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. 13.99/5.28 13.99/5.28 From the DPs we obtained the following set of size-change graphs: 13.99/5.28 *new_foldr0(True, :(ww41110, ww41111), ww5, ww6) -> new_foldr0(ww41110, ww41111, new_primPlusNat(ww5), new_primPlusNat(ww5)) 13.99/5.28 The graph contains the following edges 2 > 1, 2 > 2 13.99/5.28 13.99/5.28 13.99/5.28 *new_foldr0(False, ww4111, ww5, ww6) -> new_psPs0(ww4111, ww5) 13.99/5.28 The graph contains the following edges 2 >= 1, 3 >= 2 13.99/5.28 13.99/5.28 13.99/5.28 *new_psPs0(:(ww41110, ww41111), ww5) -> new_foldr0(ww41110, ww41111, new_primPlusNat(ww5), new_primPlusNat(ww5)) 13.99/5.28 The graph contains the following edges 1 > 1, 1 > 2 13.99/5.28 13.99/5.28 13.99/5.28 ---------------------------------------- 13.99/5.28 13.99/5.28 (20) 13.99/5.28 YES 14.25/5.32 EOF