/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/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) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 0 ms] (4) HASKELL (5) LetRed [EQUIVALENT, 0 ms] (6) HASKELL (7) NumRed [SOUND, 0 ms] (8) HASKELL (9) Narrow [SOUND, 0 ms] (10) QDP (11) TransformationProof [EQUIVALENT, 0 ms] (12) QDP (13) QDPSizeChangeProof [EQUIVALENT, 0 ms] (14) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) COR (EQUIVALENT) Cond Reductions: The following Function with conditions "undefined |Falseundefined; " is transformed to "undefined = undefined1; " "undefined0 True = undefined; " "undefined1 = undefined0 False; " ---------------------------------------- (4) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (5) LetRed (EQUIVALENT) Let/Where Reductions: The bindings of the following Let/Where expression "(showChar '[') . (shows x) . showl xs where { showl [] = showChar ']'; showl (x : xs) = (showChar ',') . (shows x) . showl xs; } " are unpacked to the following functions on top level "showListShowl [] = showChar ']'; showListShowl (x : xs) = (showChar ',') . (shows x) . showListShowl xs; " ---------------------------------------- (6) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (7) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (8) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (9) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="showList",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="showList vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="showList vx3 vx4",fontsize=16,color="burlywood",shape="triangle"];139[label="vx3/vx30 : vx31",fontsize=10,color="white",style="solid",shape="box"];4 -> 139[label="",style="solid", color="burlywood", weight=9]; 139 -> 5[label="",style="solid", color="burlywood", weight=3]; 140[label="vx3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 140[label="",style="solid", color="burlywood", weight=9]; 140 -> 6[label="",style="solid", color="burlywood", weight=3]; 5[label="showList (vx30 : vx31) vx4",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 6[label="showList [] vx4",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 7 -> 9[label="",style="dashed", color="red", weight=0]; 7[label="(showChar (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) . (shows vx30) . showListShowl vx31",fontsize=16,color="magenta"];7 -> 10[label="",style="dashed", color="magenta", weight=3]; 7 -> 11[label="",style="dashed", color="magenta", weight=3]; 7 -> 12[label="",style="dashed", color="magenta", weight=3]; 7 -> 13[label="",style="dashed", color="magenta", weight=3]; 8 -> 18[label="",style="dashed", color="red", weight=0]; 8[label="showString (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) : []) vx4",fontsize=16,color="magenta"];8 -> 19[label="",style="dashed", color="magenta", weight=3]; 8 -> 20[label="",style="dashed", color="magenta", weight=3]; 8 -> 21[label="",style="dashed", color="magenta", weight=3]; 10[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];11[label="vx30",fontsize=16,color="green",shape="box"];12[label="vx31",fontsize=16,color="green",shape="box"];13[label="vx4",fontsize=16,color="green",shape="box"];9[label="(showChar (Char (Succ vx6))) . (shows vx7) . showListShowl vx8",fontsize=16,color="black",shape="triangle"];9 -> 17[label="",style="solid", color="black", weight=3]; 19[label="vx4",fontsize=16,color="green",shape="box"];20[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];21[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];18[label="showString (Char (Succ vx14) : Char (Succ vx15) : []) vx16",fontsize=16,color="black",shape="triangle"];18 -> 25[label="",style="solid", color="black", weight=3]; 17 -> 82[label="",style="dashed", color="red", weight=0]; 17[label="showChar (Char (Succ vx6)) ((shows vx7) . showListShowl vx8)",fontsize=16,color="magenta"];17 -> 83[label="",style="dashed", color="magenta", weight=3]; 17 -> 84[label="",style="dashed", color="magenta", weight=3]; 25[label="(++) (Char (Succ vx14) : Char (Succ vx15) : []) vx16",fontsize=16,color="black",shape="box"];25 -> 27[label="",style="solid", color="black", weight=3]; 83[label="(shows vx7) . showListShowl vx8",fontsize=16,color="black",shape="box"];83 -> 87[label="",style="solid", color="black", weight=3]; 84[label="vx6",fontsize=16,color="green",shape="box"];82[label="showChar (Char (Succ vx18)) vx19",fontsize=16,color="black",shape="triangle"];82 -> 88[label="",style="solid", color="black", weight=3]; 27[label="Char (Succ vx14) : (Char (Succ vx15) : []) ++ vx16",fontsize=16,color="green",shape="box"];27 -> 29[label="",style="dashed", color="green", weight=3]; 87[label="shows vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];87 -> 89[label="",style="solid", color="black", weight=3]; 88[label="(:) Char (Succ vx18) vx19",fontsize=16,color="green",shape="box"];29[label="(Char (Succ vx15) : []) ++ vx16",fontsize=16,color="black",shape="box"];29 -> 31[label="",style="solid", color="black", weight=3]; 89[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="blue",shape="box"];141[label="showsPrec :: Int -> Integer -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 141[label="",style="solid", color="blue", weight=9]; 141 -> 90[label="",style="solid", color="blue", weight=3]; 142[label="showsPrec :: Int -> (Either a b) -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 142[label="",style="solid", color="blue", weight=9]; 142 -> 91[label="",style="solid", color="blue", weight=3]; 143[label="showsPrec :: Int -> ((@3) a b c) -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 143[label="",style="solid", color="blue", weight=9]; 143 -> 92[label="",style="solid", color="blue", weight=3]; 144[label="showsPrec :: Int -> (IO a) -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 144[label="",style="solid", color="blue", weight=9]; 144 -> 93[label="",style="solid", color="blue", weight=3]; 145[label="showsPrec :: Int -> (Maybe a) -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 145[label="",style="solid", color="blue", weight=9]; 145 -> 94[label="",style="solid", color="blue", weight=3]; 146[label="showsPrec :: Int -> ([] a) -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 146[label="",style="solid", color="blue", weight=9]; 146 -> 95[label="",style="solid", color="blue", weight=3]; 147[label="showsPrec :: Int -> Int -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 147[label="",style="solid", color="blue", weight=9]; 147 -> 96[label="",style="solid", color="blue", weight=3]; 148[label="showsPrec :: Int -> Ordering -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 148[label="",style="solid", color="blue", weight=9]; 148 -> 97[label="",style="solid", color="blue", weight=3]; 149[label="showsPrec :: Int -> Float -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 149[label="",style="solid", color="blue", weight=9]; 149 -> 98[label="",style="solid", color="blue", weight=3]; 150[label="showsPrec :: Int -> Char -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 150[label="",style="solid", color="blue", weight=9]; 150 -> 99[label="",style="solid", color="blue", weight=3]; 151[label="showsPrec :: Int -> (Ratio a) -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 151[label="",style="solid", color="blue", weight=9]; 151 -> 100[label="",style="solid", color="blue", weight=3]; 152[label="showsPrec :: Int -> ((@2) a b) -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 152[label="",style="solid", color="blue", weight=9]; 152 -> 101[label="",style="solid", color="blue", weight=3]; 153[label="showsPrec :: Int -> Double -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 153[label="",style="solid", color="blue", weight=9]; 153 -> 102[label="",style="solid", color="blue", weight=3]; 154[label="showsPrec :: Int -> HugsException -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 154[label="",style="solid", color="blue", weight=9]; 154 -> 103[label="",style="solid", color="blue", weight=3]; 155[label="showsPrec :: Int -> Bool -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 155[label="",style="solid", color="blue", weight=9]; 155 -> 104[label="",style="solid", color="blue", weight=3]; 156[label="showsPrec :: Int -> IOError -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 156[label="",style="solid", color="blue", weight=9]; 156 -> 105[label="",style="solid", color="blue", weight=3]; 157[label="showsPrec :: Int -> () -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 157[label="",style="solid", color="blue", weight=9]; 157 -> 106[label="",style="solid", color="blue", weight=3]; 158[label="showsPrec :: Int -> IOErrorKind -> ([] Char) -> [] Char",fontsize=10,color="white",style="solid",shape="box"];89 -> 158[label="",style="solid", color="blue", weight=9]; 158 -> 107[label="",style="solid", color="blue", weight=3]; 31[label="Char (Succ vx15) : [] ++ vx16",fontsize=16,color="green",shape="box"];31 -> 33[label="",style="dashed", color="green", weight=3]; 90[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];90 -> 108[label="",style="solid", color="black", weight=3]; 91[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];91 -> 109[label="",style="solid", color="black", weight=3]; 92[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];92 -> 110[label="",style="solid", color="black", weight=3]; 93[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];93 -> 111[label="",style="solid", color="black", weight=3]; 94[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];94 -> 112[label="",style="solid", color="black", weight=3]; 95[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];95 -> 113[label="",style="solid", color="black", weight=3]; 96[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];96 -> 114[label="",style="solid", color="black", weight=3]; 97[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];97 -> 115[label="",style="solid", color="black", weight=3]; 98[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];98 -> 116[label="",style="solid", color="black", weight=3]; 99[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];99 -> 117[label="",style="solid", color="black", weight=3]; 100[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];100 -> 118[label="",style="solid", color="black", weight=3]; 101[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];101 -> 119[label="",style="solid", color="black", weight=3]; 102[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];102 -> 120[label="",style="solid", color="black", weight=3]; 103[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];103 -> 121[label="",style="solid", color="black", weight=3]; 104[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];104 -> 122[label="",style="solid", color="black", weight=3]; 105[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];105 -> 123[label="",style="solid", color="black", weight=3]; 106[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="burlywood",shape="box"];159[label="vx7/()",fontsize=10,color="white",style="solid",shape="box"];106 -> 159[label="",style="solid", color="burlywood", weight=9]; 159 -> 124[label="",style="solid", color="burlywood", weight=3]; 107[label="showsPrec (Pos Zero) vx7 (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];107 -> 125[label="",style="solid", color="black", weight=3]; 33[label="[] ++ vx16",fontsize=16,color="black",shape="box"];33 -> 52[label="",style="solid", color="black", weight=3]; 108[label="error []",fontsize=16,color="red",shape="box"];109[label="error []",fontsize=16,color="red",shape="box"];110[label="error []",fontsize=16,color="red",shape="box"];111[label="error []",fontsize=16,color="red",shape="box"];112[label="error []",fontsize=16,color="red",shape="box"];113[label="error []",fontsize=16,color="red",shape="box"];114[label="error []",fontsize=16,color="red",shape="box"];115[label="error []",fontsize=16,color="red",shape="box"];116[label="error []",fontsize=16,color="red",shape="box"];117[label="error []",fontsize=16,color="red",shape="box"];118[label="error []",fontsize=16,color="red",shape="box"];119[label="error []",fontsize=16,color="red",shape="box"];120[label="error []",fontsize=16,color="red",shape="box"];121[label="error []",fontsize=16,color="red",shape="box"];122[label="error []",fontsize=16,color="red",shape="box"];123[label="error []",fontsize=16,color="red",shape="box"];124[label="showsPrec (Pos Zero) () (showListShowl vx8 vx9)",fontsize=16,color="black",shape="box"];124 -> 126[label="",style="solid", color="black", weight=3]; 125[label="error []",fontsize=16,color="red",shape="box"];52[label="vx16",fontsize=16,color="green",shape="box"];126 -> 18[label="",style="dashed", color="red", weight=0]; 126[label="showString (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))) : Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))) : []) (showListShowl vx8 vx9)",fontsize=16,color="magenta"];126 -> 127[label="",style="dashed", color="magenta", weight=3]; 126 -> 128[label="",style="dashed", color="magenta", weight=3]; 126 -> 129[label="",style="dashed", color="magenta", weight=3]; 127[label="showListShowl vx8 vx9",fontsize=16,color="burlywood",shape="box"];160[label="vx8/vx80 : vx81",fontsize=10,color="white",style="solid",shape="box"];127 -> 160[label="",style="solid", color="burlywood", weight=9]; 160 -> 130[label="",style="solid", color="burlywood", weight=3]; 161[label="vx8/[]",fontsize=10,color="white",style="solid",shape="box"];127 -> 161[label="",style="solid", color="burlywood", weight=9]; 161 -> 131[label="",style="solid", color="burlywood", weight=3]; 128[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];129[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];130[label="showListShowl (vx80 : vx81) vx9",fontsize=16,color="black",shape="box"];130 -> 132[label="",style="solid", color="black", weight=3]; 131[label="showListShowl [] vx9",fontsize=16,color="black",shape="box"];131 -> 133[label="",style="solid", color="black", weight=3]; 132 -> 9[label="",style="dashed", color="red", weight=0]; 132[label="(showChar (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))) . (shows vx80) . showListShowl vx81",fontsize=16,color="magenta"];132 -> 134[label="",style="dashed", color="magenta", weight=3]; 132 -> 135[label="",style="dashed", color="magenta", weight=3]; 132 -> 136[label="",style="dashed", color="magenta", weight=3]; 133 -> 82[label="",style="dashed", color="red", weight=0]; 133[label="showChar (Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) vx9",fontsize=16,color="magenta"];133 -> 137[label="",style="dashed", color="magenta", weight=3]; 133 -> 138[label="",style="dashed", color="magenta", weight=3]; 134[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];135[label="vx80",fontsize=16,color="green",shape="box"];136[label="vx81",fontsize=16,color="green",shape="box"];137[label="vx9",fontsize=16,color="green",shape="box"];138[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];} ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: new_pt(vx6, @0, :(vx80, vx81), vx9, ty_@0, h) -> new_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), vx80, vx81, vx9, h, h) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) TransformationProof (EQUIVALENT) By instantiating [LPAR04] the rule new_pt(vx6, @0, :(vx80, vx81), vx9, ty_@0, h) -> new_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), vx80, vx81, vx9, h, h) we obtained the following new rules [LPAR04]: (new_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), @0, :(x1, x2), z3, ty_@0, ty_@0) -> new_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), x1, x2, z3, ty_@0, ty_@0),new_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), @0, :(x1, x2), z3, ty_@0, ty_@0) -> new_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), x1, x2, z3, ty_@0, ty_@0)) ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: new_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), @0, :(x1, x2), z3, ty_@0, ty_@0) -> new_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), x1, x2, z3, ty_@0, ty_@0) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (13) 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_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), @0, :(x1, x2), z3, ty_@0, ty_@0) -> new_pt(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))))))))))))))))))))))))))))))))))), x1, x2, z3, ty_@0, ty_@0) The graph contains the following edges 1 >= 1, 3 > 2, 3 > 3, 4 >= 4, 5 >= 5, 6 >= 5, 5 >= 6, 6 >= 6 ---------------------------------------- (14) YES