/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) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 0 ms] (4) HASKELL (5) Narrow [SOUND, 0 ms] (6) AND (7) QDP (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] (9) YES (10) QDP (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] (12) 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) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="inRange",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="inRange vx3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 4[label="inRange vx3 vx4",fontsize=16,color="burlywood",shape="triangle"];210[label="vx3/(vx30,vx31)",fontsize=10,color="white",style="solid",shape="box"];4 -> 210[label="",style="solid", color="burlywood", weight=9]; 210 -> 5[label="",style="solid", color="burlywood", weight=3]; 5[label="inRange (vx30,vx31) vx4",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 6[label="vx30 <= vx4 && vx4 <= vx31",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 7[label="compare vx30 vx4 /= GT && vx4 <= vx31",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 8[label="not (compare vx30 vx4 == GT) && vx4 <= vx31",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9[label="not (primCmpInt vx30 vx4 == GT) && vx4 <= vx31",fontsize=16,color="burlywood",shape="box"];211[label="vx30/Pos vx300",fontsize=10,color="white",style="solid",shape="box"];9 -> 211[label="",style="solid", color="burlywood", weight=9]; 211 -> 10[label="",style="solid", color="burlywood", weight=3]; 212[label="vx30/Neg vx300",fontsize=10,color="white",style="solid",shape="box"];9 -> 212[label="",style="solid", color="burlywood", weight=9]; 212 -> 11[label="",style="solid", color="burlywood", weight=3]; 10[label="not (primCmpInt (Pos vx300) vx4 == GT) && vx4 <= vx31",fontsize=16,color="burlywood",shape="box"];213[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];10 -> 213[label="",style="solid", color="burlywood", weight=9]; 213 -> 12[label="",style="solid", color="burlywood", weight=3]; 214[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 214[label="",style="solid", color="burlywood", weight=9]; 214 -> 13[label="",style="solid", color="burlywood", weight=3]; 11[label="not (primCmpInt (Neg vx300) vx4 == GT) && vx4 <= vx31",fontsize=16,color="burlywood",shape="box"];215[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];11 -> 215[label="",style="solid", color="burlywood", weight=9]; 215 -> 14[label="",style="solid", color="burlywood", weight=3]; 216[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];11 -> 216[label="",style="solid", color="burlywood", weight=9]; 216 -> 15[label="",style="solid", color="burlywood", weight=3]; 12[label="not (primCmpInt (Pos (Succ vx3000)) vx4 == GT) && vx4 <= vx31",fontsize=16,color="burlywood",shape="box"];217[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];12 -> 217[label="",style="solid", color="burlywood", weight=9]; 217 -> 16[label="",style="solid", color="burlywood", weight=3]; 218[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];12 -> 218[label="",style="solid", color="burlywood", weight=9]; 218 -> 17[label="",style="solid", color="burlywood", weight=3]; 13[label="not (primCmpInt (Pos Zero) vx4 == GT) && vx4 <= vx31",fontsize=16,color="burlywood",shape="box"];219[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];13 -> 219[label="",style="solid", color="burlywood", weight=9]; 219 -> 18[label="",style="solid", color="burlywood", weight=3]; 220[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];13 -> 220[label="",style="solid", color="burlywood", weight=9]; 220 -> 19[label="",style="solid", color="burlywood", weight=3]; 14[label="not (primCmpInt (Neg (Succ vx3000)) vx4 == GT) && vx4 <= vx31",fontsize=16,color="burlywood",shape="box"];221[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];14 -> 221[label="",style="solid", color="burlywood", weight=9]; 221 -> 20[label="",style="solid", color="burlywood", weight=3]; 222[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];14 -> 222[label="",style="solid", color="burlywood", weight=9]; 222 -> 21[label="",style="solid", color="burlywood", weight=3]; 15[label="not (primCmpInt (Neg Zero) vx4 == GT) && vx4 <= vx31",fontsize=16,color="burlywood",shape="box"];223[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];15 -> 223[label="",style="solid", color="burlywood", weight=9]; 223 -> 22[label="",style="solid", color="burlywood", weight=3]; 224[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];15 -> 224[label="",style="solid", color="burlywood", weight=9]; 224 -> 23[label="",style="solid", color="burlywood", weight=3]; 16[label="not (primCmpInt (Pos (Succ vx3000)) (Pos vx40) == GT) && Pos vx40 <= vx31",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3]; 17[label="not (primCmpInt (Pos (Succ vx3000)) (Neg vx40) == GT) && Neg vx40 <= vx31",fontsize=16,color="black",shape="box"];17 -> 25[label="",style="solid", color="black", weight=3]; 18[label="not (primCmpInt (Pos Zero) (Pos vx40) == GT) && Pos vx40 <= vx31",fontsize=16,color="burlywood",shape="box"];225[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];18 -> 225[label="",style="solid", color="burlywood", weight=9]; 225 -> 26[label="",style="solid", color="burlywood", weight=3]; 226[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];18 -> 226[label="",style="solid", color="burlywood", weight=9]; 226 -> 27[label="",style="solid", color="burlywood", weight=3]; 19[label="not (primCmpInt (Pos Zero) (Neg vx40) == GT) && Neg vx40 <= vx31",fontsize=16,color="burlywood",shape="box"];227[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];19 -> 227[label="",style="solid", color="burlywood", weight=9]; 227 -> 28[label="",style="solid", color="burlywood", weight=3]; 228[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];19 -> 228[label="",style="solid", color="burlywood", weight=9]; 228 -> 29[label="",style="solid", color="burlywood", weight=3]; 20[label="not (primCmpInt (Neg (Succ vx3000)) (Pos vx40) == GT) && Pos vx40 <= vx31",fontsize=16,color="black",shape="box"];20 -> 30[label="",style="solid", color="black", weight=3]; 21[label="not (primCmpInt (Neg (Succ vx3000)) (Neg vx40) == GT) && Neg vx40 <= vx31",fontsize=16,color="black",shape="box"];21 -> 31[label="",style="solid", color="black", weight=3]; 22[label="not (primCmpInt (Neg Zero) (Pos vx40) == GT) && Pos vx40 <= vx31",fontsize=16,color="burlywood",shape="box"];229[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];22 -> 229[label="",style="solid", color="burlywood", weight=9]; 229 -> 32[label="",style="solid", color="burlywood", weight=3]; 230[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];22 -> 230[label="",style="solid", color="burlywood", weight=9]; 230 -> 33[label="",style="solid", color="burlywood", weight=3]; 23[label="not (primCmpInt (Neg Zero) (Neg vx40) == GT) && Neg vx40 <= vx31",fontsize=16,color="burlywood",shape="box"];231[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];23 -> 231[label="",style="solid", color="burlywood", weight=9]; 231 -> 34[label="",style="solid", color="burlywood", weight=3]; 232[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 232[label="",style="solid", color="burlywood", weight=9]; 232 -> 35[label="",style="solid", color="burlywood", weight=3]; 24 -> 100[label="",style="dashed", color="red", weight=0]; 24[label="not (primCmpNat (Succ vx3000) vx40 == GT) && Pos vx40 <= vx31",fontsize=16,color="magenta"];24 -> 101[label="",style="dashed", color="magenta", weight=3]; 24 -> 102[label="",style="dashed", color="magenta", weight=3]; 24 -> 103[label="",style="dashed", color="magenta", weight=3]; 25[label="not (GT == GT) && Neg vx40 <= vx31",fontsize=16,color="black",shape="triangle"];25 -> 38[label="",style="solid", color="black", weight=3]; 26[label="not (primCmpInt (Pos Zero) (Pos (Succ vx400)) == GT) && Pos (Succ vx400) <= vx31",fontsize=16,color="black",shape="box"];26 -> 39[label="",style="solid", color="black", weight=3]; 27[label="not (primCmpInt (Pos Zero) (Pos Zero) == GT) && Pos Zero <= vx31",fontsize=16,color="black",shape="box"];27 -> 40[label="",style="solid", color="black", weight=3]; 28[label="not (primCmpInt (Pos Zero) (Neg (Succ vx400)) == GT) && Neg (Succ vx400) <= vx31",fontsize=16,color="black",shape="box"];28 -> 41[label="",style="solid", color="black", weight=3]; 29[label="not (primCmpInt (Pos Zero) (Neg Zero) == GT) && Neg Zero <= vx31",fontsize=16,color="black",shape="box"];29 -> 42[label="",style="solid", color="black", weight=3]; 30[label="not (LT == GT) && Pos vx40 <= vx31",fontsize=16,color="black",shape="triangle"];30 -> 43[label="",style="solid", color="black", weight=3]; 31 -> 100[label="",style="dashed", color="red", weight=0]; 31[label="not (primCmpNat vx40 (Succ vx3000) == GT) && Neg vx40 <= vx31",fontsize=16,color="magenta"];31 -> 104[label="",style="dashed", color="magenta", weight=3]; 31 -> 105[label="",style="dashed", color="magenta", weight=3]; 31 -> 106[label="",style="dashed", color="magenta", weight=3]; 32[label="not (primCmpInt (Neg Zero) (Pos (Succ vx400)) == GT) && Pos (Succ vx400) <= vx31",fontsize=16,color="black",shape="box"];32 -> 46[label="",style="solid", color="black", weight=3]; 33[label="not (primCmpInt (Neg Zero) (Pos Zero) == GT) && Pos Zero <= vx31",fontsize=16,color="black",shape="box"];33 -> 47[label="",style="solid", color="black", weight=3]; 34[label="not (primCmpInt (Neg Zero) (Neg (Succ vx400)) == GT) && Neg (Succ vx400) <= vx31",fontsize=16,color="black",shape="box"];34 -> 48[label="",style="solid", color="black", weight=3]; 35[label="not (primCmpInt (Neg Zero) (Neg Zero) == GT) && Neg Zero <= vx31",fontsize=16,color="black",shape="box"];35 -> 49[label="",style="solid", color="black", weight=3]; 101[label="Succ vx3000",fontsize=16,color="green",shape="box"];102 -> 69[label="",style="dashed", color="red", weight=0]; 102[label="Pos vx40 <= vx31",fontsize=16,color="magenta"];103[label="vx40",fontsize=16,color="green",shape="box"];100[label="not (primCmpNat vx30000 vx4000 == GT) && vx6",fontsize=16,color="burlywood",shape="triangle"];233[label="vx30000/Succ vx300000",fontsize=10,color="white",style="solid",shape="box"];100 -> 233[label="",style="solid", color="burlywood", weight=9]; 233 -> 123[label="",style="solid", color="burlywood", weight=3]; 234[label="vx30000/Zero",fontsize=10,color="white",style="solid",shape="box"];100 -> 234[label="",style="solid", color="burlywood", weight=9]; 234 -> 124[label="",style="solid", color="burlywood", weight=3]; 38[label="not True && Neg vx40 <= vx31",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3]; 39 -> 100[label="",style="dashed", color="red", weight=0]; 39[label="not (primCmpNat Zero (Succ vx400) == GT) && Pos (Succ vx400) <= vx31",fontsize=16,color="magenta"];39 -> 107[label="",style="dashed", color="magenta", weight=3]; 39 -> 108[label="",style="dashed", color="magenta", weight=3]; 39 -> 109[label="",style="dashed", color="magenta", weight=3]; 40[label="not (EQ == GT) && Pos Zero <= vx31",fontsize=16,color="black",shape="triangle"];40 -> 54[label="",style="solid", color="black", weight=3]; 41 -> 25[label="",style="dashed", color="red", weight=0]; 41[label="not (GT == GT) && Neg (Succ vx400) <= vx31",fontsize=16,color="magenta"];41 -> 55[label="",style="dashed", color="magenta", weight=3]; 42[label="not (EQ == GT) && Neg Zero <= vx31",fontsize=16,color="black",shape="triangle"];42 -> 56[label="",style="solid", color="black", weight=3]; 43[label="not False && Pos vx40 <= vx31",fontsize=16,color="black",shape="triangle"];43 -> 57[label="",style="solid", color="black", weight=3]; 104[label="vx40",fontsize=16,color="green",shape="box"];105 -> 90[label="",style="dashed", color="red", weight=0]; 105[label="Neg vx40 <= vx31",fontsize=16,color="magenta"];106[label="Succ vx3000",fontsize=16,color="green",shape="box"];46 -> 30[label="",style="dashed", color="red", weight=0]; 46[label="not (LT == GT) && Pos (Succ vx400) <= vx31",fontsize=16,color="magenta"];46 -> 60[label="",style="dashed", color="magenta", weight=3]; 47 -> 40[label="",style="dashed", color="red", weight=0]; 47[label="not (EQ == GT) && Pos Zero <= vx31",fontsize=16,color="magenta"];48 -> 100[label="",style="dashed", color="red", weight=0]; 48[label="not (primCmpNat (Succ vx400) Zero == GT) && Neg (Succ vx400) <= vx31",fontsize=16,color="magenta"];48 -> 110[label="",style="dashed", color="magenta", weight=3]; 48 -> 111[label="",style="dashed", color="magenta", weight=3]; 48 -> 112[label="",style="dashed", color="magenta", weight=3]; 49 -> 42[label="",style="dashed", color="red", weight=0]; 49[label="not (EQ == GT) && Neg Zero <= vx31",fontsize=16,color="magenta"];69[label="Pos vx40 <= vx31",fontsize=16,color="black",shape="triangle"];69 -> 80[label="",style="solid", color="black", weight=3]; 123[label="not (primCmpNat (Succ vx300000) vx4000 == GT) && vx6",fontsize=16,color="burlywood",shape="box"];235[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];123 -> 235[label="",style="solid", color="burlywood", weight=9]; 235 -> 129[label="",style="solid", color="burlywood", weight=3]; 236[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 236[label="",style="solid", color="burlywood", weight=9]; 236 -> 130[label="",style="solid", color="burlywood", weight=3]; 124[label="not (primCmpNat Zero vx4000 == GT) && vx6",fontsize=16,color="burlywood",shape="box"];237[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];124 -> 237[label="",style="solid", color="burlywood", weight=9]; 237 -> 131[label="",style="solid", color="burlywood", weight=3]; 238[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];124 -> 238[label="",style="solid", color="burlywood", weight=9]; 238 -> 132[label="",style="solid", color="burlywood", weight=3]; 52 -> 89[label="",style="dashed", color="red", weight=0]; 52[label="False && Neg vx40 <= vx31",fontsize=16,color="magenta"];52 -> 90[label="",style="dashed", color="magenta", weight=3]; 107[label="Zero",fontsize=16,color="green",shape="box"];108 -> 69[label="",style="dashed", color="red", weight=0]; 108[label="Pos (Succ vx400) <= vx31",fontsize=16,color="magenta"];108 -> 125[label="",style="dashed", color="magenta", weight=3]; 109[label="Succ vx400",fontsize=16,color="green",shape="box"];54 -> 43[label="",style="dashed", color="red", weight=0]; 54[label="not False && Pos Zero <= vx31",fontsize=16,color="magenta"];54 -> 67[label="",style="dashed", color="magenta", weight=3]; 55[label="Succ vx400",fontsize=16,color="green",shape="box"];56[label="not False && Neg Zero <= vx31",fontsize=16,color="black",shape="triangle"];56 -> 68[label="",style="solid", color="black", weight=3]; 57[label="True && Pos vx40 <= vx31",fontsize=16,color="black",shape="box"];57 -> 69[label="",style="solid", color="black", weight=3]; 90[label="Neg vx40 <= vx31",fontsize=16,color="black",shape="triangle"];90 -> 92[label="",style="solid", color="black", weight=3]; 60[label="Succ vx400",fontsize=16,color="green",shape="box"];110[label="Succ vx400",fontsize=16,color="green",shape="box"];111 -> 90[label="",style="dashed", color="red", weight=0]; 111[label="Neg (Succ vx400) <= vx31",fontsize=16,color="magenta"];111 -> 126[label="",style="dashed", color="magenta", weight=3]; 112[label="Zero",fontsize=16,color="green",shape="box"];80[label="compare (Pos vx40) vx31 /= GT",fontsize=16,color="black",shape="box"];80 -> 95[label="",style="solid", color="black", weight=3]; 129[label="not (primCmpNat (Succ vx300000) (Succ vx40000) == GT) && vx6",fontsize=16,color="black",shape="box"];129 -> 136[label="",style="solid", color="black", weight=3]; 130[label="not (primCmpNat (Succ vx300000) Zero == GT) && vx6",fontsize=16,color="black",shape="box"];130 -> 137[label="",style="solid", color="black", weight=3]; 131[label="not (primCmpNat Zero (Succ vx40000) == GT) && vx6",fontsize=16,color="black",shape="box"];131 -> 138[label="",style="solid", color="black", weight=3]; 132[label="not (primCmpNat Zero Zero == GT) && vx6",fontsize=16,color="black",shape="box"];132 -> 139[label="",style="solid", color="black", weight=3]; 89[label="False && vx5",fontsize=16,color="black",shape="triangle"];89 -> 93[label="",style="solid", color="black", weight=3]; 125[label="Succ vx400",fontsize=16,color="green",shape="box"];67[label="Zero",fontsize=16,color="green",shape="box"];68[label="True && Neg Zero <= vx31",fontsize=16,color="black",shape="box"];68 -> 79[label="",style="solid", color="black", weight=3]; 92[label="compare (Neg vx40) vx31 /= GT",fontsize=16,color="black",shape="box"];92 -> 127[label="",style="solid", color="black", weight=3]; 126[label="Succ vx400",fontsize=16,color="green",shape="box"];95[label="not (compare (Pos vx40) vx31 == GT)",fontsize=16,color="black",shape="box"];95 -> 128[label="",style="solid", color="black", weight=3]; 136 -> 100[label="",style="dashed", color="red", weight=0]; 136[label="not (primCmpNat vx300000 vx40000 == GT) && vx6",fontsize=16,color="magenta"];136 -> 146[label="",style="dashed", color="magenta", weight=3]; 136 -> 147[label="",style="dashed", color="magenta", weight=3]; 137[label="not (GT == GT) && vx6",fontsize=16,color="black",shape="box"];137 -> 148[label="",style="solid", color="black", weight=3]; 138[label="not (LT == GT) && vx6",fontsize=16,color="black",shape="box"];138 -> 149[label="",style="solid", color="black", weight=3]; 139[label="not (EQ == GT) && vx6",fontsize=16,color="black",shape="box"];139 -> 150[label="",style="solid", color="black", weight=3]; 93[label="False",fontsize=16,color="green",shape="box"];79 -> 90[label="",style="dashed", color="red", weight=0]; 79[label="Neg Zero <= vx31",fontsize=16,color="magenta"];79 -> 94[label="",style="dashed", color="magenta", weight=3]; 127[label="not (compare (Neg vx40) vx31 == GT)",fontsize=16,color="black",shape="box"];127 -> 133[label="",style="solid", color="black", weight=3]; 128[label="not (primCmpInt (Pos vx40) vx31 == GT)",fontsize=16,color="burlywood",shape="box"];239[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];128 -> 239[label="",style="solid", color="burlywood", weight=9]; 239 -> 134[label="",style="solid", color="burlywood", weight=3]; 240[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];128 -> 240[label="",style="solid", color="burlywood", weight=9]; 240 -> 135[label="",style="solid", color="burlywood", weight=3]; 146[label="vx300000",fontsize=16,color="green",shape="box"];147[label="vx40000",fontsize=16,color="green",shape="box"];148[label="not True && vx6",fontsize=16,color="black",shape="box"];148 -> 161[label="",style="solid", color="black", weight=3]; 149[label="not False && vx6",fontsize=16,color="black",shape="triangle"];149 -> 162[label="",style="solid", color="black", weight=3]; 150 -> 149[label="",style="dashed", color="red", weight=0]; 150[label="not False && vx6",fontsize=16,color="magenta"];94[label="Zero",fontsize=16,color="green",shape="box"];133[label="not (primCmpInt (Neg vx40) vx31 == GT)",fontsize=16,color="burlywood",shape="box"];241[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];133 -> 241[label="",style="solid", color="burlywood", weight=9]; 241 -> 140[label="",style="solid", color="burlywood", weight=3]; 242[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];133 -> 242[label="",style="solid", color="burlywood", weight=9]; 242 -> 141[label="",style="solid", color="burlywood", weight=3]; 134[label="not (primCmpInt (Pos (Succ vx400)) vx31 == GT)",fontsize=16,color="burlywood",shape="box"];243[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];134 -> 243[label="",style="solid", color="burlywood", weight=9]; 243 -> 142[label="",style="solid", color="burlywood", weight=3]; 244[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];134 -> 244[label="",style="solid", color="burlywood", weight=9]; 244 -> 143[label="",style="solid", color="burlywood", weight=3]; 135[label="not (primCmpInt (Pos Zero) vx31 == GT)",fontsize=16,color="burlywood",shape="box"];245[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];135 -> 245[label="",style="solid", color="burlywood", weight=9]; 245 -> 144[label="",style="solid", color="burlywood", weight=3]; 246[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];135 -> 246[label="",style="solid", color="burlywood", weight=9]; 246 -> 145[label="",style="solid", color="burlywood", weight=3]; 161 -> 89[label="",style="dashed", color="red", weight=0]; 161[label="False && vx6",fontsize=16,color="magenta"];161 -> 176[label="",style="dashed", color="magenta", weight=3]; 162[label="True && vx6",fontsize=16,color="black",shape="box"];162 -> 177[label="",style="solid", color="black", weight=3]; 140[label="not (primCmpInt (Neg (Succ vx400)) vx31 == GT)",fontsize=16,color="burlywood",shape="box"];247[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];140 -> 247[label="",style="solid", color="burlywood", weight=9]; 247 -> 151[label="",style="solid", color="burlywood", weight=3]; 248[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];140 -> 248[label="",style="solid", color="burlywood", weight=9]; 248 -> 152[label="",style="solid", color="burlywood", weight=3]; 141[label="not (primCmpInt (Neg Zero) vx31 == GT)",fontsize=16,color="burlywood",shape="box"];249[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];141 -> 249[label="",style="solid", color="burlywood", weight=9]; 249 -> 153[label="",style="solid", color="burlywood", weight=3]; 250[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];141 -> 250[label="",style="solid", color="burlywood", weight=9]; 250 -> 154[label="",style="solid", color="burlywood", weight=3]; 142[label="not (primCmpInt (Pos (Succ vx400)) (Pos vx310) == GT)",fontsize=16,color="black",shape="box"];142 -> 155[label="",style="solid", color="black", weight=3]; 143[label="not (primCmpInt (Pos (Succ vx400)) (Neg vx310) == GT)",fontsize=16,color="black",shape="box"];143 -> 156[label="",style="solid", color="black", weight=3]; 144[label="not (primCmpInt (Pos Zero) (Pos vx310) == GT)",fontsize=16,color="burlywood",shape="box"];251[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];144 -> 251[label="",style="solid", color="burlywood", weight=9]; 251 -> 157[label="",style="solid", color="burlywood", weight=3]; 252[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];144 -> 252[label="",style="solid", color="burlywood", weight=9]; 252 -> 158[label="",style="solid", color="burlywood", weight=3]; 145[label="not (primCmpInt (Pos Zero) (Neg vx310) == GT)",fontsize=16,color="burlywood",shape="box"];253[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];145 -> 253[label="",style="solid", color="burlywood", weight=9]; 253 -> 159[label="",style="solid", color="burlywood", weight=3]; 254[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];145 -> 254[label="",style="solid", color="burlywood", weight=9]; 254 -> 160[label="",style="solid", color="burlywood", weight=3]; 176[label="vx6",fontsize=16,color="green",shape="box"];177[label="vx6",fontsize=16,color="green",shape="box"];151[label="not (primCmpInt (Neg (Succ vx400)) (Pos vx310) == GT)",fontsize=16,color="black",shape="box"];151 -> 163[label="",style="solid", color="black", weight=3]; 152[label="not (primCmpInt (Neg (Succ vx400)) (Neg vx310) == GT)",fontsize=16,color="black",shape="box"];152 -> 164[label="",style="solid", color="black", weight=3]; 153[label="not (primCmpInt (Neg Zero) (Pos vx310) == GT)",fontsize=16,color="burlywood",shape="box"];255[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];153 -> 255[label="",style="solid", color="burlywood", weight=9]; 255 -> 165[label="",style="solid", color="burlywood", weight=3]; 256[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];153 -> 256[label="",style="solid", color="burlywood", weight=9]; 256 -> 166[label="",style="solid", color="burlywood", weight=3]; 154[label="not (primCmpInt (Neg Zero) (Neg vx310) == GT)",fontsize=16,color="burlywood",shape="box"];257[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];154 -> 257[label="",style="solid", color="burlywood", weight=9]; 257 -> 167[label="",style="solid", color="burlywood", weight=3]; 258[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];154 -> 258[label="",style="solid", color="burlywood", weight=9]; 258 -> 168[label="",style="solid", color="burlywood", weight=3]; 155[label="not (primCmpNat (Succ vx400) vx310 == GT)",fontsize=16,color="burlywood",shape="triangle"];259[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];155 -> 259[label="",style="solid", color="burlywood", weight=9]; 259 -> 169[label="",style="solid", color="burlywood", weight=3]; 260[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];155 -> 260[label="",style="solid", color="burlywood", weight=9]; 260 -> 170[label="",style="solid", color="burlywood", weight=3]; 156[label="not (GT == GT)",fontsize=16,color="black",shape="triangle"];156 -> 171[label="",style="solid", color="black", weight=3]; 157[label="not (primCmpInt (Pos Zero) (Pos (Succ vx3100)) == GT)",fontsize=16,color="black",shape="box"];157 -> 172[label="",style="solid", color="black", weight=3]; 158[label="not (primCmpInt (Pos Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];158 -> 173[label="",style="solid", color="black", weight=3]; 159[label="not (primCmpInt (Pos Zero) (Neg (Succ vx3100)) == GT)",fontsize=16,color="black",shape="box"];159 -> 174[label="",style="solid", color="black", weight=3]; 160[label="not (primCmpInt (Pos Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];160 -> 175[label="",style="solid", color="black", weight=3]; 163[label="not (LT == GT)",fontsize=16,color="black",shape="triangle"];163 -> 178[label="",style="solid", color="black", weight=3]; 164[label="not (primCmpNat vx310 (Succ vx400) == GT)",fontsize=16,color="burlywood",shape="triangle"];261[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];164 -> 261[label="",style="solid", color="burlywood", weight=9]; 261 -> 179[label="",style="solid", color="burlywood", weight=3]; 262[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];164 -> 262[label="",style="solid", color="burlywood", weight=9]; 262 -> 180[label="",style="solid", color="burlywood", weight=3]; 165[label="not (primCmpInt (Neg Zero) (Pos (Succ vx3100)) == GT)",fontsize=16,color="black",shape="box"];165 -> 181[label="",style="solid", color="black", weight=3]; 166[label="not (primCmpInt (Neg Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];166 -> 182[label="",style="solid", color="black", weight=3]; 167[label="not (primCmpInt (Neg Zero) (Neg (Succ vx3100)) == GT)",fontsize=16,color="black",shape="box"];167 -> 183[label="",style="solid", color="black", weight=3]; 168[label="not (primCmpInt (Neg Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];168 -> 184[label="",style="solid", color="black", weight=3]; 169[label="not (primCmpNat (Succ vx400) (Succ vx3100) == GT)",fontsize=16,color="black",shape="box"];169 -> 185[label="",style="solid", color="black", weight=3]; 170[label="not (primCmpNat (Succ vx400) Zero == GT)",fontsize=16,color="black",shape="box"];170 -> 186[label="",style="solid", color="black", weight=3]; 171[label="not True",fontsize=16,color="black",shape="box"];171 -> 187[label="",style="solid", color="black", weight=3]; 172 -> 164[label="",style="dashed", color="red", weight=0]; 172[label="not (primCmpNat Zero (Succ vx3100) == GT)",fontsize=16,color="magenta"];172 -> 188[label="",style="dashed", color="magenta", weight=3]; 172 -> 189[label="",style="dashed", color="magenta", weight=3]; 173[label="not (EQ == GT)",fontsize=16,color="black",shape="triangle"];173 -> 190[label="",style="solid", color="black", weight=3]; 174 -> 156[label="",style="dashed", color="red", weight=0]; 174[label="not (GT == GT)",fontsize=16,color="magenta"];175 -> 173[label="",style="dashed", color="red", weight=0]; 175[label="not (EQ == GT)",fontsize=16,color="magenta"];178[label="not False",fontsize=16,color="black",shape="triangle"];178 -> 191[label="",style="solid", color="black", weight=3]; 179[label="not (primCmpNat (Succ vx3100) (Succ vx400) == GT)",fontsize=16,color="black",shape="box"];179 -> 192[label="",style="solid", color="black", weight=3]; 180[label="not (primCmpNat Zero (Succ vx400) == GT)",fontsize=16,color="black",shape="box"];180 -> 193[label="",style="solid", color="black", weight=3]; 181 -> 163[label="",style="dashed", color="red", weight=0]; 181[label="not (LT == GT)",fontsize=16,color="magenta"];182 -> 173[label="",style="dashed", color="red", weight=0]; 182[label="not (EQ == GT)",fontsize=16,color="magenta"];183 -> 155[label="",style="dashed", color="red", weight=0]; 183[label="not (primCmpNat (Succ vx3100) Zero == GT)",fontsize=16,color="magenta"];183 -> 194[label="",style="dashed", color="magenta", weight=3]; 183 -> 195[label="",style="dashed", color="magenta", weight=3]; 184 -> 173[label="",style="dashed", color="red", weight=0]; 184[label="not (EQ == GT)",fontsize=16,color="magenta"];185[label="not (primCmpNat vx400 vx3100 == GT)",fontsize=16,color="burlywood",shape="triangle"];263[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];185 -> 263[label="",style="solid", color="burlywood", weight=9]; 263 -> 196[label="",style="solid", color="burlywood", weight=3]; 264[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];185 -> 264[label="",style="solid", color="burlywood", weight=9]; 264 -> 197[label="",style="solid", color="burlywood", weight=3]; 186 -> 156[label="",style="dashed", color="red", weight=0]; 186[label="not (GT == GT)",fontsize=16,color="magenta"];187[label="False",fontsize=16,color="green",shape="box"];188[label="vx3100",fontsize=16,color="green",shape="box"];189[label="Zero",fontsize=16,color="green",shape="box"];190 -> 178[label="",style="dashed", color="red", weight=0]; 190[label="not False",fontsize=16,color="magenta"];191[label="True",fontsize=16,color="green",shape="box"];192 -> 185[label="",style="dashed", color="red", weight=0]; 192[label="not (primCmpNat vx3100 vx400 == GT)",fontsize=16,color="magenta"];192 -> 198[label="",style="dashed", color="magenta", weight=3]; 192 -> 199[label="",style="dashed", color="magenta", weight=3]; 193 -> 163[label="",style="dashed", color="red", weight=0]; 193[label="not (LT == GT)",fontsize=16,color="magenta"];194[label="vx3100",fontsize=16,color="green",shape="box"];195[label="Zero",fontsize=16,color="green",shape="box"];196[label="not (primCmpNat (Succ vx4000) vx3100 == GT)",fontsize=16,color="burlywood",shape="box"];265[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];196 -> 265[label="",style="solid", color="burlywood", weight=9]; 265 -> 200[label="",style="solid", color="burlywood", weight=3]; 266[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];196 -> 266[label="",style="solid", color="burlywood", weight=9]; 266 -> 201[label="",style="solid", color="burlywood", weight=3]; 197[label="not (primCmpNat Zero vx3100 == GT)",fontsize=16,color="burlywood",shape="box"];267[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];197 -> 267[label="",style="solid", color="burlywood", weight=9]; 267 -> 202[label="",style="solid", color="burlywood", weight=3]; 268[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];197 -> 268[label="",style="solid", color="burlywood", weight=9]; 268 -> 203[label="",style="solid", color="burlywood", weight=3]; 198[label="vx3100",fontsize=16,color="green",shape="box"];199[label="vx400",fontsize=16,color="green",shape="box"];200[label="not (primCmpNat (Succ vx4000) (Succ vx31000) == GT)",fontsize=16,color="black",shape="box"];200 -> 204[label="",style="solid", color="black", weight=3]; 201[label="not (primCmpNat (Succ vx4000) Zero == GT)",fontsize=16,color="black",shape="box"];201 -> 205[label="",style="solid", color="black", weight=3]; 202[label="not (primCmpNat Zero (Succ vx31000) == GT)",fontsize=16,color="black",shape="box"];202 -> 206[label="",style="solid", color="black", weight=3]; 203[label="not (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];203 -> 207[label="",style="solid", color="black", weight=3]; 204 -> 185[label="",style="dashed", color="red", weight=0]; 204[label="not (primCmpNat vx4000 vx31000 == GT)",fontsize=16,color="magenta"];204 -> 208[label="",style="dashed", color="magenta", weight=3]; 204 -> 209[label="",style="dashed", color="magenta", weight=3]; 205 -> 156[label="",style="dashed", color="red", weight=0]; 205[label="not (GT == GT)",fontsize=16,color="magenta"];206 -> 163[label="",style="dashed", color="red", weight=0]; 206[label="not (LT == GT)",fontsize=16,color="magenta"];207 -> 173[label="",style="dashed", color="red", weight=0]; 207[label="not (EQ == GT)",fontsize=16,color="magenta"];208[label="vx4000",fontsize=16,color="green",shape="box"];209[label="vx31000",fontsize=16,color="green",shape="box"];} ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: new_not(Succ(vx4000), Succ(vx31000)) -> new_not(vx4000, vx31000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (8) 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_not(Succ(vx4000), Succ(vx31000)) -> new_not(vx4000, vx31000) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (9) YES ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: new_asAs(Succ(vx300000), Succ(vx40000), vx6) -> new_asAs(vx300000, vx40000, vx6) 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_asAs(Succ(vx300000), Succ(vx40000), vx6) -> new_asAs(vx300000, vx40000, vx6) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 ---------------------------------------- (12) YES