/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.hs /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could be proven: (0) HASKELL (1) IFR [EQUIVALENT, 0 ms] (2) HASKELL (3) BR [EQUIVALENT, 0 ms] (4) HASKELL (5) COR [EQUIVALENT, 21 ms] (6) HASKELL (7) LetRed [EQUIVALENT, 0 ms] (8) HASKELL (9) Narrow [SOUND, 0 ms] (10) AND (11) QDP (12) TransformationProof [EQUIVALENT, 0 ms] (13) QDP (14) DependencyGraphProof [EQUIVALENT, 0 ms] (15) QDP (16) UsableRulesProof [EQUIVALENT, 0 ms] (17) QDP (18) QReductionProof [EQUIVALENT, 0 ms] (19) QDP (20) TransformationProof [EQUIVALENT, 0 ms] (21) QDP (22) TransformationProof [EQUIVALENT, 0 ms] (23) QDP (24) DependencyGraphProof [EQUIVALENT, 0 ms] (25) QDP (26) UsableRulesProof [EQUIVALENT, 0 ms] (27) QDP (28) QReductionProof [EQUIVALENT, 0 ms] (29) QDP (30) TransformationProof [EQUIVALENT, 0 ms] (31) QDP (32) UsableRulesProof [EQUIVALENT, 0 ms] (33) QDP (34) QReductionProof [EQUIVALENT, 0 ms] (35) QDP (36) TransformationProof [EQUIVALENT, 0 ms] (37) QDP (38) TransformationProof [EQUIVALENT, 0 ms] (39) QDP (40) QDPSizeChangeProof [EQUIVALENT, 27 ms] (41) YES (42) QDP (43) QDPSizeChangeProof [EQUIVALENT, 0 ms] (44) YES (45) QDP (46) TransformationProof [EQUIVALENT, 0 ms] (47) QDP (48) UsableRulesProof [EQUIVALENT, 0 ms] (49) QDP (50) QReductionProof [EQUIVALENT, 0 ms] (51) QDP (52) QDPSizeChangeProof [EQUIVALENT, 0 ms] (53) YES (54) QDP (55) TransformationProof [EQUIVALENT, 0 ms] (56) QDP (57) DependencyGraphProof [EQUIVALENT, 0 ms] (58) QDP (59) UsableRulesProof [EQUIVALENT, 0 ms] (60) QDP (61) QReductionProof [EQUIVALENT, 0 ms] (62) QDP (63) TransformationProof [EQUIVALENT, 0 ms] (64) QDP (65) DependencyGraphProof [EQUIVALENT, 0 ms] (66) QDP (67) UsableRulesProof [EQUIVALENT, 0 ms] (68) QDP (69) QReductionProof [EQUIVALENT, 0 ms] (70) QDP (71) TransformationProof [EQUIVALENT, 0 ms] (72) QDP (73) DependencyGraphProof [EQUIVALENT, 0 ms] (74) AND (75) QDP (76) QDPSizeChangeProof [EQUIVALENT, 0 ms] (77) YES (78) QDP (79) QDPSizeChangeProof [EQUIVALENT, 0 ms] (80) YES (81) QDP (82) QDPSizeChangeProof [EQUIVALENT, 0 ms] (83) YES ---------------------------------------- (0) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; deleteBy _ _ [] = []; deleteBy eq x (y : ys) = if x `eq` y then ys else y : deleteBy eq x ys; elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; elem_by _ _ [] = False; elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; nubBy :: (a -> a -> Bool) -> [a] -> [a]; nubBy eq l = nubBy' l [] where { nubBy' [] _ = []; nubBy' (y : ys) xs | elem_by eq y xs = nubBy' ys xs | otherwise = y : nubBy' ys (y : xs); }; union :: Eq a => [a] -> [a] -> [a]; union = unionBy (==); unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if eq x y then ys else y : deleteBy eq x ys" is transformed to "deleteBy0 ys y eq x True = ys; deleteBy0 ys y eq x False = y : deleteBy eq x ys; " ---------------------------------------- (2) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; deleteBy _ _ [] = []; deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); deleteBy0 ys y eq x True = ys; deleteBy0 ys y eq x False = y : deleteBy eq x ys; elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; elem_by _ _ [] = False; elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; nubBy :: (a -> a -> Bool) -> [a] -> [a]; nubBy eq l = nubBy' l [] where { nubBy' [] _ = []; nubBy' (y : ys) xs | elem_by eq y xs = nubBy' ys xs | otherwise = y : nubBy' ys (y : xs); }; union :: Eq a => [a] -> [a] -> [a]; union = unionBy (==); unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; deleteBy wv ww [] = []; deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); deleteBy0 ys y eq x True = ys; deleteBy0 ys y eq x False = y : deleteBy eq x ys; elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; elem_by vy vz [] = False; elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; nubBy :: (a -> a -> Bool) -> [a] -> [a]; nubBy eq l = nubBy' l [] where { nubBy' [] wu = []; nubBy' (y : ys) xs | elem_by eq y xs = nubBy' ys xs | otherwise = y : nubBy' ys (y : xs); }; union :: Eq a => [a] -> [a] -> [a]; union = unionBy (==); unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (5) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " The following Function with conditions "nubBy' [] wu = []; nubBy' (y : ys) xs|elem_by eq y xsnubBy' ys xs|otherwisey : nubBy' ys (y : xs); " is transformed to "nubBy' [] wu = nubBy'3 [] wu; nubBy' (y : ys) xs = nubBy'2 (y : ys) xs; " "nubBy'0 y ys xs True = y : nubBy' ys (y : xs); " "nubBy'1 y ys xs True = nubBy' ys xs; nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise; " "nubBy'2 (y : ys) xs = nubBy'1 y ys xs (elem_by eq y xs); " "nubBy'3 [] wu = []; nubBy'3 wz xu = nubBy'2 wz xu; " ---------------------------------------- (6) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; deleteBy wv ww [] = []; deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); deleteBy0 ys y eq x True = ys; deleteBy0 ys y eq x False = y : deleteBy eq x ys; elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; elem_by vy vz [] = False; elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; nubBy :: (a -> a -> Bool) -> [a] -> [a]; nubBy eq l = nubBy' l [] where { nubBy' [] wu = nubBy'3 [] wu; nubBy' (y : ys) xs = nubBy'2 (y : ys) xs; nubBy'0 y ys xs True = y : nubBy' ys (y : xs); nubBy'1 y ys xs True = nubBy' ys xs; nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise; nubBy'2 (y : ys) xs = nubBy'1 y ys xs (elem_by eq y xs); nubBy'3 [] wu = []; nubBy'3 wz xu = nubBy'2 wz xu; }; union :: Eq a => [a] -> [a] -> [a]; union = unionBy (==); unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (7) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "nubBy' l [] where { nubBy' [] wu = nubBy'3 [] wu; nubBy' (y : ys) xs = nubBy'2 (y : ys) xs; ; nubBy'0 y ys xs True = y : nubBy' ys (y : xs); ; nubBy'1 y ys xs True = nubBy' ys xs; nubBy'1 y ys xs False = nubBy'0 y ys xs otherwise; ; nubBy'2 (y : ys) xs = nubBy'1 y ys xs (elem_by eq y xs); ; nubBy'3 [] wu = []; nubBy'3 wz xu = nubBy'2 wz xu; } " are unpacked to the following functions on top level "nubByNubBy'2 xv (y : ys) xs = nubByNubBy'1 xv y ys xs (elem_by xv y xs); " "nubByNubBy'1 xv y ys xs True = nubByNubBy' xv ys xs; nubByNubBy'1 xv y ys xs False = nubByNubBy'0 xv y ys xs otherwise; " "nubByNubBy' xv [] wu = nubByNubBy'3 xv [] wu; nubByNubBy' xv (y : ys) xs = nubByNubBy'2 xv (y : ys) xs; " "nubByNubBy'0 xv y ys xs True = y : nubByNubBy' xv ys (y : xs); " "nubByNubBy'3 xv [] wu = []; nubByNubBy'3 xv wz xu = nubByNubBy'2 xv wz xu; " ---------------------------------------- (8) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; deleteBy wv ww [] = []; deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); deleteBy0 ys y eq x True = ys; deleteBy0 ys y eq x False = y : deleteBy eq x ys; elem_by :: (a -> a -> Bool) -> a -> [a] -> Bool; elem_by vy vz [] = False; elem_by eq y (x : xs) = x `eq` y || elem_by eq y xs; nubBy :: (a -> a -> Bool) -> [a] -> [a]; nubBy eq l = nubByNubBy' eq l []; nubByNubBy' xv [] wu = nubByNubBy'3 xv [] wu; nubByNubBy' xv (y : ys) xs = nubByNubBy'2 xv (y : ys) xs; nubByNubBy'0 xv y ys xs True = y : nubByNubBy' xv ys (y : xs); nubByNubBy'1 xv y ys xs True = nubByNubBy' xv ys xs; nubByNubBy'1 xv y ys xs False = nubByNubBy'0 xv y ys xs otherwise; nubByNubBy'2 xv (y : ys) xs = nubByNubBy'1 xv y ys xs (elem_by xv y xs); nubByNubBy'3 xv [] wu = []; nubByNubBy'3 xv wz xu = nubByNubBy'2 xv wz xu; union :: Eq a => [a] -> [a] -> [a]; union = unionBy (==); unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]; unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) xs; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (9) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="List.union",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="List.union xw3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="List.union xw3 xw4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 5[label="List.unionBy (==) xw3 xw4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="xw3 ++ foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) xw3",fontsize=16,color="burlywood",shape="box"];2054[label="xw3/xw30 : xw31",fontsize=10,color="white",style="solid",shape="box"];6 -> 2054[label="",style="solid", color="burlywood", weight=9]; 2054 -> 7[label="",style="solid", color="burlywood", weight=3]; 2055[label="xw3/[]",fontsize=10,color="white",style="solid",shape="box"];6 -> 2055[label="",style="solid", color="burlywood", weight=9]; 2055 -> 8[label="",style="solid", color="burlywood", weight=3]; 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]; 8[label="[] ++ foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) []",fontsize=16,color="black",shape="box"];8 -> 10[label="",style="solid", color="black", weight=3]; 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]; 10[label="foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) []",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 11 -> 153[label="",style="dashed", color="red", weight=0]; 11[label="xw31 ++ foldl (flip (List.deleteBy (==))) (List.nubBy (==) xw4) (xw30 : xw31)",fontsize=16,color="magenta"];11 -> 154[label="",style="dashed", color="magenta", weight=3]; 11 -> 155[label="",style="dashed", color="magenta", weight=3]; 11 -> 156[label="",style="dashed", color="magenta", weight=3]; 11 -> 157[label="",style="dashed", color="magenta", weight=3]; 12[label="List.nubBy (==) xw4",fontsize=16,color="black",shape="triangle"];12 -> 15[label="",style="solid", color="black", weight=3]; 154[label="xw31",fontsize=16,color="green",shape="box"];155 -> 12[label="",style="dashed", color="red", weight=0]; 155[label="List.nubBy (==) xw4",fontsize=16,color="magenta"];156[label="xw31",fontsize=16,color="green",shape="box"];157[label="xw30",fontsize=16,color="green",shape="box"];153[label="xw8 ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="burlywood",shape="triangle"];2056[label="xw8/xw80 : xw81",fontsize=10,color="white",style="solid",shape="box"];153 -> 2056[label="",style="solid", color="burlywood", weight=9]; 2056 -> 182[label="",style="solid", color="burlywood", weight=3]; 2057[label="xw8/[]",fontsize=10,color="white",style="solid",shape="box"];153 -> 2057[label="",style="solid", color="burlywood", weight=9]; 2057 -> 183[label="",style="solid", color="burlywood", weight=3]; 15[label="List.nubByNubBy' (==) xw4 []",fontsize=16,color="burlywood",shape="box"];2058[label="xw4/xw40 : xw41",fontsize=10,color="white",style="solid",shape="box"];15 -> 2058[label="",style="solid", color="burlywood", weight=9]; 2058 -> 18[label="",style="solid", color="burlywood", weight=3]; 2059[label="xw4/[]",fontsize=10,color="white",style="solid",shape="box"];15 -> 2059[label="",style="solid", color="burlywood", weight=9]; 2059 -> 19[label="",style="solid", color="burlywood", weight=3]; 182[label="(xw80 : xw81) ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="black",shape="box"];182 -> 193[label="",style="solid", color="black", weight=3]; 183[label="[] ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="black",shape="box"];183 -> 194[label="",style="solid", color="black", weight=3]; 18[label="List.nubByNubBy' (==) (xw40 : xw41) []",fontsize=16,color="black",shape="box"];18 -> 23[label="",style="solid", color="black", weight=3]; 19[label="List.nubByNubBy' (==) [] []",fontsize=16,color="black",shape="box"];19 -> 24[label="",style="solid", color="black", weight=3]; 193[label="xw80 : xw81 ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="green",shape="box"];193 -> 204[label="",style="dashed", color="green", weight=3]; 194[label="foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="black",shape="box"];194 -> 205[label="",style="solid", color="black", weight=3]; 23[label="List.nubByNubBy'2 (==) (xw40 : xw41) []",fontsize=16,color="black",shape="box"];23 -> 28[label="",style="solid", color="black", weight=3]; 24[label="List.nubByNubBy'3 (==) [] []",fontsize=16,color="black",shape="box"];24 -> 29[label="",style="solid", color="black", weight=3]; 204 -> 153[label="",style="dashed", color="red", weight=0]; 204[label="xw81 ++ foldl (flip (List.deleteBy (==))) xw9 (xw10 : xw11)",fontsize=16,color="magenta"];204 -> 218[label="",style="dashed", color="magenta", weight=3]; 205[label="foldl (flip (List.deleteBy (==))) (flip (List.deleteBy (==)) xw9 xw10) xw11",fontsize=16,color="burlywood",shape="triangle"];2060[label="xw11/xw110 : xw111",fontsize=10,color="white",style="solid",shape="box"];205 -> 2060[label="",style="solid", color="burlywood", weight=9]; 2060 -> 219[label="",style="solid", color="burlywood", weight=3]; 2061[label="xw11/[]",fontsize=10,color="white",style="solid",shape="box"];205 -> 2061[label="",style="solid", color="burlywood", weight=9]; 2061 -> 220[label="",style="solid", color="burlywood", weight=3]; 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]; 29[label="[]",fontsize=16,color="green",shape="box"];218[label="xw81",fontsize=16,color="green",shape="box"];219[label="foldl (flip (List.deleteBy (==))) (flip (List.deleteBy (==)) xw9 xw10) (xw110 : xw111)",fontsize=16,color="black",shape="box"];219 -> 227[label="",style="solid", color="black", weight=3]; 220[label="foldl (flip (List.deleteBy (==))) (flip (List.deleteBy (==)) xw9 xw10) []",fontsize=16,color="black",shape="box"];220 -> 228[label="",style="solid", color="black", weight=3]; 33[label="List.nubByNubBy'1 (==) xw40 xw41 [] False",fontsize=16,color="black",shape="box"];33 -> 37[label="",style="solid", color="black", weight=3]; 227 -> 205[label="",style="dashed", color="red", weight=0]; 227[label="foldl (flip (List.deleteBy (==))) (flip (List.deleteBy (==)) (flip (List.deleteBy (==)) xw9 xw10) xw110) xw111",fontsize=16,color="magenta"];227 -> 235[label="",style="dashed", color="magenta", weight=3]; 227 -> 236[label="",style="dashed", color="magenta", weight=3]; 227 -> 237[label="",style="dashed", color="magenta", weight=3]; 228[label="flip (List.deleteBy (==)) xw9 xw10",fontsize=16,color="black",shape="triangle"];228 -> 238[label="",style="solid", color="black", weight=3]; 37[label="List.nubByNubBy'0 (==) xw40 xw41 [] otherwise",fontsize=16,color="black",shape="box"];37 -> 42[label="",style="solid", color="black", weight=3]; 235 -> 228[label="",style="dashed", color="red", weight=0]; 235[label="flip (List.deleteBy (==)) xw9 xw10",fontsize=16,color="magenta"];236[label="xw111",fontsize=16,color="green",shape="box"];237[label="xw110",fontsize=16,color="green",shape="box"];238[label="List.deleteBy (==) xw10 xw9",fontsize=16,color="burlywood",shape="triangle"];2062[label="xw9/xw90 : xw91",fontsize=10,color="white",style="solid",shape="box"];238 -> 2062[label="",style="solid", color="burlywood", weight=9]; 2062 -> 245[label="",style="solid", color="burlywood", weight=3]; 2063[label="xw9/[]",fontsize=10,color="white",style="solid",shape="box"];238 -> 2063[label="",style="solid", color="burlywood", weight=9]; 2063 -> 246[label="",style="solid", color="burlywood", weight=3]; 42[label="List.nubByNubBy'0 (==) xw40 xw41 [] True",fontsize=16,color="black",shape="box"];42 -> 49[label="",style="solid", color="black", weight=3]; 245[label="List.deleteBy (==) xw10 (xw90 : xw91)",fontsize=16,color="black",shape="box"];245 -> 259[label="",style="solid", color="black", weight=3]; 246[label="List.deleteBy (==) xw10 []",fontsize=16,color="black",shape="box"];246 -> 260[label="",style="solid", color="black", weight=3]; 49[label="xw40 : List.nubByNubBy' (==) xw41 (xw40 : [])",fontsize=16,color="green",shape="box"];49 -> 56[label="",style="dashed", color="green", weight=3]; 259 -> 273[label="",style="dashed", color="red", weight=0]; 259[label="List.deleteBy0 xw91 xw90 (==) xw10 ((==) xw10 xw90)",fontsize=16,color="magenta"];259 -> 274[label="",style="dashed", color="magenta", weight=3]; 259 -> 275[label="",style="dashed", color="magenta", weight=3]; 259 -> 276[label="",style="dashed", color="magenta", weight=3]; 259 -> 277[label="",style="dashed", color="magenta", weight=3]; 260[label="[]",fontsize=16,color="green",shape="box"];56 -> 1379[label="",style="dashed", color="red", weight=0]; 56[label="List.nubByNubBy' (==) xw41 (xw40 : [])",fontsize=16,color="magenta"];56 -> 1380[label="",style="dashed", color="magenta", weight=3]; 56 -> 1381[label="",style="dashed", color="magenta", weight=3]; 56 -> 1382[label="",style="dashed", color="magenta", weight=3]; 274[label="xw10",fontsize=16,color="green",shape="box"];275[label="xw90",fontsize=16,color="green",shape="box"];276[label="xw91",fontsize=16,color="green",shape="box"];277[label="(==) xw10 xw90",fontsize=16,color="blue",shape="box"];2064[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2064[label="",style="solid", color="blue", weight=9]; 2064 -> 278[label="",style="solid", color="blue", weight=3]; 2065[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2065[label="",style="solid", color="blue", weight=9]; 2065 -> 279[label="",style="solid", color="blue", weight=3]; 2066[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2066[label="",style="solid", color="blue", weight=9]; 2066 -> 280[label="",style="solid", color="blue", weight=3]; 2067[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2067[label="",style="solid", color="blue", weight=9]; 2067 -> 281[label="",style="solid", color="blue", weight=3]; 2068[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2068[label="",style="solid", color="blue", weight=9]; 2068 -> 282[label="",style="solid", color="blue", weight=3]; 2069[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2069[label="",style="solid", color="blue", weight=9]; 2069 -> 283[label="",style="solid", color="blue", weight=3]; 2070[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2070[label="",style="solid", color="blue", weight=9]; 2070 -> 284[label="",style="solid", color="blue", weight=3]; 2071[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2071[label="",style="solid", color="blue", weight=9]; 2071 -> 285[label="",style="solid", color="blue", weight=3]; 2072[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2072[label="",style="solid", color="blue", weight=9]; 2072 -> 286[label="",style="solid", color="blue", weight=3]; 2073[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2073[label="",style="solid", color="blue", weight=9]; 2073 -> 287[label="",style="solid", color="blue", weight=3]; 2074[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2074[label="",style="solid", color="blue", weight=9]; 2074 -> 288[label="",style="solid", color="blue", weight=3]; 2075[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2075[label="",style="solid", color="blue", weight=9]; 2075 -> 289[label="",style="solid", color="blue", weight=3]; 2076[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2076[label="",style="solid", color="blue", weight=9]; 2076 -> 290[label="",style="solid", color="blue", weight=3]; 2077[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];277 -> 2077[label="",style="solid", color="blue", weight=9]; 2077 -> 291[label="",style="solid", color="blue", weight=3]; 273[label="List.deleteBy0 xw17 xw18 (==) xw19 xw20",fontsize=16,color="burlywood",shape="triangle"];2078[label="xw20/False",fontsize=10,color="white",style="solid",shape="box"];273 -> 2078[label="",style="solid", color="burlywood", weight=9]; 2078 -> 292[label="",style="solid", color="burlywood", weight=3]; 2079[label="xw20/True",fontsize=10,color="white",style="solid",shape="box"];273 -> 2079[label="",style="solid", color="burlywood", weight=9]; 2079 -> 293[label="",style="solid", color="burlywood", weight=3]; 1380[label="xw40",fontsize=16,color="green",shape="box"];1381[label="xw41",fontsize=16,color="green",shape="box"];1382[label="[]",fontsize=16,color="green",shape="box"];1379[label="List.nubByNubBy' (==) xw106 (xw107 : xw108)",fontsize=16,color="burlywood",shape="triangle"];2080[label="xw106/xw1060 : xw1061",fontsize=10,color="white",style="solid",shape="box"];1379 -> 2080[label="",style="solid", color="burlywood", weight=9]; 2080 -> 1554[label="",style="solid", color="burlywood", weight=3]; 2081[label="xw106/[]",fontsize=10,color="white",style="solid",shape="box"];1379 -> 2081[label="",style="solid", color="burlywood", weight=9]; 2081 -> 1555[label="",style="solid", color="burlywood", weight=3]; 278[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];278 -> 306[label="",style="solid", color="black", weight=3]; 279[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];279 -> 307[label="",style="solid", color="black", weight=3]; 280[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];280 -> 308[label="",style="solid", color="black", weight=3]; 281[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];281 -> 309[label="",style="solid", color="black", weight=3]; 282[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];282 -> 310[label="",style="solid", color="black", weight=3]; 283[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];283 -> 311[label="",style="solid", color="black", weight=3]; 284[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];284 -> 312[label="",style="solid", color="black", weight=3]; 285[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];285 -> 313[label="",style="solid", color="black", weight=3]; 286[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];286 -> 314[label="",style="solid", color="black", weight=3]; 287[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];287 -> 315[label="",style="solid", color="black", weight=3]; 288[label="(==) xw10 xw90",fontsize=16,color="burlywood",shape="triangle"];2082[label="xw10/LT",fontsize=10,color="white",style="solid",shape="box"];288 -> 2082[label="",style="solid", color="burlywood", weight=9]; 2082 -> 316[label="",style="solid", color="burlywood", weight=3]; 2083[label="xw10/EQ",fontsize=10,color="white",style="solid",shape="box"];288 -> 2083[label="",style="solid", color="burlywood", weight=9]; 2083 -> 317[label="",style="solid", color="burlywood", weight=3]; 2084[label="xw10/GT",fontsize=10,color="white",style="solid",shape="box"];288 -> 2084[label="",style="solid", color="burlywood", weight=9]; 2084 -> 318[label="",style="solid", color="burlywood", weight=3]; 289[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];289 -> 319[label="",style="solid", color="black", weight=3]; 290[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];290 -> 320[label="",style="solid", color="black", weight=3]; 291[label="(==) xw10 xw90",fontsize=16,color="black",shape="triangle"];291 -> 321[label="",style="solid", color="black", weight=3]; 292[label="List.deleteBy0 xw17 xw18 (==) xw19 False",fontsize=16,color="black",shape="box"];292 -> 322[label="",style="solid", color="black", weight=3]; 293[label="List.deleteBy0 xw17 xw18 (==) xw19 True",fontsize=16,color="black",shape="box"];293 -> 323[label="",style="solid", color="black", weight=3]; 1554[label="List.nubByNubBy' (==) (xw1060 : xw1061) (xw107 : xw108)",fontsize=16,color="black",shape="box"];1554 -> 1556[label="",style="solid", color="black", weight=3]; 1555[label="List.nubByNubBy' (==) [] (xw107 : xw108)",fontsize=16,color="black",shape="box"];1555 -> 1557[label="",style="solid", color="black", weight=3]; 306[label="error []",fontsize=16,color="red",shape="box"];307[label="error []",fontsize=16,color="red",shape="box"];308[label="error []",fontsize=16,color="red",shape="box"];309[label="error []",fontsize=16,color="red",shape="box"];310[label="error []",fontsize=16,color="red",shape="box"];311[label="error []",fontsize=16,color="red",shape="box"];312[label="error []",fontsize=16,color="red",shape="box"];313[label="error []",fontsize=16,color="red",shape="box"];314[label="error []",fontsize=16,color="red",shape="box"];315[label="error []",fontsize=16,color="red",shape="box"];316[label="(==) LT xw90",fontsize=16,color="burlywood",shape="box"];2085[label="xw90/LT",fontsize=10,color="white",style="solid",shape="box"];316 -> 2085[label="",style="solid", color="burlywood", weight=9]; 2085 -> 330[label="",style="solid", color="burlywood", weight=3]; 2086[label="xw90/EQ",fontsize=10,color="white",style="solid",shape="box"];316 -> 2086[label="",style="solid", color="burlywood", weight=9]; 2086 -> 331[label="",style="solid", color="burlywood", weight=3]; 2087[label="xw90/GT",fontsize=10,color="white",style="solid",shape="box"];316 -> 2087[label="",style="solid", color="burlywood", weight=9]; 2087 -> 332[label="",style="solid", color="burlywood", weight=3]; 317[label="(==) EQ xw90",fontsize=16,color="burlywood",shape="box"];2088[label="xw90/LT",fontsize=10,color="white",style="solid",shape="box"];317 -> 2088[label="",style="solid", color="burlywood", weight=9]; 2088 -> 333[label="",style="solid", color="burlywood", weight=3]; 2089[label="xw90/EQ",fontsize=10,color="white",style="solid",shape="box"];317 -> 2089[label="",style="solid", color="burlywood", weight=9]; 2089 -> 334[label="",style="solid", color="burlywood", weight=3]; 2090[label="xw90/GT",fontsize=10,color="white",style="solid",shape="box"];317 -> 2090[label="",style="solid", color="burlywood", weight=9]; 2090 -> 335[label="",style="solid", color="burlywood", weight=3]; 318[label="(==) GT xw90",fontsize=16,color="burlywood",shape="box"];2091[label="xw90/LT",fontsize=10,color="white",style="solid",shape="box"];318 -> 2091[label="",style="solid", color="burlywood", weight=9]; 2091 -> 336[label="",style="solid", color="burlywood", weight=3]; 2092[label="xw90/EQ",fontsize=10,color="white",style="solid",shape="box"];318 -> 2092[label="",style="solid", color="burlywood", weight=9]; 2092 -> 337[label="",style="solid", color="burlywood", weight=3]; 2093[label="xw90/GT",fontsize=10,color="white",style="solid",shape="box"];318 -> 2093[label="",style="solid", color="burlywood", weight=9]; 2093 -> 338[label="",style="solid", color="burlywood", weight=3]; 319[label="error []",fontsize=16,color="red",shape="box"];320[label="error []",fontsize=16,color="red",shape="box"];321[label="error []",fontsize=16,color="red",shape="box"];322[label="xw18 : List.deleteBy (==) xw19 xw17",fontsize=16,color="green",shape="box"];322 -> 339[label="",style="dashed", color="green", weight=3]; 323[label="xw17",fontsize=16,color="green",shape="box"];1556[label="List.nubByNubBy'2 (==) (xw1060 : xw1061) (xw107 : xw108)",fontsize=16,color="black",shape="box"];1556 -> 1558[label="",style="solid", color="black", weight=3]; 1557[label="List.nubByNubBy'3 (==) [] (xw107 : xw108)",fontsize=16,color="black",shape="box"];1557 -> 1559[label="",style="solid", color="black", weight=3]; 330[label="(==) LT LT",fontsize=16,color="black",shape="box"];330 -> 342[label="",style="solid", color="black", weight=3]; 331[label="(==) LT EQ",fontsize=16,color="black",shape="box"];331 -> 343[label="",style="solid", color="black", weight=3]; 332[label="(==) LT GT",fontsize=16,color="black",shape="box"];332 -> 344[label="",style="solid", color="black", weight=3]; 333[label="(==) EQ LT",fontsize=16,color="black",shape="box"];333 -> 345[label="",style="solid", color="black", weight=3]; 334[label="(==) EQ EQ",fontsize=16,color="black",shape="box"];334 -> 346[label="",style="solid", color="black", weight=3]; 335[label="(==) EQ GT",fontsize=16,color="black",shape="box"];335 -> 347[label="",style="solid", color="black", weight=3]; 336[label="(==) GT LT",fontsize=16,color="black",shape="box"];336 -> 348[label="",style="solid", color="black", weight=3]; 337[label="(==) GT EQ",fontsize=16,color="black",shape="box"];337 -> 349[label="",style="solid", color="black", weight=3]; 338[label="(==) GT GT",fontsize=16,color="black",shape="box"];338 -> 350[label="",style="solid", color="black", weight=3]; 339 -> 238[label="",style="dashed", color="red", weight=0]; 339[label="List.deleteBy (==) xw19 xw17",fontsize=16,color="magenta"];339 -> 351[label="",style="dashed", color="magenta", weight=3]; 339 -> 352[label="",style="dashed", color="magenta", weight=3]; 1558[label="List.nubByNubBy'1 (==) xw1060 xw1061 (xw107 : xw108) (List.elem_by (==) xw1060 (xw107 : xw108))",fontsize=16,color="black",shape="box"];1558 -> 1560[label="",style="solid", color="black", weight=3]; 1559[label="[]",fontsize=16,color="green",shape="box"];342[label="True",fontsize=16,color="green",shape="box"];343[label="False",fontsize=16,color="green",shape="box"];344[label="False",fontsize=16,color="green",shape="box"];345[label="False",fontsize=16,color="green",shape="box"];346[label="True",fontsize=16,color="green",shape="box"];347[label="False",fontsize=16,color="green",shape="box"];348[label="False",fontsize=16,color="green",shape="box"];349[label="False",fontsize=16,color="green",shape="box"];350[label="True",fontsize=16,color="green",shape="box"];351[label="xw17",fontsize=16,color="green",shape="box"];352[label="xw19",fontsize=16,color="green",shape="box"];1560 -> 1936[label="",style="dashed", color="red", weight=0]; 1560[label="List.nubByNubBy'1 (==) xw1060 xw1061 (xw107 : xw108) ((==) xw107 xw1060 || List.elem_by (==) xw1060 xw108)",fontsize=16,color="magenta"];1560 -> 1937[label="",style="dashed", color="magenta", weight=3]; 1560 -> 1938[label="",style="dashed", color="magenta", weight=3]; 1560 -> 1939[label="",style="dashed", color="magenta", weight=3]; 1560 -> 1940[label="",style="dashed", color="magenta", weight=3]; 1560 -> 1941[label="",style="dashed", color="magenta", weight=3]; 1560 -> 1942[label="",style="dashed", color="magenta", weight=3]; 1937[label="xw107",fontsize=16,color="green",shape="box"];1938[label="xw108",fontsize=16,color="green",shape="box"];1939[label="xw1061",fontsize=16,color="green",shape="box"];1940[label="(==) xw107 xw1060",fontsize=16,color="blue",shape="box"];2094[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2094[label="",style="solid", color="blue", weight=9]; 2094 -> 1949[label="",style="solid", color="blue", weight=3]; 2095[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2095[label="",style="solid", color="blue", weight=9]; 2095 -> 1950[label="",style="solid", color="blue", weight=3]; 2096[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2096[label="",style="solid", color="blue", weight=9]; 2096 -> 1951[label="",style="solid", color="blue", weight=3]; 2097[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2097[label="",style="solid", color="blue", weight=9]; 2097 -> 1952[label="",style="solid", color="blue", weight=3]; 2098[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2098[label="",style="solid", color="blue", weight=9]; 2098 -> 1953[label="",style="solid", color="blue", weight=3]; 2099[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2099[label="",style="solid", color="blue", weight=9]; 2099 -> 1954[label="",style="solid", color="blue", weight=3]; 2100[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2100[label="",style="solid", color="blue", weight=9]; 2100 -> 1955[label="",style="solid", color="blue", weight=3]; 2101[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2101[label="",style="solid", color="blue", weight=9]; 2101 -> 1956[label="",style="solid", color="blue", weight=3]; 2102[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2102[label="",style="solid", color="blue", weight=9]; 2102 -> 1957[label="",style="solid", color="blue", weight=3]; 2103[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2103[label="",style="solid", color="blue", weight=9]; 2103 -> 1958[label="",style="solid", color="blue", weight=3]; 2104[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2104[label="",style="solid", color="blue", weight=9]; 2104 -> 1959[label="",style="solid", color="blue", weight=3]; 2105[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2105[label="",style="solid", color="blue", weight=9]; 2105 -> 1960[label="",style="solid", color="blue", weight=3]; 2106[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2106[label="",style="solid", color="blue", weight=9]; 2106 -> 1961[label="",style="solid", color="blue", weight=3]; 2107[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];1940 -> 2107[label="",style="solid", color="blue", weight=9]; 2107 -> 1962[label="",style="solid", color="blue", weight=3]; 1941[label="xw1060",fontsize=16,color="green",shape="box"];1942[label="xw108",fontsize=16,color="green",shape="box"];1936[label="List.nubByNubBy'1 (==) xw198 xw199 (xw200 : xw201) (xw202 || List.elem_by (==) xw198 xw203)",fontsize=16,color="burlywood",shape="triangle"];2108[label="xw202/False",fontsize=10,color="white",style="solid",shape="box"];1936 -> 2108[label="",style="solid", color="burlywood", weight=9]; 2108 -> 1963[label="",style="solid", color="burlywood", weight=3]; 2109[label="xw202/True",fontsize=10,color="white",style="solid",shape="box"];1936 -> 2109[label="",style="solid", color="burlywood", weight=9]; 2109 -> 1964[label="",style="solid", color="burlywood", weight=3]; 1949 -> 278[label="",style="dashed", color="red", weight=0]; 1949[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1949 -> 1965[label="",style="dashed", color="magenta", weight=3]; 1949 -> 1966[label="",style="dashed", color="magenta", weight=3]; 1950 -> 279[label="",style="dashed", color="red", weight=0]; 1950[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1950 -> 1967[label="",style="dashed", color="magenta", weight=3]; 1950 -> 1968[label="",style="dashed", color="magenta", weight=3]; 1951 -> 280[label="",style="dashed", color="red", weight=0]; 1951[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1951 -> 1969[label="",style="dashed", color="magenta", weight=3]; 1951 -> 1970[label="",style="dashed", color="magenta", weight=3]; 1952 -> 281[label="",style="dashed", color="red", weight=0]; 1952[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1952 -> 1971[label="",style="dashed", color="magenta", weight=3]; 1952 -> 1972[label="",style="dashed", color="magenta", weight=3]; 1953 -> 282[label="",style="dashed", color="red", weight=0]; 1953[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1953 -> 1973[label="",style="dashed", color="magenta", weight=3]; 1953 -> 1974[label="",style="dashed", color="magenta", weight=3]; 1954 -> 283[label="",style="dashed", color="red", weight=0]; 1954[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1954 -> 1975[label="",style="dashed", color="magenta", weight=3]; 1954 -> 1976[label="",style="dashed", color="magenta", weight=3]; 1955 -> 284[label="",style="dashed", color="red", weight=0]; 1955[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1955 -> 1977[label="",style="dashed", color="magenta", weight=3]; 1955 -> 1978[label="",style="dashed", color="magenta", weight=3]; 1956 -> 285[label="",style="dashed", color="red", weight=0]; 1956[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1956 -> 1979[label="",style="dashed", color="magenta", weight=3]; 1956 -> 1980[label="",style="dashed", color="magenta", weight=3]; 1957 -> 286[label="",style="dashed", color="red", weight=0]; 1957[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1957 -> 1981[label="",style="dashed", color="magenta", weight=3]; 1957 -> 1982[label="",style="dashed", color="magenta", weight=3]; 1958 -> 287[label="",style="dashed", color="red", weight=0]; 1958[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1958 -> 1983[label="",style="dashed", color="magenta", weight=3]; 1958 -> 1984[label="",style="dashed", color="magenta", weight=3]; 1959 -> 288[label="",style="dashed", color="red", weight=0]; 1959[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1959 -> 1985[label="",style="dashed", color="magenta", weight=3]; 1959 -> 1986[label="",style="dashed", color="magenta", weight=3]; 1960 -> 289[label="",style="dashed", color="red", weight=0]; 1960[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1960 -> 1987[label="",style="dashed", color="magenta", weight=3]; 1960 -> 1988[label="",style="dashed", color="magenta", weight=3]; 1961 -> 290[label="",style="dashed", color="red", weight=0]; 1961[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1961 -> 1989[label="",style="dashed", color="magenta", weight=3]; 1961 -> 1990[label="",style="dashed", color="magenta", weight=3]; 1962 -> 291[label="",style="dashed", color="red", weight=0]; 1962[label="(==) xw107 xw1060",fontsize=16,color="magenta"];1962 -> 1991[label="",style="dashed", color="magenta", weight=3]; 1962 -> 1992[label="",style="dashed", color="magenta", weight=3]; 1963[label="List.nubByNubBy'1 (==) xw198 xw199 (xw200 : xw201) (False || List.elem_by (==) xw198 xw203)",fontsize=16,color="black",shape="box"];1963 -> 1993[label="",style="solid", color="black", weight=3]; 1964[label="List.nubByNubBy'1 (==) xw198 xw199 (xw200 : xw201) (True || List.elem_by (==) xw198 xw203)",fontsize=16,color="black",shape="box"];1964 -> 1994[label="",style="solid", color="black", weight=3]; 1965[label="xw1060",fontsize=16,color="green",shape="box"];1966[label="xw107",fontsize=16,color="green",shape="box"];1967[label="xw1060",fontsize=16,color="green",shape="box"];1968[label="xw107",fontsize=16,color="green",shape="box"];1969[label="xw1060",fontsize=16,color="green",shape="box"];1970[label="xw107",fontsize=16,color="green",shape="box"];1971[label="xw1060",fontsize=16,color="green",shape="box"];1972[label="xw107",fontsize=16,color="green",shape="box"];1973[label="xw1060",fontsize=16,color="green",shape="box"];1974[label="xw107",fontsize=16,color="green",shape="box"];1975[label="xw1060",fontsize=16,color="green",shape="box"];1976[label="xw107",fontsize=16,color="green",shape="box"];1977[label="xw1060",fontsize=16,color="green",shape="box"];1978[label="xw107",fontsize=16,color="green",shape="box"];1979[label="xw1060",fontsize=16,color="green",shape="box"];1980[label="xw107",fontsize=16,color="green",shape="box"];1981[label="xw1060",fontsize=16,color="green",shape="box"];1982[label="xw107",fontsize=16,color="green",shape="box"];1983[label="xw1060",fontsize=16,color="green",shape="box"];1984[label="xw107",fontsize=16,color="green",shape="box"];1985[label="xw1060",fontsize=16,color="green",shape="box"];1986[label="xw107",fontsize=16,color="green",shape="box"];1987[label="xw1060",fontsize=16,color="green",shape="box"];1988[label="xw107",fontsize=16,color="green",shape="box"];1989[label="xw1060",fontsize=16,color="green",shape="box"];1990[label="xw107",fontsize=16,color="green",shape="box"];1991[label="xw1060",fontsize=16,color="green",shape="box"];1992[label="xw107",fontsize=16,color="green",shape="box"];1993[label="List.nubByNubBy'1 (==) xw198 xw199 (xw200 : xw201) (List.elem_by (==) xw198 xw203)",fontsize=16,color="burlywood",shape="box"];2110[label="xw203/xw2030 : xw2031",fontsize=10,color="white",style="solid",shape="box"];1993 -> 2110[label="",style="solid", color="burlywood", weight=9]; 2110 -> 1995[label="",style="solid", color="burlywood", weight=3]; 2111[label="xw203/[]",fontsize=10,color="white",style="solid",shape="box"];1993 -> 2111[label="",style="solid", color="burlywood", weight=9]; 2111 -> 1996[label="",style="solid", color="burlywood", weight=3]; 1994[label="List.nubByNubBy'1 (==) xw198 xw199 (xw200 : xw201) True",fontsize=16,color="black",shape="box"];1994 -> 1997[label="",style="solid", color="black", weight=3]; 1995[label="List.nubByNubBy'1 (==) xw198 xw199 (xw200 : xw201) (List.elem_by (==) xw198 (xw2030 : xw2031))",fontsize=16,color="black",shape="box"];1995 -> 1998[label="",style="solid", color="black", weight=3]; 1996[label="List.nubByNubBy'1 (==) xw198 xw199 (xw200 : xw201) (List.elem_by (==) xw198 [])",fontsize=16,color="black",shape="box"];1996 -> 1999[label="",style="solid", color="black", weight=3]; 1997 -> 1379[label="",style="dashed", color="red", weight=0]; 1997[label="List.nubByNubBy' (==) xw199 (xw200 : xw201)",fontsize=16,color="magenta"];1997 -> 2000[label="",style="dashed", color="magenta", weight=3]; 1997 -> 2001[label="",style="dashed", color="magenta", weight=3]; 1997 -> 2002[label="",style="dashed", color="magenta", weight=3]; 1998 -> 1936[label="",style="dashed", color="red", weight=0]; 1998[label="List.nubByNubBy'1 (==) xw198 xw199 (xw200 : xw201) ((==) xw2030 xw198 || List.elem_by (==) xw198 xw2031)",fontsize=16,color="magenta"];1998 -> 2003[label="",style="dashed", color="magenta", weight=3]; 1998 -> 2004[label="",style="dashed", color="magenta", weight=3]; 1999[label="List.nubByNubBy'1 (==) xw198 xw199 (xw200 : xw201) False",fontsize=16,color="black",shape="box"];1999 -> 2005[label="",style="solid", color="black", weight=3]; 2000[label="xw200",fontsize=16,color="green",shape="box"];2001[label="xw199",fontsize=16,color="green",shape="box"];2002[label="xw201",fontsize=16,color="green",shape="box"];2003[label="(==) xw2030 xw198",fontsize=16,color="blue",shape="box"];2112[label="== :: () -> () -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2112[label="",style="solid", color="blue", weight=9]; 2112 -> 2006[label="",style="solid", color="blue", weight=3]; 2113[label="== :: ((@3) a b c) -> ((@3) a b c) -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2113[label="",style="solid", color="blue", weight=9]; 2113 -> 2007[label="",style="solid", color="blue", weight=3]; 2114[label="== :: (Either a b) -> (Either a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2114[label="",style="solid", color="blue", weight=9]; 2114 -> 2008[label="",style="solid", color="blue", weight=3]; 2115[label="== :: Char -> Char -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2115[label="",style="solid", color="blue", weight=9]; 2115 -> 2009[label="",style="solid", color="blue", weight=3]; 2116[label="== :: (Ratio a) -> (Ratio a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2116[label="",style="solid", color="blue", weight=9]; 2116 -> 2010[label="",style="solid", color="blue", weight=3]; 2117[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2117[label="",style="solid", color="blue", weight=9]; 2117 -> 2011[label="",style="solid", color="blue", weight=3]; 2118[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2118[label="",style="solid", color="blue", weight=9]; 2118 -> 2012[label="",style="solid", color="blue", weight=3]; 2119[label="== :: Float -> Float -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2119[label="",style="solid", color="blue", weight=9]; 2119 -> 2013[label="",style="solid", color="blue", weight=3]; 2120[label="== :: Bool -> Bool -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2120[label="",style="solid", color="blue", weight=9]; 2120 -> 2014[label="",style="solid", color="blue", weight=3]; 2121[label="== :: ((@2) a b) -> ((@2) a b) -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2121[label="",style="solid", color="blue", weight=9]; 2121 -> 2015[label="",style="solid", color="blue", weight=3]; 2122[label="== :: Ordering -> Ordering -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2122[label="",style="solid", color="blue", weight=9]; 2122 -> 2016[label="",style="solid", color="blue", weight=3]; 2123[label="== :: Double -> Double -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2123[label="",style="solid", color="blue", weight=9]; 2123 -> 2017[label="",style="solid", color="blue", weight=3]; 2124[label="== :: ([] a) -> ([] a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2124[label="",style="solid", color="blue", weight=9]; 2124 -> 2018[label="",style="solid", color="blue", weight=3]; 2125[label="== :: (Maybe a) -> (Maybe a) -> Bool",fontsize=10,color="white",style="solid",shape="box"];2003 -> 2125[label="",style="solid", color="blue", weight=9]; 2125 -> 2019[label="",style="solid", color="blue", weight=3]; 2004[label="xw2031",fontsize=16,color="green",shape="box"];2005[label="List.nubByNubBy'0 (==) xw198 xw199 (xw200 : xw201) otherwise",fontsize=16,color="black",shape="box"];2005 -> 2020[label="",style="solid", color="black", weight=3]; 2006 -> 278[label="",style="dashed", color="red", weight=0]; 2006[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2006 -> 2021[label="",style="dashed", color="magenta", weight=3]; 2006 -> 2022[label="",style="dashed", color="magenta", weight=3]; 2007 -> 279[label="",style="dashed", color="red", weight=0]; 2007[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2007 -> 2023[label="",style="dashed", color="magenta", weight=3]; 2007 -> 2024[label="",style="dashed", color="magenta", weight=3]; 2008 -> 280[label="",style="dashed", color="red", weight=0]; 2008[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2008 -> 2025[label="",style="dashed", color="magenta", weight=3]; 2008 -> 2026[label="",style="dashed", color="magenta", weight=3]; 2009 -> 281[label="",style="dashed", color="red", weight=0]; 2009[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2009 -> 2027[label="",style="dashed", color="magenta", weight=3]; 2009 -> 2028[label="",style="dashed", color="magenta", weight=3]; 2010 -> 282[label="",style="dashed", color="red", weight=0]; 2010[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2010 -> 2029[label="",style="dashed", color="magenta", weight=3]; 2010 -> 2030[label="",style="dashed", color="magenta", weight=3]; 2011 -> 283[label="",style="dashed", color="red", weight=0]; 2011[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2011 -> 2031[label="",style="dashed", color="magenta", weight=3]; 2011 -> 2032[label="",style="dashed", color="magenta", weight=3]; 2012 -> 284[label="",style="dashed", color="red", weight=0]; 2012[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2012 -> 2033[label="",style="dashed", color="magenta", weight=3]; 2012 -> 2034[label="",style="dashed", color="magenta", weight=3]; 2013 -> 285[label="",style="dashed", color="red", weight=0]; 2013[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2013 -> 2035[label="",style="dashed", color="magenta", weight=3]; 2013 -> 2036[label="",style="dashed", color="magenta", weight=3]; 2014 -> 286[label="",style="dashed", color="red", weight=0]; 2014[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2014 -> 2037[label="",style="dashed", color="magenta", weight=3]; 2014 -> 2038[label="",style="dashed", color="magenta", weight=3]; 2015 -> 287[label="",style="dashed", color="red", weight=0]; 2015[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2015 -> 2039[label="",style="dashed", color="magenta", weight=3]; 2015 -> 2040[label="",style="dashed", color="magenta", weight=3]; 2016 -> 288[label="",style="dashed", color="red", weight=0]; 2016[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2016 -> 2041[label="",style="dashed", color="magenta", weight=3]; 2016 -> 2042[label="",style="dashed", color="magenta", weight=3]; 2017 -> 289[label="",style="dashed", color="red", weight=0]; 2017[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2017 -> 2043[label="",style="dashed", color="magenta", weight=3]; 2017 -> 2044[label="",style="dashed", color="magenta", weight=3]; 2018 -> 290[label="",style="dashed", color="red", weight=0]; 2018[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2018 -> 2045[label="",style="dashed", color="magenta", weight=3]; 2018 -> 2046[label="",style="dashed", color="magenta", weight=3]; 2019 -> 291[label="",style="dashed", color="red", weight=0]; 2019[label="(==) xw2030 xw198",fontsize=16,color="magenta"];2019 -> 2047[label="",style="dashed", color="magenta", weight=3]; 2019 -> 2048[label="",style="dashed", color="magenta", weight=3]; 2020[label="List.nubByNubBy'0 (==) xw198 xw199 (xw200 : xw201) True",fontsize=16,color="black",shape="box"];2020 -> 2049[label="",style="solid", color="black", weight=3]; 2021[label="xw198",fontsize=16,color="green",shape="box"];2022[label="xw2030",fontsize=16,color="green",shape="box"];2023[label="xw198",fontsize=16,color="green",shape="box"];2024[label="xw2030",fontsize=16,color="green",shape="box"];2025[label="xw198",fontsize=16,color="green",shape="box"];2026[label="xw2030",fontsize=16,color="green",shape="box"];2027[label="xw198",fontsize=16,color="green",shape="box"];2028[label="xw2030",fontsize=16,color="green",shape="box"];2029[label="xw198",fontsize=16,color="green",shape="box"];2030[label="xw2030",fontsize=16,color="green",shape="box"];2031[label="xw198",fontsize=16,color="green",shape="box"];2032[label="xw2030",fontsize=16,color="green",shape="box"];2033[label="xw198",fontsize=16,color="green",shape="box"];2034[label="xw2030",fontsize=16,color="green",shape="box"];2035[label="xw198",fontsize=16,color="green",shape="box"];2036[label="xw2030",fontsize=16,color="green",shape="box"];2037[label="xw198",fontsize=16,color="green",shape="box"];2038[label="xw2030",fontsize=16,color="green",shape="box"];2039[label="xw198",fontsize=16,color="green",shape="box"];2040[label="xw2030",fontsize=16,color="green",shape="box"];2041[label="xw198",fontsize=16,color="green",shape="box"];2042[label="xw2030",fontsize=16,color="green",shape="box"];2043[label="xw198",fontsize=16,color="green",shape="box"];2044[label="xw2030",fontsize=16,color="green",shape="box"];2045[label="xw198",fontsize=16,color="green",shape="box"];2046[label="xw2030",fontsize=16,color="green",shape="box"];2047[label="xw198",fontsize=16,color="green",shape="box"];2048[label="xw2030",fontsize=16,color="green",shape="box"];2049[label="xw198 : List.nubByNubBy' (==) xw199 (xw198 : xw200 : xw201)",fontsize=16,color="green",shape="box"];2049 -> 2050[label="",style="dashed", color="green", weight=3]; 2050 -> 1379[label="",style="dashed", color="red", weight=0]; 2050[label="List.nubByNubBy' (==) xw199 (xw198 : xw200 : xw201)",fontsize=16,color="magenta"];2050 -> 2051[label="",style="dashed", color="magenta", weight=3]; 2050 -> 2052[label="",style="dashed", color="magenta", weight=3]; 2050 -> 2053[label="",style="dashed", color="magenta", weight=3]; 2051[label="xw198",fontsize=16,color="green",shape="box"];2052[label="xw199",fontsize=16,color="green",shape="box"];2053[label="xw200 : xw201",fontsize=16,color="green",shape="box"];} ---------------------------------------- (10) Complex Obligation (AND) ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'(:(xw1060, xw1061), xw107, xw108, bb) -> new_nubByNubBy'1(xw1060, xw1061, xw107, xw108, new_esEs0(xw107, xw1060, bb), xw108, bb) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, :(xw2030, xw2031), ba) -> new_nubByNubBy'1(xw198, xw199, xw200, xw201, new_esEs(xw2030, xw198, ba), xw2031, ba) The TRS R consists of the following rules: new_esEs(xw2030, xw198, app(app(app(ty_@3, bg), bh), ca)) -> new_esEs2(xw2030, xw198, bg, bh, ca) new_esEs1(xw10, xw90, bc) -> error([]) new_esEs(xw2030, xw198, ty_Float) -> new_esEs8(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Ratio, cd)) -> new_esEs1(xw2030, xw198, cd) new_esEs0(xw107, xw1060, app(app(ty_@2, ed), ee)) -> new_esEs10(xw107, xw1060, ed, ee) new_esEs11(LT, LT) -> True new_esEs0(xw107, xw1060, ty_Integer) -> new_esEs3(xw107, xw1060) new_esEs(xw2030, xw198, ty_Char) -> new_esEs6(xw2030, xw198) new_esEs14(xw10, xw90, eh) -> error([]) new_esEs(xw2030, xw198, ty_@0) -> new_esEs4(xw2030, xw198) new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs0(xw107, xw1060, app(ty_[], ef)) -> new_esEs13(xw107, xw1060, ef) new_esEs10(xw10, xw90, db, dc) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs(xw2030, xw198, ty_Double) -> new_esEs12(xw2030, xw198) new_esEs4(xw10, xw90) -> error([]) new_esEs(xw2030, xw198, ty_Bool) -> new_esEs9(xw2030, xw198) new_esEs0(xw107, xw1060, ty_Double) -> new_esEs12(xw107, xw1060) new_esEs(xw2030, xw198, app(ty_Maybe, da)) -> new_esEs14(xw2030, xw198, da) new_esEs0(xw107, xw1060, ty_Bool) -> new_esEs9(xw107, xw1060) new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs8(xw10, xw90) -> error([]) new_esEs0(xw107, xw1060, app(ty_Maybe, eg)) -> new_esEs14(xw107, xw1060, eg) new_esEs3(xw10, xw90) -> error([]) new_esEs5(xw10, xw90, dd, de) -> error([]) new_esEs(xw2030, xw198, app(ty_[], cg)) -> new_esEs13(xw2030, xw198, cg) new_esEs0(xw107, xw1060, app(app(app(ty_@3, df), dg), dh)) -> new_esEs2(xw107, xw1060, df, dg, dh) new_esEs(xw2030, xw198, ty_Integer) -> new_esEs3(xw2030, xw198) new_esEs0(xw107, xw1060, ty_Int) -> new_esEs7(xw107, xw1060) new_esEs0(xw107, xw1060, ty_Float) -> new_esEs8(xw107, xw1060) new_esEs11(GT, GT) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs(xw2030, xw198, app(app(ty_@2, ce), cf)) -> new_esEs10(xw2030, xw198, ce, cf) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) new_esEs11(EQ, EQ) -> True new_esEs(xw2030, xw198, ty_Int) -> new_esEs7(xw2030, xw198) new_esEs(xw2030, xw198, ty_Ordering) -> new_esEs11(xw2030, xw198) new_esEs0(xw107, xw1060, ty_@0) -> new_esEs4(xw107, xw1060) new_esEs0(xw107, xw1060, app(app(ty_Either, ea), eb)) -> new_esEs5(xw107, xw1060, ea, eb) new_esEs13(xw10, xw90, fa) -> error([]) new_esEs0(xw107, xw1060, ty_Ordering) -> new_esEs11(xw107, xw1060) new_esEs6(xw10, xw90) -> error([]) new_esEs(xw2030, xw198, app(app(ty_Either, cb), cc)) -> new_esEs5(xw2030, xw198, cb, cc) new_esEs0(xw107, xw1060, ty_Char) -> new_esEs6(xw107, xw1060) new_esEs0(xw107, xw1060, app(ty_Ratio, ec)) -> new_esEs1(xw107, xw1060, ec) The set Q consists of the following terms: new_esEs0(x0, x1, ty_Int) new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs0(x0, x1, ty_Integer) new_esEs11(LT, LT) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) new_esEs(x0, x1, ty_Ordering) new_esEs0(x0, x1, ty_Float) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs0(x0, x1, ty_Bool) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs(x0, x1, ty_Bool) new_esEs0(x0, x1, ty_Ordering) new_esEs0(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs0(x0, x1, ty_Char) new_esEs0(x0, x1, app(ty_Maybe, x2)) new_esEs0(x0, x1, app(ty_[], x2)) new_esEs11(EQ, EQ) new_esEs5(x0, x1, x2, x3) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs0(x0, x1, ty_@0) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs11(GT, GT) new_esEs0(x0, x1, app(ty_Ratio, x2)) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_nubByNubBy'(:(xw1060, xw1061), xw107, xw108, bb) -> new_nubByNubBy'1(xw1060, xw1061, xw107, xw108, new_esEs0(xw107, xw1060, bb), xw108, bb) at position [4] we obtained the following new rules [LPAR04]: (new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs10(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_esEs10(x0, x1, x2, x3), y3, app(app(ty_@2, x2), x3))) (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Integer) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs3(x0, x1), y3, ty_Integer),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Integer) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs3(x0, x1), y3, ty_Integer)) (new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs13(x0, x1, x2), y3, app(ty_[], x2)),new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs13(x0, x1, x2), y3, app(ty_[], x2))) (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Double) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs12(x0, x1), y3, ty_Double),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Double) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs12(x0, x1), y3, ty_Double)) (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs9(x0, x1), y3, ty_Bool),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs9(x0, x1), y3, ty_Bool)) (new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs14(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_esEs14(x0, x1, x2), y3, app(ty_Maybe, x2))) (new_nubByNubBy'(:(x1, y1), x0, y3, app(app(app(ty_@3, x2), x3), x4)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs2(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_esEs2(x0, x1, x2, x3, x4), y3, app(app(app(ty_@3, x2), x3), x4))) (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Int) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs7(x0, x1), y3, ty_Int),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Int) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs7(x0, x1), y3, ty_Int)) (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Float) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs8(x0, x1), y3, ty_Float),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Float) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs8(x0, x1), y3, ty_Float)) (new_nubByNubBy'(:(x1, y1), x0, y3, ty_@0) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_@0),new_nubByNubBy'(:(x1, y1), x0, y3, ty_@0) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_@0)) (new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs5(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_esEs5(x0, x1, x2, x3), y3, app(app(ty_Either, x2), x3))) (new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Ordering),new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Ordering)) (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)) (new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs1(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_esEs1(x0, x1, x2), y3, app(ty_Ratio, x2))) ---------------------------------------- (13) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, :(xw2030, xw2031), ba) -> new_nubByNubBy'1(xw198, xw199, xw200, xw201, new_esEs(xw2030, xw198, ba), xw2031, ba) new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs10(x0, x1, x2, x3), y3, app(app(ty_@2, x2), x3)) new_nubByNubBy'(:(x1, y1), x0, y3, ty_Integer) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs3(x0, x1), y3, ty_Integer) new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs13(x0, x1, x2), y3, app(ty_[], x2)) new_nubByNubBy'(:(x1, y1), x0, y3, ty_Double) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs12(x0, x1), y3, ty_Double) new_nubByNubBy'(:(x1, y1), x0, y3, ty_Bool) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs9(x0, x1), y3, ty_Bool) new_nubByNubBy'(:(x1, y1), x0, y3, app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs14(x0, x1, x2), y3, app(ty_Maybe, x2)) new_nubByNubBy'(:(x1, y1), x0, y3, app(app(app(ty_@3, x2), x3), x4)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs2(x0, x1, x2, x3, x4), y3, app(app(app(ty_@3, x2), x3), x4)) new_nubByNubBy'(:(x1, y1), x0, y3, ty_Int) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs7(x0, x1), y3, ty_Int) new_nubByNubBy'(:(x1, y1), x0, y3, ty_Float) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs8(x0, x1), y3, ty_Float) new_nubByNubBy'(:(x1, y1), x0, y3, ty_@0) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs4(x0, x1), y3, ty_@0) new_nubByNubBy'(:(x1, y1), x0, y3, app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs5(x0, x1, x2, x3), y3, app(app(ty_Either, x2), x3)) new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Ordering) 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, app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs1(x0, x1, x2), y3, app(ty_Ratio, x2)) The TRS R consists of the following rules: new_esEs(xw2030, xw198, app(app(app(ty_@3, bg), bh), ca)) -> new_esEs2(xw2030, xw198, bg, bh, ca) new_esEs1(xw10, xw90, bc) -> error([]) new_esEs(xw2030, xw198, ty_Float) -> new_esEs8(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Ratio, cd)) -> new_esEs1(xw2030, xw198, cd) new_esEs0(xw107, xw1060, app(app(ty_@2, ed), ee)) -> new_esEs10(xw107, xw1060, ed, ee) new_esEs11(LT, LT) -> True new_esEs0(xw107, xw1060, ty_Integer) -> new_esEs3(xw107, xw1060) new_esEs(xw2030, xw198, ty_Char) -> new_esEs6(xw2030, xw198) new_esEs14(xw10, xw90, eh) -> error([]) new_esEs(xw2030, xw198, ty_@0) -> new_esEs4(xw2030, xw198) new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs0(xw107, xw1060, app(ty_[], ef)) -> new_esEs13(xw107, xw1060, ef) new_esEs10(xw10, xw90, db, dc) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs(xw2030, xw198, ty_Double) -> new_esEs12(xw2030, xw198) new_esEs4(xw10, xw90) -> error([]) new_esEs(xw2030, xw198, ty_Bool) -> new_esEs9(xw2030, xw198) new_esEs0(xw107, xw1060, ty_Double) -> new_esEs12(xw107, xw1060) new_esEs(xw2030, xw198, app(ty_Maybe, da)) -> new_esEs14(xw2030, xw198, da) new_esEs0(xw107, xw1060, ty_Bool) -> new_esEs9(xw107, xw1060) new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs8(xw10, xw90) -> error([]) new_esEs0(xw107, xw1060, app(ty_Maybe, eg)) -> new_esEs14(xw107, xw1060, eg) new_esEs3(xw10, xw90) -> error([]) new_esEs5(xw10, xw90, dd, de) -> error([]) new_esEs(xw2030, xw198, app(ty_[], cg)) -> new_esEs13(xw2030, xw198, cg) new_esEs0(xw107, xw1060, app(app(app(ty_@3, df), dg), dh)) -> new_esEs2(xw107, xw1060, df, dg, dh) new_esEs(xw2030, xw198, ty_Integer) -> new_esEs3(xw2030, xw198) new_esEs0(xw107, xw1060, ty_Int) -> new_esEs7(xw107, xw1060) new_esEs0(xw107, xw1060, ty_Float) -> new_esEs8(xw107, xw1060) new_esEs11(GT, GT) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs(xw2030, xw198, app(app(ty_@2, ce), cf)) -> new_esEs10(xw2030, xw198, ce, cf) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) new_esEs11(EQ, EQ) -> True new_esEs(xw2030, xw198, ty_Int) -> new_esEs7(xw2030, xw198) new_esEs(xw2030, xw198, ty_Ordering) -> new_esEs11(xw2030, xw198) new_esEs0(xw107, xw1060, ty_@0) -> new_esEs4(xw107, xw1060) new_esEs0(xw107, xw1060, app(app(ty_Either, ea), eb)) -> new_esEs5(xw107, xw1060, ea, eb) new_esEs13(xw10, xw90, fa) -> error([]) new_esEs0(xw107, xw1060, ty_Ordering) -> new_esEs11(xw107, xw1060) new_esEs6(xw10, xw90) -> error([]) new_esEs(xw2030, xw198, app(app(ty_Either, cb), cc)) -> new_esEs5(xw2030, xw198, cb, cc) new_esEs0(xw107, xw1060, ty_Char) -> new_esEs6(xw107, xw1060) new_esEs0(xw107, xw1060, app(ty_Ratio, ec)) -> new_esEs1(xw107, xw1060, ec) The set Q consists of the following terms: new_esEs0(x0, x1, ty_Int) new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs0(x0, x1, ty_Integer) new_esEs11(LT, LT) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) new_esEs(x0, x1, ty_Ordering) new_esEs0(x0, x1, ty_Float) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs0(x0, x1, ty_Bool) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs(x0, x1, ty_Bool) new_esEs0(x0, x1, ty_Ordering) new_esEs0(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs0(x0, x1, ty_Char) new_esEs0(x0, x1, app(ty_Maybe, x2)) new_esEs0(x0, x1, app(ty_[], x2)) new_esEs11(EQ, EQ) new_esEs5(x0, x1, x2, x3) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs0(x0, x1, ty_@0) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs11(GT, GT) new_esEs0(x0, x1, app(ty_Ratio, x2)) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (14) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 13 less nodes. ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, :(xw2030, xw2031), ba) -> new_nubByNubBy'1(xw198, xw199, xw200, xw201, new_esEs(xw2030, xw198, ba), xw2031, ba) The TRS R consists of the following rules: new_esEs(xw2030, xw198, app(app(app(ty_@3, bg), bh), ca)) -> new_esEs2(xw2030, xw198, bg, bh, ca) new_esEs1(xw10, xw90, bc) -> error([]) new_esEs(xw2030, xw198, ty_Float) -> new_esEs8(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Ratio, cd)) -> new_esEs1(xw2030, xw198, cd) new_esEs0(xw107, xw1060, app(app(ty_@2, ed), ee)) -> new_esEs10(xw107, xw1060, ed, ee) new_esEs11(LT, LT) -> True new_esEs0(xw107, xw1060, ty_Integer) -> new_esEs3(xw107, xw1060) new_esEs(xw2030, xw198, ty_Char) -> new_esEs6(xw2030, xw198) new_esEs14(xw10, xw90, eh) -> error([]) new_esEs(xw2030, xw198, ty_@0) -> new_esEs4(xw2030, xw198) new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs0(xw107, xw1060, app(ty_[], ef)) -> new_esEs13(xw107, xw1060, ef) new_esEs10(xw10, xw90, db, dc) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs(xw2030, xw198, ty_Double) -> new_esEs12(xw2030, xw198) new_esEs4(xw10, xw90) -> error([]) new_esEs(xw2030, xw198, ty_Bool) -> new_esEs9(xw2030, xw198) new_esEs0(xw107, xw1060, ty_Double) -> new_esEs12(xw107, xw1060) new_esEs(xw2030, xw198, app(ty_Maybe, da)) -> new_esEs14(xw2030, xw198, da) new_esEs0(xw107, xw1060, ty_Bool) -> new_esEs9(xw107, xw1060) new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs8(xw10, xw90) -> error([]) new_esEs0(xw107, xw1060, app(ty_Maybe, eg)) -> new_esEs14(xw107, xw1060, eg) new_esEs3(xw10, xw90) -> error([]) new_esEs5(xw10, xw90, dd, de) -> error([]) new_esEs(xw2030, xw198, app(ty_[], cg)) -> new_esEs13(xw2030, xw198, cg) new_esEs0(xw107, xw1060, app(app(app(ty_@3, df), dg), dh)) -> new_esEs2(xw107, xw1060, df, dg, dh) new_esEs(xw2030, xw198, ty_Integer) -> new_esEs3(xw2030, xw198) new_esEs0(xw107, xw1060, ty_Int) -> new_esEs7(xw107, xw1060) new_esEs0(xw107, xw1060, ty_Float) -> new_esEs8(xw107, xw1060) new_esEs11(GT, GT) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs(xw2030, xw198, app(app(ty_@2, ce), cf)) -> new_esEs10(xw2030, xw198, ce, cf) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) new_esEs11(EQ, EQ) -> True new_esEs(xw2030, xw198, ty_Int) -> new_esEs7(xw2030, xw198) new_esEs(xw2030, xw198, ty_Ordering) -> new_esEs11(xw2030, xw198) new_esEs0(xw107, xw1060, ty_@0) -> new_esEs4(xw107, xw1060) new_esEs0(xw107, xw1060, app(app(ty_Either, ea), eb)) -> new_esEs5(xw107, xw1060, ea, eb) new_esEs13(xw10, xw90, fa) -> error([]) new_esEs0(xw107, xw1060, ty_Ordering) -> new_esEs11(xw107, xw1060) new_esEs6(xw10, xw90) -> error([]) new_esEs(xw2030, xw198, app(app(ty_Either, cb), cc)) -> new_esEs5(xw2030, xw198, cb, cc) new_esEs0(xw107, xw1060, ty_Char) -> new_esEs6(xw107, xw1060) new_esEs0(xw107, xw1060, app(ty_Ratio, ec)) -> new_esEs1(xw107, xw1060, ec) The set Q consists of the following terms: new_esEs0(x0, x1, ty_Int) new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs0(x0, x1, ty_Integer) new_esEs11(LT, LT) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) new_esEs(x0, x1, ty_Ordering) new_esEs0(x0, x1, ty_Float) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs0(x0, x1, ty_Bool) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs(x0, x1, ty_Bool) new_esEs0(x0, x1, ty_Ordering) new_esEs0(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs0(x0, x1, ty_Char) new_esEs0(x0, x1, app(ty_Maybe, x2)) new_esEs0(x0, x1, app(ty_[], x2)) new_esEs11(EQ, EQ) new_esEs5(x0, x1, x2, x3) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs0(x0, x1, ty_@0) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs11(GT, GT) new_esEs0(x0, x1, app(ty_Ratio, x2)) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (16) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, :(xw2030, xw2031), ba) -> new_nubByNubBy'1(xw198, xw199, xw200, xw201, new_esEs(xw2030, xw198, ba), xw2031, ba) The TRS R consists of the following rules: new_esEs(xw2030, xw198, app(app(app(ty_@3, bg), bh), ca)) -> new_esEs2(xw2030, xw198, bg, bh, ca) new_esEs(xw2030, xw198, ty_Float) -> new_esEs8(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Ratio, cd)) -> new_esEs1(xw2030, xw198, cd) new_esEs(xw2030, xw198, ty_Char) -> new_esEs6(xw2030, xw198) new_esEs(xw2030, xw198, ty_@0) -> new_esEs4(xw2030, xw198) new_esEs(xw2030, xw198, ty_Double) -> new_esEs12(xw2030, xw198) new_esEs(xw2030, xw198, ty_Bool) -> new_esEs9(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Maybe, da)) -> new_esEs14(xw2030, xw198, da) new_esEs(xw2030, xw198, app(ty_[], cg)) -> new_esEs13(xw2030, xw198, cg) new_esEs(xw2030, xw198, ty_Integer) -> new_esEs3(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_@2, ce), cf)) -> new_esEs10(xw2030, xw198, ce, cf) new_esEs(xw2030, xw198, ty_Int) -> new_esEs7(xw2030, xw198) new_esEs(xw2030, xw198, ty_Ordering) -> new_esEs11(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_Either, cb), cc)) -> new_esEs5(xw2030, xw198, cb, cc) new_esEs5(xw10, xw90, dd, de) -> error([]) new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, db, dc) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs13(xw10, xw90, fa) -> error([]) new_esEs14(xw10, xw90, eh) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs4(xw10, xw90) -> error([]) new_esEs6(xw10, xw90) -> error([]) new_esEs1(xw10, xw90, bc) -> error([]) new_esEs8(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) The set Q consists of the following terms: new_esEs0(x0, x1, ty_Int) new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs0(x0, x1, ty_Integer) new_esEs11(LT, LT) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) new_esEs(x0, x1, ty_Ordering) new_esEs0(x0, x1, ty_Float) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs0(x0, x1, ty_Bool) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs(x0, x1, ty_Bool) new_esEs0(x0, x1, ty_Ordering) new_esEs0(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs0(x0, x1, ty_Char) new_esEs0(x0, x1, app(ty_Maybe, x2)) new_esEs0(x0, x1, app(ty_[], x2)) new_esEs11(EQ, EQ) new_esEs5(x0, x1, x2, x3) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs0(x0, x1, ty_@0) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs11(GT, GT) new_esEs0(x0, x1, app(ty_Ratio, x2)) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_esEs0(x0, x1, ty_Int) new_esEs0(x0, x1, app(app(ty_@2, x2), x3)) new_esEs0(x0, x1, ty_Integer) new_esEs0(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs0(x0, x1, app(app(ty_Either, x2), x3)) new_esEs0(x0, x1, ty_Float) new_esEs0(x0, x1, ty_Bool) new_esEs0(x0, x1, ty_Ordering) new_esEs0(x0, x1, ty_Double) new_esEs0(x0, x1, ty_Char) new_esEs0(x0, x1, app(ty_Maybe, x2)) new_esEs0(x0, x1, app(ty_[], x2)) new_esEs0(x0, x1, ty_@0) new_esEs0(x0, x1, app(ty_Ratio, x2)) ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, :(xw2030, xw2031), ba) -> new_nubByNubBy'1(xw198, xw199, xw200, xw201, new_esEs(xw2030, xw198, ba), xw2031, ba) The TRS R consists of the following rules: new_esEs(xw2030, xw198, app(app(app(ty_@3, bg), bh), ca)) -> new_esEs2(xw2030, xw198, bg, bh, ca) new_esEs(xw2030, xw198, ty_Float) -> new_esEs8(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Ratio, cd)) -> new_esEs1(xw2030, xw198, cd) new_esEs(xw2030, xw198, ty_Char) -> new_esEs6(xw2030, xw198) new_esEs(xw2030, xw198, ty_@0) -> new_esEs4(xw2030, xw198) new_esEs(xw2030, xw198, ty_Double) -> new_esEs12(xw2030, xw198) new_esEs(xw2030, xw198, ty_Bool) -> new_esEs9(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Maybe, da)) -> new_esEs14(xw2030, xw198, da) new_esEs(xw2030, xw198, app(ty_[], cg)) -> new_esEs13(xw2030, xw198, cg) new_esEs(xw2030, xw198, ty_Integer) -> new_esEs3(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_@2, ce), cf)) -> new_esEs10(xw2030, xw198, ce, cf) new_esEs(xw2030, xw198, ty_Int) -> new_esEs7(xw2030, xw198) new_esEs(xw2030, xw198, ty_Ordering) -> new_esEs11(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_Either, cb), cc)) -> new_esEs5(xw2030, xw198, cb, cc) new_esEs5(xw10, xw90, dd, de) -> error([]) new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, db, dc) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs13(xw10, xw90, fa) -> error([]) new_esEs14(xw10, xw90, eh) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs4(xw10, xw90) -> error([]) new_esEs6(xw10, xw90) -> error([]) new_esEs1(xw10, xw90, bc) -> error([]) new_esEs8(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) The set Q consists of the following terms: new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs11(LT, LT) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs(x0, x1, ty_Ordering) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs(x0, x1, ty_Bool) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs11(EQ, EQ) new_esEs5(x0, x1, x2, x3) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs11(GT, GT) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_nubByNubBy'(:(x1, y1), x0, y3, ty_Ordering) -> new_nubByNubBy'1(x1, y1, x0, y3, new_esEs11(x0, x1), y3, ty_Ordering) at position [4] we obtained the following new rules [LPAR04]: (new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering),new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering)) (new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering),new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering)) (new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering),new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering)) (new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering),new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering)) (new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering),new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering)) (new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering),new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering)) (new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering),new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering)) (new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering),new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering)) (new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering),new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering)) ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, :(xw2030, xw2031), ba) -> new_nubByNubBy'1(xw198, xw199, xw200, xw201, new_esEs(xw2030, xw198, ba), xw2031, ba) new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) The TRS R consists of the following rules: new_esEs(xw2030, xw198, app(app(app(ty_@3, bg), bh), ca)) -> new_esEs2(xw2030, xw198, bg, bh, ca) new_esEs(xw2030, xw198, ty_Float) -> new_esEs8(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Ratio, cd)) -> new_esEs1(xw2030, xw198, cd) new_esEs(xw2030, xw198, ty_Char) -> new_esEs6(xw2030, xw198) new_esEs(xw2030, xw198, ty_@0) -> new_esEs4(xw2030, xw198) new_esEs(xw2030, xw198, ty_Double) -> new_esEs12(xw2030, xw198) new_esEs(xw2030, xw198, ty_Bool) -> new_esEs9(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Maybe, da)) -> new_esEs14(xw2030, xw198, da) new_esEs(xw2030, xw198, app(ty_[], cg)) -> new_esEs13(xw2030, xw198, cg) new_esEs(xw2030, xw198, ty_Integer) -> new_esEs3(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_@2, ce), cf)) -> new_esEs10(xw2030, xw198, ce, cf) new_esEs(xw2030, xw198, ty_Int) -> new_esEs7(xw2030, xw198) new_esEs(xw2030, xw198, ty_Ordering) -> new_esEs11(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_Either, cb), cc)) -> new_esEs5(xw2030, xw198, cb, cc) new_esEs5(xw10, xw90, dd, de) -> error([]) new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, db, dc) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs13(xw10, xw90, fa) -> error([]) new_esEs14(xw10, xw90, eh) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs4(xw10, xw90) -> error([]) new_esEs6(xw10, xw90) -> error([]) new_esEs1(xw10, xw90, bc) -> error([]) new_esEs8(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) The set Q consists of the following terms: new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs11(LT, LT) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs(x0, x1, ty_Ordering) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs(x0, x1, ty_Bool) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs11(EQ, EQ) new_esEs5(x0, x1, x2, x3) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs11(GT, GT) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, :(xw2030, xw2031), ba) -> new_nubByNubBy'1(xw198, xw199, xw200, xw201, new_esEs(xw2030, xw198, ba), xw2031, ba) at position [4] we obtained the following new rules [LPAR04]: (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_esEs2(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_esEs2(x0, x1, x2, x3, x4), y5, app(app(app(ty_@3, x2), x3), x4))) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Float) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs8(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_esEs8(x0, x1), y5, ty_Float)) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs1(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_esEs1(x0, x1, x2), y5, app(ty_Ratio, x2))) (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)) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_@0) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs4(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_esEs4(x0, x1), y5, ty_@0)) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Double) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs12(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_esEs12(x0, x1), y5, ty_Double)) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Bool) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs9(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_esEs9(x0, x1), y5, ty_Bool)) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs14(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_esEs14(x0, x1, x2), y5, app(ty_Maybe, x2))) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs13(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_esEs13(x0, x1, x2), y5, app(ty_[], x2))) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Integer) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs3(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_esEs3(x0, x1), y5, ty_Integer)) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs10(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_esEs10(x0, x1, x2, x3), y5, app(app(ty_@2, x2), x3))) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Int) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs7(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_esEs7(x0, x1), y5, ty_Int)) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Ordering) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs11(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_esEs11(x0, x1), y5, ty_Ordering)) (new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs5(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_esEs5(x0, x1, x2, x3), y5, app(app(ty_Either, x2), x3))) ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) 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_esEs2(x0, x1, x2, x3, x4), y5, app(app(app(ty_@3, x2), x3), x4)) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Float) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs8(x0, x1), y5, ty_Float) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Ratio, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs1(x0, x1, x2), y5, app(ty_Ratio, x2)) 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_@0) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs4(x0, x1), y5, ty_@0) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Double) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs12(x0, x1), y5, ty_Double) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Bool) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs9(x0, x1), y5, ty_Bool) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_Maybe, x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs14(x0, x1, x2), y5, app(ty_Maybe, x2)) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(ty_[], x2)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs13(x0, x1, x2), y5, app(ty_[], x2)) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Integer) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs3(x0, x1), y5, ty_Integer) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_@2, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs10(x0, x1, x2, x3), y5, app(app(ty_@2, x2), x3)) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Int) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs7(x0, x1), y5, ty_Int) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Ordering) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs11(x0, x1), y5, ty_Ordering) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), app(app(ty_Either, x2), x3)) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs5(x0, x1, x2, x3), y5, app(app(ty_Either, x2), x3)) The TRS R consists of the following rules: new_esEs(xw2030, xw198, app(app(app(ty_@3, bg), bh), ca)) -> new_esEs2(xw2030, xw198, bg, bh, ca) new_esEs(xw2030, xw198, ty_Float) -> new_esEs8(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Ratio, cd)) -> new_esEs1(xw2030, xw198, cd) new_esEs(xw2030, xw198, ty_Char) -> new_esEs6(xw2030, xw198) new_esEs(xw2030, xw198, ty_@0) -> new_esEs4(xw2030, xw198) new_esEs(xw2030, xw198, ty_Double) -> new_esEs12(xw2030, xw198) new_esEs(xw2030, xw198, ty_Bool) -> new_esEs9(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Maybe, da)) -> new_esEs14(xw2030, xw198, da) new_esEs(xw2030, xw198, app(ty_[], cg)) -> new_esEs13(xw2030, xw198, cg) new_esEs(xw2030, xw198, ty_Integer) -> new_esEs3(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_@2, ce), cf)) -> new_esEs10(xw2030, xw198, ce, cf) new_esEs(xw2030, xw198, ty_Int) -> new_esEs7(xw2030, xw198) new_esEs(xw2030, xw198, ty_Ordering) -> new_esEs11(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_Either, cb), cc)) -> new_esEs5(xw2030, xw198, cb, cc) new_esEs5(xw10, xw90, dd, de) -> error([]) new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, db, dc) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs13(xw10, xw90, fa) -> error([]) new_esEs14(xw10, xw90, eh) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs4(xw10, xw90) -> error([]) new_esEs6(xw10, xw90) -> error([]) new_esEs1(xw10, xw90, bc) -> error([]) new_esEs8(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) The set Q consists of the following terms: new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs11(LT, LT) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs(x0, x1, ty_Ordering) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs(x0, x1, ty_Bool) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs11(EQ, EQ) new_esEs5(x0, x1, x2, x3) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs11(GT, GT) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 13 less nodes. ---------------------------------------- (25) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Ordering) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs11(x0, x1), y5, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) The TRS R consists of the following rules: new_esEs(xw2030, xw198, app(app(app(ty_@3, bg), bh), ca)) -> new_esEs2(xw2030, xw198, bg, bh, ca) new_esEs(xw2030, xw198, ty_Float) -> new_esEs8(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Ratio, cd)) -> new_esEs1(xw2030, xw198, cd) new_esEs(xw2030, xw198, ty_Char) -> new_esEs6(xw2030, xw198) new_esEs(xw2030, xw198, ty_@0) -> new_esEs4(xw2030, xw198) new_esEs(xw2030, xw198, ty_Double) -> new_esEs12(xw2030, xw198) new_esEs(xw2030, xw198, ty_Bool) -> new_esEs9(xw2030, xw198) new_esEs(xw2030, xw198, app(ty_Maybe, da)) -> new_esEs14(xw2030, xw198, da) new_esEs(xw2030, xw198, app(ty_[], cg)) -> new_esEs13(xw2030, xw198, cg) new_esEs(xw2030, xw198, ty_Integer) -> new_esEs3(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_@2, ce), cf)) -> new_esEs10(xw2030, xw198, ce, cf) new_esEs(xw2030, xw198, ty_Int) -> new_esEs7(xw2030, xw198) new_esEs(xw2030, xw198, ty_Ordering) -> new_esEs11(xw2030, xw198) new_esEs(xw2030, xw198, app(app(ty_Either, cb), cc)) -> new_esEs5(xw2030, xw198, cb, cc) new_esEs5(xw10, xw90, dd, de) -> error([]) new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, db, dc) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs13(xw10, xw90, fa) -> error([]) new_esEs14(xw10, xw90, eh) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs4(xw10, xw90) -> error([]) new_esEs6(xw10, xw90) -> error([]) new_esEs1(xw10, xw90, bc) -> error([]) new_esEs8(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) The set Q consists of the following terms: new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs11(LT, LT) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs(x0, x1, ty_Ordering) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs(x0, x1, ty_Bool) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs11(EQ, EQ) new_esEs5(x0, x1, x2, x3) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs11(GT, GT) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (26) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (27) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Ordering) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs11(x0, x1), y5, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) The TRS R consists of the following rules: new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True The set Q consists of the following terms: new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs11(LT, LT) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs(x0, x1, ty_Ordering) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs(x0, x1, ty_Bool) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs11(EQ, EQ) new_esEs5(x0, x1, x2, x3) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs11(GT, GT) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_esEs(x0, x1, ty_Integer) new_esEs7(x0, x1) new_esEs(x0, x1, app(app(ty_Either, x2), x3)) new_esEs6(x0, x1) new_esEs10(x0, x1, x2, x3) new_esEs(x0, x1, ty_Char) new_esEs13(x0, x1, x2) new_esEs14(x0, x1, x2) new_esEs(x0, x1, app(ty_Maybe, x2)) new_esEs(x0, x1, ty_Double) new_esEs(x0, x1, app(ty_[], x2)) new_esEs3(x0, x1) new_esEs(x0, x1, ty_Float) new_esEs8(x0, x1) new_esEs(x0, x1, ty_Ordering) new_esEs(x0, x1, app(app(ty_@2, x2), x3)) new_esEs(x0, x1, ty_Bool) new_esEs(x0, x1, app(ty_Ratio, x2)) new_esEs5(x0, x1, x2, x3) new_esEs9(x0, x1) new_esEs(x0, x1, ty_@0) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs2(x0, x1, x2, x3, x4) new_esEs(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs12(x0, x1) new_esEs(x0, x1, ty_Int) ---------------------------------------- (29) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Ordering) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs11(x0, x1), y5, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) The TRS R consists of the following rules: new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True The set Q consists of the following terms: new_esEs11(LT, LT) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs11(EQ, EQ) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs11(GT, GT) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (30) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_nubByNubBy'1(x1, y1, y2, y3, False, :(x0, y5), ty_Ordering) -> new_nubByNubBy'1(x1, y1, y2, y3, new_esEs11(x0, x1), y5, ty_Ordering) at position [4] we obtained the following new rules [LPAR04]: (new_nubByNubBy'1(LT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, True, y5, ty_Ordering),new_nubByNubBy'1(LT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, True, y5, ty_Ordering)) (new_nubByNubBy'1(EQ, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering),new_nubByNubBy'1(EQ, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering)) (new_nubByNubBy'1(LT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering),new_nubByNubBy'1(LT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering)) (new_nubByNubBy'1(GT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering),new_nubByNubBy'1(GT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering)) (new_nubByNubBy'1(EQ, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering),new_nubByNubBy'1(EQ, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering)) (new_nubByNubBy'1(GT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering),new_nubByNubBy'1(GT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering)) (new_nubByNubBy'1(LT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering),new_nubByNubBy'1(LT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering)) (new_nubByNubBy'1(GT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, True, y5, ty_Ordering),new_nubByNubBy'1(GT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, True, y5, ty_Ordering)) (new_nubByNubBy'1(EQ, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, True, y5, ty_Ordering),new_nubByNubBy'1(EQ, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, True, y5, ty_Ordering)) ---------------------------------------- (31) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, True, y5, ty_Ordering) The TRS R consists of the following rules: new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True The set Q consists of the following terms: new_esEs11(LT, LT) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs11(EQ, EQ) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs11(GT, GT) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (32) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (33) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, True, y5, ty_Ordering) R is empty. The set Q consists of the following terms: new_esEs11(LT, LT) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs11(EQ, EQ) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs11(GT, GT) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (34) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_esEs11(LT, LT) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs11(EQ, EQ) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs11(GT, GT) ---------------------------------------- (35) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, True, y5, ty_Ordering) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (36) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_nubByNubBy'1(xw198, xw199, xw200, xw201, True, xw203, ba) -> new_nubByNubBy'(xw199, xw200, xw201, ba) we obtained the following new rules [LPAR04]: (new_nubByNubBy'1(LT, z0, LT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, LT, z1, ty_Ordering),new_nubByNubBy'1(LT, z0, LT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, LT, z1, ty_Ordering)) (new_nubByNubBy'1(GT, z0, GT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, GT, z1, ty_Ordering),new_nubByNubBy'1(GT, z0, GT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, GT, z1, ty_Ordering)) (new_nubByNubBy'1(EQ, z0, EQ, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, EQ, z1, ty_Ordering),new_nubByNubBy'1(EQ, z0, EQ, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, EQ, z1, ty_Ordering)) (new_nubByNubBy'1(LT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering),new_nubByNubBy'1(LT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering)) (new_nubByNubBy'1(GT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering),new_nubByNubBy'1(GT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering)) (new_nubByNubBy'1(EQ, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering),new_nubByNubBy'1(EQ, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering)) ---------------------------------------- (37) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(LT, z0, LT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, LT, z1, ty_Ordering) new_nubByNubBy'1(GT, z0, GT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, GT, z1, ty_Ordering) new_nubByNubBy'1(EQ, z0, EQ, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, EQ, z1, ty_Ordering) new_nubByNubBy'1(LT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering) new_nubByNubBy'1(GT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering) new_nubByNubBy'1(EQ, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (38) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_nubByNubBy'1(xw198, xw199, xw200, xw201, False, [], ba) -> new_nubByNubBy'(xw199, xw198, :(xw200, xw201), ba) we obtained the following new rules [LPAR04]: (new_nubByNubBy'1(EQ, z0, LT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(LT, []), ty_Ordering),new_nubByNubBy'1(EQ, z0, LT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(LT, []), ty_Ordering)) (new_nubByNubBy'1(LT, z0, EQ, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(EQ, []), ty_Ordering),new_nubByNubBy'1(LT, z0, EQ, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(EQ, []), ty_Ordering)) (new_nubByNubBy'1(GT, z0, EQ, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(EQ, []), ty_Ordering),new_nubByNubBy'1(GT, z0, EQ, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(EQ, []), ty_Ordering)) (new_nubByNubBy'1(EQ, z0, GT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(GT, []), ty_Ordering),new_nubByNubBy'1(EQ, z0, GT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(GT, []), ty_Ordering)) (new_nubByNubBy'1(GT, z0, LT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(LT, []), ty_Ordering),new_nubByNubBy'1(GT, z0, LT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(LT, []), ty_Ordering)) (new_nubByNubBy'1(LT, z0, GT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(GT, []), ty_Ordering),new_nubByNubBy'1(LT, z0, GT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(GT, []), ty_Ordering)) (new_nubByNubBy'1(EQ, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(z1, z2), ty_Ordering),new_nubByNubBy'1(EQ, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(z1, z2), ty_Ordering)) (new_nubByNubBy'1(LT, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(z1, z2), ty_Ordering),new_nubByNubBy'1(LT, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(z1, z2), ty_Ordering)) (new_nubByNubBy'1(GT, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(z1, z2), ty_Ordering),new_nubByNubBy'1(GT, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(z1, z2), ty_Ordering)) ---------------------------------------- (39) Obligation: Q DP problem: The TRS P consists of the following rules: new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(LT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) new_nubByNubBy'1(GT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(EQ, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, True, y5, ty_Ordering) new_nubByNubBy'1(LT, z0, LT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, LT, z1, ty_Ordering) new_nubByNubBy'1(GT, z0, GT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, GT, z1, ty_Ordering) new_nubByNubBy'1(EQ, z0, EQ, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, EQ, z1, ty_Ordering) new_nubByNubBy'1(LT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering) new_nubByNubBy'1(GT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering) new_nubByNubBy'1(EQ, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering) new_nubByNubBy'1(EQ, z0, LT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(LT, []), ty_Ordering) new_nubByNubBy'1(LT, z0, EQ, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(EQ, []), ty_Ordering) new_nubByNubBy'1(GT, z0, EQ, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(EQ, []), ty_Ordering) new_nubByNubBy'1(EQ, z0, GT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(GT, []), ty_Ordering) new_nubByNubBy'1(GT, z0, LT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(LT, []), ty_Ordering) new_nubByNubBy'1(LT, z0, GT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(GT, []), ty_Ordering) new_nubByNubBy'1(EQ, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(z1, z2), ty_Ordering) new_nubByNubBy'1(LT, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(z1, z2), ty_Ordering) new_nubByNubBy'1(GT, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(z1, z2), ty_Ordering) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (40) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_nubByNubBy'1(LT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering) The graph contains the following edges 2 >= 1, 3 >= 2, 4 >= 3, 7 >= 4 *new_nubByNubBy'1(LT, z0, LT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, LT, z1, ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 3 >= 2, 4 >= 3, 6 >= 3, 7 >= 4 *new_nubByNubBy'1(LT, z0, GT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(GT, []), ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 *new_nubByNubBy'1(EQ, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(z1, z2), ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 *new_nubByNubBy'1(EQ, z0, LT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(LT, []), ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 *new_nubByNubBy'1(EQ, z0, GT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, EQ, :(GT, []), ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 *new_nubByNubBy'1(EQ, z0, EQ, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, EQ, z1, ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 3 >= 2, 4 >= 3, 6 >= 3, 7 >= 4 *new_nubByNubBy'1(GT, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(z1, z2), ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 *new_nubByNubBy'1(GT, z0, EQ, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(EQ, []), ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 *new_nubByNubBy'1(GT, z0, LT, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, GT, :(LT, []), ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 *new_nubByNubBy'1(GT, z0, GT, z1, True, z1, ty_Ordering) -> new_nubByNubBy'(z0, GT, z1, ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 3 >= 2, 4 >= 3, 6 >= 3, 7 >= 4 *new_nubByNubBy'1(LT, z0, z1, z2, False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(z1, z2), ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 *new_nubByNubBy'1(LT, z0, EQ, [], False, [], ty_Ordering) -> new_nubByNubBy'(z0, LT, :(EQ, []), ty_Ordering) The graph contains the following edges 2 >= 1, 1 >= 2, 7 >= 4 *new_nubByNubBy'1(GT, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering) The graph contains the following edges 2 >= 1, 3 >= 2, 4 >= 3, 7 >= 4 *new_nubByNubBy'1(EQ, z0, z1, z2, True, z3, ty_Ordering) -> new_nubByNubBy'(z0, z1, z2, ty_Ordering) The graph contains the following edges 2 >= 1, 3 >= 2, 4 >= 3, 7 >= 4 *new_nubByNubBy'1(LT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, True, y5, ty_Ordering) The graph contains the following edges 1 >= 1, 6 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 6 > 6, 7 >= 7 *new_nubByNubBy'1(EQ, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, True, y5, ty_Ordering) The graph contains the following edges 1 >= 1, 6 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 6 > 6, 7 >= 7 *new_nubByNubBy'1(GT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, True, y5, ty_Ordering) The graph contains the following edges 1 >= 1, 6 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 6 > 6, 7 >= 7 *new_nubByNubBy'(:(EQ, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, LT, y3, False, y3, ty_Ordering) The graph contains the following edges 1 > 1, 1 > 2, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 *new_nubByNubBy'(:(EQ, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, GT, y3, False, y3, ty_Ordering) The graph contains the following edges 1 > 1, 1 > 2, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 *new_nubByNubBy'(:(GT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, LT, y3, False, y3, ty_Ordering) The graph contains the following edges 1 > 1, 1 > 2, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 *new_nubByNubBy'(:(GT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, EQ, y3, False, y3, ty_Ordering) The graph contains the following edges 1 > 1, 1 > 2, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 *new_nubByNubBy'(:(LT, y1), LT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, LT, y3, True, y3, ty_Ordering) The graph contains the following edges 1 > 1, 2 >= 1, 1 > 2, 1 > 3, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 *new_nubByNubBy'(:(LT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, GT, y3, False, y3, ty_Ordering) The graph contains the following edges 1 > 1, 1 > 2, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 *new_nubByNubBy'(:(LT, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(LT, y1, EQ, y3, False, y3, ty_Ordering) The graph contains the following edges 1 > 1, 1 > 2, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 *new_nubByNubBy'(:(GT, y1), GT, y3, ty_Ordering) -> new_nubByNubBy'1(GT, y1, GT, y3, True, y3, ty_Ordering) The graph contains the following edges 1 > 1, 2 >= 1, 1 > 2, 1 > 3, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 *new_nubByNubBy'(:(EQ, y1), EQ, y3, ty_Ordering) -> new_nubByNubBy'1(EQ, y1, EQ, y3, True, y3, ty_Ordering) The graph contains the following edges 1 > 1, 2 >= 1, 1 > 2, 1 > 3, 2 >= 3, 3 >= 4, 3 >= 6, 4 >= 7 *new_nubByNubBy'1(EQ, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 6, 7 >= 7 *new_nubByNubBy'1(EQ, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(EQ, y1, y2, y3, False, y5, ty_Ordering) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 6, 7 >= 7 *new_nubByNubBy'1(LT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 6, 7 >= 7 *new_nubByNubBy'1(LT, y1, y2, y3, False, :(GT, y5), ty_Ordering) -> new_nubByNubBy'1(LT, y1, y2, y3, False, y5, ty_Ordering) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 6, 7 >= 7 *new_nubByNubBy'1(GT, y1, y2, y3, False, :(EQ, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 6, 7 >= 7 *new_nubByNubBy'1(GT, y1, y2, y3, False, :(LT, y5), ty_Ordering) -> new_nubByNubBy'1(GT, y1, y2, y3, False, y5, ty_Ordering) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5, 6 > 6, 7 >= 7 ---------------------------------------- (41) YES ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: new_psPs(:(xw80, xw81), xw9, xw10, xw11, ba) -> new_psPs(xw81, xw9, xw10, xw11, ba) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_psPs(:(xw80, xw81), xw9, xw10, xw11, ba) -> new_psPs(xw81, xw9, xw10, xw11, ba) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3, 4 >= 4, 5 >= 5 ---------------------------------------- (44) YES ---------------------------------------- (45) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_flip(xw9, xw10, ba), xw110, xw111, ba) The TRS R consists of the following rules: new_esEs1(xw10, xw90, bb) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(app(ty_@2, ca), cb)) -> new_esEs10(xw10, xw90, ca, cb) new_esEs15(xw10, xw90, ty_Integer) -> new_esEs3(xw10, xw90) new_esEs15(xw10, xw90, app(ty_Maybe, cd)) -> new_esEs14(xw10, xw90, cd) new_esEs5(xw10, xw90, bg, bh) -> error([]) new_esEs11(LT, LT) -> True new_esEs15(xw10, xw90, ty_Bool) -> new_esEs9(xw10, xw90) new_esEs14(xw10, xw90, cd) -> error([]) new_esEs15(xw10, xw90, ty_Float) -> new_esEs8(xw10, xw90) new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs15(xw10, xw90, app(ty_[], cc)) -> new_esEs13(xw10, xw90, cc) new_esEs11(GT, GT) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, ca, cb) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bc, bd, be) -> error([]) new_esEs11(EQ, EQ) -> True new_esEs12(xw10, xw90) -> error([]) new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_deleteBy00(xw17, xw18, xw19, True, bf) -> xw17 new_esEs4(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, ty_@0) -> new_esEs4(xw10, xw90) new_deleteBy1(xw10, :(xw90, xw91), ba) -> new_deleteBy00(xw91, xw90, xw10, new_esEs15(xw10, xw90, ba), ba) new_esEs15(xw10, xw90, app(app(ty_Either, bg), bh)) -> new_esEs5(xw10, xw90, bg, bh) new_flip(xw9, xw10, ba) -> new_deleteBy1(xw10, xw9, ba) new_esEs15(xw10, xw90, ty_Double) -> new_esEs12(xw10, xw90) new_esEs15(xw10, xw90, ty_Int) -> new_esEs7(xw10, xw90) new_esEs13(xw10, xw90, cc) -> error([]) new_esEs15(xw10, xw90, app(app(app(ty_@3, bc), bd), be)) -> new_esEs2(xw10, xw90, bc, bd, be) new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs11(xw10, xw90) new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) new_esEs6(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(ty_Ratio, bb)) -> new_esEs1(xw10, xw90, bb) new_deleteBy1(xw10, [], ba) -> [] new_esEs8(xw10, xw90) -> error([]) new_deleteBy00(xw17, xw18, xw19, False, bf) -> :(xw18, new_deleteBy1(xw19, xw17, bf)) The set Q consists of the following terms: new_esEs7(x0, x1) new_deleteBy00(x0, x1, x2, False, x3) new_esEs15(x0, x1, app(ty_Maybe, x2)) new_esEs1(x0, x1, x2) new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) new_deleteBy1(x0, :(x1, x2), x3) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs15(x0, x1, ty_Char) new_deleteBy1(x0, [], x1) new_flip(x0, x1, x2) new_esEs6(x0, x1) new_esEs2(x0, x1, x2, x3, x4) new_esEs14(x0, x1, x2) new_esEs15(x0, x1, app(ty_Ratio, x2)) new_esEs10(x0, x1, x2, x3) new_esEs15(x0, x1, ty_Double) new_esEs15(x0, x1, ty_@0) new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) new_deleteBy00(x0, x1, x2, True, x3) new_esEs15(x0, x1, ty_Ordering) new_esEs15(x0, x1, ty_Float) new_esEs11(EQ, EQ) new_esEs13(x0, x1, x2) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs15(x0, x1, ty_Int) new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs4(x0, x1) new_esEs3(x0, x1) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs15(x0, x1, ty_Integer) new_esEs15(x0, x1, app(ty_[], x2)) new_esEs8(x0, x1) new_esEs15(x0, x1, ty_Bool) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs5(x0, x1, x2, x3) new_esEs12(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (46) TransformationProof (EQUIVALENT) 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]: (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)) ---------------------------------------- (47) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba) The TRS R consists of the following rules: new_esEs1(xw10, xw90, bb) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(app(ty_@2, ca), cb)) -> new_esEs10(xw10, xw90, ca, cb) new_esEs15(xw10, xw90, ty_Integer) -> new_esEs3(xw10, xw90) new_esEs15(xw10, xw90, app(ty_Maybe, cd)) -> new_esEs14(xw10, xw90, cd) new_esEs5(xw10, xw90, bg, bh) -> error([]) new_esEs11(LT, LT) -> True new_esEs15(xw10, xw90, ty_Bool) -> new_esEs9(xw10, xw90) new_esEs14(xw10, xw90, cd) -> error([]) new_esEs15(xw10, xw90, ty_Float) -> new_esEs8(xw10, xw90) new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs15(xw10, xw90, app(ty_[], cc)) -> new_esEs13(xw10, xw90, cc) new_esEs11(GT, GT) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, ca, cb) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bc, bd, be) -> error([]) new_esEs11(EQ, EQ) -> True new_esEs12(xw10, xw90) -> error([]) new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_deleteBy00(xw17, xw18, xw19, True, bf) -> xw17 new_esEs4(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, ty_@0) -> new_esEs4(xw10, xw90) new_deleteBy1(xw10, :(xw90, xw91), ba) -> new_deleteBy00(xw91, xw90, xw10, new_esEs15(xw10, xw90, ba), ba) new_esEs15(xw10, xw90, app(app(ty_Either, bg), bh)) -> new_esEs5(xw10, xw90, bg, bh) new_flip(xw9, xw10, ba) -> new_deleteBy1(xw10, xw9, ba) new_esEs15(xw10, xw90, ty_Double) -> new_esEs12(xw10, xw90) new_esEs15(xw10, xw90, ty_Int) -> new_esEs7(xw10, xw90) new_esEs13(xw10, xw90, cc) -> error([]) new_esEs15(xw10, xw90, app(app(app(ty_@3, bc), bd), be)) -> new_esEs2(xw10, xw90, bc, bd, be) new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs11(xw10, xw90) new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) new_esEs6(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(ty_Ratio, bb)) -> new_esEs1(xw10, xw90, bb) new_deleteBy1(xw10, [], ba) -> [] new_esEs8(xw10, xw90) -> error([]) new_deleteBy00(xw17, xw18, xw19, False, bf) -> :(xw18, new_deleteBy1(xw19, xw17, bf)) The set Q consists of the following terms: new_esEs7(x0, x1) new_deleteBy00(x0, x1, x2, False, x3) new_esEs15(x0, x1, app(ty_Maybe, x2)) new_esEs1(x0, x1, x2) new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) new_deleteBy1(x0, :(x1, x2), x3) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs15(x0, x1, ty_Char) new_deleteBy1(x0, [], x1) new_flip(x0, x1, x2) new_esEs6(x0, x1) new_esEs2(x0, x1, x2, x3, x4) new_esEs14(x0, x1, x2) new_esEs15(x0, x1, app(ty_Ratio, x2)) new_esEs10(x0, x1, x2, x3) new_esEs15(x0, x1, ty_Double) new_esEs15(x0, x1, ty_@0) new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) new_deleteBy00(x0, x1, x2, True, x3) new_esEs15(x0, x1, ty_Ordering) new_esEs15(x0, x1, ty_Float) new_esEs11(EQ, EQ) new_esEs13(x0, x1, x2) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs15(x0, x1, ty_Int) new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs4(x0, x1) new_esEs3(x0, x1) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs15(x0, x1, ty_Integer) new_esEs15(x0, x1, app(ty_[], x2)) new_esEs8(x0, x1) new_esEs15(x0, x1, ty_Bool) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs5(x0, x1, x2, x3) new_esEs12(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (48) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (49) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba) The TRS R consists of the following rules: new_deleteBy1(xw10, :(xw90, xw91), ba) -> new_deleteBy00(xw91, xw90, xw10, new_esEs15(xw10, xw90, ba), ba) new_deleteBy1(xw10, [], ba) -> [] new_esEs15(xw10, xw90, app(app(ty_@2, ca), cb)) -> new_esEs10(xw10, xw90, ca, cb) new_esEs15(xw10, xw90, ty_Integer) -> new_esEs3(xw10, xw90) new_esEs15(xw10, xw90, app(ty_Maybe, cd)) -> new_esEs14(xw10, xw90, cd) new_esEs15(xw10, xw90, ty_Bool) -> new_esEs9(xw10, xw90) new_esEs15(xw10, xw90, ty_Float) -> new_esEs8(xw10, xw90) new_esEs15(xw10, xw90, app(ty_[], cc)) -> new_esEs13(xw10, xw90, cc) new_esEs15(xw10, xw90, ty_@0) -> new_esEs4(xw10, xw90) new_esEs15(xw10, xw90, app(app(ty_Either, bg), bh)) -> new_esEs5(xw10, xw90, bg, bh) new_esEs15(xw10, xw90, ty_Double) -> new_esEs12(xw10, xw90) new_esEs15(xw10, xw90, ty_Int) -> new_esEs7(xw10, xw90) new_esEs15(xw10, xw90, app(app(app(ty_@3, bc), bd), be)) -> new_esEs2(xw10, xw90, bc, bd, be) new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs11(xw10, xw90) new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) new_esEs15(xw10, xw90, app(ty_Ratio, bb)) -> new_esEs1(xw10, xw90, bb) new_deleteBy00(xw17, xw18, xw19, True, bf) -> xw17 new_deleteBy00(xw17, xw18, xw19, False, bf) -> :(xw18, new_deleteBy1(xw19, xw17, bf)) new_esEs1(xw10, xw90, bb) -> error([]) new_esEs6(xw10, xw90) -> error([]) new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs2(xw10, xw90, bc, bd, be) -> error([]) new_esEs7(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs5(xw10, xw90, bg, bh) -> error([]) new_esEs4(xw10, xw90) -> error([]) new_esEs13(xw10, xw90, cc) -> error([]) new_esEs8(xw10, xw90) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs14(xw10, xw90, cd) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, ca, cb) -> error([]) The set Q consists of the following terms: new_esEs7(x0, x1) new_deleteBy00(x0, x1, x2, False, x3) new_esEs15(x0, x1, app(ty_Maybe, x2)) new_esEs1(x0, x1, x2) new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) new_deleteBy1(x0, :(x1, x2), x3) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs15(x0, x1, ty_Char) new_deleteBy1(x0, [], x1) new_flip(x0, x1, x2) new_esEs6(x0, x1) new_esEs2(x0, x1, x2, x3, x4) new_esEs14(x0, x1, x2) new_esEs15(x0, x1, app(ty_Ratio, x2)) new_esEs10(x0, x1, x2, x3) new_esEs15(x0, x1, ty_Double) new_esEs15(x0, x1, ty_@0) new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) new_deleteBy00(x0, x1, x2, True, x3) new_esEs15(x0, x1, ty_Ordering) new_esEs15(x0, x1, ty_Float) new_esEs11(EQ, EQ) new_esEs13(x0, x1, x2) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs15(x0, x1, ty_Int) new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs4(x0, x1) new_esEs3(x0, x1) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs15(x0, x1, ty_Integer) new_esEs15(x0, x1, app(ty_[], x2)) new_esEs8(x0, x1) new_esEs15(x0, x1, ty_Bool) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs5(x0, x1, x2, x3) new_esEs12(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (50) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_flip(x0, x1, x2) ---------------------------------------- (51) Obligation: Q DP problem: The TRS P consists of the following rules: new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba) The TRS R consists of the following rules: new_deleteBy1(xw10, :(xw90, xw91), ba) -> new_deleteBy00(xw91, xw90, xw10, new_esEs15(xw10, xw90, ba), ba) new_deleteBy1(xw10, [], ba) -> [] new_esEs15(xw10, xw90, app(app(ty_@2, ca), cb)) -> new_esEs10(xw10, xw90, ca, cb) new_esEs15(xw10, xw90, ty_Integer) -> new_esEs3(xw10, xw90) new_esEs15(xw10, xw90, app(ty_Maybe, cd)) -> new_esEs14(xw10, xw90, cd) new_esEs15(xw10, xw90, ty_Bool) -> new_esEs9(xw10, xw90) new_esEs15(xw10, xw90, ty_Float) -> new_esEs8(xw10, xw90) new_esEs15(xw10, xw90, app(ty_[], cc)) -> new_esEs13(xw10, xw90, cc) new_esEs15(xw10, xw90, ty_@0) -> new_esEs4(xw10, xw90) new_esEs15(xw10, xw90, app(app(ty_Either, bg), bh)) -> new_esEs5(xw10, xw90, bg, bh) new_esEs15(xw10, xw90, ty_Double) -> new_esEs12(xw10, xw90) new_esEs15(xw10, xw90, ty_Int) -> new_esEs7(xw10, xw90) new_esEs15(xw10, xw90, app(app(app(ty_@3, bc), bd), be)) -> new_esEs2(xw10, xw90, bc, bd, be) new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs11(xw10, xw90) new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) new_esEs15(xw10, xw90, app(ty_Ratio, bb)) -> new_esEs1(xw10, xw90, bb) new_deleteBy00(xw17, xw18, xw19, True, bf) -> xw17 new_deleteBy00(xw17, xw18, xw19, False, bf) -> :(xw18, new_deleteBy1(xw19, xw17, bf)) new_esEs1(xw10, xw90, bb) -> error([]) new_esEs6(xw10, xw90) -> error([]) new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs2(xw10, xw90, bc, bd, be) -> error([]) new_esEs7(xw10, xw90) -> error([]) new_esEs12(xw10, xw90) -> error([]) new_esEs5(xw10, xw90, bg, bh) -> error([]) new_esEs4(xw10, xw90) -> error([]) new_esEs13(xw10, xw90, cc) -> error([]) new_esEs8(xw10, xw90) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs14(xw10, xw90, cd) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, ca, cb) -> error([]) The set Q consists of the following terms: new_esEs7(x0, x1) new_deleteBy00(x0, x1, x2, False, x3) new_esEs15(x0, x1, app(ty_Maybe, x2)) new_esEs1(x0, x1, x2) new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) new_deleteBy1(x0, :(x1, x2), x3) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs15(x0, x1, ty_Char) new_deleteBy1(x0, [], x1) new_esEs6(x0, x1) new_esEs2(x0, x1, x2, x3, x4) new_esEs14(x0, x1, x2) new_esEs15(x0, x1, app(ty_Ratio, x2)) new_esEs10(x0, x1, x2, x3) new_esEs15(x0, x1, ty_Double) new_esEs15(x0, x1, ty_@0) new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) new_deleteBy00(x0, x1, x2, True, x3) new_esEs15(x0, x1, ty_Ordering) new_esEs15(x0, x1, ty_Float) new_esEs11(EQ, EQ) new_esEs13(x0, x1, x2) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs15(x0, x1, ty_Int) new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs4(x0, x1) new_esEs3(x0, x1) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs15(x0, x1, ty_Integer) new_esEs15(x0, x1, app(ty_[], x2)) new_esEs8(x0, x1) new_esEs15(x0, x1, ty_Bool) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs5(x0, x1, x2, x3) new_esEs12(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (52) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_foldl(xw9, xw10, :(xw110, xw111), ba) -> new_foldl(new_deleteBy1(xw10, xw9, ba), xw110, xw111, ba) The graph contains the following edges 3 > 2, 3 > 3, 4 >= 4 ---------------------------------------- (53) YES ---------------------------------------- (54) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy(xw10, :(xw90, xw91), bb) -> new_deleteBy0(xw91, xw90, xw10, new_esEs15(xw10, xw90, bb), bb) new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) The TRS R consists of the following rules: new_esEs1(xw10, xw90, bc) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(app(ty_@2, ca), cb)) -> new_esEs10(xw10, xw90, ca, cb) new_esEs15(xw10, xw90, ty_Integer) -> new_esEs3(xw10, xw90) new_esEs15(xw10, xw90, app(ty_Maybe, cd)) -> new_esEs14(xw10, xw90, cd) new_esEs5(xw10, xw90, bg, bh) -> error([]) new_esEs11(LT, LT) -> True new_esEs15(xw10, xw90, ty_Bool) -> new_esEs9(xw10, xw90) new_esEs14(xw10, xw90, cd) -> error([]) new_esEs15(xw10, xw90, ty_Float) -> new_esEs8(xw10, xw90) new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs15(xw10, xw90, app(ty_[], cc)) -> new_esEs13(xw10, xw90, cc) new_esEs11(GT, GT) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, ca, cb) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) new_esEs11(EQ, EQ) -> True new_esEs12(xw10, xw90) -> error([]) new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs4(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, ty_@0) -> new_esEs4(xw10, xw90) new_esEs15(xw10, xw90, app(app(ty_Either, bg), bh)) -> new_esEs5(xw10, xw90, bg, bh) new_esEs15(xw10, xw90, ty_Double) -> new_esEs12(xw10, xw90) new_esEs15(xw10, xw90, ty_Int) -> new_esEs7(xw10, xw90) new_esEs13(xw10, xw90, cc) -> error([]) new_esEs15(xw10, xw90, app(app(app(ty_@3, bd), be), bf)) -> new_esEs2(xw10, xw90, bd, be, bf) new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs11(xw10, xw90) new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) new_esEs6(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(ty_Ratio, bc)) -> new_esEs1(xw10, xw90, bc) new_esEs8(xw10, xw90) -> error([]) The set Q consists of the following terms: new_esEs7(x0, x1) new_esEs15(x0, x1, app(ty_Maybe, x2)) new_esEs15(x0, x1, app(ty_Ratio, x2)) new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs15(x0, x1, ty_Char) new_esEs6(x0, x1) new_esEs14(x0, x1, x2) new_esEs10(x0, x1, x2, x3) new_esEs15(x0, x1, ty_Double) new_esEs15(x0, x1, ty_@0) new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) new_esEs15(x0, x1, ty_Ordering) new_esEs15(x0, x1, ty_Float) new_esEs11(EQ, EQ) new_esEs13(x0, x1, x2) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs15(x0, x1, ty_Int) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs3(x0, x1) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs15(x0, x1, ty_Integer) new_esEs15(x0, x1, app(ty_[], x2)) new_esEs8(x0, x1) new_esEs15(x0, x1, ty_Bool) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs2(x0, x1, x2, x3, x4) new_esEs5(x0, x1, x2, x3) new_esEs12(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) TransformationProof (EQUIVALENT) 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]: (new_deleteBy(x0, :(x1, y2), app(app(ty_@2, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs10(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_esEs10(x0, x1, x2, x3), app(app(ty_@2, x2), x3))) (new_deleteBy(x0, :(x1, y2), ty_Integer) -> new_deleteBy0(y2, x1, x0, new_esEs3(x0, x1), ty_Integer),new_deleteBy(x0, :(x1, y2), ty_Integer) -> new_deleteBy0(y2, x1, x0, new_esEs3(x0, x1), ty_Integer)) (new_deleteBy(x0, :(x1, y2), app(ty_Maybe, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs14(x0, x1, x2), app(ty_Maybe, x2)),new_deleteBy(x0, :(x1, y2), app(ty_Maybe, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs14(x0, x1, x2), app(ty_Maybe, x2))) (new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs9(x0, x1), ty_Bool),new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs9(x0, x1), ty_Bool)) (new_deleteBy(x0, :(x1, y2), ty_Float) -> new_deleteBy0(y2, x1, x0, new_esEs8(x0, x1), ty_Float),new_deleteBy(x0, :(x1, y2), ty_Float) -> new_deleteBy0(y2, x1, x0, new_esEs8(x0, x1), ty_Float)) (new_deleteBy(x0, :(x1, y2), app(ty_[], x2)) -> new_deleteBy0(y2, x1, x0, new_esEs13(x0, x1, x2), app(ty_[], x2)),new_deleteBy(x0, :(x1, y2), app(ty_[], x2)) -> new_deleteBy0(y2, x1, x0, new_esEs13(x0, x1, x2), app(ty_[], x2))) (new_deleteBy(x0, :(x1, y2), ty_@0) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_@0),new_deleteBy(x0, :(x1, y2), ty_@0) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_@0)) (new_deleteBy(x0, :(x1, y2), app(app(ty_Either, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs5(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_esEs5(x0, x1, x2, x3), app(app(ty_Either, x2), x3))) (new_deleteBy(x0, :(x1, y2), ty_Double) -> new_deleteBy0(y2, x1, x0, new_esEs12(x0, x1), ty_Double),new_deleteBy(x0, :(x1, y2), ty_Double) -> new_deleteBy0(y2, x1, x0, new_esEs12(x0, x1), ty_Double)) (new_deleteBy(x0, :(x1, y2), ty_Int) -> new_deleteBy0(y2, x1, x0, new_esEs7(x0, x1), ty_Int),new_deleteBy(x0, :(x1, y2), ty_Int) -> new_deleteBy0(y2, x1, x0, new_esEs7(x0, x1), ty_Int)) (new_deleteBy(x0, :(x1, y2), app(app(app(ty_@3, x2), x3), x4)) -> new_deleteBy0(y2, x1, x0, new_esEs2(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_esEs2(x0, x1, x2, x3, x4), app(app(app(ty_@3, x2), x3), x4))) (new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Ordering),new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Ordering)) (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)) (new_deleteBy(x0, :(x1, y2), app(ty_Ratio, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs1(x0, x1, x2), app(ty_Ratio, x2)),new_deleteBy(x0, :(x1, y2), app(ty_Ratio, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs1(x0, x1, x2), app(ty_Ratio, x2))) ---------------------------------------- (56) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) new_deleteBy(x0, :(x1, y2), app(app(ty_@2, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs10(x0, x1, x2, x3), app(app(ty_@2, x2), x3)) new_deleteBy(x0, :(x1, y2), ty_Integer) -> new_deleteBy0(y2, x1, x0, new_esEs3(x0, x1), ty_Integer) new_deleteBy(x0, :(x1, y2), app(ty_Maybe, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs14(x0, x1, x2), app(ty_Maybe, x2)) new_deleteBy(x0, :(x1, y2), ty_Bool) -> new_deleteBy0(y2, x1, x0, new_esEs9(x0, x1), ty_Bool) new_deleteBy(x0, :(x1, y2), ty_Float) -> new_deleteBy0(y2, x1, x0, new_esEs8(x0, x1), ty_Float) new_deleteBy(x0, :(x1, y2), app(ty_[], x2)) -> new_deleteBy0(y2, x1, x0, new_esEs13(x0, x1, x2), app(ty_[], x2)) new_deleteBy(x0, :(x1, y2), ty_@0) -> new_deleteBy0(y2, x1, x0, new_esEs4(x0, x1), ty_@0) new_deleteBy(x0, :(x1, y2), app(app(ty_Either, x2), x3)) -> new_deleteBy0(y2, x1, x0, new_esEs5(x0, x1, x2, x3), app(app(ty_Either, x2), x3)) new_deleteBy(x0, :(x1, y2), ty_Double) -> new_deleteBy0(y2, x1, x0, new_esEs12(x0, x1), ty_Double) new_deleteBy(x0, :(x1, y2), ty_Int) -> new_deleteBy0(y2, x1, x0, new_esEs7(x0, x1), ty_Int) new_deleteBy(x0, :(x1, y2), app(app(app(ty_@3, x2), x3), x4)) -> new_deleteBy0(y2, x1, x0, new_esEs2(x0, x1, x2, x3, x4), app(app(app(ty_@3, x2), x3), x4)) new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Ordering) new_deleteBy(x0, :(x1, y2), ty_Char) -> new_deleteBy0(y2, x1, x0, new_esEs6(x0, x1), ty_Char) new_deleteBy(x0, :(x1, y2), app(ty_Ratio, x2)) -> new_deleteBy0(y2, x1, x0, new_esEs1(x0, x1, x2), app(ty_Ratio, x2)) The TRS R consists of the following rules: new_esEs1(xw10, xw90, bc) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(app(ty_@2, ca), cb)) -> new_esEs10(xw10, xw90, ca, cb) new_esEs15(xw10, xw90, ty_Integer) -> new_esEs3(xw10, xw90) new_esEs15(xw10, xw90, app(ty_Maybe, cd)) -> new_esEs14(xw10, xw90, cd) new_esEs5(xw10, xw90, bg, bh) -> error([]) new_esEs11(LT, LT) -> True new_esEs15(xw10, xw90, ty_Bool) -> new_esEs9(xw10, xw90) new_esEs14(xw10, xw90, cd) -> error([]) new_esEs15(xw10, xw90, ty_Float) -> new_esEs8(xw10, xw90) new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs15(xw10, xw90, app(ty_[], cc)) -> new_esEs13(xw10, xw90, cc) new_esEs11(GT, GT) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, ca, cb) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) new_esEs11(EQ, EQ) -> True new_esEs12(xw10, xw90) -> error([]) new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs4(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, ty_@0) -> new_esEs4(xw10, xw90) new_esEs15(xw10, xw90, app(app(ty_Either, bg), bh)) -> new_esEs5(xw10, xw90, bg, bh) new_esEs15(xw10, xw90, ty_Double) -> new_esEs12(xw10, xw90) new_esEs15(xw10, xw90, ty_Int) -> new_esEs7(xw10, xw90) new_esEs13(xw10, xw90, cc) -> error([]) new_esEs15(xw10, xw90, app(app(app(ty_@3, bd), be), bf)) -> new_esEs2(xw10, xw90, bd, be, bf) new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs11(xw10, xw90) new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) new_esEs6(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(ty_Ratio, bc)) -> new_esEs1(xw10, xw90, bc) new_esEs8(xw10, xw90) -> error([]) The set Q consists of the following terms: new_esEs7(x0, x1) new_esEs15(x0, x1, app(ty_Maybe, x2)) new_esEs15(x0, x1, app(ty_Ratio, x2)) new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs15(x0, x1, ty_Char) new_esEs6(x0, x1) new_esEs14(x0, x1, x2) new_esEs10(x0, x1, x2, x3) new_esEs15(x0, x1, ty_Double) new_esEs15(x0, x1, ty_@0) new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) new_esEs15(x0, x1, ty_Ordering) new_esEs15(x0, x1, ty_Float) new_esEs11(EQ, EQ) new_esEs13(x0, x1, x2) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs15(x0, x1, ty_Int) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs3(x0, x1) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs15(x0, x1, ty_Integer) new_esEs15(x0, x1, app(ty_[], x2)) new_esEs8(x0, x1) new_esEs15(x0, x1, ty_Bool) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs2(x0, x1, x2, x3, x4) new_esEs5(x0, x1, x2, x3) new_esEs12(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (57) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 13 less nodes. ---------------------------------------- (58) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Ordering) new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) The TRS R consists of the following rules: new_esEs1(xw10, xw90, bc) -> error([]) new_esEs3(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(app(ty_@2, ca), cb)) -> new_esEs10(xw10, xw90, ca, cb) new_esEs15(xw10, xw90, ty_Integer) -> new_esEs3(xw10, xw90) new_esEs15(xw10, xw90, app(ty_Maybe, cd)) -> new_esEs14(xw10, xw90, cd) new_esEs5(xw10, xw90, bg, bh) -> error([]) new_esEs11(LT, LT) -> True new_esEs15(xw10, xw90, ty_Bool) -> new_esEs9(xw10, xw90) new_esEs14(xw10, xw90, cd) -> error([]) new_esEs15(xw10, xw90, ty_Float) -> new_esEs8(xw10, xw90) new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs15(xw10, xw90, app(ty_[], cc)) -> new_esEs13(xw10, xw90, cc) new_esEs11(GT, GT) -> True new_esEs7(xw10, xw90) -> error([]) new_esEs10(xw10, xw90, ca, cb) -> error([]) new_esEs9(xw10, xw90) -> error([]) new_esEs2(xw10, xw90, bd, be, bf) -> error([]) new_esEs11(EQ, EQ) -> True new_esEs12(xw10, xw90) -> error([]) new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs4(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, ty_@0) -> new_esEs4(xw10, xw90) new_esEs15(xw10, xw90, app(app(ty_Either, bg), bh)) -> new_esEs5(xw10, xw90, bg, bh) new_esEs15(xw10, xw90, ty_Double) -> new_esEs12(xw10, xw90) new_esEs15(xw10, xw90, ty_Int) -> new_esEs7(xw10, xw90) new_esEs13(xw10, xw90, cc) -> error([]) new_esEs15(xw10, xw90, app(app(app(ty_@3, bd), be), bf)) -> new_esEs2(xw10, xw90, bd, be, bf) new_esEs15(xw10, xw90, ty_Ordering) -> new_esEs11(xw10, xw90) new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False new_esEs15(xw10, xw90, ty_Char) -> new_esEs6(xw10, xw90) new_esEs6(xw10, xw90) -> error([]) new_esEs15(xw10, xw90, app(ty_Ratio, bc)) -> new_esEs1(xw10, xw90, bc) new_esEs8(xw10, xw90) -> error([]) The set Q consists of the following terms: new_esEs7(x0, x1) new_esEs15(x0, x1, app(ty_Maybe, x2)) new_esEs15(x0, x1, app(ty_Ratio, x2)) new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs15(x0, x1, ty_Char) new_esEs6(x0, x1) new_esEs14(x0, x1, x2) new_esEs10(x0, x1, x2, x3) new_esEs15(x0, x1, ty_Double) new_esEs15(x0, x1, ty_@0) new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) new_esEs15(x0, x1, ty_Ordering) new_esEs15(x0, x1, ty_Float) new_esEs11(EQ, EQ) new_esEs13(x0, x1, x2) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs15(x0, x1, ty_Int) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs3(x0, x1) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs15(x0, x1, ty_Integer) new_esEs15(x0, x1, app(ty_[], x2)) new_esEs8(x0, x1) new_esEs15(x0, x1, ty_Bool) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs2(x0, x1, x2, x3, x4) new_esEs5(x0, x1, x2, x3) new_esEs12(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (59) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (60) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Ordering) new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) The TRS R consists of the following rules: new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False The set Q consists of the following terms: new_esEs7(x0, x1) new_esEs15(x0, x1, app(ty_Maybe, x2)) new_esEs15(x0, x1, app(ty_Ratio, x2)) new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs15(x0, x1, ty_Char) new_esEs6(x0, x1) new_esEs14(x0, x1, x2) new_esEs10(x0, x1, x2, x3) new_esEs15(x0, x1, ty_Double) new_esEs15(x0, x1, ty_@0) new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) new_esEs15(x0, x1, ty_Ordering) new_esEs15(x0, x1, ty_Float) new_esEs11(EQ, EQ) new_esEs13(x0, x1, x2) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs9(x0, x1) new_esEs15(x0, x1, ty_Int) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs3(x0, x1) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs15(x0, x1, ty_Integer) new_esEs15(x0, x1, app(ty_[], x2)) new_esEs8(x0, x1) new_esEs15(x0, x1, ty_Bool) new_esEs11(EQ, GT) new_esEs11(GT, EQ) new_esEs2(x0, x1, x2, x3, x4) new_esEs5(x0, x1, x2, x3) new_esEs12(x0, x1) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (61) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_esEs7(x0, x1) new_esEs15(x0, x1, app(ty_Maybe, x2)) new_esEs15(x0, x1, app(ty_Ratio, x2)) new_esEs15(x0, x1, app(app(ty_@2, x2), x3)) new_esEs15(x0, x1, ty_Char) new_esEs6(x0, x1) new_esEs14(x0, x1, x2) new_esEs10(x0, x1, x2, x3) new_esEs15(x0, x1, ty_Double) new_esEs15(x0, x1, ty_@0) new_esEs15(x0, x1, app(app(ty_Either, x2), x3)) new_esEs15(x0, x1, ty_Ordering) new_esEs15(x0, x1, ty_Float) new_esEs13(x0, x1, x2) new_esEs9(x0, x1) new_esEs15(x0, x1, ty_Int) new_esEs1(x0, x1, x2) new_esEs4(x0, x1) new_esEs3(x0, x1) new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4)) new_esEs15(x0, x1, ty_Integer) new_esEs15(x0, x1, app(ty_[], x2)) new_esEs8(x0, x1) new_esEs15(x0, x1, ty_Bool) new_esEs2(x0, x1, x2, x3, x4) new_esEs5(x0, x1, x2, x3) new_esEs12(x0, x1) ---------------------------------------- (62) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Ordering) new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) The TRS R consists of the following rules: new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False The set Q consists of the following terms: new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs11(EQ, EQ) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs11(EQ, GT) new_esEs11(GT, EQ) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (63) TransformationProof (EQUIVALENT) By narrowing [LPAR04] the rule new_deleteBy(x0, :(x1, y2), ty_Ordering) -> new_deleteBy0(y2, x1, x0, new_esEs11(x0, x1), ty_Ordering) at position [3] we obtained the following new rules [LPAR04]: (new_deleteBy(LT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, LT, True, ty_Ordering),new_deleteBy(LT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, LT, True, ty_Ordering)) (new_deleteBy(LT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, LT, False, ty_Ordering),new_deleteBy(LT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, LT, False, ty_Ordering)) (new_deleteBy(EQ, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, EQ, False, ty_Ordering),new_deleteBy(EQ, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, EQ, False, ty_Ordering)) (new_deleteBy(GT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, GT, True, ty_Ordering),new_deleteBy(GT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, GT, True, ty_Ordering)) (new_deleteBy(EQ, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, EQ, True, ty_Ordering),new_deleteBy(EQ, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, EQ, True, ty_Ordering)) (new_deleteBy(EQ, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, EQ, False, ty_Ordering),new_deleteBy(EQ, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, EQ, False, ty_Ordering)) (new_deleteBy(GT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, GT, False, ty_Ordering),new_deleteBy(GT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, GT, False, ty_Ordering)) (new_deleteBy(LT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, LT, False, ty_Ordering),new_deleteBy(LT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, LT, False, ty_Ordering)) (new_deleteBy(GT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, GT, False, ty_Ordering),new_deleteBy(GT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, GT, False, ty_Ordering)) ---------------------------------------- (64) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) new_deleteBy(LT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, LT, True, ty_Ordering) new_deleteBy(LT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, LT, False, ty_Ordering) new_deleteBy(EQ, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, EQ, False, ty_Ordering) new_deleteBy(GT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, GT, True, ty_Ordering) new_deleteBy(EQ, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, EQ, True, ty_Ordering) new_deleteBy(EQ, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, EQ, False, ty_Ordering) new_deleteBy(GT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, GT, False, ty_Ordering) new_deleteBy(LT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, LT, False, ty_Ordering) new_deleteBy(GT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, GT, False, ty_Ordering) The TRS R consists of the following rules: new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False The set Q consists of the following terms: new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs11(EQ, EQ) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs11(EQ, GT) new_esEs11(GT, EQ) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (65) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. ---------------------------------------- (66) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy(LT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, LT, False, ty_Ordering) new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) new_deleteBy(EQ, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, EQ, False, ty_Ordering) new_deleteBy(EQ, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, EQ, False, ty_Ordering) new_deleteBy(GT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, GT, False, ty_Ordering) new_deleteBy(LT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, LT, False, ty_Ordering) new_deleteBy(GT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, GT, False, ty_Ordering) The TRS R consists of the following rules: new_esEs11(LT, LT) -> True new_esEs11(LT, EQ) -> False new_esEs11(EQ, LT) -> False new_esEs11(GT, GT) -> True new_esEs11(EQ, EQ) -> True new_esEs11(EQ, GT) -> False new_esEs11(GT, EQ) -> False new_esEs11(LT, GT) -> False new_esEs11(GT, LT) -> False The set Q consists of the following terms: new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs11(EQ, EQ) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs11(EQ, GT) new_esEs11(GT, EQ) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (67) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (68) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy(LT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, LT, False, ty_Ordering) new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) new_deleteBy(EQ, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, EQ, False, ty_Ordering) new_deleteBy(EQ, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, EQ, False, ty_Ordering) new_deleteBy(GT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, GT, False, ty_Ordering) new_deleteBy(LT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, LT, False, ty_Ordering) new_deleteBy(GT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, GT, False, ty_Ordering) R is empty. The set Q consists of the following terms: new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs11(EQ, EQ) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs11(EQ, GT) new_esEs11(GT, EQ) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (69) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. new_esEs11(LT, GT) new_esEs11(GT, LT) new_esEs11(EQ, EQ) new_esEs11(LT, EQ) new_esEs11(EQ, LT) new_esEs11(LT, LT) new_esEs11(GT, GT) new_esEs11(EQ, GT) new_esEs11(GT, EQ) ---------------------------------------- (70) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy(LT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, LT, False, ty_Ordering) new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) new_deleteBy(EQ, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, EQ, False, ty_Ordering) new_deleteBy(EQ, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, EQ, False, ty_Ordering) new_deleteBy(GT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, GT, False, ty_Ordering) new_deleteBy(LT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, LT, False, ty_Ordering) new_deleteBy(GT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, GT, False, ty_Ordering) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (71) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_deleteBy0(xw17, xw18, xw19, False, ba) -> new_deleteBy(xw19, xw17, ba) we obtained the following new rules [LPAR04]: (new_deleteBy0(z0, EQ, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering),new_deleteBy0(z0, EQ, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering)) (new_deleteBy0(z0, LT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering),new_deleteBy0(z0, LT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering)) (new_deleteBy0(z0, GT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering),new_deleteBy0(z0, GT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering)) (new_deleteBy0(z0, EQ, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering),new_deleteBy0(z0, EQ, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering)) (new_deleteBy0(z0, GT, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering),new_deleteBy0(z0, GT, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering)) (new_deleteBy0(z0, LT, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering),new_deleteBy0(z0, LT, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering)) ---------------------------------------- (72) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy(LT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, LT, False, ty_Ordering) new_deleteBy(EQ, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, EQ, False, ty_Ordering) new_deleteBy(EQ, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, EQ, False, ty_Ordering) new_deleteBy(GT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, GT, False, ty_Ordering) new_deleteBy(LT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, LT, False, ty_Ordering) new_deleteBy(GT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, GT, False, ty_Ordering) new_deleteBy0(z0, EQ, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering) new_deleteBy0(z0, LT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering) new_deleteBy0(z0, GT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering) new_deleteBy0(z0, EQ, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering) new_deleteBy0(z0, GT, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering) new_deleteBy0(z0, LT, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (73) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs. ---------------------------------------- (74) Complex Obligation (AND) ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy0(z0, EQ, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering) new_deleteBy(GT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, GT, False, ty_Ordering) new_deleteBy(GT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, GT, False, ty_Ordering) new_deleteBy0(z0, LT, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_deleteBy(GT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, GT, False, ty_Ordering) The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 3 >= 5 *new_deleteBy(GT, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, GT, False, ty_Ordering) The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 3 >= 5 *new_deleteBy0(z0, EQ, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering) The graph contains the following edges 3 >= 1, 1 >= 2, 5 >= 3 *new_deleteBy0(z0, LT, GT, False, ty_Ordering) -> new_deleteBy(GT, z0, ty_Ordering) The graph contains the following edges 3 >= 1, 1 >= 2, 5 >= 3 ---------------------------------------- (77) YES ---------------------------------------- (78) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy0(z0, LT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering) new_deleteBy(EQ, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, EQ, False, ty_Ordering) new_deleteBy(EQ, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, EQ, False, ty_Ordering) new_deleteBy0(z0, GT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (79) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_deleteBy(EQ, :(LT, y2), ty_Ordering) -> new_deleteBy0(y2, LT, EQ, False, ty_Ordering) The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 3 >= 5 *new_deleteBy(EQ, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, EQ, False, ty_Ordering) The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 3 >= 5 *new_deleteBy0(z0, LT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering) The graph contains the following edges 3 >= 1, 1 >= 2, 5 >= 3 *new_deleteBy0(z0, GT, EQ, False, ty_Ordering) -> new_deleteBy(EQ, z0, ty_Ordering) The graph contains the following edges 3 >= 1, 1 >= 2, 5 >= 3 ---------------------------------------- (80) YES ---------------------------------------- (81) Obligation: Q DP problem: The TRS P consists of the following rules: new_deleteBy0(z0, EQ, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering) new_deleteBy(LT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, LT, False, ty_Ordering) new_deleteBy(LT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, LT, False, ty_Ordering) new_deleteBy0(z0, GT, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (82) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_deleteBy(LT, :(EQ, y2), ty_Ordering) -> new_deleteBy0(y2, EQ, LT, False, ty_Ordering) The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 3 >= 5 *new_deleteBy(LT, :(GT, y2), ty_Ordering) -> new_deleteBy0(y2, GT, LT, False, ty_Ordering) The graph contains the following edges 2 > 1, 2 > 2, 1 >= 3, 3 >= 5 *new_deleteBy0(z0, EQ, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering) The graph contains the following edges 3 >= 1, 1 >= 2, 5 >= 3 *new_deleteBy0(z0, GT, LT, False, ty_Ordering) -> new_deleteBy(LT, z0, ty_Ordering) The graph contains the following edges 3 >= 1, 1 >= 2, 5 >= 3 ---------------------------------------- (83) YES