12.03/5.01 YES 14.52/5.69 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 14.52/5.69 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 14.52/5.69 14.52/5.69 14.52/5.69 H-Termination with start terms of the given HASKELL could be proven: 14.52/5.69 14.52/5.69 (0) HASKELL 14.52/5.69 (1) IFR [EQUIVALENT, 0 ms] 14.52/5.69 (2) HASKELL 14.52/5.69 (3) BR [EQUIVALENT, 0 ms] 14.52/5.69 (4) HASKELL 14.52/5.69 (5) COR [EQUIVALENT, 23 ms] 14.52/5.69 (6) HASKELL 14.52/5.69 (7) LetRed [EQUIVALENT, 0 ms] 14.52/5.69 (8) HASKELL 14.52/5.69 (9) Narrow [SOUND, 0 ms] 14.52/5.69 (10) AND 14.52/5.69 (11) QDP 14.52/5.69 (12) TransformationProof [EQUIVALENT, 0 ms] 14.52/5.69 (13) QDP 14.52/5.69 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 14.52/5.69 (15) QDP 14.52/5.69 (16) UsableRulesProof [EQUIVALENT, 0 ms] 14.52/5.69 (17) QDP 14.52/5.69 (18) QReductionProof [EQUIVALENT, 0 ms] 14.52/5.69 (19) QDP 14.52/5.69 (20) TransformationProof [EQUIVALENT, 0 ms] 14.52/5.69 (21) QDP 14.52/5.69 (22) TransformationProof [EQUIVALENT, 12 ms] 14.52/5.69 (23) QDP 14.52/5.69 (24) DependencyGraphProof [EQUIVALENT, 0 ms] 14.52/5.69 (25) QDP 14.52/5.69 (26) UsableRulesProof [EQUIVALENT, 0 ms] 14.52/5.69 (27) QDP 14.52/5.69 (28) QReductionProof [EQUIVALENT, 0 ms] 14.52/5.69 (29) QDP 14.52/5.69 (30) TransformationProof [EQUIVALENT, 0 ms] 14.52/5.69 (31) QDP 14.52/5.69 (32) UsableRulesProof [EQUIVALENT, 0 ms] 14.52/5.69 (33) QDP 14.52/5.69 (34) QReductionProof [EQUIVALENT, 0 ms] 14.52/5.69 (35) QDP 14.52/5.69 (36) TransformationProof [EQUIVALENT, 0 ms] 14.52/5.69 (37) QDP 14.52/5.69 (38) TransformationProof [EQUIVALENT, 0 ms] 14.52/5.69 (39) QDP 14.52/5.69 (40) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.52/5.69 (41) YES 14.52/5.69 (42) QDP 14.52/5.69 (43) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.52/5.69 (44) YES 14.52/5.69 (45) QDP 14.52/5.69 (46) TransformationProof [EQUIVALENT, 0 ms] 14.52/5.69 (47) QDP 14.52/5.69 (48) DependencyGraphProof [EQUIVALENT, 0 ms] 14.52/5.69 (49) QDP 14.52/5.69 (50) UsableRulesProof [EQUIVALENT, 0 ms] 14.52/5.69 (51) QDP 14.52/5.69 (52) QReductionProof [EQUIVALENT, 0 ms] 14.52/5.69 (53) QDP 14.52/5.69 (54) TransformationProof [EQUIVALENT, 0 ms] 14.52/5.69 (55) QDP 14.52/5.69 (56) DependencyGraphProof [EQUIVALENT, 0 ms] 14.52/5.69 (57) QDP 14.52/5.69 (58) UsableRulesProof [EQUIVALENT, 0 ms] 14.52/5.69 (59) QDP 14.52/5.69 (60) QReductionProof [EQUIVALENT, 0 ms] 14.52/5.69 (61) QDP 14.52/5.69 (62) TransformationProof [EQUIVALENT, 0 ms] 14.52/5.69 (63) QDP 14.52/5.69 (64) DependencyGraphProof [EQUIVALENT, 0 ms] 14.52/5.69 (65) AND 14.52/5.69 (66) QDP 14.52/5.69 (67) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.52/5.69 (68) YES 14.52/5.69 (69) QDP 14.52/5.69 (70) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.52/5.69 (71) YES 14.52/5.69 (72) QDP 14.52/5.69 (73) TransformationProof [EQUIVALENT, 7 ms] 14.52/5.69 (74) QDP 14.52/5.69 (75) UsableRulesProof [EQUIVALENT, 0 ms] 14.52/5.69 (76) QDP 14.52/5.69 (77) QReductionProof [EQUIVALENT, 0 ms] 14.52/5.69 (78) QDP 14.52/5.69 (79) QDPSizeChangeProof [EQUIVALENT, 0 ms] 14.52/5.69 (80) YES 14.52/5.69 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (0) 14.52/5.69 Obligation: 14.52/5.69 mainModule Main 14.52/5.69 module Maybe where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 module List where { 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 14.52/5.69 deleteBy _ _ [] = []; 14.52/5.69 deleteBy eq x (y : ys) = if x `eq` y then ys else y : deleteBy eq x ys; 14.52/5.69 14.52/5.69 elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; 14.52/5.69 elem_by _ _ [] = False; 14.52/5.69 elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; 14.52/5.69 14.52/5.69 nubBy :: (a -> a -> Bool) -> [a] -> [a]; 14.52/5.69 nubBy eq l = nubBy' l [] where { 14.52/5.69 nubBy' [] _ = []; 14.52/5.69 nubBy' (y : ys) xs | elem_by eq y xs = nubBy' ys xs 14.52/5.69 | otherwise = y : nubBy' ys (y : xs); 14.52/5.69 }; 14.52/5.69 14.52/5.69 union :: Eq a => [a] -> [a] -> [a]; 14.52/5.69 union = unionBy (==); 14.52/5.69 14.52/5.69 unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; 14.52/5.69 unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; 14.52/5.69 14.52/5.69 } 14.52/5.69 module Main where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (1) IFR (EQUIVALENT) 14.52/5.69 If Reductions: 14.52/5.69 The following If expression 14.52/5.69 "if eq x y then ys else y : deleteBy eq x ys" 14.52/5.69 is transformed to 14.52/5.69 "deleteBy0 ys y eq x True = ys; 14.52/5.69 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 14.52/5.69 " 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (2) 14.52/5.69 Obligation: 14.52/5.69 mainModule Main 14.52/5.69 module Maybe where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 module List where { 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 14.52/5.69 deleteBy _ _ [] = []; 14.52/5.69 deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); 14.52/5.69 14.52/5.69 deleteBy0 ys y eq x True = ys; 14.52/5.69 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 14.52/5.69 14.52/5.69 elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; 14.52/5.69 elem_by _ _ [] = False; 14.52/5.69 elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; 14.52/5.69 14.52/5.69 nubBy :: (a -> a -> Bool) -> [a] -> [a]; 14.52/5.69 nubBy eq l = nubBy' l [] where { 14.52/5.69 nubBy' [] _ = []; 14.52/5.69 nubBy' (y : ys) xs | elem_by eq y xs = nubBy' ys xs 14.52/5.69 | otherwise = y : nubBy' ys (y : xs); 14.52/5.69 }; 14.52/5.69 14.52/5.69 union :: Eq a => [a] -> [a] -> [a]; 14.52/5.69 union = unionBy (==); 14.52/5.69 14.52/5.69 unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; 14.52/5.69 unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; 14.52/5.69 14.52/5.69 } 14.52/5.69 module Main where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (3) BR (EQUIVALENT) 14.52/5.69 Replaced joker patterns by fresh variables and removed binding patterns. 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (4) 14.52/5.69 Obligation: 14.52/5.69 mainModule Main 14.52/5.69 module Maybe where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 module List where { 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 14.52/5.69 deleteBy wv ww [] = []; 14.52/5.69 deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); 14.52/5.69 14.52/5.69 deleteBy0 ys y eq x True = ys; 14.52/5.69 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 14.52/5.69 14.52/5.69 elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; 14.52/5.69 elem_by vy vz [] = False; 14.52/5.69 elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; 14.52/5.69 14.52/5.69 nubBy :: (a -> a -> Bool) -> [a] -> [a]; 14.52/5.69 nubBy eq l = nubBy' l [] where { 14.52/5.69 nubBy' [] wu = []; 14.52/5.69 nubBy' (y : ys) xs | elem_by eq y xs = nubBy' ys xs 14.52/5.69 | otherwise = y : nubBy' ys (y : xs); 14.52/5.69 }; 14.52/5.69 14.52/5.69 union :: Eq a => [a] -> [a] -> [a]; 14.52/5.69 union = unionBy (==); 14.52/5.69 14.52/5.69 unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; 14.52/5.69 unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; 14.52/5.69 14.52/5.69 } 14.52/5.69 module Main where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (5) COR (EQUIVALENT) 14.52/5.69 Cond Reductions: 14.52/5.69 The following Function with conditions 14.52/5.69 "undefined |Falseundefined; 14.52/5.69 " 14.52/5.69 is transformed to 14.52/5.69 "undefined = undefined1; 14.52/5.69 " 14.52/5.69 "undefined0 True = undefined; 14.52/5.69 " 14.52/5.69 "undefined1 = undefined0 False; 14.52/5.69 " 14.52/5.69 The following Function with conditions 14.52/5.69 "nubBy' [] wu = []; 14.52/5.69 nubBy' (y : ys) xs|elem_by eq y xsnubBy' ys xs|otherwisey : nubBy' ys (y : xs); 14.52/5.69 " 14.52/5.69 is transformed to 14.52/5.69 "nubBy' [] wu = nubBy'3 [] wu; 14.52/5.69 nubBy' (y : ys) xs = nubBy'2 (y : ys) xs; 14.52/5.69 " 14.52/5.69 "nubBy'1 y ys xs True = nubBy' ys xs; 14.52/5.69 nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise; 14.52/5.69 " 14.52/5.69 "nubBy'0 y ys xs True = y : nubBy' ys (y : xs); 14.52/5.69 " 14.52/5.69 "nubBy'2 (y : ys) xs = nubBy'1 y ys xs (elem_by eq y xs); 14.52/5.69 " 14.52/5.69 "nubBy'3 [] wu = []; 14.52/5.69 nubBy'3 wz xu = nubBy'2 wz xu; 14.52/5.69 " 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (6) 14.52/5.69 Obligation: 14.52/5.69 mainModule Main 14.52/5.69 module Maybe where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 module List where { 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 14.52/5.69 deleteBy wv ww [] = []; 14.52/5.69 deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); 14.52/5.69 14.52/5.69 deleteBy0 ys y eq x True = ys; 14.52/5.69 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 14.52/5.69 14.52/5.69 elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; 14.52/5.69 elem_by vy vz [] = False; 14.52/5.69 elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; 14.52/5.69 14.52/5.69 nubBy :: (a -> a -> Bool) -> [a] -> [a]; 14.52/5.69 nubBy eq l = nubBy' l [] where { 14.52/5.69 nubBy' [] wu = nubBy'3 [] wu; 14.52/5.69 nubBy' (y : ys) xs = nubBy'2 (y : ys) xs; 14.52/5.69 nubBy'0 y ys xs True = y : nubBy' ys (y : xs); 14.52/5.69 nubBy'1 y ys xs True = nubBy' ys xs; 14.52/5.69 nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise; 14.52/5.69 nubBy'2 (y : ys) xs = nubBy'1 y ys xs (elem_by eq y xs); 14.52/5.69 nubBy'3 [] wu = []; 14.52/5.69 nubBy'3 wz xu = nubBy'2 wz xu; 14.52/5.69 }; 14.52/5.69 14.52/5.69 union :: Eq a => [a] -> [a] -> [a]; 14.52/5.69 union = unionBy (==); 14.52/5.69 14.52/5.69 unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; 14.52/5.69 unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; 14.52/5.69 14.52/5.69 } 14.52/5.69 module Main where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (7) LetRed (EQUIVALENT) 14.52/5.69 Let/Where Reductions: 14.52/5.69 The bindings of the following Let/Where expression 14.52/5.69 "nubBy' l [] where { 14.52/5.69 nubBy' [] wu = nubBy'3 [] wu; 14.52/5.69 nubBy' (y : ys) xs = nubBy'2 (y : ys) xs; 14.52/5.69 ; 14.52/5.69 nubBy'0 y ys xs True = y : nubBy' ys (y : xs); 14.52/5.69 ; 14.52/5.69 nubBy'1 y ys xs True = nubBy' ys xs; 14.52/5.69 nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise; 14.52/5.69 ; 14.52/5.69 nubBy'2 (y : ys) xs = nubBy'1 y ys xs (elem_by eq y xs); 14.52/5.69 ; 14.52/5.69 nubBy'3 [] wu = []; 14.52/5.69 nubBy'3 wz xu = nubBy'2 wz xu; 14.52/5.69 } 14.52/5.69 " 14.52/5.69 are unpacked to the following functions on top level 14.52/5.69 "nubByNubBy'2 xv (y : ys) xs = nubByNubBy'1 xv y ys xs (elem_by xv y xs); 14.52/5.69 " 14.52/5.69 "nubByNubBy'3 xv [] wu = []; 14.52/5.69 nubByNubBy'3 xv wz xu = nubByNubBy'2 xv wz xu; 14.52/5.69 " 14.52/5.69 "nubByNubBy'0 xv y ys xs True = y : nubByNubBy' xv ys (y : xs); 14.52/5.69 " 14.52/5.69 "nubByNubBy' xv [] wu = nubByNubBy'3 xv [] wu; 14.52/5.69 nubByNubBy' xv (y : ys) xs = nubByNubBy'2 xv (y : ys) xs; 14.52/5.69 " 14.52/5.69 "nubByNubBy'1 xv y ys xs True = nubByNubBy' xv ys xs; 14.52/5.69 nubByNubBy'1 xv y ys xs False = nubByNubBy'0 xv y ys xs otherwise; 14.52/5.69 " 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (8) 14.52/5.69 Obligation: 14.52/5.69 mainModule Main 14.52/5.69 module Maybe where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 module List where { 14.52/5.69 import qualified Main; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 14.52/5.69 deleteBy wv ww [] = []; 14.52/5.69 deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); 14.52/5.69 14.52/5.69 deleteBy0 ys y eq x True = ys; 14.52/5.69 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 14.52/5.69 14.52/5.69 elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; 14.52/5.69 elem_by vy vz [] = False; 14.52/5.69 elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; 14.52/5.69 14.52/5.69 nubBy :: (a -> a -> Bool) -> [a] -> [a]; 14.52/5.69 nubBy eq l = nubByNubBy' eq l []; 14.52/5.69 14.52/5.69 nubByNubBy' xv [] wu = nubByNubBy'3 xv [] wu; 14.52/5.69 nubByNubBy' xv (y : ys) xs = nubByNubBy'2 xv (y : ys) xs; 14.52/5.69 14.52/5.69 nubByNubBy'0 xv y ys xs True = y : nubByNubBy' xv ys (y : xs); 14.52/5.69 14.52/5.69 nubByNubBy'1 xv y ys xs True = nubByNubBy' xv ys xs; 14.52/5.69 nubByNubBy'1 xv y ys xs False = nubByNubBy'0 xv y ys xs otherwise; 14.52/5.69 14.52/5.69 nubByNubBy'2 xv (y : ys) xs = nubByNubBy'1 xv y ys xs (elem_by xv y xs); 14.52/5.69 14.52/5.69 nubByNubBy'3 xv [] wu = []; 14.52/5.69 nubByNubBy'3 xv wz xu = nubByNubBy'2 xv wz xu; 14.52/5.69 14.52/5.69 union :: Eq a => [a] -> [a] -> [a]; 14.52/5.69 union = unionBy (==); 14.52/5.69 14.52/5.69 unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; 14.52/5.69 unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; 14.52/5.69 14.52/5.69 } 14.52/5.69 module Main where { 14.52/5.69 import qualified List; 14.52/5.69 import qualified Maybe; 14.52/5.69 import qualified Prelude; 14.52/5.69 } 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (9) Narrow (SOUND) 14.52/5.69 Haskell To QDPs 14.52/5.69 14.52/5.69 digraph dp_graph { 14.52/5.69 node [outthreshold=100, inthreshold=100];1[label="List.union",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 14.52/5.69 3[label="List.union xw3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 14.52/5.69 4[label="List.union xw3 xw4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 14.52/5.69 5[label="List.unionBy (==) xw3 xw4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 14.52/5.69 6[label="xw3 ++ foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) xw3",fontsize=16,color="burlywood",shape="box"];1153[label="xw3/xw30 : xw31",fontsize=10,color="white",style="solid",shape="box"];6 -> 1153[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1153 -> 7[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1154[label="xw3/[]",fontsize=10,color="white",style="solid",shape="box"];6 -> 1154[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1154 -> 8[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 7[label="(xw30 : xw31) ++ foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) (xw30 : xw31)",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 14.52/5.69 8[label="[] ++ foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) []",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 14.52/5.69 9[label="xw30 : xw31 ++ foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) (xw30 : xw31)",fontsize=16,color="green",shape="box"];9 -> 11[label="",style="dashed", color="green", weight=3]; 14.52/5.69 10[label="foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) []",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 14.52/5.69 11 -> 114[label="",style="dashed", color="red", weight=0]; 14.52/5.69 11[label="xw31 ++ foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) (xw30 : xw31)",fontsize=16,color="magenta"];11 -> 115[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 11 -> 116[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 11 -> 117[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 11 -> 118[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 12[label="List.nubBy (==) xw4",fontsize=16,color="black",shape="triangle"];12 -> 15[label="",style="solid", color="black", weight=3]; 14.52/5.69 115 -> 12[label="",style="dashed", color="red", weight=0]; 14.52/5.69 115[label="List.nubBy (==) xw4",fontsize=16,color="magenta"];116[label="xw31",fontsize=16,color="green",shape="box"];117[label="xw31",fontsize=16,color="green",shape="box"];118[label="xw30",fontsize=16,color="green",shape="box"];114[label="xw8 ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="burlywood",shape="triangle"];1155[label="xw8/xw80 : xw81",fontsize=10,color="white",style="solid",shape="box"];114 -> 1155[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1155 -> 143[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1156[label="xw8/[]",fontsize=10,color="white",style="solid",shape="box"];114 -> 1156[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1156 -> 144[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 15[label="List.nubByNubBy' (==) xw4 []",fontsize=16,color="burlywood",shape="box"];1157[label="xw4/xw40 : xw41",fontsize=10,color="white",style="solid",shape="box"];15 -> 1157[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1157 -> 18[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1158[label="xw4/[]",fontsize=10,color="white",style="solid",shape="box"];15 -> 1158[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1158 -> 19[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 143[label="(xw80 : xw81) ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="black",shape="box"];143 -> 149[label="",style="solid", color="black", weight=3]; 14.52/5.69 144[label="[] ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="black",shape="box"];144 -> 150[label="",style="solid", color="black", weight=3]; 14.52/5.69 18[label="List.nubByNubBy' (==) (xw40 : xw41) []",fontsize=16,color="black",shape="box"];18 -> 23[label="",style="solid", color="black", weight=3]; 14.52/5.69 19[label="List.nubByNubBy' (==) [] []",fontsize=16,color="black",shape="box"];19 -> 24[label="",style="solid", color="black", weight=3]; 14.52/5.69 149[label="xw80 : xw81 ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="green",shape="box"];149 -> 155[label="",style="dashed", color="green", weight=3]; 14.52/5.69 150[label="foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="black",shape="box"];150 -> 156[label="",style="solid", color="black", weight=3]; 14.52/5.69 23[label="List.nubByNubBy'2 (==) (xw40 : xw41) []",fontsize=16,color="black",shape="box"];23 -> 28[label="",style="solid", color="black", weight=3]; 14.52/5.69 24[label="List.nubByNubBy'3 (==) [] []",fontsize=16,color="black",shape="box"];24 -> 29[label="",style="solid", color="black", weight=3]; 14.52/5.69 155 -> 114[label="",style="dashed", color="red", weight=0]; 14.52/5.69 155[label="xw81 ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="magenta"];155 -> 163[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 156[label="foldl (flip (List.deleteBy (==))) (flip (List.deleteBy (==)) xw9 xw10) xw11",fontsize=16,color="burlywood",shape="triangle"];1159[label="xw11/xw110 : xw111",fontsize=10,color="white",style="solid",shape="box"];156 -> 1159[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1159 -> 164[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1160[label="xw11/[]",fontsize=10,color="white",style="solid",shape="box"];156 -> 1160[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1160 -> 165[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 28[label="List.nubByNubBy'1 (==) xw40 xw41 [] (List.elem_by (==) xw40 [])",fontsize=16,color="black",shape="box"];28 -> 33[label="",style="solid", color="black", weight=3]; 14.52/5.69 29[label="[]",fontsize=16,color="green",shape="box"];163[label="xw81",fontsize=16,color="green",shape="box"];164[label="foldl (flip (List.deleteBy (==))) (flip (List.deleteBy (==)) xw9 xw10) (xw110 : xw111)",fontsize=16,color="black",shape="box"];164 -> 168[label="",style="solid", color="black", weight=3]; 14.52/5.69 165[label="foldl (flip (List.deleteBy (==))) (flip (List.deleteBy (==)) xw9 xw10) []",fontsize=16,color="black",shape="box"];165 -> 169[label="",style="solid", color="black", weight=3]; 14.52/5.69 33[label="List.nubByNubBy'1 (==) xw40 xw41 [] False",fontsize=16,color="black",shape="box"];33 -> 37[label="",style="solid", color="black", weight=3]; 14.52/5.69 168 -> 156[label="",style="dashed", color="red", weight=0]; 14.52/5.69 168[label="foldl (flip (List.deleteBy (==))) (flip (List.deleteBy (==)) (flip (List.deleteBy (==)) xw9 xw10) xw110) xw111",fontsize=16,color="magenta"];168 -> 172[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 168 -> 173[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 168 -> 174[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 169[label="flip (List.deleteBy (==)) xw9 xw10",fontsize=16,color="black",shape="triangle"];169 -> 175[label="",style="solid", color="black", weight=3]; 14.52/5.69 37[label="List.nubByNubBy'0 (==) xw40 xw41 [] otherwise",fontsize=16,color="black",shape="box"];37 -> 42[label="",style="solid", color="black", weight=3]; 14.52/5.69 172 -> 169[label="",style="dashed", color="red", weight=0]; 14.52/5.69 172[label="flip (List.deleteBy (==)) xw9 xw10",fontsize=16,color="magenta"];173[label="xw111",fontsize=16,color="green",shape="box"];174[label="xw110",fontsize=16,color="green",shape="box"];175[label="List.deleteBy (==) xw10 xw9",fontsize=16,color="burlywood",shape="triangle"];1161[label="xw9/xw90 : xw91",fontsize=10,color="white",style="solid",shape="box"];175 -> 1161[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1161 -> 178[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1162[label="xw9/[]",fontsize=10,color="white",style="solid",shape="box"];175 -> 1162[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1162 -> 179[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 42[label="List.nubByNubBy'0 (==) xw40 xw41 [] True",fontsize=16,color="black",shape="box"];42 -> 49[label="",style="solid", color="black", weight=3]; 14.52/5.69 178[label="List.deleteBy (==) xw10 (xw90 : xw91)",fontsize=16,color="black",shape="box"];178 -> 184[label="",style="solid", color="black", weight=3]; 14.52/5.69 179[label="List.deleteBy (==) xw10 []",fontsize=16,color="black",shape="box"];179 -> 185[label="",style="solid", color="black", weight=3]; 14.52/5.69 49[label="xw40 : List.nubByNubBy' (==) xw41 (xw40 : [])",fontsize=16,color="green",shape="box"];49 -> 55[label="",style="dashed", color="green", weight=3]; 14.52/5.69 184 -> 190[label="",style="dashed", color="red", weight=0]; 14.52/5.69 184[label="List.deleteBy0 xw91 xw90 (==) xw10 ((==) xw10 xw90)",fontsize=16,color="magenta"];184 -> 191[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 184 -> 192[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 184 -> 193[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 184 -> 194[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 185[label="[]",fontsize=16,color="green",shape="box"];55 -> 589[label="",style="dashed", color="red", weight=0]; 14.52/5.69 55[label="List.nubByNubBy' (==) xw41 (xw40 : [])",fontsize=16,color="magenta"];55 -> 590[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 55 -> 591[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 55 -> 592[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 191[label="xw10",fontsize=16,color="green",shape="box"];192[label="xw91",fontsize=16,color="green",shape="box"];193[label="xw90",fontsize=16,color="green",shape="box"];194[label="(==) xw10 xw90",fontsize=16,color="blue",shape="box"];1163[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1163[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1163 -> 195[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1164[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1164[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1164 -> 196[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1165[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1165[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1165 -> 197[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1166[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1166[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1166 -> 198[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1167[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1167[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1167 -> 199[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1168[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1168[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1168 -> 200[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1169[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1169[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1169 -> 201[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1170[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1170[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1170 -> 202[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1171[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1171[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1171 -> 203[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1172[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1172[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1172 -> 204[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1173[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1173[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1173 -> 205[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1174[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1174[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1174 -> 206[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1175[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1175[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1175 -> 207[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1176[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];194 -> 1176[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1176 -> 208[label="",style="solid", color="blue", weight=3]; 14.52/5.69 190[label="List.deleteBy0 xw17 xw18 (==) xw19 xw20",fontsize=16,color="burlywood",shape="triangle"];1177[label="xw20/False",fontsize=10,color="white",style="solid",shape="box"];190 -> 1177[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1177 -> 209[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1178[label="xw20/True",fontsize=10,color="white",style="solid",shape="box"];190 -> 1178[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1178 -> 210[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 590[label="xw41",fontsize=16,color="green",shape="box"];591[label="[]",fontsize=16,color="green",shape="box"];592[label="xw40",fontsize=16,color="green",shape="box"];589[label="List.nubByNubBy' (==) xw50 (xw51 : xw52)",fontsize=16,color="burlywood",shape="triangle"];1179[label="xw50/xw500 : xw501",fontsize=10,color="white",style="solid",shape="box"];589 -> 1179[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1179 -> 653[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1180[label="xw50/[]",fontsize=10,color="white",style="solid",shape="box"];589 -> 1180[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1180 -> 654[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 195[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];195 -> 215[label="",style="solid", color="black", weight=3]; 14.52/5.69 196[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];196 -> 216[label="",style="solid", color="black", weight=3]; 14.52/5.69 197[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];197 -> 217[label="",style="solid", color="black", weight=3]; 14.52/5.69 198[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];198 -> 218[label="",style="solid", color="black", weight=3]; 14.52/5.69 199[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];199 -> 219[label="",style="solid", color="black", weight=3]; 14.52/5.69 200[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];200 -> 220[label="",style="solid", color="black", weight=3]; 14.52/5.69 201[label="(==) xw10 xw90",fontsize=16,color="burlywood",shape="triangle"];1181[label="xw10/False",fontsize=10,color="white",style="solid",shape="box"];201 -> 1181[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1181 -> 221[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1182[label="xw10/True",fontsize=10,color="white",style="solid",shape="box"];201 -> 1182[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1182 -> 222[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 202[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];202 -> 223[label="",style="solid", color="black", weight=3]; 14.52/5.69 203[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];203 -> 224[label="",style="solid", color="black", weight=3]; 14.52/5.69 204[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];204 -> 225[label="",style="solid", color="black", weight=3]; 14.52/5.69 205[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];205 -> 226[label="",style="solid", color="black", weight=3]; 14.52/5.69 206[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];206 -> 227[label="",style="solid", color="black", weight=3]; 14.52/5.69 207[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];207 -> 228[label="",style="solid", color="black", weight=3]; 14.52/5.69 208[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];208 -> 229[label="",style="solid", color="black", weight=3]; 14.52/5.69 209[label="List.deleteBy0 xw17 xw18 (==) xw19 False",fontsize=16,color="black",shape="box"];209 -> 230[label="",style="solid", color="black", weight=3]; 14.52/5.69 210[label="List.deleteBy0 xw17 xw18 (==) xw19 True",fontsize=16,color="black",shape="box"];210 -> 231[label="",style="solid", color="black", weight=3]; 14.52/5.69 653[label="List.nubByNubBy' (==) (xw500 : xw501) (xw51 : xw52)",fontsize=16,color="black",shape="box"];653 -> 655[label="",style="solid", color="black", weight=3]; 14.52/5.69 654[label="List.nubByNubBy' (==) [] (xw51 : xw52)",fontsize=16,color="black",shape="box"];654 -> 656[label="",style="solid", color="black", weight=3]; 14.52/5.69 215[label="error []",fontsize=16,color="red",shape="box"];216[label="error []",fontsize=16,color="red",shape="box"];217[label="error []",fontsize=16,color="red",shape="box"];218[label="error []",fontsize=16,color="red",shape="box"];219[label="error []",fontsize=16,color="red",shape="box"];220[label="error []",fontsize=16,color="red",shape="box"];221[label="(==) False xw90",fontsize=16,color="burlywood",shape="box"];1183[label="xw90/False",fontsize=10,color="white",style="solid",shape="box"];221 -> 1183[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1183 -> 234[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1184[label="xw90/True",fontsize=10,color="white",style="solid",shape="box"];221 -> 1184[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1184 -> 235[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 222[label="(==) True xw90",fontsize=16,color="burlywood",shape="box"];1185[label="xw90/False",fontsize=10,color="white",style="solid",shape="box"];222 -> 1185[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1185 -> 236[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1186[label="xw90/True",fontsize=10,color="white",style="solid",shape="box"];222 -> 1186[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1186 -> 237[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 223[label="error []",fontsize=16,color="red",shape="box"];224[label="error []",fontsize=16,color="red",shape="box"];225[label="error []",fontsize=16,color="red",shape="box"];226[label="error []",fontsize=16,color="red",shape="box"];227[label="error []",fontsize=16,color="red",shape="box"];228[label="error []",fontsize=16,color="red",shape="box"];229[label="error []",fontsize=16,color="red",shape="box"];230[label="xw18 : List.deleteBy (==) xw19 xw17",fontsize=16,color="green",shape="box"];230 -> 238[label="",style="dashed", color="green", weight=3]; 14.52/5.69 231[label="xw17",fontsize=16,color="green",shape="box"];655[label="List.nubByNubBy'2 (==) (xw500 : xw501) (xw51 : xw52)",fontsize=16,color="black",shape="box"];655 -> 657[label="",style="solid", color="black", weight=3]; 14.52/5.69 656[label="List.nubByNubBy'3 (==) [] (xw51 : xw52)",fontsize=16,color="black",shape="box"];656 -> 658[label="",style="solid", color="black", weight=3]; 14.52/5.69 234[label="(==) False False",fontsize=16,color="black",shape="box"];234 -> 241[label="",style="solid", color="black", weight=3]; 14.52/5.69 235[label="(==) False True",fontsize=16,color="black",shape="box"];235 -> 242[label="",style="solid", color="black", weight=3]; 14.52/5.69 236[label="(==) True False",fontsize=16,color="black",shape="box"];236 -> 243[label="",style="solid", color="black", weight=3]; 14.52/5.69 237[label="(==) True True",fontsize=16,color="black",shape="box"];237 -> 244[label="",style="solid", color="black", weight=3]; 14.52/5.69 238 -> 175[label="",style="dashed", color="red", weight=0]; 14.52/5.69 238[label="List.deleteBy (==) xw19 xw17",fontsize=16,color="magenta"];238 -> 245[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 238 -> 246[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 657[label="List.nubByNubBy'1 (==) xw500 xw501 (xw51 : xw52) (List.elem_by (==) xw500 (xw51 : xw52))",fontsize=16,color="black",shape="box"];657 -> 659[label="",style="solid", color="black", weight=3]; 14.52/5.69 658[label="[]",fontsize=16,color="green",shape="box"];241[label="True",fontsize=16,color="green",shape="box"];242[label="False",fontsize=16,color="green",shape="box"];243[label="False",fontsize=16,color="green",shape="box"];244[label="True",fontsize=16,color="green",shape="box"];245[label="xw17",fontsize=16,color="green",shape="box"];246[label="xw19",fontsize=16,color="green",shape="box"];659 -> 1035[label="",style="dashed", color="red", weight=0]; 14.52/5.69 659[label="List.nubByNubBy'1 (==) xw500 xw501 (xw51 : xw52) ((==) xw51 xw500 || List.elem_by (==) xw500 xw52)",fontsize=16,color="magenta"];659 -> 1036[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 659 -> 1037[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 659 -> 1038[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 659 -> 1039[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 659 -> 1040[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 659 -> 1041[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1036[label="xw51",fontsize=16,color="green",shape="box"];1037[label="xw500",fontsize=16,color="green",shape="box"];1038[label="(==) xw51 xw500",fontsize=16,color="blue",shape="box"];1187[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1187[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1187 -> 1048[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1188[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1188[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1188 -> 1049[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1189[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1189[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1189 -> 1050[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1190[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1190[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1190 -> 1051[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1191[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1191[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1191 -> 1052[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1192[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1192[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1192 -> 1053[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1193[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1193[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1193 -> 1054[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1194[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1194[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1194 -> 1055[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1195[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1195[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1195 -> 1056[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1196[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1196[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1196 -> 1057[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1197[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1197[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1197 -> 1058[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1198[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1198[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1198 -> 1059[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1199[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1199[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1199 -> 1060[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1200[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1038 -> 1200[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1200 -> 1061[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1039[label="xw52",fontsize=16,color="green",shape="box"];1040[label="xw501",fontsize=16,color="green",shape="box"];1041[label="xw52",fontsize=16,color="green",shape="box"];1035[label="List.nubByNubBy'1 (==) xw142 xw143 (xw144 : xw145) (xw146 || List.elem_by (==) xw142 xw147)",fontsize=16,color="burlywood",shape="triangle"];1201[label="xw146/False",fontsize=10,color="white",style="solid",shape="box"];1035 -> 1201[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1201 -> 1062[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1202[label="xw146/True",fontsize=10,color="white",style="solid",shape="box"];1035 -> 1202[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1202 -> 1063[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1048 -> 195[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1048[label="(==) xw51 xw500",fontsize=16,color="magenta"];1048 -> 1064[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1048 -> 1065[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1049 -> 196[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1049[label="(==) xw51 xw500",fontsize=16,color="magenta"];1049 -> 1066[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1049 -> 1067[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1050 -> 197[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1050[label="(==) xw51 xw500",fontsize=16,color="magenta"];1050 -> 1068[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1050 -> 1069[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1051 -> 198[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1051[label="(==) xw51 xw500",fontsize=16,color="magenta"];1051 -> 1070[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1051 -> 1071[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1052 -> 199[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1052[label="(==) xw51 xw500",fontsize=16,color="magenta"];1052 -> 1072[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1052 -> 1073[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1053 -> 200[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1053[label="(==) xw51 xw500",fontsize=16,color="magenta"];1053 -> 1074[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1053 -> 1075[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1054 -> 201[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1054[label="(==) xw51 xw500",fontsize=16,color="magenta"];1054 -> 1076[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1054 -> 1077[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1055 -> 202[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1055[label="(==) xw51 xw500",fontsize=16,color="magenta"];1055 -> 1078[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1055 -> 1079[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1056 -> 203[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1056[label="(==) xw51 xw500",fontsize=16,color="magenta"];1056 -> 1080[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1056 -> 1081[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1057 -> 204[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1057[label="(==) xw51 xw500",fontsize=16,color="magenta"];1057 -> 1082[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1057 -> 1083[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1058 -> 205[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1058[label="(==) xw51 xw500",fontsize=16,color="magenta"];1058 -> 1084[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1058 -> 1085[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1059 -> 206[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1059[label="(==) xw51 xw500",fontsize=16,color="magenta"];1059 -> 1086[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1059 -> 1087[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1060 -> 207[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1060[label="(==) xw51 xw500",fontsize=16,color="magenta"];1060 -> 1088[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1060 -> 1089[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1061 -> 208[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1061[label="(==) xw51 xw500",fontsize=16,color="magenta"];1061 -> 1090[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1061 -> 1091[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1062[label="List.nubByNubBy'1 (==) xw142 xw143 (xw144 : xw145) (False || List.elem_by (==) xw142 xw147)",fontsize=16,color="black",shape="box"];1062 -> 1092[label="",style="solid", color="black", weight=3]; 14.52/5.69 1063[label="List.nubByNubBy'1 (==) xw142 xw143 (xw144 : xw145) (True || List.elem_by (==) xw142 xw147)",fontsize=16,color="black",shape="box"];1063 -> 1093[label="",style="solid", color="black", weight=3]; 14.52/5.69 1064[label="xw500",fontsize=16,color="green",shape="box"];1065[label="xw51",fontsize=16,color="green",shape="box"];1066[label="xw500",fontsize=16,color="green",shape="box"];1067[label="xw51",fontsize=16,color="green",shape="box"];1068[label="xw500",fontsize=16,color="green",shape="box"];1069[label="xw51",fontsize=16,color="green",shape="box"];1070[label="xw500",fontsize=16,color="green",shape="box"];1071[label="xw51",fontsize=16,color="green",shape="box"];1072[label="xw500",fontsize=16,color="green",shape="box"];1073[label="xw51",fontsize=16,color="green",shape="box"];1074[label="xw500",fontsize=16,color="green",shape="box"];1075[label="xw51",fontsize=16,color="green",shape="box"];1076[label="xw500",fontsize=16,color="green",shape="box"];1077[label="xw51",fontsize=16,color="green",shape="box"];1078[label="xw500",fontsize=16,color="green",shape="box"];1079[label="xw51",fontsize=16,color="green",shape="box"];1080[label="xw500",fontsize=16,color="green",shape="box"];1081[label="xw51",fontsize=16,color="green",shape="box"];1082[label="xw500",fontsize=16,color="green",shape="box"];1083[label="xw51",fontsize=16,color="green",shape="box"];1084[label="xw500",fontsize=16,color="green",shape="box"];1085[label="xw51",fontsize=16,color="green",shape="box"];1086[label="xw500",fontsize=16,color="green",shape="box"];1087[label="xw51",fontsize=16,color="green",shape="box"];1088[label="xw500",fontsize=16,color="green",shape="box"];1089[label="xw51",fontsize=16,color="green",shape="box"];1090[label="xw500",fontsize=16,color="green",shape="box"];1091[label="xw51",fontsize=16,color="green",shape="box"];1092[label="List.nubByNubBy'1 (==) xw142 xw143 (xw144 : xw145) (List.elem_by (==) xw142 xw147)",fontsize=16,color="burlywood",shape="box"];1203[label="xw147/xw1470 : xw1471",fontsize=10,color="white",style="solid",shape="box"];1092 -> 1203[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1203 -> 1094[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1204[label="xw147/[]",fontsize=10,color="white",style="solid",shape="box"];1092 -> 1204[label="",style="solid", color="burlywood", weight=9]; 14.52/5.69 1204 -> 1095[label="",style="solid", color="burlywood", weight=3]; 14.52/5.69 1093[label="List.nubByNubBy'1 (==) xw142 xw143 (xw144 : xw145) True",fontsize=16,color="black",shape="box"];1093 -> 1096[label="",style="solid", color="black", weight=3]; 14.52/5.69 1094[label="List.nubByNubBy'1 (==) xw142 xw143 (xw144 : xw145) (List.elem_by (==) xw142 (xw1470 : xw1471))",fontsize=16,color="black",shape="box"];1094 -> 1097[label="",style="solid", color="black", weight=3]; 14.52/5.69 1095[label="List.nubByNubBy'1 (==) xw142 xw143 (xw144 : xw145) (List.elem_by (==) xw142 [])",fontsize=16,color="black",shape="box"];1095 -> 1098[label="",style="solid", color="black", weight=3]; 14.52/5.69 1096 -> 589[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1096[label="List.nubByNubBy' (==) xw143 (xw144 : xw145)",fontsize=16,color="magenta"];1096 -> 1099[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1096 -> 1100[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1096 -> 1101[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1097 -> 1035[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1097[label="List.nubByNubBy'1 (==) xw142 xw143 (xw144 : xw145) ((==) xw1470 xw142 || List.elem_by (==) xw142 xw1471)",fontsize=16,color="magenta"];1097 -> 1102[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1097 -> 1103[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1098[label="List.nubByNubBy'1 (==) xw142 xw143 (xw144 : xw145) False",fontsize=16,color="black",shape="box"];1098 -> 1104[label="",style="solid", color="black", weight=3]; 14.52/5.69 1099[label="xw143",fontsize=16,color="green",shape="box"];1100[label="xw145",fontsize=16,color="green",shape="box"];1101[label="xw144",fontsize=16,color="green",shape="box"];1102[label="(==) xw1470 xw142",fontsize=16,color="blue",shape="box"];1205[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1205[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1205 -> 1105[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1206[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1206[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1206 -> 1106[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1207[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1207[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1207 -> 1107[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1208[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1208[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1208 -> 1108[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1209[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1209[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1209 -> 1109[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1210[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1210[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1210 -> 1110[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1211[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1211[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1211 -> 1111[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1212[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1212[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1212 -> 1112[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1213[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1213[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1213 -> 1113[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1214[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1214[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1214 -> 1114[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1215[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1215[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1215 -> 1115[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1216[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1216[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1216 -> 1116[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1217[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1217[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1217 -> 1117[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1218[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1102 -> 1218[label="",style="solid", color="blue", weight=9]; 14.52/5.69 1218 -> 1118[label="",style="solid", color="blue", weight=3]; 14.52/5.69 1103[label="xw1471",fontsize=16,color="green",shape="box"];1104[label="List.nubByNubBy'0 (==) xw142 xw143 (xw144 : xw145) otherwise",fontsize=16,color="black",shape="box"];1104 -> 1119[label="",style="solid", color="black", weight=3]; 14.52/5.69 1105 -> 195[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1105[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1105 -> 1120[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1105 -> 1121[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1106 -> 196[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1106[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1106 -> 1122[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1106 -> 1123[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1107 -> 197[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1107[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1107 -> 1124[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1107 -> 1125[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1108 -> 198[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1108[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1108 -> 1126[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1108 -> 1127[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1109 -> 199[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1109[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1109 -> 1128[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1109 -> 1129[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1110 -> 200[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1110[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1110 -> 1130[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1110 -> 1131[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1111 -> 201[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1111[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1111 -> 1132[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1111 -> 1133[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1112 -> 202[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1112[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1112 -> 1134[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1112 -> 1135[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1113 -> 203[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1113[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1113 -> 1136[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1113 -> 1137[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1114 -> 204[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1114[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1114 -> 1138[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1114 -> 1139[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1115 -> 205[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1115[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1115 -> 1140[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1115 -> 1141[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1116 -> 206[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1116[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1116 -> 1142[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1116 -> 1143[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1117 -> 207[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1117[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1117 -> 1144[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1117 -> 1145[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1118 -> 208[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1118[label="(==) xw1470 xw142",fontsize=16,color="magenta"];1118 -> 1146[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1118 -> 1147[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1119[label="List.nubByNubBy'0 (==) xw142 xw143 (xw144 : xw145) True",fontsize=16,color="black",shape="box"];1119 -> 1148[label="",style="solid", color="black", weight=3]; 14.52/5.69 1120[label="xw142",fontsize=16,color="green",shape="box"];1121[label="xw1470",fontsize=16,color="green",shape="box"];1122[label="xw142",fontsize=16,color="green",shape="box"];1123[label="xw1470",fontsize=16,color="green",shape="box"];1124[label="xw142",fontsize=16,color="green",shape="box"];1125[label="xw1470",fontsize=16,color="green",shape="box"];1126[label="xw142",fontsize=16,color="green",shape="box"];1127[label="xw1470",fontsize=16,color="green",shape="box"];1128[label="xw142",fontsize=16,color="green",shape="box"];1129[label="xw1470",fontsize=16,color="green",shape="box"];1130[label="xw142",fontsize=16,color="green",shape="box"];1131[label="xw1470",fontsize=16,color="green",shape="box"];1132[label="xw142",fontsize=16,color="green",shape="box"];1133[label="xw1470",fontsize=16,color="green",shape="box"];1134[label="xw142",fontsize=16,color="green",shape="box"];1135[label="xw1470",fontsize=16,color="green",shape="box"];1136[label="xw142",fontsize=16,color="green",shape="box"];1137[label="xw1470",fontsize=16,color="green",shape="box"];1138[label="xw142",fontsize=16,color="green",shape="box"];1139[label="xw1470",fontsize=16,color="green",shape="box"];1140[label="xw142",fontsize=16,color="green",shape="box"];1141[label="xw1470",fontsize=16,color="green",shape="box"];1142[label="xw142",fontsize=16,color="green",shape="box"];1143[label="xw1470",fontsize=16,color="green",shape="box"];1144[label="xw142",fontsize=16,color="green",shape="box"];1145[label="xw1470",fontsize=16,color="green",shape="box"];1146[label="xw142",fontsize=16,color="green",shape="box"];1147[label="xw1470",fontsize=16,color="green",shape="box"];1148[label="xw142 : List.nubByNubBy' (==) xw143 (xw142 : xw144 : xw145)",fontsize=16,color="green",shape="box"];1148 -> 1149[label="",style="dashed", color="green", weight=3]; 14.52/5.69 1149 -> 589[label="",style="dashed", color="red", weight=0]; 14.52/5.69 1149[label="List.nubByNubBy' (==) xw143 (xw142 : xw144 : xw145)",fontsize=16,color="magenta"];1149 -> 1150[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1149 -> 1151[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1149 -> 1152[label="",style="dashed", color="magenta", weight=3]; 14.52/5.69 1150[label="xw143",fontsize=16,color="green",shape="box"];1151[label="xw144 : xw145",fontsize=16,color="green",shape="box"];1152[label="xw142",fontsize=16,color="green",shape="box"];} 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (10) 14.52/5.69 Complex Obligation (AND) 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (11) 14.52/5.69 Obligation: 14.52/5.69 Q DP problem: 14.52/5.69 The TRS P consists of the following rules: 14.52/5.69 14.52/5.69 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.69 new_nubByNubBy'(:(xw500, xw501), xw51, xw52, bb) -> new_nubByNubBy'1(xw500, xw501, xw51, xw52, new_esEs0(xw51, xw500, bb), xw52, bb) 14.52/5.69 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.69 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, :(xw1470, xw1471), ba) -> new_nubByNubBy'1(xw142, xw143, xw144, xw145, new_esEs(xw1470, xw142, ba), xw1471, ba) 14.52/5.69 14.52/5.69 The TRS R consists of the following rules: 14.52/5.69 14.52/5.69 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.69 new_esEs(xw1470, xw142, ty_@0) -> new_esEs2(xw1470, xw142) 14.52/5.69 new_esEs11(xw10, xw90) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, app(ty_Maybe, eb)) -> new_esEs1(xw51, xw500, eb) 14.52/5.69 new_esEs(xw1470, xw142, ty_Float) -> new_esEs10(xw1470, xw142) 14.52/5.69 new_esEs(xw1470, xw142, ty_Integer) -> new_esEs11(xw1470, xw142) 14.52/5.69 new_esEs13(xw10, xw90) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, app(ty_[], ed)) -> new_esEs12(xw51, xw500, ed) 14.52/5.69 new_esEs(xw1470, xw142, ty_Char) -> new_esEs6(xw1470, xw142) 14.52/5.69 new_esEs0(xw51, xw500, app(ty_Ratio, ec)) -> new_esEs9(xw51, xw500, ec) 14.52/5.69 new_esEs0(xw51, xw500, app(app(ty_Either, ee), ef)) -> new_esEs14(xw51, xw500, ee, ef) 14.52/5.69 new_esEs7(xw10, xw90) -> error([]) 14.52/5.69 new_esEs4(False, False) -> True 14.52/5.69 new_esEs(xw1470, xw142, app(ty_[], db)) -> new_esEs12(xw1470, xw142, db) 14.52/5.69 new_esEs(xw1470, xw142, app(ty_Maybe, cg)) -> new_esEs1(xw1470, xw142, cg) 14.52/5.69 new_esEs0(xw51, xw500, ty_Int) -> new_esEs8(xw51, xw500) 14.52/5.69 new_esEs0(xw51, xw500, ty_@0) -> new_esEs2(xw51, xw500) 14.52/5.69 new_esEs(xw1470, xw142, app(ty_Ratio, da)) -> new_esEs9(xw1470, xw142, da) 14.52/5.69 new_esEs(xw1470, xw142, ty_Int) -> new_esEs8(xw1470, xw142) 14.52/5.69 new_esEs0(xw51, xw500, app(app(app(ty_@3, dg), dh), ea)) -> new_esEs5(xw51, xw500, dg, dh, ea) 14.52/5.69 new_esEs(xw1470, xw142, ty_Double) -> new_esEs13(xw1470, xw142) 14.52/5.69 new_esEs0(xw51, xw500, app(app(ty_@2, de), df)) -> new_esEs3(xw51, xw500, de, df) 14.52/5.69 new_esEs2(xw10, xw90) -> error([]) 14.52/5.69 new_esEs4(False, True) -> False 14.52/5.69 new_esEs4(True, False) -> False 14.52/5.69 new_esEs14(xw10, xw90, eh, fa) -> error([]) 14.52/5.69 new_esEs12(xw10, xw90, eg) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, ty_Bool) -> new_esEs4(xw51, xw500) 14.52/5.69 new_esEs(xw1470, xw142, ty_Ordering) -> new_esEs7(xw1470, xw142) 14.52/5.69 new_esEs(xw1470, xw142, app(app(app(ty_@3, cd), ce), cf)) -> new_esEs5(xw1470, xw142, cd, ce, cf) 14.52/5.69 new_esEs0(xw51, xw500, ty_Double) -> new_esEs13(xw51, xw500) 14.52/5.69 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, ty_Ordering) -> new_esEs7(xw51, xw500) 14.52/5.69 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.69 new_esEs6(xw10, xw90) -> error([]) 14.52/5.69 new_esEs(xw1470, xw142, ty_Bool) -> new_esEs4(xw1470, xw142) 14.52/5.69 new_esEs10(xw10, xw90) -> error([]) 14.52/5.69 new_esEs8(xw10, xw90) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, ty_Char) -> new_esEs6(xw51, xw500) 14.52/5.69 new_esEs0(xw51, xw500, ty_Float) -> new_esEs10(xw51, xw500) 14.52/5.69 new_esEs0(xw51, xw500, ty_Integer) -> new_esEs11(xw51, xw500) 14.52/5.69 new_esEs4(True, True) -> True 14.52/5.69 new_esEs(xw1470, xw142, app(app(ty_Either, dc), dd)) -> new_esEs14(xw1470, xw142, dc, dd) 14.52/5.69 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.69 new_esEs(xw1470, xw142, app(app(ty_@2, cb), cc)) -> new_esEs3(xw1470, xw142, cb, cc) 14.52/5.69 14.52/5.69 The set Q consists of the following terms: 14.52/5.69 14.52/5.69 new_esEs0(x0, x1, ty_Ordering) 14.52/5.69 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.69 new_esEs0(x0, x1, app(ty_Maybe, x2)) 14.52/5.69 new_esEs7(x0, x1) 14.52/5.69 new_esEs0(x0, x1, ty_Integer) 14.52/5.69 new_esEs0(x0, x1, app(ty_[], x2)) 14.52/5.69 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.69 new_esEs2(x0, x1) 14.52/5.69 new_esEs9(x0, x1, x2) 14.52/5.69 new_esEs13(x0, x1) 14.52/5.69 new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.69 new_esEs(x0, x1, ty_Char) 14.52/5.69 new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.69 new_esEs(x0, x1, ty_Integer) 14.52/5.69 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.69 new_esEs6(x0, x1) 14.52/5.69 new_esEs0(x0, x1, ty_Float) 14.52/5.69 new_esEs12(x0, x1, x2) 14.52/5.69 new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.69 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.69 new_esEs0(x0, x1, ty_Bool) 14.52/5.69 new_esEs(x0, x1, ty_Bool) 14.52/5.69 new_esEs4(False, True) 14.52/5.69 new_esEs4(True, False) 14.52/5.69 new_esEs0(x0, x1, app(ty_Ratio, x2)) 14.52/5.69 new_esEs(x0, x1, ty_Int) 14.52/5.69 new_esEs(x0, x1, ty_Float) 14.52/5.69 new_esEs10(x0, x1) 14.52/5.69 new_esEs0(x0, x1, ty_@0) 14.52/5.69 new_esEs14(x0, x1, x2, x3) 14.52/5.69 new_esEs(x0, x1, ty_Double) 14.52/5.69 new_esEs0(x0, x1, ty_Double) 14.52/5.69 new_esEs4(False, False) 14.52/5.69 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.69 new_esEs1(x0, x1, x2) 14.52/5.69 new_esEs11(x0, x1) 14.52/5.69 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.69 new_esEs3(x0, x1, x2, x3) 14.52/5.69 new_esEs0(x0, x1, ty_Char) 14.52/5.69 new_esEs(x0, x1, ty_Ordering) 14.52/5.69 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.69 new_esEs0(x0, x1, ty_Int) 14.52/5.69 new_esEs(x0, x1, ty_@0) 14.52/5.69 new_esEs8(x0, x1) 14.52/5.69 new_esEs4(True, True) 14.52/5.69 14.52/5.69 We have to consider all minimal (P,Q,R)-chains. 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (12) TransformationProof (EQUIVALENT) 14.52/5.69 By narrowing [LPAR04] the rule new_nubByNubBy'(:(xw500, xw501), xw51, xw52, bb) -> new_nubByNubBy'1(xw500, xw501, xw51, xw52, new_esEs0(xw51, xw500, bb), xw52, bb) at position [4] we obtained the following new rules [LPAR04]: 14.52/5.69 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs1(x0, x1, x2), y3, app(ty_Maybe, x2)),new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs1(x0, x1, x2), y3, app(ty_Maybe, x2))) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs12(x0, x1, x2), y3, app(ty_[], x2)),new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs12(x0, x1, x2), y3, app(ty_[], x2))) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs9(x0, x1, x2), y3, app(ty_Ratio, x2)),new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs9(x0, x1, x2), y3, app(ty_Ratio, x2))) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs14(x0, x1, x2, x3), y3, app(app(ty_Either, x2), x3)),new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs14(x0, x1, x2, x3), y3, app(app(ty_Either, x2), x3))) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Int) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs8(x0, x1), y3, ty_Int),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Int) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs8(x0, x1), y3, ty_Int)) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, ty_@0) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs2(x0, x1), y3, ty_@0),new_nubByNubBy'(:(x1, y1), x0, y3, ty_@0) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs2(x0, x1), y3, ty_@0)) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, app(app(app(ty_@3, x2), x3), x4)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs5(x0, x1, x2, x3, x4), y3, app(app(app(ty_@3, x2), x3), x4)),new_nubByNubBy'(:(x1, y1), x0, y3, app(app(app(ty_@3, x2), x3), x4)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs5(x0, x1, x2, x3, x4), y3, app(app(app(ty_@3, x2), x3), x4))) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs3(x0, x1, x2, x3), y3, app(app(ty_@2, x2), x3)),new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs3(x0, x1, x2, x3), y3, app(app(ty_@2, x2), x3))) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_Bool),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_Bool)) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Double) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs13(x0, x1), y3, ty_Double),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Double) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs13(x0, x1), y3, ty_Double)) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs7(x0, x1), y3, ty_Ordering),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs7(x0, x1), y3, ty_Ordering)) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Char) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs6(x0, x1), y3, ty_Char),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Char) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs6(x0, x1), y3, ty_Char)) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Float) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs10(x0, x1), y3, ty_Float),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Float) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs10(x0, x1), y3, ty_Float)) 14.52/5.69 (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Integer) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Integer),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Integer) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Integer)) 14.52/5.69 14.52/5.69 14.52/5.69 ---------------------------------------- 14.52/5.69 14.52/5.69 (13) 14.52/5.69 Obligation: 14.52/5.69 Q DP problem: 14.52/5.69 The TRS P consists of the following rules: 14.52/5.69 14.52/5.69 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.69 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.69 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, :(xw1470, xw1471), ba) -> new_nubByNubBy'1(xw142, xw143, xw144, xw145, new_esEs(xw1470, xw142, ba), xw1471, ba) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs1(x0, x1, x2), y3, app(ty_Maybe, x2)) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs12(x0, x1, x2), y3, app(ty_[], x2)) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs9(x0, x1, x2), y3, app(ty_Ratio, x2)) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs14(x0, x1, x2, x3), y3, app(app(ty_Either, x2), x3)) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Int) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs8(x0, x1), y3, ty_Int) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, ty_@0) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs2(x0, x1), y3, ty_@0) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, app(app(app(ty_@3, x2), x3), x4)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs5(x0, x1, x2, x3, x4), y3, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs3(x0, x1, x2, x3), y3, app(app(ty_@2, x2), x3)) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_Bool) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Double) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs13(x0, x1), y3, ty_Double) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs7(x0, x1), y3, ty_Ordering) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Char) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs6(x0, x1), y3, ty_Char) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Float) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs10(x0, x1), y3, ty_Float) 14.52/5.69 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Integer) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Integer) 14.52/5.69 14.52/5.69 The TRS R consists of the following rules: 14.52/5.69 14.52/5.69 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.69 new_esEs(xw1470, xw142, ty_@0) -> new_esEs2(xw1470, xw142) 14.52/5.69 new_esEs11(xw10, xw90) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, app(ty_Maybe, eb)) -> new_esEs1(xw51, xw500, eb) 14.52/5.69 new_esEs(xw1470, xw142, ty_Float) -> new_esEs10(xw1470, xw142) 14.52/5.69 new_esEs(xw1470, xw142, ty_Integer) -> new_esEs11(xw1470, xw142) 14.52/5.69 new_esEs13(xw10, xw90) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, app(ty_[], ed)) -> new_esEs12(xw51, xw500, ed) 14.52/5.69 new_esEs(xw1470, xw142, ty_Char) -> new_esEs6(xw1470, xw142) 14.52/5.69 new_esEs0(xw51, xw500, app(ty_Ratio, ec)) -> new_esEs9(xw51, xw500, ec) 14.52/5.69 new_esEs0(xw51, xw500, app(app(ty_Either, ee), ef)) -> new_esEs14(xw51, xw500, ee, ef) 14.52/5.69 new_esEs7(xw10, xw90) -> error([]) 14.52/5.69 new_esEs4(False, False) -> True 14.52/5.69 new_esEs(xw1470, xw142, app(ty_[], db)) -> new_esEs12(xw1470, xw142, db) 14.52/5.69 new_esEs(xw1470, xw142, app(ty_Maybe, cg)) -> new_esEs1(xw1470, xw142, cg) 14.52/5.69 new_esEs0(xw51, xw500, ty_Int) -> new_esEs8(xw51, xw500) 14.52/5.69 new_esEs0(xw51, xw500, ty_@0) -> new_esEs2(xw51, xw500) 14.52/5.69 new_esEs(xw1470, xw142, app(ty_Ratio, da)) -> new_esEs9(xw1470, xw142, da) 14.52/5.69 new_esEs(xw1470, xw142, ty_Int) -> new_esEs8(xw1470, xw142) 14.52/5.69 new_esEs0(xw51, xw500, app(app(app(ty_@3, dg), dh), ea)) -> new_esEs5(xw51, xw500, dg, dh, ea) 14.52/5.69 new_esEs(xw1470, xw142, ty_Double) -> new_esEs13(xw1470, xw142) 14.52/5.69 new_esEs0(xw51, xw500, app(app(ty_@2, de), df)) -> new_esEs3(xw51, xw500, de, df) 14.52/5.69 new_esEs2(xw10, xw90) -> error([]) 14.52/5.69 new_esEs4(False, True) -> False 14.52/5.69 new_esEs4(True, False) -> False 14.52/5.69 new_esEs14(xw10, xw90, eh, fa) -> error([]) 14.52/5.69 new_esEs12(xw10, xw90, eg) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, ty_Bool) -> new_esEs4(xw51, xw500) 14.52/5.69 new_esEs(xw1470, xw142, ty_Ordering) -> new_esEs7(xw1470, xw142) 14.52/5.69 new_esEs(xw1470, xw142, app(app(app(ty_@3, cd), ce), cf)) -> new_esEs5(xw1470, xw142, cd, ce, cf) 14.52/5.69 new_esEs0(xw51, xw500, ty_Double) -> new_esEs13(xw51, xw500) 14.52/5.69 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, ty_Ordering) -> new_esEs7(xw51, xw500) 14.52/5.69 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.69 new_esEs6(xw10, xw90) -> error([]) 14.52/5.69 new_esEs(xw1470, xw142, ty_Bool) -> new_esEs4(xw1470, xw142) 14.52/5.69 new_esEs10(xw10, xw90) -> error([]) 14.52/5.69 new_esEs8(xw10, xw90) -> error([]) 14.52/5.69 new_esEs0(xw51, xw500, ty_Char) -> new_esEs6(xw51, xw500) 14.52/5.69 new_esEs0(xw51, xw500, ty_Float) -> new_esEs10(xw51, xw500) 14.52/5.69 new_esEs0(xw51, xw500, ty_Integer) -> new_esEs11(xw51, xw500) 14.52/5.69 new_esEs4(True, True) -> True 14.52/5.69 new_esEs(xw1470, xw142, app(app(ty_Either, dc), dd)) -> new_esEs14(xw1470, xw142, dc, dd) 14.52/5.69 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.69 new_esEs(xw1470, xw142, app(app(ty_@2, cb), cc)) -> new_esEs3(xw1470, xw142, cb, cc) 14.52/5.69 14.52/5.69 The set Q consists of the following terms: 14.52/5.69 14.52/5.69 new_esEs0(x0, x1, ty_Ordering) 14.52/5.69 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.69 new_esEs0(x0, x1, app(ty_Maybe, x2)) 14.52/5.69 new_esEs7(x0, x1) 14.52/5.69 new_esEs0(x0, x1, ty_Integer) 14.52/5.69 new_esEs0(x0, x1, app(ty_[], x2)) 14.52/5.69 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs(x0, x1, ty_Char) 14.52/5.70 new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs(x0, x1, ty_Integer) 14.52/5.70 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs0(x0, x1, ty_Float) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs0(x0, x1, ty_Bool) 14.52/5.70 new_esEs(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs0(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs0(x0, x1, ty_@0) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Double) 14.52/5.70 new_esEs0(x0, x1, ty_Double) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs0(x0, x1, ty_Char) 14.52/5.70 new_esEs(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs0(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_@0) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (14) DependencyGraphProof (EQUIVALENT) 14.52/5.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 13 less nodes. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (15) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, :(xw1470, xw1471), ba) -> new_nubByNubBy'1(xw142, xw143, xw144, xw145, new_esEs(xw1470, xw142, ba), xw1471, ba) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.70 new_esEs(xw1470, xw142, ty_@0) -> new_esEs2(xw1470, xw142) 14.52/5.70 new_esEs11(xw10, xw90) -> error([]) 14.52/5.70 new_esEs0(xw51, xw500, app(ty_Maybe, eb)) -> new_esEs1(xw51, xw500, eb) 14.52/5.70 new_esEs(xw1470, xw142, ty_Float) -> new_esEs10(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Integer) -> new_esEs11(xw1470, xw142) 14.52/5.70 new_esEs13(xw10, xw90) -> error([]) 14.52/5.70 new_esEs0(xw51, xw500, app(ty_[], ed)) -> new_esEs12(xw51, xw500, ed) 14.52/5.70 new_esEs(xw1470, xw142, ty_Char) -> new_esEs6(xw1470, xw142) 14.52/5.70 new_esEs0(xw51, xw500, app(ty_Ratio, ec)) -> new_esEs9(xw51, xw500, ec) 14.52/5.70 new_esEs0(xw51, xw500, app(app(ty_Either, ee), ef)) -> new_esEs14(xw51, xw500, ee, ef) 14.52/5.70 new_esEs7(xw10, xw90) -> error([]) 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs(xw1470, xw142, app(ty_[], db)) -> new_esEs12(xw1470, xw142, db) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Maybe, cg)) -> new_esEs1(xw1470, xw142, cg) 14.52/5.70 new_esEs0(xw51, xw500, ty_Int) -> new_esEs8(xw51, xw500) 14.52/5.70 new_esEs0(xw51, xw500, ty_@0) -> new_esEs2(xw51, xw500) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Ratio, da)) -> new_esEs9(xw1470, xw142, da) 14.52/5.70 new_esEs(xw1470, xw142, ty_Int) -> new_esEs8(xw1470, xw142) 14.52/5.70 new_esEs0(xw51, xw500, app(app(app(ty_@3, dg), dh), ea)) -> new_esEs5(xw51, xw500, dg, dh, ea) 14.52/5.70 new_esEs(xw1470, xw142, ty_Double) -> new_esEs13(xw1470, xw142) 14.52/5.70 new_esEs0(xw51, xw500, app(app(ty_@2, de), df)) -> new_esEs3(xw51, xw500, de, df) 14.52/5.70 new_esEs2(xw10, xw90) -> error([]) 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs14(xw10, xw90, eh, fa) -> error([]) 14.52/5.70 new_esEs12(xw10, xw90, eg) -> error([]) 14.52/5.70 new_esEs0(xw51, xw500, ty_Bool) -> new_esEs4(xw51, xw500) 14.52/5.70 new_esEs(xw1470, xw142, ty_Ordering) -> new_esEs7(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(app(ty_@3, cd), ce), cf)) -> new_esEs5(xw1470, xw142, cd, ce, cf) 14.52/5.70 new_esEs0(xw51, xw500, ty_Double) -> new_esEs13(xw51, xw500) 14.52/5.70 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.70 new_esEs0(xw51, xw500, ty_Ordering) -> new_esEs7(xw51, xw500) 14.52/5.70 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.70 new_esEs6(xw10, xw90) -> error([]) 14.52/5.70 new_esEs(xw1470, xw142, ty_Bool) -> new_esEs4(xw1470, xw142) 14.52/5.70 new_esEs10(xw10, xw90) -> error([]) 14.52/5.70 new_esEs8(xw10, xw90) -> error([]) 14.52/5.70 new_esEs0(xw51, xw500, ty_Char) -> new_esEs6(xw51, xw500) 14.52/5.70 new_esEs0(xw51, xw500, ty_Float) -> new_esEs10(xw51, xw500) 14.52/5.70 new_esEs0(xw51, xw500, ty_Integer) -> new_esEs11(xw51, xw500) 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_Either, dc), dd)) -> new_esEs14(xw1470, xw142, dc, dd) 14.52/5.70 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_@2, cb), cc)) -> new_esEs3(xw1470, xw142, cb, cc) 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs0(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs0(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs0(x0, x1, ty_Integer) 14.52/5.70 new_esEs0(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs(x0, x1, ty_Char) 14.52/5.70 new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs(x0, x1, ty_Integer) 14.52/5.70 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs0(x0, x1, ty_Float) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs0(x0, x1, ty_Bool) 14.52/5.70 new_esEs(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs0(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs0(x0, x1, ty_@0) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Double) 14.52/5.70 new_esEs0(x0, x1, ty_Double) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs0(x0, x1, ty_Char) 14.52/5.70 new_esEs(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs0(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_@0) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (16) UsableRulesProof (EQUIVALENT) 14.52/5.70 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (17) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, :(xw1470, xw1471), ba) -> new_nubByNubBy'1(xw142, xw143, xw144, xw145, new_esEs(xw1470, xw142, ba), xw1471, ba) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs(xw1470, xw142, ty_@0) -> new_esEs2(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Float) -> new_esEs10(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Integer) -> new_esEs11(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Char) -> new_esEs6(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_[], db)) -> new_esEs12(xw1470, xw142, db) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Maybe, cg)) -> new_esEs1(xw1470, xw142, cg) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Ratio, da)) -> new_esEs9(xw1470, xw142, da) 14.52/5.70 new_esEs(xw1470, xw142, ty_Int) -> new_esEs8(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Double) -> new_esEs13(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Ordering) -> new_esEs7(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(app(ty_@3, cd), ce), cf)) -> new_esEs5(xw1470, xw142, cd, ce, cf) 14.52/5.70 new_esEs(xw1470, xw142, ty_Bool) -> new_esEs4(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_Either, dc), dd)) -> new_esEs14(xw1470, xw142, dc, dd) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_@2, cb), cc)) -> new_esEs3(xw1470, xw142, cb, cc) 14.52/5.70 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.70 new_esEs14(xw10, xw90, eh, fa) -> error([]) 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.70 new_esEs7(xw10, xw90) -> error([]) 14.52/5.70 new_esEs13(xw10, xw90) -> error([]) 14.52/5.70 new_esEs8(xw10, xw90) -> error([]) 14.52/5.70 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.70 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.70 new_esEs12(xw10, xw90, eg) -> error([]) 14.52/5.70 new_esEs6(xw10, xw90) -> error([]) 14.52/5.70 new_esEs11(xw10, xw90) -> error([]) 14.52/5.70 new_esEs10(xw10, xw90) -> error([]) 14.52/5.70 new_esEs2(xw10, xw90) -> error([]) 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs0(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs0(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs0(x0, x1, ty_Integer) 14.52/5.70 new_esEs0(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs(x0, x1, ty_Char) 14.52/5.70 new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs(x0, x1, ty_Integer) 14.52/5.70 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs0(x0, x1, ty_Float) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs0(x0, x1, ty_Bool) 14.52/5.70 new_esEs(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs0(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs0(x0, x1, ty_@0) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Double) 14.52/5.70 new_esEs0(x0, x1, ty_Double) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs0(x0, x1, ty_Char) 14.52/5.70 new_esEs(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs0(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_@0) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (18) QReductionProof (EQUIVALENT) 14.52/5.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 14.52/5.70 14.52/5.70 new_esEs0(x0, x1, ty_Ordering) 14.52/5.70 new_esEs0(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs0(x0, x1, ty_Integer) 14.52/5.70 new_esEs0(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs0(x0, x1, ty_Float) 14.52/5.70 new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs0(x0, x1, ty_Bool) 14.52/5.70 new_esEs0(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs0(x0, x1, ty_@0) 14.52/5.70 new_esEs0(x0, x1, ty_Double) 14.52/5.70 new_esEs0(x0, x1, ty_Char) 14.52/5.70 new_esEs0(x0, x1, ty_Int) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (19) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, :(xw1470, xw1471), ba) -> new_nubByNubBy'1(xw142, xw143, xw144, xw145, new_esEs(xw1470, xw142, ba), xw1471, ba) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs(xw1470, xw142, ty_@0) -> new_esEs2(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Float) -> new_esEs10(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Integer) -> new_esEs11(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Char) -> new_esEs6(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_[], db)) -> new_esEs12(xw1470, xw142, db) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Maybe, cg)) -> new_esEs1(xw1470, xw142, cg) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Ratio, da)) -> new_esEs9(xw1470, xw142, da) 14.52/5.70 new_esEs(xw1470, xw142, ty_Int) -> new_esEs8(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Double) -> new_esEs13(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Ordering) -> new_esEs7(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(app(ty_@3, cd), ce), cf)) -> new_esEs5(xw1470, xw142, cd, ce, cf) 14.52/5.70 new_esEs(xw1470, xw142, ty_Bool) -> new_esEs4(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_Either, dc), dd)) -> new_esEs14(xw1470, xw142, dc, dd) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_@2, cb), cc)) -> new_esEs3(xw1470, xw142, cb, cc) 14.52/5.70 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.70 new_esEs14(xw10, xw90, eh, fa) -> error([]) 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.70 new_esEs7(xw10, xw90) -> error([]) 14.52/5.70 new_esEs13(xw10, xw90) -> error([]) 14.52/5.70 new_esEs8(xw10, xw90) -> error([]) 14.52/5.70 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.70 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.70 new_esEs12(xw10, xw90, eg) -> error([]) 14.52/5.70 new_esEs6(xw10, xw90) -> error([]) 14.52/5.70 new_esEs11(xw10, xw90) -> error([]) 14.52/5.70 new_esEs10(xw10, xw90) -> error([]) 14.52/5.70 new_esEs2(xw10, xw90) -> error([]) 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs(x0, x1, ty_Char) 14.52/5.70 new_esEs(x0, x1, ty_Integer) 14.52/5.70 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Double) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs(x0, x1, ty_@0) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (20) TransformationProof (EQUIVALENT) 14.52/5.70 By narrowing [LPAR04] the rule new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_Bool) at position [4] we obtained the following new rules [LPAR04]: 14.52/5.70 14.52/5.70 (new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool),new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool)) 14.52/5.70 (new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool),new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool)) 14.52/5.70 (new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool),new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool)) 14.52/5.70 (new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool),new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool)) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (21) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, :(xw1470, xw1471), ba) -> new_nubByNubBy'1(xw142, xw143, xw144, xw145, new_esEs(xw1470, xw142, ba), xw1471, ba) 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs(xw1470, xw142, ty_@0) -> new_esEs2(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Float) -> new_esEs10(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Integer) -> new_esEs11(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Char) -> new_esEs6(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_[], db)) -> new_esEs12(xw1470, xw142, db) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Maybe, cg)) -> new_esEs1(xw1470, xw142, cg) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Ratio, da)) -> new_esEs9(xw1470, xw142, da) 14.52/5.70 new_esEs(xw1470, xw142, ty_Int) -> new_esEs8(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Double) -> new_esEs13(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Ordering) -> new_esEs7(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(app(ty_@3, cd), ce), cf)) -> new_esEs5(xw1470, xw142, cd, ce, cf) 14.52/5.70 new_esEs(xw1470, xw142, ty_Bool) -> new_esEs4(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_Either, dc), dd)) -> new_esEs14(xw1470, xw142, dc, dd) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_@2, cb), cc)) -> new_esEs3(xw1470, xw142, cb, cc) 14.52/5.70 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.70 new_esEs14(xw10, xw90, eh, fa) -> error([]) 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.70 new_esEs7(xw10, xw90) -> error([]) 14.52/5.70 new_esEs13(xw10, xw90) -> error([]) 14.52/5.70 new_esEs8(xw10, xw90) -> error([]) 14.52/5.70 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.70 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.70 new_esEs12(xw10, xw90, eg) -> error([]) 14.52/5.70 new_esEs6(xw10, xw90) -> error([]) 14.52/5.70 new_esEs11(xw10, xw90) -> error([]) 14.52/5.70 new_esEs10(xw10, xw90) -> error([]) 14.52/5.70 new_esEs2(xw10, xw90) -> error([]) 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs(x0, x1, ty_Char) 14.52/5.70 new_esEs(x0, x1, ty_Integer) 14.52/5.70 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Double) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs(x0, x1, ty_@0) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (22) TransformationProof (EQUIVALENT) 14.52/5.70 By narrowing [LPAR04] the rule new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, :(xw1470, xw1471), ba) -> new_nubByNubBy'1(xw142, xw143, xw144, xw145, new_esEs(xw1470, xw142, ba), xw1471, ba) at position [4] we obtained the following new rules [LPAR04]: 14.52/5.70 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_@0) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs2(x0, x1), y5, ty_@0),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_@0) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs2(x0, x1), y5, ty_@0)) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Float) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs10(x0, x1), y5, ty_Float),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Float) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs10(x0, x1), y5, ty_Float)) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Integer) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs11(x0, x1), y5, ty_Integer),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Integer) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs11(x0, x1), y5, ty_Integer)) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Char) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs6(x0, x1), y5, ty_Char),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Char) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs6(x0, x1), y5, ty_Char)) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs12(x0, x1, x2), y5, app(ty_[], x2)),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs12(x0, x1, x2), y5, app(ty_[], x2))) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs1(x0, x1, x2), y5, app(ty_Maybe, x2)),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs1(x0, x1, x2), y5, app(ty_Maybe, x2))) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs9(x0, x1, x2), y5, app(ty_Ratio, x2)),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs9(x0, x1, x2), y5, app(ty_Ratio, x2))) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Int) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs8(x0, x1), y5, ty_Int),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Int) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs8(x0, x1), y5, ty_Int)) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Double) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs13(x0, x1), y5, ty_Double),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Double) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs13(x0, x1), y5, ty_Double)) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Ordering) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs7(x0, x1), y5, ty_Ordering),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Ordering) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs7(x0, x1), y5, ty_Ordering)) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(app(ty_@3, x2), x3), x4)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs5(x0, x1, x2, x3, x4), y5, app(app(app(ty_@3, x2), x3), x4)),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(app(ty_@3, x2), x3), x4)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs5(x0, x1, x2, x3, x4), y5, app(app(app(ty_@3, x2), x3), x4))) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Bool) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs4(x0, x1), y5, ty_Bool),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Bool) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs4(x0, x1), y5, ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs14(x0, x1, x2, x3), y5, app(app(ty_Either, x2), x3)),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs14(x0, x1, x2, x3), y5, app(app(ty_Either, x2), x3))) 14.52/5.70 (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs3(x0, x1, x2, x3), y5, app(app(ty_@2, x2), x3)),new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs3(x0, x1, x2, x3), y5, app(app(ty_@2, x2), x3))) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (23) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_@0) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs2(x0, x1), y5, ty_@0) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Float) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs10(x0, x1), y5, ty_Float) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Integer) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs11(x0, x1), y5, ty_Integer) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Char) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs6(x0, x1), y5, ty_Char) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs12(x0, x1, x2), y5, app(ty_[], x2)) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs1(x0, x1, x2), y5, app(ty_Maybe, x2)) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs9(x0, x1, x2), y5, app(ty_Ratio, x2)) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Int) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs8(x0, x1), y5, ty_Int) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Double) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs13(x0, x1), y5, ty_Double) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Ordering) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs7(x0, x1), y5, ty_Ordering) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(app(ty_@3, x2), x3), x4)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs5(x0, x1, x2, x3, x4), y5, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Bool) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs4(x0, x1), y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs14(x0, x1, x2, x3), y5, app(app(ty_Either, x2), x3)) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs3(x0, x1, x2, x3), y5, app(app(ty_@2, x2), x3)) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs(xw1470, xw142, ty_@0) -> new_esEs2(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Float) -> new_esEs10(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Integer) -> new_esEs11(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Char) -> new_esEs6(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_[], db)) -> new_esEs12(xw1470, xw142, db) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Maybe, cg)) -> new_esEs1(xw1470, xw142, cg) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Ratio, da)) -> new_esEs9(xw1470, xw142, da) 14.52/5.70 new_esEs(xw1470, xw142, ty_Int) -> new_esEs8(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Double) -> new_esEs13(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Ordering) -> new_esEs7(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(app(ty_@3, cd), ce), cf)) -> new_esEs5(xw1470, xw142, cd, ce, cf) 14.52/5.70 new_esEs(xw1470, xw142, ty_Bool) -> new_esEs4(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_Either, dc), dd)) -> new_esEs14(xw1470, xw142, dc, dd) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_@2, cb), cc)) -> new_esEs3(xw1470, xw142, cb, cc) 14.52/5.70 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.70 new_esEs14(xw10, xw90, eh, fa) -> error([]) 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.70 new_esEs7(xw10, xw90) -> error([]) 14.52/5.70 new_esEs13(xw10, xw90) -> error([]) 14.52/5.70 new_esEs8(xw10, xw90) -> error([]) 14.52/5.70 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.70 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.70 new_esEs12(xw10, xw90, eg) -> error([]) 14.52/5.70 new_esEs6(xw10, xw90) -> error([]) 14.52/5.70 new_esEs11(xw10, xw90) -> error([]) 14.52/5.70 new_esEs10(xw10, xw90) -> error([]) 14.52/5.70 new_esEs2(xw10, xw90) -> error([]) 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs(x0, x1, ty_Char) 14.52/5.70 new_esEs(x0, x1, ty_Integer) 14.52/5.70 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Double) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs(x0, x1, ty_@0) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (24) DependencyGraphProof (EQUIVALENT) 14.52/5.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 13 less nodes. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (25) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Bool) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs4(x0, x1), y5, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs(xw1470, xw142, ty_@0) -> new_esEs2(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Float) -> new_esEs10(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Integer) -> new_esEs11(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Char) -> new_esEs6(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_[], db)) -> new_esEs12(xw1470, xw142, db) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Maybe, cg)) -> new_esEs1(xw1470, xw142, cg) 14.52/5.70 new_esEs(xw1470, xw142, app(ty_Ratio, da)) -> new_esEs9(xw1470, xw142, da) 14.52/5.70 new_esEs(xw1470, xw142, ty_Int) -> new_esEs8(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Double) -> new_esEs13(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, ty_Ordering) -> new_esEs7(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(app(ty_@3, cd), ce), cf)) -> new_esEs5(xw1470, xw142, cd, ce, cf) 14.52/5.70 new_esEs(xw1470, xw142, ty_Bool) -> new_esEs4(xw1470, xw142) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_Either, dc), dd)) -> new_esEs14(xw1470, xw142, dc, dd) 14.52/5.70 new_esEs(xw1470, xw142, app(app(ty_@2, cb), cc)) -> new_esEs3(xw1470, xw142, cb, cc) 14.52/5.70 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.70 new_esEs14(xw10, xw90, eh, fa) -> error([]) 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.70 new_esEs7(xw10, xw90) -> error([]) 14.52/5.70 new_esEs13(xw10, xw90) -> error([]) 14.52/5.70 new_esEs8(xw10, xw90) -> error([]) 14.52/5.70 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.70 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.70 new_esEs12(xw10, xw90, eg) -> error([]) 14.52/5.70 new_esEs6(xw10, xw90) -> error([]) 14.52/5.70 new_esEs11(xw10, xw90) -> error([]) 14.52/5.70 new_esEs10(xw10, xw90) -> error([]) 14.52/5.70 new_esEs2(xw10, xw90) -> error([]) 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs(x0, x1, ty_Char) 14.52/5.70 new_esEs(x0, x1, ty_Integer) 14.52/5.70 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Double) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs(x0, x1, ty_@0) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (26) UsableRulesProof (EQUIVALENT) 14.52/5.70 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (27) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Bool) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs4(x0, x1), y5, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs(x0, x1, ty_Char) 14.52/5.70 new_esEs(x0, x1, ty_Integer) 14.52/5.70 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Double) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs(x0, x1, ty_@0) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (28) QReductionProof (EQUIVALENT) 14.52/5.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 14.52/5.70 14.52/5.70 new_esEs(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs(x0, x1, ty_Char) 14.52/5.70 new_esEs(x0, x1, ty_Integer) 14.52/5.70 new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs(x0, x1, ty_Bool) 14.52/5.70 new_esEs(x0, x1, ty_Int) 14.52/5.70 new_esEs(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Double) 14.52/5.70 new_esEs(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs(x0, x1, ty_Ordering) 14.52/5.70 new_esEs(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs(x0, x1, ty_@0) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (29) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Bool) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs4(x0, x1), y5, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (30) TransformationProof (EQUIVALENT) 14.52/5.70 By narrowing [LPAR04] the rule new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Bool) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs4(x0, x1), y5, ty_Bool) at position [4] we obtained the following new rules [LPAR04]: 14.52/5.70 14.52/5.70 (new_nubByNubBy'1(False, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, True, y5, ty_Bool),new_nubByNubBy'1(False, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, True, y5, ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(True, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, False, y5, ty_Bool),new_nubByNubBy'1(True, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, False, y5, ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(False, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, False, y5, ty_Bool),new_nubByNubBy'1(False, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, False, y5, ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(True, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, True, y5, ty_Bool),new_nubByNubBy'1(True, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, True, y5, ty_Bool)) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (31) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (32) UsableRulesProof (EQUIVALENT) 14.52/5.70 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (33) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (34) QReductionProof (EQUIVALENT) 14.52/5.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 14.52/5.70 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (35) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 Q is empty. 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (36) TransformationProof (EQUIVALENT) 14.52/5.70 By instantiating [LPAR04] the rule new_nubByNubBy'1(xw142, xw143, xw144, xw145, True, xw147, ba) -> new_nubByNubBy'(xw143, xw144, xw145, ba) we obtained the following new rules [LPAR04]: 14.52/5.70 14.52/5.70 (new_nubByNubBy'1(False, z0, False, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, False, z1, ty_Bool),new_nubByNubBy'1(False, z0, False, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, False, z1, ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(True, z0, True, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, True, z1, ty_Bool),new_nubByNubBy'1(True, z0, True, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, True, z1, ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(False, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool),new_nubByNubBy'1(False, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(True, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool),new_nubByNubBy'1(True, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool)) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (37) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, z0, False, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, False, z1, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, z0, True, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, True, z1, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 Q is empty. 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (38) TransformationProof (EQUIVALENT) 14.52/5.70 By instantiating [LPAR04] the rule new_nubByNubBy'1(xw142, xw143, xw144, xw145, False, [], ba) -> new_nubByNubBy'(xw143, xw142, :(xw144, xw145), ba) we obtained the following new rules [LPAR04]: 14.52/5.70 14.52/5.70 (new_nubByNubBy'1(True, z0, False, [], False, [], ty_Bool) -> new_nubByNubBy'(z0, True, :(False, []), ty_Bool),new_nubByNubBy'1(True, z0, False, [], False, [], ty_Bool) -> new_nubByNubBy'(z0, True, :(False, []), ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(False, z0, True, [], False, [], ty_Bool) -> new_nubByNubBy'(z0, False, :(True, []), ty_Bool),new_nubByNubBy'1(False, z0, True, [], False, [], ty_Bool) -> new_nubByNubBy'(z0, False, :(True, []), ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(True, z0, z1, z2, False, [], ty_Bool) -> new_nubByNubBy'(z0, True, :(z1, z2), ty_Bool),new_nubByNubBy'1(True, z0, z1, z2, False, [], ty_Bool) -> new_nubByNubBy'(z0, True, :(z1, z2), ty_Bool)) 14.52/5.70 (new_nubByNubBy'1(False, z0, z1, z2, False, [], ty_Bool) -> new_nubByNubBy'(z0, False, :(z1, z2), ty_Bool),new_nubByNubBy'1(False, z0, z1, z2, False, [], ty_Bool) -> new_nubByNubBy'(z0, False, :(z1, z2), ty_Bool)) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (39) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, z0, False, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, False, z1, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, z0, True, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, True, z1, ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, z0, False, [], False, [], ty_Bool) -> new_nubByNubBy'(z0, True, :(False, []), ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, z0, True, [], False, [], ty_Bool) -> new_nubByNubBy'(z0, False, :(True, []), ty_Bool) 14.52/5.70 new_nubByNubBy'1(True, z0, z1, z2, False, [], ty_Bool) -> new_nubByNubBy'(z0, True, :(z1, z2), ty_Bool) 14.52/5.70 new_nubByNubBy'1(False, z0, z1, z2, False, [], ty_Bool) -> new_nubByNubBy'(z0, False, :(z1, z2), ty_Bool) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 Q is empty. 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (40) QDPSizeChangeProof (EQUIVALENT) 14.52/5.70 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.52/5.70 14.52/5.70 From the DPs we obtained the following set of size-change graphs: 14.52/5.70 *new_nubByNubBy'1(False, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool) 14.52/5.70 The graph contains the following edges 2 >= 1, 3 >= 2, 4 >= 3, 7 >= 4 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(False, z0, False, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, False, z1, ty_Bool) 14.52/5.70 The graph contains the following edges 2 >= 1, 1 >= 2, 3 >= 2, 4 >= 3, 6 >= 3, 7 >= 4 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(True, z0, z1, z2, True, z3, ty_Bool) -> new_nubByNubBy'(z0, z1, z2, ty_Bool) 14.52/5.70 The graph contains the following edges 2 >= 1, 3 >= 2, 4 >= 3, 7 >= 4 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(True, z0, True, z1, True, z1, ty_Bool) -> new_nubByNubBy'(z0, True, z1, ty_Bool) 14.52/5.70 The graph contains the following edges 2 >= 1, 1 >= 2, 3 >= 2, 5 >= 2, 4 >= 3, 6 >= 3, 7 >= 4 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(False, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 The graph contains the following edges 1 >= 1, 5 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 1 >= 5, 5 >= 5, 6 > 6, 7 >= 7 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(False, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(False, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 The graph contains the following edges 1 >= 1, 5 >= 1, 6 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 6 > 6, 7 >= 7 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'(:(False, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, True, y3, False, y3, ty_Bool) 14.52/5.70 The graph contains the following edges 1 > 1, 1 > 2, 2 >= 3, 3 >= 4, 1 > 5, 3 >= 6, 4 >= 7 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(True, y1, y2, y3, False, :(False, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, False, y5, ty_Bool) 14.52/5.70 The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 5, 6 > 6, 7 >= 7 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(True, y1, y2, y3, False, :(True, y5), ty_Bool) -> new_nubByNubBy'1(True, y1, y2, y3, True, y5, ty_Bool) 14.52/5.70 The graph contains the following edges 1 >= 1, 6 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 1 >= 5, 6 > 5, 6 > 6, 7 >= 7 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'(:(True, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, False, y3, False, y3, ty_Bool) 14.52/5.70 The graph contains the following edges 1 > 1, 1 > 2, 2 >= 3, 3 >= 4, 2 >= 5, 3 >= 6, 4 >= 7 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'(:(False, y1), False, y3, ty_Bool) -> new_nubByNubBy'1(False, y1, False, y3, True, y3, ty_Bool) 14.52/5.70 The graph contains the following edges 1 > 1, 2 >= 1, 1 > 2, 1 > 3, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'(:(True, y1), True, y3, ty_Bool) -> new_nubByNubBy'1(True, y1, True, y3, True, y3, ty_Bool) 14.52/5.70 The graph contains the following edges 1 > 1, 2 >= 1, 1 > 2, 1 > 3, 2 >= 3, 3 >= 4, 1 > 5, 2 >= 5, 3 >= 6, 4 >= 7 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(False, z0, True, [], False, [], ty_Bool) -> new_nubByNubBy'(z0, False, :(True, []), ty_Bool) 14.52/5.70 The graph contains the following edges 2 >= 1, 1 >= 2, 5 >= 2, 7 >= 4 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(False, z0, z1, z2, False, [], ty_Bool) -> new_nubByNubBy'(z0, False, :(z1, z2), ty_Bool) 14.52/5.70 The graph contains the following edges 2 >= 1, 1 >= 2, 5 >= 2, 7 >= 4 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(True, z0, False, [], False, [], ty_Bool) -> new_nubByNubBy'(z0, True, :(False, []), ty_Bool) 14.52/5.70 The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 14.52/5.70 14.52/5.70 14.52/5.70 *new_nubByNubBy'1(True, z0, z1, z2, False, [], ty_Bool) -> new_nubByNubBy'(z0, True, :(z1, z2), ty_Bool) 14.52/5.70 The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (41) 14.52/5.70 YES 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (42) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_psPs(:(xw80, xw81), xw9, xw10, xw11, ba) -> new_psPs(xw81, xw9, xw10, xw11, ba) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 Q is empty. 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (43) QDPSizeChangeProof (EQUIVALENT) 14.52/5.70 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.52/5.70 14.52/5.70 From the DPs we obtained the following set of size-change graphs: 14.52/5.70 *new_psPs(:(xw80, xw81), xw9, xw10, xw11, ba) -> new_psPs(xw81, xw9, xw10, xw11, ba) 14.52/5.70 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (44) 14.52/5.70 YES 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (45) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy(xw10, :(xw90, xw91), bb) -> new_deleteBy0(xw91, xw90, xw10, new_esEs15(xw10, xw90, bb), bb) 14.52/5.70 new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(ty_[], cb)) -> new_esEs12(xw10, xw90, cb) 14.52/5.70 new_esEs11(xw10, xw90) -> error([]) 14.52/5.70 new_esEs13(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(ty_Ratio, ca)) -> new_esEs9(xw10, xw90, ca) 14.52/5.70 new_esEs7(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(app(ty_Either, cc), cd)) -> new_esEs14(xw10, xw90, cc, cd) 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs15(xw10, xw90, app(app(ty_@2, bd), be)) -> new_esEs3(xw10, xw90, bd, be) 14.52/5.70 new_esEs15(xw10, xw90, ty_Int) -> new_esEs8(xw10, xw90) 14.52/5.70 new_esEs15(xw10, xw90, ty_@0) -> new_esEs2(xw10, xw90) 14.52/5.70 new_esEs15(xw10, xw90, app(app(app(ty_@3, bf), bg), bh)) -> new_esEs5(xw10, xw90, bf, bg, bh) 14.52/5.70 new_esEs15(xw10, xw90, ty_Bool) -> new_esEs4(xw10, xw90) 14.52/5.70 new_esEs2(xw10, xw90) -> error([]) 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs14(xw10, xw90, cc, cd) -> error([]) 14.52/5.70 new_esEs12(xw10, xw90, cb) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Double) -> new_esEs13(xw10, xw90) 14.52/5.70 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) 14.52/5.70 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Integer) -> new_esEs11(xw10, xw90) 14.52/5.70 new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs7(xw10, xw90) 14.52/5.70 new_esEs6(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(ty_Maybe, bc)) -> new_esEs1(xw10, xw90, bc) 14.52/5.70 new_esEs10(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Float) -> new_esEs10(xw10, xw90) 14.52/5.70 new_esEs8(xw10, xw90) -> error([]) 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs15(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Char) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, ty_Double) 14.52/5.70 new_esEs15(x0, x1, ty_@0) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs15(x0, x1, ty_Ordering) 14.52/5.70 new_esEs15(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs15(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs15(x0, x1, ty_Int) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs15(x0, x1, ty_Integer) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (46) TransformationProof (EQUIVALENT) 14.52/5.70 By narrowing [LPAR04] the rule new_deleteBy(xw10, :(xw90, xw91), bb) -> new_deleteBy0(xw91, xw90, xw10, new_esEs15(xw10, xw90, bb), bb) at position [3] we obtained the following new rules [LPAR04]: 14.52/5.70 14.52/5.70 (new_deleteBy(x0, :(x1, y2), app(ty_[], x2)) -> new_deleteBy0(y2, x1, x0, new_esEs12(x0, x1, x2), app(ty_[], x2)),new_deleteBy(x0, :(x1, y2), app(ty_[], x2)) -> new_deleteBy0(y2, x1, x0, new_esEs12(x0, x1, x2), app(ty_[], x2))) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), app(ty_Ratio, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs9(x0, x1, x2), app(ty_Ratio, x2)),new_deleteBy(x0, :(x1, y2), app(ty_Ratio, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs9(x0, x1, x2), app(ty_Ratio, x2))) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), app(app(ty_Either, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs14(x0, x1, x2, x3), app(app(ty_Either, x2), x3)),new_deleteBy(x0, :(x1, y2), app(app(ty_Either, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs14(x0, x1, x2, x3), app(app(ty_Either, x2), x3))) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), app(app(ty_@2, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs3(x0, x1, x2, x3), app(app(ty_@2, x2), x3)),new_deleteBy(x0, :(x1, y2), app(app(ty_@2, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs3(x0, x1, x2, x3), app(app(ty_@2, x2), x3))) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), ty_Int) -> new_deleteBy0(y2, x1, x0, new_esEs8(x0, x1), ty_Int),new_deleteBy(x0, :(x1, y2), ty_Int) -> new_deleteBy0(y2, x1, x0, new_esEs8(x0, x1), ty_Int)) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), ty_@0) -> new_deleteBy0(y2, x1, x0, new_esEs2(x0, x1), ty_@0),new_deleteBy(x0, :(x1, y2), ty_@0) -> new_deleteBy0(y2, x1, x0, new_esEs2(x0, x1), ty_@0)) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), app(app(app(ty_@3, x2), x3), x4)) -> new_deleteBy0(y2, x1, x0, new_esEs5(x0, x1, x2, x3, x4), app(app(app(ty_@3, x2), x3), x4)),new_deleteBy(x0, :(x1, y2), app(app(app(ty_@3, x2), x3), x4)) -> new_deleteBy0(y2, x1, x0, new_esEs5(x0, x1, x2, x3, x4), app(app(app(ty_@3, x2), x3), x4))) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_Bool),new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_Bool)) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), ty_Double) -> new_deleteBy0(y2, x1, x0, new_esEs13(x0, x1), ty_Double),new_deleteBy(x0, :(x1, y2), ty_Double) -> new_deleteBy0(y2, x1, x0, new_esEs13(x0, x1), ty_Double)) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), ty_Char) -> new_deleteBy0(y2, x1, x0, new_esEs6(x0, x1), ty_Char),new_deleteBy(x0, :(x1, y2), ty_Char) -> new_deleteBy0(y2, x1, x0, new_esEs6(x0, x1), ty_Char)) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), ty_Integer) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Integer),new_deleteBy(x0, :(x1, y2), ty_Integer) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Integer)) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs7(x0, x1), ty_Ordering),new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs7(x0, x1), ty_Ordering)) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), app(ty_Maybe, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs1(x0, x1, x2), app(ty_Maybe, x2)),new_deleteBy(x0, :(x1, y2), app(ty_Maybe, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs1(x0, x1, x2), app(ty_Maybe, x2))) 14.52/5.70 (new_deleteBy(x0, :(x1, y2), ty_Float) -> new_deleteBy0(y2, x1, x0, new_esEs10(x0, x1), ty_Float),new_deleteBy(x0, :(x1, y2), ty_Float) -> new_deleteBy0(y2, x1, x0, new_esEs10(x0, x1), ty_Float)) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (47) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) 14.52/5.70 new_deleteBy(x0, :(x1, y2), app(ty_[], x2)) -> new_deleteBy0(y2, x1, x0, new_esEs12(x0, x1, x2), app(ty_[], x2)) 14.52/5.70 new_deleteBy(x0, :(x1, y2), app(ty_Ratio, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs9(x0, x1, x2), app(ty_Ratio, x2)) 14.52/5.70 new_deleteBy(x0, :(x1, y2), app(app(ty_Either, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs14(x0, x1, x2, x3), app(app(ty_Either, x2), x3)) 14.52/5.70 new_deleteBy(x0, :(x1, y2), app(app(ty_@2, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs3(x0, x1, x2, x3), app(app(ty_@2, x2), x3)) 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Int) -> new_deleteBy0(y2, x1, x0, new_esEs8(x0, x1), ty_Int) 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_@0) -> new_deleteBy0(y2, x1, x0, new_esEs2(x0, x1), ty_@0) 14.52/5.70 new_deleteBy(x0, :(x1, y2), app(app(app(ty_@3, x2), x3), x4)) -> new_deleteBy0(y2, x1, x0, new_esEs5(x0, x1, x2, x3, x4), app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_Bool) 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Double) -> new_deleteBy0(y2, x1, x0, new_esEs13(x0, x1), ty_Double) 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Char) -> new_deleteBy0(y2, x1, x0, new_esEs6(x0, x1), ty_Char) 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Integer) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Integer) 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs7(x0, x1), ty_Ordering) 14.52/5.70 new_deleteBy(x0, :(x1, y2), app(ty_Maybe, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs1(x0, x1, x2), app(ty_Maybe, x2)) 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Float) -> new_deleteBy0(y2, x1, x0, new_esEs10(x0, x1), ty_Float) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(ty_[], cb)) -> new_esEs12(xw10, xw90, cb) 14.52/5.70 new_esEs11(xw10, xw90) -> error([]) 14.52/5.70 new_esEs13(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(ty_Ratio, ca)) -> new_esEs9(xw10, xw90, ca) 14.52/5.70 new_esEs7(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(app(ty_Either, cc), cd)) -> new_esEs14(xw10, xw90, cc, cd) 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs15(xw10, xw90, app(app(ty_@2, bd), be)) -> new_esEs3(xw10, xw90, bd, be) 14.52/5.70 new_esEs15(xw10, xw90, ty_Int) -> new_esEs8(xw10, xw90) 14.52/5.70 new_esEs15(xw10, xw90, ty_@0) -> new_esEs2(xw10, xw90) 14.52/5.70 new_esEs15(xw10, xw90, app(app(app(ty_@3, bf), bg), bh)) -> new_esEs5(xw10, xw90, bf, bg, bh) 14.52/5.70 new_esEs15(xw10, xw90, ty_Bool) -> new_esEs4(xw10, xw90) 14.52/5.70 new_esEs2(xw10, xw90) -> error([]) 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs14(xw10, xw90, cc, cd) -> error([]) 14.52/5.70 new_esEs12(xw10, xw90, cb) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Double) -> new_esEs13(xw10, xw90) 14.52/5.70 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) 14.52/5.70 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Integer) -> new_esEs11(xw10, xw90) 14.52/5.70 new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs7(xw10, xw90) 14.52/5.70 new_esEs6(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(ty_Maybe, bc)) -> new_esEs1(xw10, xw90, bc) 14.52/5.70 new_esEs10(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Float) -> new_esEs10(xw10, xw90) 14.52/5.70 new_esEs8(xw10, xw90) -> error([]) 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs15(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Char) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, ty_Double) 14.52/5.70 new_esEs15(x0, x1, ty_@0) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs15(x0, x1, ty_Ordering) 14.52/5.70 new_esEs15(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs15(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs15(x0, x1, ty_Int) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs15(x0, x1, ty_Integer) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (48) DependencyGraphProof (EQUIVALENT) 14.52/5.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 13 less nodes. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (49) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_Bool) 14.52/5.70 new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs1(xw10, xw90, bc) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(ty_[], cb)) -> new_esEs12(xw10, xw90, cb) 14.52/5.70 new_esEs11(xw10, xw90) -> error([]) 14.52/5.70 new_esEs13(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(ty_Ratio, ca)) -> new_esEs9(xw10, xw90, ca) 14.52/5.70 new_esEs7(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(app(ty_Either, cc), cd)) -> new_esEs14(xw10, xw90, cc, cd) 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs15(xw10, xw90, app(app(ty_@2, bd), be)) -> new_esEs3(xw10, xw90, bd, be) 14.52/5.70 new_esEs15(xw10, xw90, ty_Int) -> new_esEs8(xw10, xw90) 14.52/5.70 new_esEs15(xw10, xw90, ty_@0) -> new_esEs2(xw10, xw90) 14.52/5.70 new_esEs15(xw10, xw90, app(app(app(ty_@3, bf), bg), bh)) -> new_esEs5(xw10, xw90, bf, bg, bh) 14.52/5.70 new_esEs15(xw10, xw90, ty_Bool) -> new_esEs4(xw10, xw90) 14.52/5.70 new_esEs2(xw10, xw90) -> error([]) 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs14(xw10, xw90, cc, cd) -> error([]) 14.52/5.70 new_esEs12(xw10, xw90, cb) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Double) -> new_esEs13(xw10, xw90) 14.52/5.70 new_esEs3(xw10, xw90, bd, be) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) 14.52/5.70 new_esEs5(xw10, xw90, bf, bg, bh) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Integer) -> new_esEs11(xw10, xw90) 14.52/5.70 new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs7(xw10, xw90) 14.52/5.70 new_esEs6(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, app(ty_Maybe, bc)) -> new_esEs1(xw10, xw90, bc) 14.52/5.70 new_esEs10(xw10, xw90) -> error([]) 14.52/5.70 new_esEs15(xw10, xw90, ty_Float) -> new_esEs10(xw10, xw90) 14.52/5.70 new_esEs8(xw10, xw90) -> error([]) 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 new_esEs9(xw10, xw90, ca) -> error([]) 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs15(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Char) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, ty_Double) 14.52/5.70 new_esEs15(x0, x1, ty_@0) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs15(x0, x1, ty_Ordering) 14.52/5.70 new_esEs15(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs15(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs15(x0, x1, ty_Int) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs15(x0, x1, ty_Integer) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (50) UsableRulesProof (EQUIVALENT) 14.52/5.70 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (51) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_Bool) 14.52/5.70 new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs15(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Char) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, ty_Double) 14.52/5.70 new_esEs15(x0, x1, ty_@0) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs15(x0, x1, ty_Ordering) 14.52/5.70 new_esEs15(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs15(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs15(x0, x1, ty_Int) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs15(x0, x1, ty_Integer) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Bool) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (52) QReductionProof (EQUIVALENT) 14.52/5.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 14.52/5.70 14.52/5.70 new_esEs7(x0, x1) 14.52/5.70 new_esEs2(x0, x1) 14.52/5.70 new_esEs9(x0, x1, x2) 14.52/5.70 new_esEs15(x0, x1, app(ty_[], x2)) 14.52/5.70 new_esEs12(x0, x1, x2) 14.52/5.70 new_esEs14(x0, x1, x2, x3) 14.52/5.70 new_esEs13(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Char) 14.52/5.70 new_esEs6(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.70 new_esEs15(x0, x1, ty_Double) 14.52/5.70 new_esEs15(x0, x1, ty_@0) 14.52/5.70 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.70 new_esEs15(x0, x1, ty_Ordering) 14.52/5.70 new_esEs15(x0, x1, app(ty_Ratio, x2)) 14.52/5.70 new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.70 new_esEs15(x0, x1, ty_Float) 14.52/5.70 new_esEs10(x0, x1) 14.52/5.70 new_esEs15(x0, x1, app(ty_Maybe, x2)) 14.52/5.70 new_esEs15(x0, x1, ty_Int) 14.52/5.70 new_esEs1(x0, x1, x2) 14.52/5.70 new_esEs11(x0, x1) 14.52/5.70 new_esEs3(x0, x1, x2, x3) 14.52/5.70 new_esEs15(x0, x1, ty_Integer) 14.52/5.70 new_esEs8(x0, x1) 14.52/5.70 new_esEs15(x0, x1, ty_Bool) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (53) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_Bool) 14.52/5.70 new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (54) TransformationProof (EQUIVALENT) 14.52/5.70 By narrowing [LPAR04] the rule new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_Bool) at position [3] we obtained the following new rules [LPAR04]: 14.52/5.70 14.52/5.70 (new_deleteBy(False, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, False, True, ty_Bool),new_deleteBy(False, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, False, True, ty_Bool)) 14.52/5.70 (new_deleteBy(False, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, False, False, ty_Bool),new_deleteBy(False, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, False, False, ty_Bool)) 14.52/5.70 (new_deleteBy(True, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, True, False, ty_Bool),new_deleteBy(True, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, True, False, ty_Bool)) 14.52/5.70 (new_deleteBy(True, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, True, True, ty_Bool),new_deleteBy(True, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, True, True, ty_Bool)) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (55) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) 14.52/5.70 new_deleteBy(False, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, False, True, ty_Bool) 14.52/5.70 new_deleteBy(False, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, False, False, ty_Bool) 14.52/5.70 new_deleteBy(True, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, True, False, ty_Bool) 14.52/5.70 new_deleteBy(True, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, True, True, ty_Bool) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (56) DependencyGraphProof (EQUIVALENT) 14.52/5.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (57) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy(False, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, False, False, ty_Bool) 14.52/5.70 new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) 14.52/5.70 new_deleteBy(True, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, True, False, ty_Bool) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.70 14.52/5.70 new_esEs4(False, False) -> True 14.52/5.70 new_esEs4(False, True) -> False 14.52/5.70 new_esEs4(True, False) -> False 14.52/5.70 new_esEs4(True, True) -> True 14.52/5.70 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (58) UsableRulesProof (EQUIVALENT) 14.52/5.70 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (59) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy(False, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, False, False, ty_Bool) 14.52/5.70 new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) 14.52/5.70 new_deleteBy(True, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, True, False, ty_Bool) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 The set Q consists of the following terms: 14.52/5.70 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (60) QReductionProof (EQUIVALENT) 14.52/5.70 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 14.52/5.70 14.52/5.70 new_esEs4(False, True) 14.52/5.70 new_esEs4(True, False) 14.52/5.70 new_esEs4(False, False) 14.52/5.70 new_esEs4(True, True) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (61) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy(False, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, False, False, ty_Bool) 14.52/5.70 new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) 14.52/5.70 new_deleteBy(True, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, True, False, ty_Bool) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 Q is empty. 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (62) TransformationProof (EQUIVALENT) 14.52/5.70 By instantiating [LPAR04] the rule new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) we obtained the following new rules [LPAR04]: 14.52/5.70 14.52/5.70 (new_deleteBy0(z0, True, False, False, ty_Bool) -> new_deleteBy(False, z0, ty_Bool),new_deleteBy0(z0, True, False, False, ty_Bool) -> new_deleteBy(False, z0, ty_Bool)) 14.52/5.70 (new_deleteBy0(z0, False, True, False, ty_Bool) -> new_deleteBy(True, z0, ty_Bool),new_deleteBy0(z0, False, True, False, ty_Bool) -> new_deleteBy(True, z0, ty_Bool)) 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (63) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy(False, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, False, False, ty_Bool) 14.52/5.70 new_deleteBy(True, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, True, False, ty_Bool) 14.52/5.70 new_deleteBy0(z0, True, False, False, ty_Bool) -> new_deleteBy(False, z0, ty_Bool) 14.52/5.70 new_deleteBy0(z0, False, True, False, ty_Bool) -> new_deleteBy(True, z0, ty_Bool) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 Q is empty. 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (64) DependencyGraphProof (EQUIVALENT) 14.52/5.70 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (65) 14.52/5.70 Complex Obligation (AND) 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (66) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy0(z0, False, True, False, ty_Bool) -> new_deleteBy(True, z0, ty_Bool) 14.52/5.70 new_deleteBy(True, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, True, False, ty_Bool) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 Q is empty. 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (67) QDPSizeChangeProof (EQUIVALENT) 14.52/5.70 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.52/5.70 14.52/5.70 From the DPs we obtained the following set of size-change graphs: 14.52/5.70 *new_deleteBy(True, :(False, y2), ty_Bool) -> new_deleteBy0(y2, False, True, False, ty_Bool) 14.52/5.70 The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 2 > 4, 3 >= 5 14.52/5.70 14.52/5.70 14.52/5.70 *new_deleteBy0(z0, False, True, False, ty_Bool) -> new_deleteBy(True, z0, ty_Bool) 14.52/5.70 The graph contains the following edges 3 >= 1, 1 >= 2, 5 >= 3 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (68) 14.52/5.70 YES 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (69) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_deleteBy0(z0, True, False, False, ty_Bool) -> new_deleteBy(False, z0, ty_Bool) 14.52/5.70 new_deleteBy(False, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, False, False, ty_Bool) 14.52/5.70 14.52/5.70 R is empty. 14.52/5.70 Q is empty. 14.52/5.70 We have to consider all minimal (P,Q,R)-chains. 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (70) QDPSizeChangeProof (EQUIVALENT) 14.52/5.70 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.52/5.70 14.52/5.70 From the DPs we obtained the following set of size-change graphs: 14.52/5.70 *new_deleteBy(False, :(True, y2), ty_Bool) -> new_deleteBy0(y2, True, False, False, ty_Bool) 14.52/5.70 The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 1 >= 4, 3 >= 5 14.52/5.70 14.52/5.70 14.52/5.70 *new_deleteBy0(z0, True, False, False, ty_Bool) -> new_deleteBy(False, z0, ty_Bool) 14.52/5.70 The graph contains the following edges 3 >= 1, 4 >= 1, 1 >= 2, 5 >= 3 14.52/5.70 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (71) 14.52/5.70 YES 14.52/5.70 14.52/5.70 ---------------------------------------- 14.52/5.70 14.52/5.70 (72) 14.52/5.70 Obligation: 14.52/5.70 Q DP problem: 14.52/5.70 The TRS P consists of the following rules: 14.52/5.70 14.52/5.70 new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_flip(xw9, xw10, ba), xw110, xw111, ba) 14.52/5.70 14.52/5.70 The TRS R consists of the following rules: 14.52/5.71 14.52/5.71 new_esEs1(xw10, xw90, bb) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_[], cb)) -> new_esEs12(xw10, xw90, cb) 14.52/5.71 new_esEs11(xw10, xw90) -> error([]) 14.52/5.71 new_esEs13(xw10, xw90) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_Ratio, bh)) -> new_esEs9(xw10, xw90, bh) 14.52/5.71 new_esEs7(xw10, xw90) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, app(app(ty_Either, cc), cd)) -> new_esEs14(xw10, xw90, cc, cd) 14.52/5.71 new_esEs4(False, False) -> True 14.52/5.71 new_esEs15(xw10, xw90, app(app(ty_@2, bc), bd)) -> new_esEs3(xw10, xw90, bc, bd) 14.52/5.71 new_esEs15(xw10, xw90, ty_Int) -> new_esEs8(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_@0) -> new_esEs2(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, app(app(app(ty_@3, be), bf), bg)) -> new_esEs5(xw10, xw90, be, bf, bg) 14.52/5.71 new_deleteBy00(xw17, xw18, xw19, True, ca) -> xw17 14.52/5.71 new_deleteBy1(xw10, :(xw90, xw91), ba) -> new_deleteBy00(xw91, xw90, xw10, new_esEs15(xw10, xw90, ba), ba) 14.52/5.71 new_esEs15(xw10, xw90, ty_Bool) -> new_esEs4(xw10, xw90) 14.52/5.71 new_esEs2(xw10, xw90) -> error([]) 14.52/5.71 new_esEs4(False, True) -> False 14.52/5.71 new_esEs4(True, False) -> False 14.52/5.71 new_esEs14(xw10, xw90, cc, cd) -> error([]) 14.52/5.71 new_flip(xw9, xw10, ba) -> new_deleteBy1(xw10, xw9, ba) 14.52/5.71 new_esEs12(xw10, xw90, cb) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, ty_Double) -> new_esEs13(xw10, xw90) 14.52/5.71 new_esEs3(xw10, xw90, bc, bd) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) 14.52/5.71 new_esEs5(xw10, xw90, be, bf, bg) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, ty_Integer) -> new_esEs11(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs7(xw10, xw90) 14.52/5.71 new_esEs6(xw10, xw90) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_Maybe, bb)) -> new_esEs1(xw10, xw90, bb) 14.52/5.71 new_esEs10(xw10, xw90) -> error([]) 14.52/5.71 new_deleteBy1(xw10, [], ba) -> [] 14.52/5.71 new_esEs15(xw10, xw90, ty_Float) -> new_esEs10(xw10, xw90) 14.52/5.71 new_esEs8(xw10, xw90) -> error([]) 14.52/5.71 new_esEs4(True, True) -> True 14.52/5.71 new_deleteBy00(xw17, xw18, xw19, False, ca) -> :(xw18, new_deleteBy1(xw19, xw17, ca)) 14.52/5.71 new_esEs9(xw10, xw90, bh) -> error([]) 14.52/5.71 14.52/5.71 The set Q consists of the following terms: 14.52/5.71 14.52/5.71 new_esEs7(x0, x1) 14.52/5.71 new_esEs2(x0, x1) 14.52/5.71 new_esEs15(x0, x1, app(ty_[], x2)) 14.52/5.71 new_esEs1(x0, x1, x2) 14.52/5.71 new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.71 new_esEs12(x0, x1, x2) 14.52/5.71 new_esEs14(x0, x1, x2, x3) 14.52/5.71 new_esEs13(x0, x1) 14.52/5.71 new_deleteBy1(x0, :(x1, x2), x3) 14.52/5.71 new_esEs15(x0, x1, ty_Char) 14.52/5.71 new_deleteBy1(x0, [], x1) 14.52/5.71 new_flip(x0, x1, x2) 14.52/5.71 new_esEs6(x0, x1) 14.52/5.71 new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.71 new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.71 new_deleteBy00(x0, x1, x2, True, x3) 14.52/5.71 new_esEs15(x0, x1, ty_Double) 14.52/5.71 new_esEs15(x0, x1, ty_@0) 14.52/5.71 new_esEs15(x0, x1, ty_Ordering) 14.52/5.71 new_esEs4(False, True) 14.52/5.71 new_esEs4(True, False) 14.52/5.71 new_esEs9(x0, x1, x2) 14.52/5.71 new_esEs15(x0, x1, ty_Float) 14.52/5.71 new_esEs10(x0, x1) 14.52/5.71 new_esEs4(False, False) 14.52/5.71 new_esEs15(x0, x1, ty_Int) 14.52/5.71 new_esEs11(x0, x1) 14.52/5.71 new_esEs3(x0, x1, x2, x3) 14.52/5.71 new_esEs15(x0, x1, app(ty_Ratio, x2)) 14.52/5.71 new_esEs15(x0, x1, ty_Integer) 14.52/5.71 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.71 new_esEs8(x0, x1) 14.52/5.71 new_esEs15(x0, x1, ty_Bool) 14.52/5.71 new_deleteBy00(x0, x1, x2, False, x3) 14.52/5.71 new_esEs4(True, True) 14.52/5.71 new_esEs15(x0, x1, app(ty_Maybe, x2)) 14.52/5.71 14.52/5.71 We have to consider all minimal (P,Q,R)-chains. 14.52/5.71 ---------------------------------------- 14.52/5.71 14.52/5.71 (73) TransformationProof (EQUIVALENT) 14.52/5.71 By rewriting [LPAR04] the rule new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_flip(xw9, xw10, ba), xw110, xw111, ba) at position [0] we obtained the following new rules [LPAR04]: 14.52/5.71 14.52/5.71 (new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba),new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba)) 14.52/5.71 14.52/5.71 14.52/5.71 ---------------------------------------- 14.52/5.71 14.52/5.71 (74) 14.52/5.71 Obligation: 14.52/5.71 Q DP problem: 14.52/5.71 The TRS P consists of the following rules: 14.52/5.71 14.52/5.71 new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba) 14.52/5.71 14.52/5.71 The TRS R consists of the following rules: 14.52/5.71 14.52/5.71 new_esEs1(xw10, xw90, bb) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_[], cb)) -> new_esEs12(xw10, xw90, cb) 14.52/5.71 new_esEs11(xw10, xw90) -> error([]) 14.52/5.71 new_esEs13(xw10, xw90) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_Ratio, bh)) -> new_esEs9(xw10, xw90, bh) 14.52/5.71 new_esEs7(xw10, xw90) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, app(app(ty_Either, cc), cd)) -> new_esEs14(xw10, xw90, cc, cd) 14.52/5.71 new_esEs4(False, False) -> True 14.52/5.71 new_esEs15(xw10, xw90, app(app(ty_@2, bc), bd)) -> new_esEs3(xw10, xw90, bc, bd) 14.52/5.71 new_esEs15(xw10, xw90, ty_Int) -> new_esEs8(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_@0) -> new_esEs2(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, app(app(app(ty_@3, be), bf), bg)) -> new_esEs5(xw10, xw90, be, bf, bg) 14.52/5.71 new_deleteBy00(xw17, xw18, xw19, True, ca) -> xw17 14.52/5.71 new_deleteBy1(xw10, :(xw90, xw91), ba) -> new_deleteBy00(xw91, xw90, xw10, new_esEs15(xw10, xw90, ba), ba) 14.52/5.71 new_esEs15(xw10, xw90, ty_Bool) -> new_esEs4(xw10, xw90) 14.52/5.71 new_esEs2(xw10, xw90) -> error([]) 14.52/5.71 new_esEs4(False, True) -> False 14.52/5.71 new_esEs4(True, False) -> False 14.52/5.71 new_esEs14(xw10, xw90, cc, cd) -> error([]) 14.52/5.71 new_flip(xw9, xw10, ba) -> new_deleteBy1(xw10, xw9, ba) 14.52/5.71 new_esEs12(xw10, xw90, cb) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, ty_Double) -> new_esEs13(xw10, xw90) 14.52/5.71 new_esEs3(xw10, xw90, bc, bd) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) 14.52/5.71 new_esEs5(xw10, xw90, be, bf, bg) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, ty_Integer) -> new_esEs11(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs7(xw10, xw90) 14.52/5.71 new_esEs6(xw10, xw90) -> error([]) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_Maybe, bb)) -> new_esEs1(xw10, xw90, bb) 14.52/5.71 new_esEs10(xw10, xw90) -> error([]) 14.52/5.71 new_deleteBy1(xw10, [], ba) -> [] 14.52/5.71 new_esEs15(xw10, xw90, ty_Float) -> new_esEs10(xw10, xw90) 14.52/5.71 new_esEs8(xw10, xw90) -> error([]) 14.52/5.71 new_esEs4(True, True) -> True 14.52/5.71 new_deleteBy00(xw17, xw18, xw19, False, ca) -> :(xw18, new_deleteBy1(xw19, xw17, ca)) 14.52/5.71 new_esEs9(xw10, xw90, bh) -> error([]) 14.52/5.71 14.52/5.71 The set Q consists of the following terms: 14.52/5.71 14.52/5.71 new_esEs7(x0, x1) 14.52/5.71 new_esEs2(x0, x1) 14.52/5.71 new_esEs15(x0, x1, app(ty_[], x2)) 14.52/5.71 new_esEs1(x0, x1, x2) 14.52/5.71 new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.71 new_esEs12(x0, x1, x2) 14.52/5.71 new_esEs14(x0, x1, x2, x3) 14.52/5.71 new_esEs13(x0, x1) 14.52/5.71 new_deleteBy1(x0, :(x1, x2), x3) 14.52/5.71 new_esEs15(x0, x1, ty_Char) 14.52/5.71 new_deleteBy1(x0, [], x1) 14.52/5.71 new_flip(x0, x1, x2) 14.52/5.71 new_esEs6(x0, x1) 14.52/5.71 new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.71 new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.71 new_deleteBy00(x0, x1, x2, True, x3) 14.52/5.71 new_esEs15(x0, x1, ty_Double) 14.52/5.71 new_esEs15(x0, x1, ty_@0) 14.52/5.71 new_esEs15(x0, x1, ty_Ordering) 14.52/5.71 new_esEs4(False, True) 14.52/5.71 new_esEs4(True, False) 14.52/5.71 new_esEs9(x0, x1, x2) 14.52/5.71 new_esEs15(x0, x1, ty_Float) 14.52/5.71 new_esEs10(x0, x1) 14.52/5.71 new_esEs4(False, False) 14.52/5.71 new_esEs15(x0, x1, ty_Int) 14.52/5.71 new_esEs11(x0, x1) 14.52/5.71 new_esEs3(x0, x1, x2, x3) 14.52/5.71 new_esEs15(x0, x1, app(ty_Ratio, x2)) 14.52/5.71 new_esEs15(x0, x1, ty_Integer) 14.52/5.71 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.71 new_esEs8(x0, x1) 14.52/5.71 new_esEs15(x0, x1, ty_Bool) 14.52/5.71 new_deleteBy00(x0, x1, x2, False, x3) 14.52/5.71 new_esEs4(True, True) 14.52/5.71 new_esEs15(x0, x1, app(ty_Maybe, x2)) 14.52/5.71 14.52/5.71 We have to consider all minimal (P,Q,R)-chains. 14.52/5.71 ---------------------------------------- 14.52/5.71 14.52/5.71 (75) UsableRulesProof (EQUIVALENT) 14.52/5.71 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 14.52/5.71 ---------------------------------------- 14.52/5.71 14.52/5.71 (76) 14.52/5.71 Obligation: 14.52/5.71 Q DP problem: 14.52/5.71 The TRS P consists of the following rules: 14.52/5.71 14.52/5.71 new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba) 14.52/5.71 14.52/5.71 The TRS R consists of the following rules: 14.52/5.71 14.52/5.71 new_deleteBy1(xw10, :(xw90, xw91), ba) -> new_deleteBy00(xw91, xw90, xw10, new_esEs15(xw10, xw90, ba), ba) 14.52/5.71 new_deleteBy1(xw10, [], ba) -> [] 14.52/5.71 new_esEs15(xw10, xw90, app(ty_[], cb)) -> new_esEs12(xw10, xw90, cb) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_Ratio, bh)) -> new_esEs9(xw10, xw90, bh) 14.52/5.71 new_esEs15(xw10, xw90, app(app(ty_Either, cc), cd)) -> new_esEs14(xw10, xw90, cc, cd) 14.52/5.71 new_esEs15(xw10, xw90, app(app(ty_@2, bc), bd)) -> new_esEs3(xw10, xw90, bc, bd) 14.52/5.71 new_esEs15(xw10, xw90, ty_Int) -> new_esEs8(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_@0) -> new_esEs2(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, app(app(app(ty_@3, be), bf), bg)) -> new_esEs5(xw10, xw90, be, bf, bg) 14.52/5.71 new_esEs15(xw10, xw90, ty_Bool) -> new_esEs4(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Double) -> new_esEs13(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Integer) -> new_esEs11(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs7(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_Maybe, bb)) -> new_esEs1(xw10, xw90, bb) 14.52/5.71 new_esEs15(xw10, xw90, ty_Float) -> new_esEs10(xw10, xw90) 14.52/5.71 new_deleteBy00(xw17, xw18, xw19, True, ca) -> xw17 14.52/5.71 new_deleteBy00(xw17, xw18, xw19, False, ca) -> :(xw18, new_deleteBy1(xw19, xw17, ca)) 14.52/5.71 new_esEs10(xw10, xw90) -> error([]) 14.52/5.71 new_esEs1(xw10, xw90, bb) -> error([]) 14.52/5.71 new_esEs7(xw10, xw90) -> error([]) 14.52/5.71 new_esEs11(xw10, xw90) -> error([]) 14.52/5.71 new_esEs6(xw10, xw90) -> error([]) 14.52/5.71 new_esEs13(xw10, xw90) -> error([]) 14.52/5.71 new_esEs4(False, False) -> True 14.52/5.71 new_esEs4(False, True) -> False 14.52/5.71 new_esEs4(True, False) -> False 14.52/5.71 new_esEs4(True, True) -> True 14.52/5.71 new_esEs5(xw10, xw90, be, bf, bg) -> error([]) 14.52/5.71 new_esEs2(xw10, xw90) -> error([]) 14.52/5.71 new_esEs8(xw10, xw90) -> error([]) 14.52/5.71 new_esEs3(xw10, xw90, bc, bd) -> error([]) 14.52/5.71 new_esEs14(xw10, xw90, cc, cd) -> error([]) 14.52/5.71 new_esEs9(xw10, xw90, bh) -> error([]) 14.52/5.71 new_esEs12(xw10, xw90, cb) -> error([]) 14.52/5.71 14.52/5.71 The set Q consists of the following terms: 14.52/5.71 14.52/5.71 new_esEs7(x0, x1) 14.52/5.71 new_esEs2(x0, x1) 14.52/5.71 new_esEs15(x0, x1, app(ty_[], x2)) 14.52/5.71 new_esEs1(x0, x1, x2) 14.52/5.71 new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.71 new_esEs12(x0, x1, x2) 14.52/5.71 new_esEs14(x0, x1, x2, x3) 14.52/5.71 new_esEs13(x0, x1) 14.52/5.71 new_deleteBy1(x0, :(x1, x2), x3) 14.52/5.71 new_esEs15(x0, x1, ty_Char) 14.52/5.71 new_deleteBy1(x0, [], x1) 14.52/5.71 new_flip(x0, x1, x2) 14.52/5.71 new_esEs6(x0, x1) 14.52/5.71 new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.71 new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.71 new_deleteBy00(x0, x1, x2, True, x3) 14.52/5.71 new_esEs15(x0, x1, ty_Double) 14.52/5.71 new_esEs15(x0, x1, ty_@0) 14.52/5.71 new_esEs15(x0, x1, ty_Ordering) 14.52/5.71 new_esEs4(False, True) 14.52/5.71 new_esEs4(True, False) 14.52/5.71 new_esEs9(x0, x1, x2) 14.52/5.71 new_esEs15(x0, x1, ty_Float) 14.52/5.71 new_esEs10(x0, x1) 14.52/5.71 new_esEs4(False, False) 14.52/5.71 new_esEs15(x0, x1, ty_Int) 14.52/5.71 new_esEs11(x0, x1) 14.52/5.71 new_esEs3(x0, x1, x2, x3) 14.52/5.71 new_esEs15(x0, x1, app(ty_Ratio, x2)) 14.52/5.71 new_esEs15(x0, x1, ty_Integer) 14.52/5.71 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.71 new_esEs8(x0, x1) 14.52/5.71 new_esEs15(x0, x1, ty_Bool) 14.52/5.71 new_deleteBy00(x0, x1, x2, False, x3) 14.52/5.71 new_esEs4(True, True) 14.52/5.71 new_esEs15(x0, x1, app(ty_Maybe, x2)) 14.52/5.71 14.52/5.71 We have to consider all minimal (P,Q,R)-chains. 14.52/5.71 ---------------------------------------- 14.52/5.71 14.52/5.71 (77) QReductionProof (EQUIVALENT) 14.52/5.71 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 14.52/5.71 14.52/5.71 new_flip(x0, x1, x2) 14.52/5.71 14.52/5.71 14.52/5.71 ---------------------------------------- 14.52/5.71 14.52/5.71 (78) 14.52/5.71 Obligation: 14.52/5.71 Q DP problem: 14.52/5.71 The TRS P consists of the following rules: 14.52/5.71 14.52/5.71 new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba) 14.52/5.71 14.52/5.71 The TRS R consists of the following rules: 14.52/5.71 14.52/5.71 new_deleteBy1(xw10, :(xw90, xw91), ba) -> new_deleteBy00(xw91, xw90, xw10, new_esEs15(xw10, xw90, ba), ba) 14.52/5.71 new_deleteBy1(xw10, [], ba) -> [] 14.52/5.71 new_esEs15(xw10, xw90, app(ty_[], cb)) -> new_esEs12(xw10, xw90, cb) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_Ratio, bh)) -> new_esEs9(xw10, xw90, bh) 14.52/5.71 new_esEs15(xw10, xw90, app(app(ty_Either, cc), cd)) -> new_esEs14(xw10, xw90, cc, cd) 14.52/5.71 new_esEs15(xw10, xw90, app(app(ty_@2, bc), bd)) -> new_esEs3(xw10, xw90, bc, bd) 14.52/5.71 new_esEs15(xw10, xw90, ty_Int) -> new_esEs8(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_@0) -> new_esEs2(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, app(app(app(ty_@3, be), bf), bg)) -> new_esEs5(xw10, xw90, be, bf, bg) 14.52/5.71 new_esEs15(xw10, xw90, ty_Bool) -> new_esEs4(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Double) -> new_esEs13(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Integer) -> new_esEs11(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs7(xw10, xw90) 14.52/5.71 new_esEs15(xw10, xw90, app(ty_Maybe, bb)) -> new_esEs1(xw10, xw90, bb) 14.52/5.71 new_esEs15(xw10, xw90, ty_Float) -> new_esEs10(xw10, xw90) 14.52/5.71 new_deleteBy00(xw17, xw18, xw19, True, ca) -> xw17 14.52/5.71 new_deleteBy00(xw17, xw18, xw19, False, ca) -> :(xw18, new_deleteBy1(xw19, xw17, ca)) 14.52/5.71 new_esEs10(xw10, xw90) -> error([]) 14.52/5.71 new_esEs1(xw10, xw90, bb) -> error([]) 14.52/5.71 new_esEs7(xw10, xw90) -> error([]) 14.52/5.71 new_esEs11(xw10, xw90) -> error([]) 14.52/5.71 new_esEs6(xw10, xw90) -> error([]) 14.52/5.71 new_esEs13(xw10, xw90) -> error([]) 14.52/5.71 new_esEs4(False, False) -> True 14.52/5.71 new_esEs4(False, True) -> False 14.52/5.71 new_esEs4(True, False) -> False 14.52/5.71 new_esEs4(True, True) -> True 14.52/5.71 new_esEs5(xw10, xw90, be, bf, bg) -> error([]) 14.52/5.71 new_esEs2(xw10, xw90) -> error([]) 14.52/5.71 new_esEs8(xw10, xw90) -> error([]) 14.52/5.71 new_esEs3(xw10, xw90, bc, bd) -> error([]) 14.52/5.71 new_esEs14(xw10, xw90, cc, cd) -> error([]) 14.52/5.71 new_esEs9(xw10, xw90, bh) -> error([]) 14.52/5.71 new_esEs12(xw10, xw90, cb) -> error([]) 14.52/5.71 14.52/5.71 The set Q consists of the following terms: 14.52/5.71 14.52/5.71 new_esEs7(x0, x1) 14.52/5.71 new_esEs2(x0, x1) 14.52/5.71 new_esEs15(x0, x1, app(ty_[], x2)) 14.52/5.71 new_esEs1(x0, x1, x2) 14.52/5.71 new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) 14.52/5.71 new_esEs12(x0, x1, x2) 14.52/5.71 new_esEs14(x0, x1, x2, x3) 14.52/5.71 new_esEs13(x0, x1) 14.52/5.71 new_deleteBy1(x0, :(x1, x2), x3) 14.52/5.71 new_esEs15(x0, x1, ty_Char) 14.52/5.71 new_deleteBy1(x0, [], x1) 14.52/5.71 new_esEs6(x0, x1) 14.52/5.71 new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) 14.52/5.71 new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) 14.52/5.71 new_deleteBy00(x0, x1, x2, True, x3) 14.52/5.71 new_esEs15(x0, x1, ty_Double) 14.52/5.71 new_esEs15(x0, x1, ty_@0) 14.52/5.71 new_esEs15(x0, x1, ty_Ordering) 14.52/5.71 new_esEs4(False, True) 14.52/5.71 new_esEs4(True, False) 14.52/5.71 new_esEs9(x0, x1, x2) 14.52/5.71 new_esEs15(x0, x1, ty_Float) 14.52/5.71 new_esEs10(x0, x1) 14.52/5.71 new_esEs4(False, False) 14.52/5.71 new_esEs15(x0, x1, ty_Int) 14.52/5.71 new_esEs11(x0, x1) 14.52/5.71 new_esEs3(x0, x1, x2, x3) 14.52/5.71 new_esEs15(x0, x1, app(ty_Ratio, x2)) 14.52/5.71 new_esEs15(x0, x1, ty_Integer) 14.52/5.71 new_esEs5(x0, x1, x2, x3, x4) 14.52/5.71 new_esEs8(x0, x1) 14.52/5.71 new_esEs15(x0, x1, ty_Bool) 14.52/5.71 new_deleteBy00(x0, x1, x2, False, x3) 14.52/5.71 new_esEs4(True, True) 14.52/5.71 new_esEs15(x0, x1, app(ty_Maybe, x2)) 14.52/5.71 14.52/5.71 We have to consider all minimal (P,Q,R)-chains. 14.52/5.71 ---------------------------------------- 14.52/5.71 14.52/5.71 (79) QDPSizeChangeProof (EQUIVALENT) 14.52/5.71 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.52/5.71 14.52/5.71 From the DPs we obtained the following set of size-change graphs: 14.52/5.71 *new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba) 14.52/5.71 The graph contains the following edges 3 > 2, 3 > 3, 4 >= 4 14.52/5.71 14.52/5.71 14.52/5.71 ---------------------------------------- 14.52/5.71 14.52/5.71 (80) 14.52/5.71 YES 14.78/6.89 EOF