/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: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 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, 0 ms] (6) HASKELL (7) NumRed [SOUND, 5 ms] (8) HASKELL (9) Narrow [SOUND, 0 ms] (10) QDP (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] (12) YES ---------------------------------------- (0) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (1) IFR (EQUIVALENT) If Reductions: The following If expression "if b then (showChar '(') . p . showChar ')' else p" is transformed to "showParen0 p True = (showChar '(') . p . showChar ')'; showParen0 p False = p; " ---------------------------------------- (2) Obligation: mainModule Main module Main where { import qualified Prelude; } ---------------------------------------- (3) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (4) Obligation: mainModule Main module Main where { 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; " ---------------------------------------- (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="showsPrec",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="showsPrec vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="showsPrec vx3 vx4",fontsize=16,color="grey",shape="box"];4 -> 5[label="",style="dashed", color="grey", weight=3]; 5[label="showsPrec vx3 vx4 vx5",fontsize=16,color="burlywood",shape="triangle"];160[label="vx4/LT",fontsize=10,color="white",style="solid",shape="box"];5 -> 160[label="",style="solid", color="burlywood", weight=9]; 160 -> 6[label="",style="solid", color="burlywood", weight=3]; 161[label="vx4/EQ",fontsize=10,color="white",style="solid",shape="box"];5 -> 161[label="",style="solid", color="burlywood", weight=9]; 161 -> 7[label="",style="solid", color="burlywood", weight=3]; 162[label="vx4/GT",fontsize=10,color="white",style="solid",shape="box"];5 -> 162[label="",style="solid", color="burlywood", weight=9]; 162 -> 8[label="",style="solid", color="burlywood", weight=3]; 6[label="showsPrec vx3 LT vx5",fontsize=16,color="black",shape="box"];6 -> 9[label="",style="solid", color="black", weight=3]; 7[label="showsPrec vx3 EQ vx5",fontsize=16,color="black",shape="box"];7 -> 10[label="",style="solid", color="black", weight=3]; 8[label="showsPrec vx3 GT vx5",fontsize=16,color="black",shape="box"];8 -> 11[label="",style="solid", color="black", weight=3]; 9 -> 67[label="",style="dashed", color="red", weight=0]; 9[label="showParen (vx3 > Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) (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 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 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 Zero)))))))))))))))))))))))))))))))) : [])) vx5",fontsize=16,color="magenta"];9 -> 68[label="",style="dashed", color="magenta", weight=3]; 9 -> 69[label="",style="dashed", color="magenta", weight=3]; 9 -> 70[label="",style="dashed", color="magenta", weight=3]; 9 -> 71[label="",style="dashed", color="magenta", weight=3]; 9 -> 72[label="",style="dashed", color="magenta", weight=3]; 9 -> 73[label="",style="dashed", color="magenta", weight=3]; 10 -> 67[label="",style="dashed", color="red", weight=0]; 10[label="showParen (vx3 > Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) (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 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 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 Zero)))))))))))))))))))))))))))))))) : [])) vx5",fontsize=16,color="magenta"];10 -> 74[label="",style="dashed", color="magenta", weight=3]; 10 -> 75[label="",style="dashed", color="magenta", weight=3]; 10 -> 76[label="",style="dashed", color="magenta", weight=3]; 10 -> 77[label="",style="dashed", color="magenta", weight=3]; 10 -> 78[label="",style="dashed", color="magenta", weight=3]; 10 -> 79[label="",style="dashed", color="magenta", weight=3]; 11 -> 67[label="",style="dashed", color="red", weight=0]; 11[label="showParen (vx3 > Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) (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 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 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 Zero)))))))))))))))))))))))))))))))) : [])) vx5",fontsize=16,color="magenta"];11 -> 80[label="",style="dashed", color="magenta", weight=3]; 11 -> 81[label="",style="dashed", color="magenta", weight=3]; 11 -> 82[label="",style="dashed", color="magenta", weight=3]; 11 -> 83[label="",style="dashed", color="magenta", weight=3]; 11 -> 84[label="",style="dashed", color="magenta", weight=3]; 11 -> 85[label="",style="dashed", color="magenta", weight=3]; 68[label="vx3",fontsize=16,color="green",shape="box"];69[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 Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];70[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];71[label="vx5",fontsize=16,color="green",shape="box"];72[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 Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];73[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 Zero))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];67[label="showParen (vx30 > Pos (Succ vx31)) (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) vx35",fontsize=16,color="black",shape="triangle"];67 -> 92[label="",style="solid", color="black", weight=3]; 74[label="vx3",fontsize=16,color="green",shape="box"];75[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 Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];76[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];77[label="vx5",fontsize=16,color="green",shape="box"];78[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 Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];79[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 Zero))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];80[label="vx3",fontsize=16,color="green",shape="box"];81[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 Zero)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];82[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];83[label="vx5",fontsize=16,color="green",shape="box"];84[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 Zero))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];85[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 Zero))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];92[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (vx30 > Pos (Succ vx31)) vx35",fontsize=16,color="black",shape="box"];92 -> 93[label="",style="solid", color="black", weight=3]; 93[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (compare vx30 (Pos (Succ vx31)) == GT) vx35",fontsize=16,color="black",shape="box"];93 -> 94[label="",style="solid", color="black", weight=3]; 94[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpInt vx30 (Pos (Succ vx31)) == GT) vx35",fontsize=16,color="burlywood",shape="box"];163[label="vx30/Pos vx300",fontsize=10,color="white",style="solid",shape="box"];94 -> 163[label="",style="solid", color="burlywood", weight=9]; 163 -> 95[label="",style="solid", color="burlywood", weight=3]; 164[label="vx30/Neg vx300",fontsize=10,color="white",style="solid",shape="box"];94 -> 164[label="",style="solid", color="burlywood", weight=9]; 164 -> 96[label="",style="solid", color="burlywood", weight=3]; 95[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpInt (Pos vx300) (Pos (Succ vx31)) == GT) vx35",fontsize=16,color="burlywood",shape="box"];165[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];95 -> 165[label="",style="solid", color="burlywood", weight=9]; 165 -> 97[label="",style="solid", color="burlywood", weight=3]; 166[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];95 -> 166[label="",style="solid", color="burlywood", weight=9]; 166 -> 98[label="",style="solid", color="burlywood", weight=3]; 96[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpInt (Neg vx300) (Pos (Succ vx31)) == GT) vx35",fontsize=16,color="burlywood",shape="box"];167[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];96 -> 167[label="",style="solid", color="burlywood", weight=9]; 167 -> 99[label="",style="solid", color="burlywood", weight=3]; 168[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];96 -> 168[label="",style="solid", color="burlywood", weight=9]; 168 -> 100[label="",style="solid", color="burlywood", weight=3]; 97[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpInt (Pos (Succ vx3000)) (Pos (Succ vx31)) == GT) vx35",fontsize=16,color="black",shape="box"];97 -> 101[label="",style="solid", color="black", weight=3]; 98[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpInt (Pos Zero) (Pos (Succ vx31)) == GT) vx35",fontsize=16,color="black",shape="box"];98 -> 102[label="",style="solid", color="black", weight=3]; 99[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpInt (Neg (Succ vx3000)) (Pos (Succ vx31)) == GT) vx35",fontsize=16,color="black",shape="box"];99 -> 103[label="",style="solid", color="black", weight=3]; 100[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpInt (Neg Zero) (Pos (Succ vx31)) == GT) vx35",fontsize=16,color="black",shape="box"];100 -> 104[label="",style="solid", color="black", weight=3]; 101[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat (Succ vx3000) (Succ vx31) == GT) vx35",fontsize=16,color="black",shape="box"];101 -> 105[label="",style="solid", color="black", weight=3]; 102[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat Zero (Succ vx31) == GT) vx35",fontsize=16,color="black",shape="box"];102 -> 106[label="",style="solid", color="black", weight=3]; 103[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (LT == GT) vx35",fontsize=16,color="black",shape="triangle"];103 -> 107[label="",style="solid", color="black", weight=3]; 104 -> 103[label="",style="dashed", color="red", weight=0]; 104[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (LT == GT) vx35",fontsize=16,color="magenta"];105[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat vx3000 vx31 == GT) vx35",fontsize=16,color="burlywood",shape="triangle"];169[label="vx3000/Succ vx30000",fontsize=10,color="white",style="solid",shape="box"];105 -> 169[label="",style="solid", color="burlywood", weight=9]; 169 -> 108[label="",style="solid", color="burlywood", weight=3]; 170[label="vx3000/Zero",fontsize=10,color="white",style="solid",shape="box"];105 -> 170[label="",style="solid", color="burlywood", weight=9]; 170 -> 109[label="",style="solid", color="burlywood", weight=3]; 106 -> 103[label="",style="dashed", color="red", weight=0]; 106[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (LT == GT) vx35",fontsize=16,color="magenta"];107[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) False vx35",fontsize=16,color="black",shape="triangle"];107 -> 110[label="",style="solid", color="black", weight=3]; 108[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat (Succ vx30000) vx31 == GT) vx35",fontsize=16,color="burlywood",shape="box"];171[label="vx31/Succ vx310",fontsize=10,color="white",style="solid",shape="box"];108 -> 171[label="",style="solid", color="burlywood", weight=9]; 171 -> 111[label="",style="solid", color="burlywood", weight=3]; 172[label="vx31/Zero",fontsize=10,color="white",style="solid",shape="box"];108 -> 172[label="",style="solid", color="burlywood", weight=9]; 172 -> 112[label="",style="solid", color="burlywood", weight=3]; 109[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat Zero vx31 == GT) vx35",fontsize=16,color="burlywood",shape="box"];173[label="vx31/Succ vx310",fontsize=10,color="white",style="solid",shape="box"];109 -> 173[label="",style="solid", color="burlywood", weight=9]; 173 -> 113[label="",style="solid", color="burlywood", weight=3]; 174[label="vx31/Zero",fontsize=10,color="white",style="solid",shape="box"];109 -> 174[label="",style="solid", color="burlywood", weight=9]; 174 -> 114[label="",style="solid", color="burlywood", weight=3]; 110[label="showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : []) vx35",fontsize=16,color="black",shape="triangle"];110 -> 115[label="",style="solid", color="black", weight=3]; 111[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat (Succ vx30000) (Succ vx310) == GT) vx35",fontsize=16,color="black",shape="box"];111 -> 116[label="",style="solid", color="black", weight=3]; 112[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat (Succ vx30000) Zero == GT) vx35",fontsize=16,color="black",shape="box"];112 -> 117[label="",style="solid", color="black", weight=3]; 113[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat Zero (Succ vx310) == GT) vx35",fontsize=16,color="black",shape="box"];113 -> 118[label="",style="solid", color="black", weight=3]; 114[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat Zero Zero == GT) vx35",fontsize=16,color="black",shape="box"];114 -> 119[label="",style="solid", color="black", weight=3]; 115[label="(++) (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : []) vx35",fontsize=16,color="black",shape="box"];115 -> 120[label="",style="solid", color="black", weight=3]; 116 -> 105[label="",style="dashed", color="red", weight=0]; 116[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (primCmpNat vx30000 vx310 == GT) vx35",fontsize=16,color="magenta"];116 -> 121[label="",style="dashed", color="magenta", weight=3]; 116 -> 122[label="",style="dashed", color="magenta", weight=3]; 117[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (GT == GT) vx35",fontsize=16,color="black",shape="box"];117 -> 123[label="",style="solid", color="black", weight=3]; 118 -> 103[label="",style="dashed", color="red", weight=0]; 118[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (LT == GT) vx35",fontsize=16,color="magenta"];119[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) (EQ == GT) vx35",fontsize=16,color="black",shape="box"];119 -> 124[label="",style="solid", color="black", weight=3]; 120[label="Char (Succ vx32) : (Char (Succ vx33) : Char (Succ vx34) : []) ++ vx35",fontsize=16,color="green",shape="box"];120 -> 125[label="",style="dashed", color="green", weight=3]; 121[label="vx30000",fontsize=16,color="green",shape="box"];122[label="vx310",fontsize=16,color="green",shape="box"];123[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) True vx35",fontsize=16,color="black",shape="box"];123 -> 126[label="",style="solid", color="black", weight=3]; 124 -> 107[label="",style="dashed", color="red", weight=0]; 124[label="showParen0 (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) False vx35",fontsize=16,color="magenta"];125[label="(Char (Succ vx33) : Char (Succ vx34) : []) ++ vx35",fontsize=16,color="black",shape="box"];125 -> 127[label="",style="solid", color="black", weight=3]; 126 -> 135[label="",style="dashed", color="red", weight=0]; 126[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 Zero)))))))))))))))))))))))))))))))))))))))))) . (showString (Char (Succ vx32) : Char (Succ vx33) : Char (Succ vx34) : [])) . 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 Zero))))))))))))))))))))))))))))))))))))))))))",fontsize=16,color="magenta"];126 -> 136[label="",style="dashed", color="magenta", weight=3]; 126 -> 137[label="",style="dashed", color="magenta", weight=3]; 126 -> 138[label="",style="dashed", color="magenta", weight=3]; 126 -> 139[label="",style="dashed", color="magenta", weight=3]; 126 -> 140[label="",style="dashed", color="magenta", weight=3]; 126 -> 141[label="",style="dashed", color="magenta", weight=3]; 127[label="Char (Succ vx33) : (Char (Succ vx34) : []) ++ vx35",fontsize=16,color="green",shape="box"];127 -> 134[label="",style="dashed", color="green", weight=3]; 136[label="vx34",fontsize=16,color="green",shape="box"];137[label="vx33",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 Zero)))))))))))))))))))))))))))))))))))))))",fontsize=16,color="green",shape="box"];139[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"];140[label="vx35",fontsize=16,color="green",shape="box"];141[label="vx32",fontsize=16,color="green",shape="box"];135[label="(showChar (Char (Succ vx43))) . (showString (Char (Succ vx44) : Char (Succ vx45) : Char (Succ vx46) : [])) . showChar (Char (Succ vx47))",fontsize=16,color="black",shape="triangle"];135 -> 148[label="",style="solid", color="black", weight=3]; 134[label="(Char (Succ vx34) : []) ++ vx35",fontsize=16,color="black",shape="box"];134 -> 149[label="",style="solid", color="black", weight=3]; 148[label="showChar (Char (Succ vx43)) ((showString (Char (Succ vx44) : Char (Succ vx45) : Char (Succ vx46) : [])) . showChar (Char (Succ vx47)))",fontsize=16,color="black",shape="box"];148 -> 150[label="",style="solid", color="black", weight=3]; 149[label="Char (Succ vx34) : [] ++ vx35",fontsize=16,color="green",shape="box"];149 -> 151[label="",style="dashed", color="green", weight=3]; 150[label="(:) Char (Succ vx43) (showString (Char (Succ vx44) : Char (Succ vx45) : Char (Succ vx46) : [])) . showChar (Char (Succ vx47))",fontsize=16,color="green",shape="box"];150 -> 152[label="",style="dashed", color="green", weight=3]; 151[label="[] ++ vx35",fontsize=16,color="black",shape="box"];151 -> 153[label="",style="solid", color="black", weight=3]; 152[label="(showString (Char (Succ vx44) : Char (Succ vx45) : Char (Succ vx46) : [])) . showChar (Char (Succ vx47))",fontsize=16,color="black",shape="box"];152 -> 154[label="",style="solid", color="black", weight=3]; 153[label="vx35",fontsize=16,color="green",shape="box"];154 -> 110[label="",style="dashed", color="red", weight=0]; 154[label="showString (Char (Succ vx44) : Char (Succ vx45) : Char (Succ vx46) : []) (showChar (Char (Succ vx47)) vx48)",fontsize=16,color="magenta"];154 -> 155[label="",style="dashed", color="magenta", weight=3]; 154 -> 156[label="",style="dashed", color="magenta", weight=3]; 154 -> 157[label="",style="dashed", color="magenta", weight=3]; 154 -> 158[label="",style="dashed", color="magenta", weight=3]; 155[label="vx44",fontsize=16,color="green",shape="box"];156[label="showChar (Char (Succ vx47)) vx48",fontsize=16,color="black",shape="box"];156 -> 159[label="",style="solid", color="black", weight=3]; 157[label="vx45",fontsize=16,color="green",shape="box"];158[label="vx46",fontsize=16,color="green",shape="box"];159[label="(:) Char (Succ vx47) vx48",fontsize=16,color="green",shape="box"];} ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: new_showParen0(vx32, vx33, vx34, Succ(vx30000), Succ(vx310), vx35) -> new_showParen0(vx32, vx33, vx34, vx30000, vx310, vx35) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (11) 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_showParen0(vx32, vx33, vx34, Succ(vx30000), Succ(vx310), vx35) -> new_showParen0(vx32, vx33, vx34, vx30000, vx310, vx35) The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5, 6 >= 6 ---------------------------------------- (12) YES