10.08/4.47 YES 12.35/5.01 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 12.35/5.01 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 12.35/5.01 12.35/5.01 12.35/5.01 H-Termination with start terms of the given HASKELL could be proven: 12.35/5.01 12.35/5.01 (0) HASKELL 12.35/5.01 (1) BR [EQUIVALENT, 0 ms] 12.35/5.01 (2) HASKELL 12.35/5.01 (3) COR [EQUIVALENT, 0 ms] 12.35/5.01 (4) HASKELL 12.35/5.01 (5) NumRed [SOUND, 0 ms] 12.35/5.01 (6) HASKELL 12.35/5.01 (7) Narrow [SOUND, 0 ms] 12.35/5.01 (8) AND 12.35/5.01 (9) QDP 12.35/5.01 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.35/5.01 (11) YES 12.35/5.01 (12) QDP 12.35/5.01 (13) QDPSizeChangeProof [EQUIVALENT, 0 ms] 12.35/5.01 (14) YES 12.35/5.01 12.35/5.01 12.35/5.01 ---------------------------------------- 12.35/5.01 12.35/5.01 (0) 12.35/5.01 Obligation: 12.35/5.01 mainModule Main 12.35/5.01 module Main where { 12.35/5.01 import qualified Prelude; 12.35/5.01 } 12.35/5.01 12.35/5.01 ---------------------------------------- 12.35/5.01 12.35/5.01 (1) BR (EQUIVALENT) 12.35/5.01 Replaced joker patterns by fresh variables and removed binding patterns. 12.35/5.01 ---------------------------------------- 12.35/5.01 12.35/5.01 (2) 12.35/5.01 Obligation: 12.35/5.01 mainModule Main 12.35/5.01 module Main where { 12.35/5.01 import qualified Prelude; 12.35/5.01 } 12.35/5.01 12.35/5.01 ---------------------------------------- 12.35/5.01 12.35/5.01 (3) COR (EQUIVALENT) 12.35/5.01 Cond Reductions: 12.35/5.01 The following Function with conditions 12.35/5.01 "undefined |Falseundefined; 12.35/5.01 " 12.35/5.01 is transformed to 12.35/5.01 "undefined = undefined1; 12.35/5.01 " 12.35/5.01 "undefined0 True = undefined; 12.35/5.01 " 12.35/5.01 "undefined1 = undefined0 False; 12.35/5.01 " 12.35/5.01 12.35/5.01 ---------------------------------------- 12.35/5.01 12.35/5.01 (4) 12.35/5.01 Obligation: 12.35/5.01 mainModule Main 12.35/5.01 module Main where { 12.35/5.01 import qualified Prelude; 12.35/5.01 } 12.35/5.01 12.35/5.01 ---------------------------------------- 12.35/5.01 12.35/5.01 (5) NumRed (SOUND) 12.35/5.01 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 12.35/5.01 ---------------------------------------- 12.35/5.01 12.35/5.01 (6) 12.35/5.01 Obligation: 12.35/5.01 mainModule Main 12.35/5.01 module Main where { 12.35/5.01 import qualified Prelude; 12.35/5.01 } 12.35/5.01 12.35/5.01 ---------------------------------------- 12.35/5.01 12.35/5.01 (7) Narrow (SOUND) 12.35/5.01 Haskell To QDPs 12.35/5.01 12.35/5.01 digraph dp_graph { 12.35/5.01 node [outthreshold=100, inthreshold=100];1[label="isSpace",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 12.35/5.01 3[label="isSpace vx3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 12.35/5.01 4 -> 5[label="",style="dashed", color="red", weight=0]; 12.35/5.01 4[label="vx3 == 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)))))))))))))))))))))))))))))))) || vx3 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) || vx3 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) || vx3 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) || vx3 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) || vx3 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) || vx3 == 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 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (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"];4 -> 6[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 4 -> 7[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 6[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"];7[label="vx3",fontsize=16,color="green",shape="box"];5[label="vx5 == Char (Succ vx6) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) || vx5 == 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 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (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="black",shape="triangle"];5 -> 8[label="",style="solid", color="black", weight=3]; 12.35/5.01 8 -> 9[label="",style="dashed", color="red", weight=0]; 12.35/5.01 8[label="primEqChar vx5 (Char (Succ vx6)) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) || vx5 == 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 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (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"];8 -> 10[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 8 -> 11[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 8 -> 12[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 10[label="vx6",fontsize=16,color="green",shape="box"];11 -> 57[label="",style="dashed", color="red", weight=0]; 12.35/5.01 11[label="vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) || vx5 == Char (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) || vx5 == 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 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (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"];11 -> 58[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 11 -> 59[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 11 -> 60[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 11 -> 61[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 11 -> 62[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 11 -> 63[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 11 -> 64[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 12[label="vx5",fontsize=16,color="green",shape="box"];9[label="primEqChar vx8 (Char (Succ vx9)) || vx10",fontsize=16,color="burlywood",shape="triangle"];130[label="vx8/Char vx80",fontsize=10,color="white",style="solid",shape="box"];9 -> 130[label="",style="solid", color="burlywood", weight=9]; 12.35/5.01 130 -> 16[label="",style="solid", color="burlywood", weight=3]; 12.35/5.01 58[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))",fontsize=16,color="green",shape="box"];59[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))",fontsize=16,color="green",shape="box"];60[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))",fontsize=16,color="green",shape="box"];61[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 (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (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"];62[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))",fontsize=16,color="green",shape="box"];63[label="vx5",fontsize=16,color="green",shape="box"];64[label="Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))",fontsize=16,color="green",shape="box"];57[label="vx37 == Char (Succ vx38) || vx37 == Char (Succ vx39) || vx37 == Char (Succ vx40) || vx37 == Char (Succ vx41) || vx37 == Char (Succ vx42) || vx37 == Char (Succ vx43)",fontsize=16,color="black",shape="triangle"];57 -> 72[label="",style="solid", color="black", weight=3]; 12.35/5.01 16[label="primEqChar (Char vx80) (Char (Succ vx9)) || vx10",fontsize=16,color="black",shape="box"];16 -> 73[label="",style="solid", color="black", weight=3]; 12.35/5.01 72 -> 9[label="",style="dashed", color="red", weight=0]; 12.35/5.01 72[label="primEqChar vx37 (Char (Succ vx38)) || vx37 == Char (Succ vx39) || vx37 == Char (Succ vx40) || vx37 == Char (Succ vx41) || vx37 == Char (Succ vx42) || vx37 == Char (Succ vx43)",fontsize=16,color="magenta"];72 -> 74[label="",style="dashed", color="magenta", weight=3]; 12.35/5.01 72 -> 75[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 72 -> 76[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 73[label="primEqNat vx80 (Succ vx9) || vx10",fontsize=16,color="burlywood",shape="box"];131[label="vx80/Succ vx800",fontsize=10,color="white",style="solid",shape="box"];73 -> 131[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 131 -> 77[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 132[label="vx80/Zero",fontsize=10,color="white",style="solid",shape="box"];73 -> 132[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 132 -> 78[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 74[label="vx38",fontsize=16,color="green",shape="box"];75[label="vx37 == Char (Succ vx39) || vx37 == Char (Succ vx40) || vx37 == Char (Succ vx41) || vx37 == Char (Succ vx42) || vx37 == Char (Succ vx43)",fontsize=16,color="black",shape="box"];75 -> 79[label="",style="solid", color="black", weight=3]; 12.35/5.02 76[label="vx37",fontsize=16,color="green",shape="box"];77[label="primEqNat (Succ vx800) (Succ vx9) || vx10",fontsize=16,color="black",shape="box"];77 -> 80[label="",style="solid", color="black", weight=3]; 12.35/5.02 78[label="primEqNat Zero (Succ vx9) || vx10",fontsize=16,color="black",shape="box"];78 -> 81[label="",style="solid", color="black", weight=3]; 12.35/5.02 79 -> 9[label="",style="dashed", color="red", weight=0]; 12.35/5.02 79[label="primEqChar vx37 (Char (Succ vx39)) || vx37 == Char (Succ vx40) || vx37 == Char (Succ vx41) || vx37 == Char (Succ vx42) || vx37 == Char (Succ vx43)",fontsize=16,color="magenta"];79 -> 82[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 79 -> 83[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 79 -> 84[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 80[label="primEqNat vx800 vx9 || vx10",fontsize=16,color="burlywood",shape="triangle"];133[label="vx800/Succ vx8000",fontsize=10,color="white",style="solid",shape="box"];80 -> 133[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 133 -> 85[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 134[label="vx800/Zero",fontsize=10,color="white",style="solid",shape="box"];80 -> 134[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 134 -> 86[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 81[label="False || vx10",fontsize=16,color="black",shape="triangle"];81 -> 87[label="",style="solid", color="black", weight=3]; 12.35/5.02 82[label="vx39",fontsize=16,color="green",shape="box"];83[label="vx37 == Char (Succ vx40) || vx37 == Char (Succ vx41) || vx37 == Char (Succ vx42) || vx37 == Char (Succ vx43)",fontsize=16,color="black",shape="box"];83 -> 88[label="",style="solid", color="black", weight=3]; 12.35/5.02 84[label="vx37",fontsize=16,color="green",shape="box"];85[label="primEqNat (Succ vx8000) vx9 || vx10",fontsize=16,color="burlywood",shape="box"];135[label="vx9/Succ vx90",fontsize=10,color="white",style="solid",shape="box"];85 -> 135[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 135 -> 89[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 136[label="vx9/Zero",fontsize=10,color="white",style="solid",shape="box"];85 -> 136[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 136 -> 90[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 86[label="primEqNat Zero vx9 || vx10",fontsize=16,color="burlywood",shape="box"];137[label="vx9/Succ vx90",fontsize=10,color="white",style="solid",shape="box"];86 -> 137[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 137 -> 91[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 138[label="vx9/Zero",fontsize=10,color="white",style="solid",shape="box"];86 -> 138[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 138 -> 92[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 87[label="vx10",fontsize=16,color="green",shape="box"];88 -> 9[label="",style="dashed", color="red", weight=0]; 12.35/5.02 88[label="primEqChar vx37 (Char (Succ vx40)) || vx37 == Char (Succ vx41) || vx37 == Char (Succ vx42) || vx37 == Char (Succ vx43)",fontsize=16,color="magenta"];88 -> 93[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 88 -> 94[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 88 -> 95[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 89[label="primEqNat (Succ vx8000) (Succ vx90) || vx10",fontsize=16,color="black",shape="box"];89 -> 96[label="",style="solid", color="black", weight=3]; 12.35/5.02 90[label="primEqNat (Succ vx8000) Zero || vx10",fontsize=16,color="black",shape="box"];90 -> 97[label="",style="solid", color="black", weight=3]; 12.35/5.02 91[label="primEqNat Zero (Succ vx90) || vx10",fontsize=16,color="black",shape="box"];91 -> 98[label="",style="solid", color="black", weight=3]; 12.35/5.02 92[label="primEqNat Zero Zero || vx10",fontsize=16,color="black",shape="box"];92 -> 99[label="",style="solid", color="black", weight=3]; 12.35/5.02 93[label="vx40",fontsize=16,color="green",shape="box"];94[label="vx37 == Char (Succ vx41) || vx37 == Char (Succ vx42) || vx37 == Char (Succ vx43)",fontsize=16,color="black",shape="box"];94 -> 100[label="",style="solid", color="black", weight=3]; 12.35/5.02 95[label="vx37",fontsize=16,color="green",shape="box"];96 -> 80[label="",style="dashed", color="red", weight=0]; 12.35/5.02 96[label="primEqNat vx8000 vx90 || vx10",fontsize=16,color="magenta"];96 -> 101[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 96 -> 102[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 97 -> 81[label="",style="dashed", color="red", weight=0]; 12.35/5.02 97[label="False || vx10",fontsize=16,color="magenta"];98 -> 81[label="",style="dashed", color="red", weight=0]; 12.35/5.02 98[label="False || vx10",fontsize=16,color="magenta"];99[label="True || vx10",fontsize=16,color="black",shape="box"];99 -> 103[label="",style="solid", color="black", weight=3]; 12.35/5.02 100 -> 9[label="",style="dashed", color="red", weight=0]; 12.35/5.02 100[label="primEqChar vx37 (Char (Succ vx41)) || vx37 == Char (Succ vx42) || vx37 == Char (Succ vx43)",fontsize=16,color="magenta"];100 -> 104[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 100 -> 105[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 100 -> 106[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 101[label="vx8000",fontsize=16,color="green",shape="box"];102[label="vx90",fontsize=16,color="green",shape="box"];103[label="True",fontsize=16,color="green",shape="box"];104[label="vx41",fontsize=16,color="green",shape="box"];105[label="vx37 == Char (Succ vx42) || vx37 == Char (Succ vx43)",fontsize=16,color="black",shape="box"];105 -> 107[label="",style="solid", color="black", weight=3]; 12.35/5.02 106[label="vx37",fontsize=16,color="green",shape="box"];107 -> 9[label="",style="dashed", color="red", weight=0]; 12.35/5.02 107[label="primEqChar vx37 (Char (Succ vx42)) || vx37 == Char (Succ vx43)",fontsize=16,color="magenta"];107 -> 108[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 107 -> 109[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 107 -> 110[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 108[label="vx42",fontsize=16,color="green",shape="box"];109[label="vx37 == Char (Succ vx43)",fontsize=16,color="black",shape="box"];109 -> 111[label="",style="solid", color="black", weight=3]; 12.35/5.02 110[label="vx37",fontsize=16,color="green",shape="box"];111[label="primEqChar vx37 (Char (Succ vx43))",fontsize=16,color="burlywood",shape="box"];139[label="vx37/Char vx370",fontsize=10,color="white",style="solid",shape="box"];111 -> 139[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 139 -> 112[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 112[label="primEqChar (Char vx370) (Char (Succ vx43))",fontsize=16,color="black",shape="box"];112 -> 113[label="",style="solid", color="black", weight=3]; 12.35/5.02 113[label="primEqNat vx370 (Succ vx43)",fontsize=16,color="burlywood",shape="box"];140[label="vx370/Succ vx3700",fontsize=10,color="white",style="solid",shape="box"];113 -> 140[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 140 -> 114[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 141[label="vx370/Zero",fontsize=10,color="white",style="solid",shape="box"];113 -> 141[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 141 -> 115[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 114[label="primEqNat (Succ vx3700) (Succ vx43)",fontsize=16,color="black",shape="box"];114 -> 116[label="",style="solid", color="black", weight=3]; 12.35/5.02 115[label="primEqNat Zero (Succ vx43)",fontsize=16,color="black",shape="box"];115 -> 117[label="",style="solid", color="black", weight=3]; 12.35/5.02 116[label="primEqNat vx3700 vx43",fontsize=16,color="burlywood",shape="triangle"];142[label="vx3700/Succ vx37000",fontsize=10,color="white",style="solid",shape="box"];116 -> 142[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 142 -> 118[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 143[label="vx3700/Zero",fontsize=10,color="white",style="solid",shape="box"];116 -> 143[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 143 -> 119[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 117[label="False",fontsize=16,color="green",shape="box"];118[label="primEqNat (Succ vx37000) vx43",fontsize=16,color="burlywood",shape="box"];144[label="vx43/Succ vx430",fontsize=10,color="white",style="solid",shape="box"];118 -> 144[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 144 -> 120[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 145[label="vx43/Zero",fontsize=10,color="white",style="solid",shape="box"];118 -> 145[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 145 -> 121[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 119[label="primEqNat Zero vx43",fontsize=16,color="burlywood",shape="box"];146[label="vx43/Succ vx430",fontsize=10,color="white",style="solid",shape="box"];119 -> 146[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 146 -> 122[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 147[label="vx43/Zero",fontsize=10,color="white",style="solid",shape="box"];119 -> 147[label="",style="solid", color="burlywood", weight=9]; 12.35/5.02 147 -> 123[label="",style="solid", color="burlywood", weight=3]; 12.35/5.02 120[label="primEqNat (Succ vx37000) (Succ vx430)",fontsize=16,color="black",shape="box"];120 -> 124[label="",style="solid", color="black", weight=3]; 12.35/5.02 121[label="primEqNat (Succ vx37000) Zero",fontsize=16,color="black",shape="box"];121 -> 125[label="",style="solid", color="black", weight=3]; 12.35/5.02 122[label="primEqNat Zero (Succ vx430)",fontsize=16,color="black",shape="box"];122 -> 126[label="",style="solid", color="black", weight=3]; 12.35/5.02 123[label="primEqNat Zero Zero",fontsize=16,color="black",shape="box"];123 -> 127[label="",style="solid", color="black", weight=3]; 12.35/5.02 124 -> 116[label="",style="dashed", color="red", weight=0]; 12.35/5.02 124[label="primEqNat vx37000 vx430",fontsize=16,color="magenta"];124 -> 128[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 124 -> 129[label="",style="dashed", color="magenta", weight=3]; 12.35/5.02 125[label="False",fontsize=16,color="green",shape="box"];126[label="False",fontsize=16,color="green",shape="box"];127[label="True",fontsize=16,color="green",shape="box"];128[label="vx430",fontsize=16,color="green",shape="box"];129[label="vx37000",fontsize=16,color="green",shape="box"];} 12.35/5.02 12.35/5.02 ---------------------------------------- 12.35/5.02 12.35/5.02 (8) 12.35/5.02 Complex Obligation (AND) 12.35/5.02 12.35/5.02 ---------------------------------------- 12.35/5.02 12.35/5.02 (9) 12.35/5.02 Obligation: 12.35/5.02 Q DP problem: 12.35/5.02 The TRS P consists of the following rules: 12.35/5.02 12.35/5.02 new_pePe(Succ(vx8000), Succ(vx90), vx10) -> new_pePe(vx8000, vx90, vx10) 12.35/5.02 12.35/5.02 R is empty. 12.35/5.02 Q is empty. 12.35/5.02 We have to consider all minimal (P,Q,R)-chains. 12.35/5.02 ---------------------------------------- 12.35/5.02 12.35/5.02 (10) QDPSizeChangeProof (EQUIVALENT) 12.35/5.02 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.35/5.02 12.35/5.02 From the DPs we obtained the following set of size-change graphs: 12.35/5.02 *new_pePe(Succ(vx8000), Succ(vx90), vx10) -> new_pePe(vx8000, vx90, vx10) 12.35/5.02 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 12.35/5.02 12.35/5.02 12.35/5.02 ---------------------------------------- 12.35/5.02 12.35/5.02 (11) 12.35/5.02 YES 12.35/5.02 12.35/5.02 ---------------------------------------- 12.35/5.02 12.35/5.02 (12) 12.35/5.02 Obligation: 12.35/5.02 Q DP problem: 12.35/5.02 The TRS P consists of the following rules: 12.35/5.02 12.35/5.02 new_primEqNat(Succ(vx37000), Succ(vx430)) -> new_primEqNat(vx37000, vx430) 12.35/5.02 12.35/5.02 R is empty. 12.35/5.02 Q is empty. 12.35/5.02 We have to consider all minimal (P,Q,R)-chains. 12.35/5.02 ---------------------------------------- 12.35/5.02 12.35/5.02 (13) QDPSizeChangeProof (EQUIVALENT) 12.35/5.02 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.35/5.02 12.35/5.02 From the DPs we obtained the following set of size-change graphs: 12.35/5.02 *new_primEqNat(Succ(vx37000), Succ(vx430)) -> new_primEqNat(vx37000, vx430) 12.35/5.02 The graph contains the following edges 1 > 1, 2 > 2 12.35/5.02 12.35/5.02 12.35/5.02 ---------------------------------------- 12.35/5.02 12.35/5.02 (14) 12.35/5.02 YES 12.39/5.06 EOF