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