10.34/4.43 YES 12.58/4.98 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 12.58/4.98 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 12.58/4.98 12.58/4.98 12.58/4.98 H-Termination with start terms of the given HASKELL could be proven: 12.58/4.98 12.58/4.98 (0) HASKELL 12.58/4.98 (1) IFR [EQUIVALENT, 0 ms] 12.58/4.98 (2) HASKELL 12.58/4.98 (3) BR [EQUIVALENT, 0 ms] 12.58/4.98 (4) HASKELL 12.58/4.98 (5) COR [EQUIVALENT, 28 ms] 12.58/4.98 (6) HASKELL 12.58/4.98 (7) Narrow [SOUND, 0 ms] 12.58/4.98 (8) AND 12.58/4.98 (9) QDP 12.58/4.98 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.58/4.98 (11) YES 12.58/4.98 (12) QDP 12.58/4.98 (13) DependencyGraphProof [EQUIVALENT, 0 ms] 12.58/4.98 (14) AND 12.58/4.98 (15) QDP 12.58/4.98 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.58/4.98 (17) YES 12.58/4.98 (18) QDP 12.58/4.98 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.58/4.98 (20) YES 12.58/4.98 (21) QDP 12.58/4.98 (22) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.58/4.98 (23) YES 12.58/4.98 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (0) 12.58/4.98 Obligation: 12.58/4.98 mainModule Main 12.58/4.98 module Maybe where { 12.58/4.98 import qualified List; 12.58/4.98 import qualified Main; 12.58/4.98 import qualified Prelude; 12.58/4.98 } 12.58/4.98 module List where { 12.58/4.98 import qualified Main; 12.58/4.98 import qualified Maybe; 12.58/4.98 import qualified Prelude; 12.58/4.98 infix 5 \\; 12.58/4.98 (\\) :: Eq a => [a] -> [a] -> [a]; 12.58/4.98 (\\) = foldl (flip delete); 12.58/4.98 12.58/4.98 delete :: Eq a => a -> [a] -> [a]; 12.58/4.98 delete = deleteBy (==); 12.58/4.98 12.58/4.98 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 12.58/4.98 deleteBy _ _ [] = []; 12.58/4.98 deleteBy eq x (y : ys) = if x `eq` y then ys else y : deleteBy eq x ys; 12.58/4.98 12.58/4.98 } 12.58/4.98 module Main where { 12.58/4.98 import qualified List; 12.58/4.98 import qualified Maybe; 12.58/4.98 import qualified Prelude; 12.58/4.98 } 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (1) IFR (EQUIVALENT) 12.58/4.98 If Reductions: 12.58/4.98 The following If expression 12.58/4.98 "if eq x y then ys else y : deleteBy eq x ys" 12.58/4.98 is transformed to 12.58/4.98 "deleteBy0 ys y eq x True = ys; 12.58/4.98 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 12.58/4.98 " 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (2) 12.58/4.98 Obligation: 12.58/4.98 mainModule Main 12.58/4.98 module Maybe where { 12.58/4.98 import qualified List; 12.58/4.98 import qualified Main; 12.58/4.98 import qualified Prelude; 12.58/4.98 } 12.58/4.98 module List where { 12.58/4.98 import qualified Main; 12.58/4.98 import qualified Maybe; 12.58/4.98 import qualified Prelude; 12.58/4.98 infix 5 \\; 12.58/4.98 (\\) :: Eq a => [a] -> [a] -> [a]; 12.58/4.98 (\\) = foldl (flip delete); 12.58/4.98 12.58/4.98 delete :: Eq a => a -> [a] -> [a]; 12.58/4.98 delete = deleteBy (==); 12.58/4.98 12.58/4.98 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 12.58/4.98 deleteBy _ _ [] = []; 12.58/4.98 deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); 12.58/4.98 12.58/4.98 deleteBy0 ys y eq x True = ys; 12.58/4.98 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 12.58/4.98 12.58/4.98 } 12.58/4.98 module Main where { 12.58/4.98 import qualified List; 12.58/4.98 import qualified Maybe; 12.58/4.98 import qualified Prelude; 12.58/4.98 } 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (3) BR (EQUIVALENT) 12.58/4.98 Replaced joker patterns by fresh variables and removed binding patterns. 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (4) 12.58/4.98 Obligation: 12.58/4.98 mainModule Main 12.58/4.98 module Maybe where { 12.58/4.98 import qualified List; 12.58/4.98 import qualified Main; 12.58/4.98 import qualified Prelude; 12.58/4.98 } 12.58/4.98 module List where { 12.58/4.98 import qualified Main; 12.58/4.98 import qualified Maybe; 12.58/4.98 import qualified Prelude; 12.58/4.98 infix 5 \\; 12.58/4.98 (\\) :: Eq a => [a] -> [a] -> [a]; 12.58/4.98 (\\) = foldl (flip delete); 12.58/4.98 12.58/4.98 delete :: Eq a => a -> [a] -> [a]; 12.58/4.98 delete = deleteBy (==); 12.58/4.98 12.58/4.98 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 12.58/4.98 deleteBy vy vz [] = []; 12.58/4.98 deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); 12.58/4.98 12.58/4.98 deleteBy0 ys y eq x True = ys; 12.58/4.98 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 12.58/4.98 12.58/4.98 } 12.58/4.98 module Main where { 12.58/4.98 import qualified List; 12.58/4.98 import qualified Maybe; 12.58/4.98 import qualified Prelude; 12.58/4.98 } 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (5) COR (EQUIVALENT) 12.58/4.98 Cond Reductions: 12.58/4.98 The following Function with conditions 12.58/4.98 "undefined |Falseundefined; 12.58/4.98 " 12.58/4.98 is transformed to 12.58/4.98 "undefined = undefined1; 12.58/4.98 " 12.58/4.98 "undefined0 True = undefined; 12.58/4.98 " 12.58/4.98 "undefined1 = undefined0 False; 12.58/4.98 " 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (6) 12.58/4.98 Obligation: 12.58/4.98 mainModule Main 12.58/4.98 module Maybe where { 12.58/4.98 import qualified List; 12.58/4.98 import qualified Main; 12.58/4.98 import qualified Prelude; 12.58/4.98 } 12.58/4.98 module List where { 12.58/4.98 import qualified Main; 12.58/4.98 import qualified Maybe; 12.58/4.98 import qualified Prelude; 12.58/4.98 infix 5 \\; 12.58/4.98 (\\) :: Eq a => [a] -> [a] -> [a]; 12.58/4.98 (\\) = foldl (flip delete); 12.58/4.98 12.58/4.98 delete :: Eq a => a -> [a] -> [a]; 12.58/4.98 delete = deleteBy (==); 12.58/4.98 12.58/4.98 deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]; 12.58/4.98 deleteBy vy vz [] = []; 12.58/4.98 deleteBy eq x (y : ys) = deleteBy0 ys y eq x (x `eq` y); 12.58/4.98 12.58/4.98 deleteBy0 ys y eq x True = ys; 12.58/4.98 deleteBy0 ys y eq x False = y : deleteBy eq x ys; 12.58/4.98 12.58/4.98 } 12.58/4.98 module Main where { 12.58/4.98 import qualified List; 12.58/4.98 import qualified Maybe; 12.58/4.98 import qualified Prelude; 12.58/4.98 } 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (7) Narrow (SOUND) 12.58/4.98 Haskell To QDPs 12.58/4.98 12.58/4.98 digraph dp_graph { 12.58/4.98 node [outthreshold=100, inthreshold=100];1[label="(List.\\)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 12.58/4.98 3[label="wu3 (List.\\)",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 12.58/4.98 4[label="wu3 (List.\\) wu4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 12.58/4.98 5[label="foldl (flip List.delete) wu3 wu4",fontsize=16,color="burlywood",shape="triangle"];66[label="wu4/wu40 : wu41",fontsize=10,color="white",style="solid",shape="box"];5 -> 66[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 66 -> 6[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 67[label="wu4/[]",fontsize=10,color="white",style="solid",shape="box"];5 -> 67[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 67 -> 7[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 6[label="foldl (flip List.delete) wu3 (wu40 : wu41)",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 12.58/4.98 7[label="foldl (flip List.delete) wu3 []",fontsize=16,color="black",shape="box"];7 -> 9[label="",style="solid", color="black", weight=3]; 12.58/4.98 8 -> 5[label="",style="dashed", color="red", weight=0]; 12.58/4.98 8[label="foldl (flip List.delete) (flip List.delete wu3 wu40) wu41",fontsize=16,color="magenta"];8 -> 10[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 8 -> 11[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 9[label="wu3",fontsize=16,color="green",shape="box"];10[label="flip List.delete wu3 wu40",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 12.58/4.98 11[label="wu41",fontsize=16,color="green",shape="box"];12[label="List.delete wu40 wu3",fontsize=16,color="black",shape="box"];12 -> 13[label="",style="solid", color="black", weight=3]; 12.58/4.98 13[label="List.deleteBy (==) wu40 wu3",fontsize=16,color="burlywood",shape="triangle"];68[label="wu3/wu30 : wu31",fontsize=10,color="white",style="solid",shape="box"];13 -> 68[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 68 -> 14[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 69[label="wu3/[]",fontsize=10,color="white",style="solid",shape="box"];13 -> 69[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 69 -> 15[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 14[label="List.deleteBy (==) wu40 (wu30 : wu31)",fontsize=16,color="black",shape="box"];14 -> 16[label="",style="solid", color="black", weight=3]; 12.58/4.98 15[label="List.deleteBy (==) wu40 []",fontsize=16,color="black",shape="box"];15 -> 17[label="",style="solid", color="black", weight=3]; 12.58/4.98 16[label="List.deleteBy0 wu31 wu30 (==) wu40 ((==) wu40 wu30)",fontsize=16,color="burlywood",shape="box"];70[label="wu40/LT",fontsize=10,color="white",style="solid",shape="box"];16 -> 70[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 70 -> 18[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 71[label="wu40/EQ",fontsize=10,color="white",style="solid",shape="box"];16 -> 71[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 71 -> 19[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 72[label="wu40/GT",fontsize=10,color="white",style="solid",shape="box"];16 -> 72[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 72 -> 20[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 17[label="[]",fontsize=16,color="green",shape="box"];18[label="List.deleteBy0 wu31 wu30 (==) LT ((==) LT wu30)",fontsize=16,color="burlywood",shape="box"];73[label="wu30/LT",fontsize=10,color="white",style="solid",shape="box"];18 -> 73[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 73 -> 21[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 74[label="wu30/EQ",fontsize=10,color="white",style="solid",shape="box"];18 -> 74[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 74 -> 22[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 75[label="wu30/GT",fontsize=10,color="white",style="solid",shape="box"];18 -> 75[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 75 -> 23[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 19[label="List.deleteBy0 wu31 wu30 (==) EQ ((==) EQ wu30)",fontsize=16,color="burlywood",shape="box"];76[label="wu30/LT",fontsize=10,color="white",style="solid",shape="box"];19 -> 76[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 76 -> 24[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 77[label="wu30/EQ",fontsize=10,color="white",style="solid",shape="box"];19 -> 77[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 77 -> 25[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 78[label="wu30/GT",fontsize=10,color="white",style="solid",shape="box"];19 -> 78[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 78 -> 26[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 20[label="List.deleteBy0 wu31 wu30 (==) GT ((==) GT wu30)",fontsize=16,color="burlywood",shape="box"];79[label="wu30/LT",fontsize=10,color="white",style="solid",shape="box"];20 -> 79[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 79 -> 27[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 80[label="wu30/EQ",fontsize=10,color="white",style="solid",shape="box"];20 -> 80[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 80 -> 28[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 81[label="wu30/GT",fontsize=10,color="white",style="solid",shape="box"];20 -> 81[label="",style="solid", color="burlywood", weight=9]; 12.58/4.98 81 -> 29[label="",style="solid", color="burlywood", weight=3]; 12.58/4.98 21[label="List.deleteBy0 wu31 LT (==) LT ((==) LT LT)",fontsize=16,color="black",shape="box"];21 -> 30[label="",style="solid", color="black", weight=3]; 12.58/4.98 22[label="List.deleteBy0 wu31 EQ (==) LT ((==) LT EQ)",fontsize=16,color="black",shape="box"];22 -> 31[label="",style="solid", color="black", weight=3]; 12.58/4.98 23[label="List.deleteBy0 wu31 GT (==) LT ((==) LT GT)",fontsize=16,color="black",shape="box"];23 -> 32[label="",style="solid", color="black", weight=3]; 12.58/4.98 24[label="List.deleteBy0 wu31 LT (==) EQ ((==) EQ LT)",fontsize=16,color="black",shape="box"];24 -> 33[label="",style="solid", color="black", weight=3]; 12.58/4.98 25[label="List.deleteBy0 wu31 EQ (==) EQ ((==) EQ EQ)",fontsize=16,color="black",shape="box"];25 -> 34[label="",style="solid", color="black", weight=3]; 12.58/4.98 26[label="List.deleteBy0 wu31 GT (==) EQ ((==) EQ GT)",fontsize=16,color="black",shape="box"];26 -> 35[label="",style="solid", color="black", weight=3]; 12.58/4.98 27[label="List.deleteBy0 wu31 LT (==) GT ((==) GT LT)",fontsize=16,color="black",shape="box"];27 -> 36[label="",style="solid", color="black", weight=3]; 12.58/4.98 28[label="List.deleteBy0 wu31 EQ (==) GT ((==) GT EQ)",fontsize=16,color="black",shape="box"];28 -> 37[label="",style="solid", color="black", weight=3]; 12.58/4.98 29[label="List.deleteBy0 wu31 GT (==) GT ((==) GT GT)",fontsize=16,color="black",shape="box"];29 -> 38[label="",style="solid", color="black", weight=3]; 12.58/4.98 30[label="List.deleteBy0 wu31 LT (==) LT True",fontsize=16,color="black",shape="box"];30 -> 39[label="",style="solid", color="black", weight=3]; 12.58/4.98 31[label="List.deleteBy0 wu31 EQ (==) LT False",fontsize=16,color="black",shape="box"];31 -> 40[label="",style="solid", color="black", weight=3]; 12.58/4.98 32[label="List.deleteBy0 wu31 GT (==) LT False",fontsize=16,color="black",shape="box"];32 -> 41[label="",style="solid", color="black", weight=3]; 12.58/4.98 33[label="List.deleteBy0 wu31 LT (==) EQ False",fontsize=16,color="black",shape="box"];33 -> 42[label="",style="solid", color="black", weight=3]; 12.58/4.98 34[label="List.deleteBy0 wu31 EQ (==) EQ True",fontsize=16,color="black",shape="box"];34 -> 43[label="",style="solid", color="black", weight=3]; 12.58/4.98 35[label="List.deleteBy0 wu31 GT (==) EQ False",fontsize=16,color="black",shape="box"];35 -> 44[label="",style="solid", color="black", weight=3]; 12.58/4.98 36[label="List.deleteBy0 wu31 LT (==) GT False",fontsize=16,color="black",shape="box"];36 -> 45[label="",style="solid", color="black", weight=3]; 12.58/4.98 37[label="List.deleteBy0 wu31 EQ (==) GT False",fontsize=16,color="black",shape="box"];37 -> 46[label="",style="solid", color="black", weight=3]; 12.58/4.98 38[label="List.deleteBy0 wu31 GT (==) GT True",fontsize=16,color="black",shape="box"];38 -> 47[label="",style="solid", color="black", weight=3]; 12.58/4.98 39[label="wu31",fontsize=16,color="green",shape="box"];40[label="EQ : List.deleteBy (==) LT wu31",fontsize=16,color="green",shape="box"];40 -> 48[label="",style="dashed", color="green", weight=3]; 12.58/4.98 41[label="GT : List.deleteBy (==) LT wu31",fontsize=16,color="green",shape="box"];41 -> 49[label="",style="dashed", color="green", weight=3]; 12.58/4.98 42[label="LT : List.deleteBy (==) EQ wu31",fontsize=16,color="green",shape="box"];42 -> 50[label="",style="dashed", color="green", weight=3]; 12.58/4.98 43[label="wu31",fontsize=16,color="green",shape="box"];44[label="GT : List.deleteBy (==) EQ wu31",fontsize=16,color="green",shape="box"];44 -> 51[label="",style="dashed", color="green", weight=3]; 12.58/4.98 45[label="LT : List.deleteBy (==) GT wu31",fontsize=16,color="green",shape="box"];45 -> 52[label="",style="dashed", color="green", weight=3]; 12.58/4.98 46[label="EQ : List.deleteBy (==) GT wu31",fontsize=16,color="green",shape="box"];46 -> 53[label="",style="dashed", color="green", weight=3]; 12.58/4.98 47[label="wu31",fontsize=16,color="green",shape="box"];48 -> 13[label="",style="dashed", color="red", weight=0]; 12.58/4.98 48[label="List.deleteBy (==) LT wu31",fontsize=16,color="magenta"];48 -> 54[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 48 -> 55[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 49 -> 13[label="",style="dashed", color="red", weight=0]; 12.58/4.98 49[label="List.deleteBy (==) LT wu31",fontsize=16,color="magenta"];49 -> 56[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 49 -> 57[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 50 -> 13[label="",style="dashed", color="red", weight=0]; 12.58/4.98 50[label="List.deleteBy (==) EQ wu31",fontsize=16,color="magenta"];50 -> 58[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 50 -> 59[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 51 -> 13[label="",style="dashed", color="red", weight=0]; 12.58/4.98 51[label="List.deleteBy (==) EQ wu31",fontsize=16,color="magenta"];51 -> 60[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 51 -> 61[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 52 -> 13[label="",style="dashed", color="red", weight=0]; 12.58/4.98 52[label="List.deleteBy (==) GT wu31",fontsize=16,color="magenta"];52 -> 62[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 52 -> 63[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 53 -> 13[label="",style="dashed", color="red", weight=0]; 12.58/4.98 53[label="List.deleteBy (==) GT wu31",fontsize=16,color="magenta"];53 -> 64[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 53 -> 65[label="",style="dashed", color="magenta", weight=3]; 12.58/4.98 54[label="wu31",fontsize=16,color="green",shape="box"];55[label="LT",fontsize=16,color="green",shape="box"];56[label="wu31",fontsize=16,color="green",shape="box"];57[label="LT",fontsize=16,color="green",shape="box"];58[label="wu31",fontsize=16,color="green",shape="box"];59[label="EQ",fontsize=16,color="green",shape="box"];60[label="wu31",fontsize=16,color="green",shape="box"];61[label="EQ",fontsize=16,color="green",shape="box"];62[label="wu31",fontsize=16,color="green",shape="box"];63[label="GT",fontsize=16,color="green",shape="box"];64[label="wu31",fontsize=16,color="green",shape="box"];65[label="GT",fontsize=16,color="green",shape="box"];} 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (8) 12.58/4.98 Complex Obligation (AND) 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (9) 12.58/4.98 Obligation: 12.58/4.98 Q DP problem: 12.58/4.98 The TRS P consists of the following rules: 12.58/4.98 12.58/4.98 new_foldl(wu3, :(wu40, wu41)) -> new_foldl(new_deleteBy0(wu40, wu3), wu41) 12.58/4.98 12.58/4.98 The TRS R consists of the following rules: 12.58/4.98 12.58/4.98 new_deleteBy0(wu40, []) -> [] 12.58/4.98 new_deleteBy0(LT, :(EQ, wu31)) -> :(EQ, new_deleteBy0(LT, wu31)) 12.58/4.98 new_deleteBy0(LT, :(LT, wu31)) -> wu31 12.58/4.98 new_deleteBy0(EQ, :(EQ, wu31)) -> wu31 12.58/4.98 new_deleteBy0(GT, :(LT, wu31)) -> :(LT, new_deleteBy0(GT, wu31)) 12.58/4.98 new_deleteBy0(LT, :(GT, wu31)) -> :(GT, new_deleteBy0(LT, wu31)) 12.58/4.98 new_deleteBy0(EQ, :(LT, wu31)) -> :(LT, new_deleteBy0(EQ, wu31)) 12.58/4.98 new_deleteBy0(GT, :(GT, wu31)) -> wu31 12.58/4.98 new_deleteBy0(EQ, :(GT, wu31)) -> :(GT, new_deleteBy0(EQ, wu31)) 12.58/4.98 new_deleteBy0(GT, :(EQ, wu31)) -> :(EQ, new_deleteBy0(GT, wu31)) 12.58/4.98 12.58/4.98 The set Q consists of the following terms: 12.58/4.98 12.58/4.98 new_deleteBy0(GT, :(LT, x0)) 12.58/4.98 new_deleteBy0(EQ, :(GT, x0)) 12.58/4.98 new_deleteBy0(x0, []) 12.58/4.98 new_deleteBy0(LT, :(GT, x0)) 12.58/4.98 new_deleteBy0(GT, :(EQ, x0)) 12.58/4.98 new_deleteBy0(GT, :(GT, x0)) 12.58/4.98 new_deleteBy0(LT, :(LT, x0)) 12.58/4.98 new_deleteBy0(EQ, :(EQ, x0)) 12.58/4.98 new_deleteBy0(EQ, :(LT, x0)) 12.58/4.98 new_deleteBy0(LT, :(EQ, x0)) 12.58/4.98 12.58/4.98 We have to consider all minimal (P,Q,R)-chains. 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (10) QDPSizeChangeProof (EQUIVALENT) 12.58/4.98 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. 12.58/4.98 12.58/4.98 From the DPs we obtained the following set of size-change graphs: 12.58/4.98 *new_foldl(wu3, :(wu40, wu41)) -> new_foldl(new_deleteBy0(wu40, wu3), wu41) 12.58/4.98 The graph contains the following edges 2 > 2 12.58/4.98 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (11) 12.58/4.98 YES 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (12) 12.58/4.98 Obligation: 12.58/4.98 Q DP problem: 12.58/4.98 The TRS P consists of the following rules: 12.58/4.98 12.58/4.98 new_deleteBy(GT, :(EQ, wu31)) -> new_deleteBy(GT, wu31) 12.58/4.98 new_deleteBy(EQ, :(GT, wu31)) -> new_deleteBy(EQ, wu31) 12.58/4.98 new_deleteBy(EQ, :(LT, wu31)) -> new_deleteBy(EQ, wu31) 12.58/4.98 new_deleteBy(LT, :(GT, wu31)) -> new_deleteBy(LT, wu31) 12.58/4.98 new_deleteBy(LT, :(EQ, wu31)) -> new_deleteBy(LT, wu31) 12.58/4.98 new_deleteBy(GT, :(LT, wu31)) -> new_deleteBy(GT, wu31) 12.58/4.98 12.58/4.98 R is empty. 12.58/4.98 Q is empty. 12.58/4.98 We have to consider all minimal (P,Q,R)-chains. 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (13) DependencyGraphProof (EQUIVALENT) 12.58/4.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs. 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (14) 12.58/4.98 Complex Obligation (AND) 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (15) 12.58/4.98 Obligation: 12.58/4.98 Q DP problem: 12.58/4.98 The TRS P consists of the following rules: 12.58/4.98 12.58/4.98 new_deleteBy(LT, :(EQ, wu31)) -> new_deleteBy(LT, wu31) 12.58/4.98 new_deleteBy(LT, :(GT, wu31)) -> new_deleteBy(LT, wu31) 12.58/4.98 12.58/4.98 R is empty. 12.58/4.98 Q is empty. 12.58/4.98 We have to consider all minimal (P,Q,R)-chains. 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (16) QDPSizeChangeProof (EQUIVALENT) 12.58/4.98 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. 12.58/4.98 12.58/4.98 From the DPs we obtained the following set of size-change graphs: 12.58/4.98 *new_deleteBy(LT, :(EQ, wu31)) -> new_deleteBy(LT, wu31) 12.58/4.98 The graph contains the following edges 1 >= 1, 2 > 2 12.58/4.98 12.58/4.98 12.58/4.98 *new_deleteBy(LT, :(GT, wu31)) -> new_deleteBy(LT, wu31) 12.58/4.98 The graph contains the following edges 1 >= 1, 2 > 2 12.58/4.98 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (17) 12.58/4.98 YES 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (18) 12.58/4.98 Obligation: 12.58/4.98 Q DP problem: 12.58/4.98 The TRS P consists of the following rules: 12.58/4.98 12.58/4.98 new_deleteBy(EQ, :(LT, wu31)) -> new_deleteBy(EQ, wu31) 12.58/4.98 new_deleteBy(EQ, :(GT, wu31)) -> new_deleteBy(EQ, wu31) 12.58/4.98 12.58/4.98 R is empty. 12.58/4.98 Q is empty. 12.58/4.98 We have to consider all minimal (P,Q,R)-chains. 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (19) QDPSizeChangeProof (EQUIVALENT) 12.58/4.98 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. 12.58/4.98 12.58/4.98 From the DPs we obtained the following set of size-change graphs: 12.58/4.98 *new_deleteBy(EQ, :(LT, wu31)) -> new_deleteBy(EQ, wu31) 12.58/4.98 The graph contains the following edges 1 >= 1, 2 > 2 12.58/4.98 12.58/4.98 12.58/4.98 *new_deleteBy(EQ, :(GT, wu31)) -> new_deleteBy(EQ, wu31) 12.58/4.98 The graph contains the following edges 1 >= 1, 2 > 2 12.58/4.98 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (20) 12.58/4.98 YES 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (21) 12.58/4.98 Obligation: 12.58/4.98 Q DP problem: 12.58/4.98 The TRS P consists of the following rules: 12.58/4.98 12.58/4.98 new_deleteBy(GT, :(LT, wu31)) -> new_deleteBy(GT, wu31) 12.58/4.98 new_deleteBy(GT, :(EQ, wu31)) -> new_deleteBy(GT, wu31) 12.58/4.98 12.58/4.98 R is empty. 12.58/4.98 Q is empty. 12.58/4.98 We have to consider all minimal (P,Q,R)-chains. 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (22) QDPSizeChangeProof (EQUIVALENT) 12.58/4.98 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. 12.58/4.98 12.58/4.98 From the DPs we obtained the following set of size-change graphs: 12.58/4.98 *new_deleteBy(GT, :(LT, wu31)) -> new_deleteBy(GT, wu31) 12.58/4.98 The graph contains the following edges 1 >= 1, 2 > 2 12.58/4.98 12.58/4.98 12.58/4.98 *new_deleteBy(GT, :(EQ, wu31)) -> new_deleteBy(GT, wu31) 12.58/4.98 The graph contains the following edges 1 >= 1, 2 > 2 12.58/4.98 12.58/4.98 12.58/4.98 ---------------------------------------- 12.58/4.98 12.58/4.98 (23) 12.58/4.98 YES 12.58/5.01 EOF