/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.hs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty H-Termination with start terms of the given HASKELL could be proven: (0) HASKELL (1) BR [EQUIVALENT, 0 ms] (2) HASKELL (3) COR [EQUIVALENT, 20 ms] (4) HASKELL (5) NumRed [SOUND, 0 ms] (6) HASKELL (7) Narrow [SOUND, 0 ms] (8) AND (9) QDP (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] (11) YES (12) QDP (13) QDPSizeChangeProof [EQUIVALENT, 0 ms] (14) YES (15) QDP (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] (17) YES (18) QDP (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] (20) YES ---------------------------------------- (0) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; genericLength :: Num b => [a] -> b; genericLength [] = 0; genericLength (_ : l) = 1 + genericLength l; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (1) BR (EQUIVALENT) Replaced joker patterns by fresh variables and removed binding patterns. ---------------------------------------- (2) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; genericLength :: Num a => [b] -> a; genericLength [] = 0; genericLength (vy : l) = 1 + genericLength l; } module Main where { import qualified List; import qualified Maybe; 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 Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; genericLength :: Num a => [b] -> a; genericLength [] = 0; genericLength (vy : l) = 1 + genericLength l; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (5) NumRed (SOUND) Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. ---------------------------------------- (6) Obligation: mainModule Main module Maybe where { import qualified List; import qualified Main; import qualified Prelude; } module List where { import qualified Main; import qualified Maybe; import qualified Prelude; genericLength :: Num b => [a] -> b; genericLength [] = fromInt (Pos Zero); genericLength (vy : l) = fromInt (Pos (Succ Zero)) + genericLength l; } module Main where { import qualified List; import qualified Maybe; import qualified Prelude; } ---------------------------------------- (7) Narrow (SOUND) Haskell To QDPs digraph dp_graph { node [outthreshold=100, inthreshold=100];1[label="List.genericLength",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 3[label="List.genericLength vz3",fontsize=16,color="burlywood",shape="triangle"];294[label="vz3/vz30 : vz31",fontsize=10,color="white",style="solid",shape="box"];3 -> 294[label="",style="solid", color="burlywood", weight=9]; 294 -> 4[label="",style="solid", color="burlywood", weight=3]; 295[label="vz3/[]",fontsize=10,color="white",style="solid",shape="box"];3 -> 295[label="",style="solid", color="burlywood", weight=9]; 295 -> 5[label="",style="solid", color="burlywood", weight=3]; 4[label="List.genericLength (vz30 : vz31)",fontsize=16,color="black",shape="box"];4 -> 6[label="",style="solid", color="black", weight=3]; 5[label="List.genericLength []",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 6 -> 8[label="",style="dashed", color="red", weight=0]; 6[label="fromInt (Pos (Succ Zero)) + List.genericLength vz31",fontsize=16,color="magenta"];6 -> 9[label="",style="dashed", color="magenta", weight=3]; 7[label="fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];7 -> 10[label="",style="solid", color="black", weight=3]; 9 -> 3[label="",style="dashed", color="red", weight=0]; 9[label="List.genericLength vz31",fontsize=16,color="magenta"];9 -> 11[label="",style="dashed", color="magenta", weight=3]; 8[label="fromInt (Pos (Succ Zero)) + vz4",fontsize=16,color="black",shape="triangle"];8 -> 12[label="",style="solid", color="black", weight=3]; 10[label="primIntToFloat (Pos Zero)",fontsize=16,color="black",shape="box"];10 -> 13[label="",style="solid", color="black", weight=3]; 11[label="vz31",fontsize=16,color="green",shape="box"];12[label="primPlusFloat (fromInt (Pos (Succ Zero))) vz4",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 13[label="Float (Pos Zero) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];14[label="primPlusFloat (primIntToFloat (Pos (Succ Zero))) vz4",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 15[label="primPlusFloat (Float (Pos (Succ Zero)) (Pos (Succ Zero))) vz4",fontsize=16,color="burlywood",shape="box"];296[label="vz4/Float vz40 vz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 296[label="",style="solid", color="burlywood", weight=9]; 296 -> 16[label="",style="solid", color="burlywood", weight=3]; 16[label="primPlusFloat (Float (Pos (Succ Zero)) (Pos (Succ Zero))) (Float vz40 vz41)",fontsize=16,color="black",shape="box"];16 -> 17[label="",style="solid", color="black", weight=3]; 17[label="Float (Pos (Succ Zero) * vz41 + vz40 * Pos (Succ Zero)) (Pos (Succ Zero) * vz41)",fontsize=16,color="green",shape="box"];17 -> 18[label="",style="dashed", color="green", weight=3]; 17 -> 19[label="",style="dashed", color="green", weight=3]; 18[label="Pos (Succ Zero) * vz41 + vz40 * Pos (Succ Zero)",fontsize=16,color="black",shape="box"];18 -> 20[label="",style="solid", color="black", weight=3]; 19[label="Pos (Succ Zero) * vz41",fontsize=16,color="black",shape="triangle"];19 -> 21[label="",style="solid", color="black", weight=3]; 20 -> 22[label="",style="dashed", color="red", weight=0]; 20[label="primPlusInt (Pos (Succ Zero) * vz41) (vz40 * Pos (Succ Zero))",fontsize=16,color="magenta"];20 -> 23[label="",style="dashed", color="magenta", weight=3]; 21[label="primMulInt (Pos (Succ Zero)) vz41",fontsize=16,color="burlywood",shape="box"];297[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];21 -> 297[label="",style="solid", color="burlywood", weight=9]; 297 -> 24[label="",style="solid", color="burlywood", weight=3]; 298[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];21 -> 298[label="",style="solid", color="burlywood", weight=9]; 298 -> 25[label="",style="solid", color="burlywood", weight=3]; 23 -> 19[label="",style="dashed", color="red", weight=0]; 23[label="Pos (Succ Zero) * vz41",fontsize=16,color="magenta"];22[label="primPlusInt vz5 (vz40 * Pos (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];299[label="vz5/Pos vz50",fontsize=10,color="white",style="solid",shape="box"];22 -> 299[label="",style="solid", color="burlywood", weight=9]; 299 -> 26[label="",style="solid", color="burlywood", weight=3]; 300[label="vz5/Neg vz50",fontsize=10,color="white",style="solid",shape="box"];22 -> 300[label="",style="solid", color="burlywood", weight=9]; 300 -> 27[label="",style="solid", color="burlywood", weight=3]; 24[label="primMulInt (Pos (Succ Zero)) (Pos vz410)",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 25[label="primMulInt (Pos (Succ Zero)) (Neg vz410)",fontsize=16,color="black",shape="box"];25 -> 29[label="",style="solid", color="black", weight=3]; 26[label="primPlusInt (Pos vz50) (vz40 * Pos (Succ Zero))",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 27[label="primPlusInt (Neg vz50) (vz40 * Pos (Succ Zero))",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 28[label="Pos (primMulNat (Succ Zero) vz410)",fontsize=16,color="green",shape="box"];28 -> 32[label="",style="dashed", color="green", weight=3]; 29[label="Neg (primMulNat (Succ Zero) vz410)",fontsize=16,color="green",shape="box"];29 -> 33[label="",style="dashed", color="green", weight=3]; 30[label="primPlusInt (Pos vz50) (primMulInt vz40 (Pos (Succ Zero)))",fontsize=16,color="burlywood",shape="box"];301[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];30 -> 301[label="",style="solid", color="burlywood", weight=9]; 301 -> 34[label="",style="solid", color="burlywood", weight=3]; 302[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];30 -> 302[label="",style="solid", color="burlywood", weight=9]; 302 -> 35[label="",style="solid", color="burlywood", weight=3]; 31[label="primPlusInt (Neg vz50) (primMulInt vz40 (Pos (Succ Zero)))",fontsize=16,color="burlywood",shape="box"];303[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];31 -> 303[label="",style="solid", color="burlywood", weight=9]; 303 -> 36[label="",style="solid", color="burlywood", weight=3]; 304[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];31 -> 304[label="",style="solid", color="burlywood", weight=9]; 304 -> 37[label="",style="solid", color="burlywood", weight=3]; 32[label="primMulNat (Succ Zero) vz410",fontsize=16,color="burlywood",shape="triangle"];305[label="vz410/Succ vz4100",fontsize=10,color="white",style="solid",shape="box"];32 -> 305[label="",style="solid", color="burlywood", weight=9]; 305 -> 38[label="",style="solid", color="burlywood", weight=3]; 306[label="vz410/Zero",fontsize=10,color="white",style="solid",shape="box"];32 -> 306[label="",style="solid", color="burlywood", weight=9]; 306 -> 39[label="",style="solid", color="burlywood", weight=3]; 33 -> 32[label="",style="dashed", color="red", weight=0]; 33[label="primMulNat (Succ Zero) vz410",fontsize=16,color="magenta"];33 -> 40[label="",style="dashed", color="magenta", weight=3]; 34[label="primPlusInt (Pos vz50) (primMulInt (Pos vz400) (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];34 -> 41[label="",style="solid", color="black", weight=3]; 35[label="primPlusInt (Pos vz50) (primMulInt (Neg vz400) (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];35 -> 42[label="",style="solid", color="black", weight=3]; 36[label="primPlusInt (Neg vz50) (primMulInt (Pos vz400) (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];36 -> 43[label="",style="solid", color="black", weight=3]; 37[label="primPlusInt (Neg vz50) (primMulInt (Neg vz400) (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];37 -> 44[label="",style="solid", color="black", weight=3]; 38[label="primMulNat (Succ Zero) (Succ vz4100)",fontsize=16,color="black",shape="box"];38 -> 45[label="",style="solid", color="black", weight=3]; 39[label="primMulNat (Succ Zero) Zero",fontsize=16,color="black",shape="box"];39 -> 46[label="",style="solid", color="black", weight=3]; 40[label="vz410",fontsize=16,color="green",shape="box"];41[label="primPlusInt (Pos vz50) (Pos (primMulNat vz400 (Succ Zero)))",fontsize=16,color="black",shape="box"];41 -> 47[label="",style="solid", color="black", weight=3]; 42[label="primPlusInt (Pos vz50) (Neg (primMulNat vz400 (Succ Zero)))",fontsize=16,color="black",shape="box"];42 -> 48[label="",style="solid", color="black", weight=3]; 43[label="primPlusInt (Neg vz50) (Pos (primMulNat vz400 (Succ Zero)))",fontsize=16,color="black",shape="box"];43 -> 49[label="",style="solid", color="black", weight=3]; 44[label="primPlusInt (Neg vz50) (Neg (primMulNat vz400 (Succ Zero)))",fontsize=16,color="black",shape="box"];44 -> 50[label="",style="solid", color="black", weight=3]; 45 -> 192[label="",style="dashed", color="red", weight=0]; 45[label="primPlusNat (primMulNat Zero (Succ vz4100)) (Succ vz4100)",fontsize=16,color="magenta"];45 -> 193[label="",style="dashed", color="magenta", weight=3]; 45 -> 194[label="",style="dashed", color="magenta", weight=3]; 46[label="Zero",fontsize=16,color="green",shape="box"];47[label="Pos (primPlusNat vz50 (primMulNat vz400 (Succ Zero)))",fontsize=16,color="green",shape="box"];47 -> 52[label="",style="dashed", color="green", weight=3]; 48 -> 219[label="",style="dashed", color="red", weight=0]; 48[label="primMinusNat vz50 (primMulNat vz400 (Succ Zero))",fontsize=16,color="magenta"];48 -> 220[label="",style="dashed", color="magenta", weight=3]; 48 -> 221[label="",style="dashed", color="magenta", weight=3]; 49 -> 219[label="",style="dashed", color="red", weight=0]; 49[label="primMinusNat (primMulNat vz400 (Succ Zero)) vz50",fontsize=16,color="magenta"];49 -> 222[label="",style="dashed", color="magenta", weight=3]; 49 -> 223[label="",style="dashed", color="magenta", weight=3]; 50[label="Neg (primPlusNat vz50 (primMulNat vz400 (Succ Zero)))",fontsize=16,color="green",shape="box"];50 -> 57[label="",style="dashed", color="green", weight=3]; 193[label="primMulNat Zero (Succ vz4100)",fontsize=16,color="black",shape="box"];193 -> 212[label="",style="solid", color="black", weight=3]; 194[label="vz4100",fontsize=16,color="green",shape="box"];192[label="primPlusNat vz500 (Succ vz15)",fontsize=16,color="burlywood",shape="triangle"];307[label="vz500/Succ vz5000",fontsize=10,color="white",style="solid",shape="box"];192 -> 307[label="",style="solid", color="burlywood", weight=9]; 307 -> 213[label="",style="solid", color="burlywood", weight=3]; 308[label="vz500/Zero",fontsize=10,color="white",style="solid",shape="box"];192 -> 308[label="",style="solid", color="burlywood", weight=9]; 308 -> 214[label="",style="solid", color="burlywood", weight=3]; 52[label="primPlusNat vz50 (primMulNat vz400 (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];309[label="vz50/Succ vz500",fontsize=10,color="white",style="solid",shape="box"];52 -> 309[label="",style="solid", color="burlywood", weight=9]; 309 -> 59[label="",style="solid", color="burlywood", weight=3]; 310[label="vz50/Zero",fontsize=10,color="white",style="solid",shape="box"];52 -> 310[label="",style="solid", color="burlywood", weight=9]; 310 -> 60[label="",style="solid", color="burlywood", weight=3]; 220[label="vz50",fontsize=16,color="green",shape="box"];221 -> 105[label="",style="dashed", color="red", weight=0]; 221[label="primMulNat vz400 (Succ Zero)",fontsize=16,color="magenta"];221 -> 259[label="",style="dashed", color="magenta", weight=3]; 219[label="primMinusNat vz5000 vz16",fontsize=16,color="burlywood",shape="triangle"];311[label="vz5000/Succ vz50000",fontsize=10,color="white",style="solid",shape="box"];219 -> 311[label="",style="solid", color="burlywood", weight=9]; 311 -> 260[label="",style="solid", color="burlywood", weight=3]; 312[label="vz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];219 -> 312[label="",style="solid", color="burlywood", weight=9]; 312 -> 261[label="",style="solid", color="burlywood", weight=3]; 222 -> 105[label="",style="dashed", color="red", weight=0]; 222[label="primMulNat vz400 (Succ Zero)",fontsize=16,color="magenta"];222 -> 262[label="",style="dashed", color="magenta", weight=3]; 223[label="vz50",fontsize=16,color="green",shape="box"];57 -> 52[label="",style="dashed", color="red", weight=0]; 57[label="primPlusNat vz50 (primMulNat vz400 (Succ Zero))",fontsize=16,color="magenta"];57 -> 67[label="",style="dashed", color="magenta", weight=3]; 57 -> 68[label="",style="dashed", color="magenta", weight=3]; 212[label="Zero",fontsize=16,color="green",shape="box"];213[label="primPlusNat (Succ vz5000) (Succ vz15)",fontsize=16,color="black",shape="box"];213 -> 263[label="",style="solid", color="black", weight=3]; 214[label="primPlusNat Zero (Succ vz15)",fontsize=16,color="black",shape="box"];214 -> 264[label="",style="solid", color="black", weight=3]; 59[label="primPlusNat (Succ vz500) (primMulNat vz400 (Succ Zero))",fontsize=16,color="burlywood",shape="box"];313[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];59 -> 313[label="",style="solid", color="burlywood", weight=9]; 313 -> 69[label="",style="solid", color="burlywood", weight=3]; 314[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];59 -> 314[label="",style="solid", color="burlywood", weight=9]; 314 -> 70[label="",style="solid", color="burlywood", weight=3]; 60[label="primPlusNat Zero (primMulNat vz400 (Succ Zero))",fontsize=16,color="burlywood",shape="box"];315[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];60 -> 315[label="",style="solid", color="burlywood", weight=9]; 315 -> 71[label="",style="solid", color="burlywood", weight=3]; 316[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];60 -> 316[label="",style="solid", color="burlywood", weight=9]; 316 -> 72[label="",style="solid", color="burlywood", weight=3]; 259[label="vz400",fontsize=16,color="green",shape="box"];105[label="primMulNat vz4000 (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];317[label="vz4000/Succ vz40000",fontsize=10,color="white",style="solid",shape="box"];105 -> 317[label="",style="solid", color="burlywood", weight=9]; 317 -> 108[label="",style="solid", color="burlywood", weight=3]; 318[label="vz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];105 -> 318[label="",style="solid", color="burlywood", weight=9]; 318 -> 109[label="",style="solid", color="burlywood", weight=3]; 260[label="primMinusNat (Succ vz50000) vz16",fontsize=16,color="burlywood",shape="box"];319[label="vz16/Succ vz160",fontsize=10,color="white",style="solid",shape="box"];260 -> 319[label="",style="solid", color="burlywood", weight=9]; 319 -> 268[label="",style="solid", color="burlywood", weight=3]; 320[label="vz16/Zero",fontsize=10,color="white",style="solid",shape="box"];260 -> 320[label="",style="solid", color="burlywood", weight=9]; 320 -> 269[label="",style="solid", color="burlywood", weight=3]; 261[label="primMinusNat Zero vz16",fontsize=16,color="burlywood",shape="box"];321[label="vz16/Succ vz160",fontsize=10,color="white",style="solid",shape="box"];261 -> 321[label="",style="solid", color="burlywood", weight=9]; 321 -> 270[label="",style="solid", color="burlywood", weight=3]; 322[label="vz16/Zero",fontsize=10,color="white",style="solid",shape="box"];261 -> 322[label="",style="solid", color="burlywood", weight=9]; 322 -> 271[label="",style="solid", color="burlywood", weight=3]; 262[label="vz400",fontsize=16,color="green",shape="box"];67[label="vz50",fontsize=16,color="green",shape="box"];68[label="vz400",fontsize=16,color="green",shape="box"];263[label="Succ (Succ (primPlusNat vz5000 vz15))",fontsize=16,color="green",shape="box"];263 -> 272[label="",style="dashed", color="green", weight=3]; 264[label="Succ vz15",fontsize=16,color="green",shape="box"];69[label="primPlusNat (Succ vz500) (primMulNat (Succ vz4000) (Succ Zero))",fontsize=16,color="black",shape="box"];69 -> 81[label="",style="solid", color="black", weight=3]; 70[label="primPlusNat (Succ vz500) (primMulNat Zero (Succ Zero))",fontsize=16,color="black",shape="box"];70 -> 82[label="",style="solid", color="black", weight=3]; 71[label="primPlusNat Zero (primMulNat (Succ vz4000) (Succ Zero))",fontsize=16,color="black",shape="box"];71 -> 83[label="",style="solid", color="black", weight=3]; 72[label="primPlusNat Zero (primMulNat Zero (Succ Zero))",fontsize=16,color="black",shape="box"];72 -> 84[label="",style="solid", color="black", weight=3]; 108[label="primMulNat (Succ vz40000) (Succ Zero)",fontsize=16,color="black",shape="box"];108 -> 123[label="",style="solid", color="black", weight=3]; 109[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];109 -> 124[label="",style="solid", color="black", weight=3]; 268[label="primMinusNat (Succ vz50000) (Succ vz160)",fontsize=16,color="black",shape="box"];268 -> 275[label="",style="solid", color="black", weight=3]; 269[label="primMinusNat (Succ vz50000) Zero",fontsize=16,color="black",shape="box"];269 -> 276[label="",style="solid", color="black", weight=3]; 270[label="primMinusNat Zero (Succ vz160)",fontsize=16,color="black",shape="box"];270 -> 277[label="",style="solid", color="black", weight=3]; 271[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];271 -> 278[label="",style="solid", color="black", weight=3]; 272[label="primPlusNat vz5000 vz15",fontsize=16,color="burlywood",shape="triangle"];323[label="vz5000/Succ vz50000",fontsize=10,color="white",style="solid",shape="box"];272 -> 323[label="",style="solid", color="burlywood", weight=9]; 323 -> 279[label="",style="solid", color="burlywood", weight=3]; 324[label="vz5000/Zero",fontsize=10,color="white",style="solid",shape="box"];272 -> 324[label="",style="solid", color="burlywood", weight=9]; 324 -> 280[label="",style="solid", color="burlywood", weight=3]; 81 -> 129[label="",style="dashed", color="red", weight=0]; 81[label="primPlusNat (Succ vz500) (primPlusNat (primMulNat vz4000 (Succ Zero)) (Succ Zero))",fontsize=16,color="magenta"];81 -> 130[label="",style="dashed", color="magenta", weight=3]; 82[label="primPlusNat (Succ vz500) Zero",fontsize=16,color="black",shape="box"];82 -> 96[label="",style="solid", color="black", weight=3]; 83 -> 142[label="",style="dashed", color="red", weight=0]; 83[label="primPlusNat Zero (primPlusNat (primMulNat vz4000 (Succ Zero)) (Succ Zero))",fontsize=16,color="magenta"];83 -> 143[label="",style="dashed", color="magenta", weight=3]; 84[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];84 -> 99[label="",style="solid", color="black", weight=3]; 123 -> 192[label="",style="dashed", color="red", weight=0]; 123[label="primPlusNat (primMulNat vz40000 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];123 -> 201[label="",style="dashed", color="magenta", weight=3]; 123 -> 202[label="",style="dashed", color="magenta", weight=3]; 124[label="Zero",fontsize=16,color="green",shape="box"];275 -> 219[label="",style="dashed", color="red", weight=0]; 275[label="primMinusNat vz50000 vz160",fontsize=16,color="magenta"];275 -> 281[label="",style="dashed", color="magenta", weight=3]; 275 -> 282[label="",style="dashed", color="magenta", weight=3]; 276[label="Pos (Succ vz50000)",fontsize=16,color="green",shape="box"];277[label="Neg (Succ vz160)",fontsize=16,color="green",shape="box"];278[label="Pos Zero",fontsize=16,color="green",shape="box"];279[label="primPlusNat (Succ vz50000) vz15",fontsize=16,color="burlywood",shape="box"];325[label="vz15/Succ vz150",fontsize=10,color="white",style="solid",shape="box"];279 -> 325[label="",style="solid", color="burlywood", weight=9]; 325 -> 283[label="",style="solid", color="burlywood", weight=3]; 326[label="vz15/Zero",fontsize=10,color="white",style="solid",shape="box"];279 -> 326[label="",style="solid", color="burlywood", weight=9]; 326 -> 284[label="",style="solid", color="burlywood", weight=3]; 280[label="primPlusNat Zero vz15",fontsize=16,color="burlywood",shape="box"];327[label="vz15/Succ vz150",fontsize=10,color="white",style="solid",shape="box"];280 -> 327[label="",style="solid", color="burlywood", weight=9]; 327 -> 285[label="",style="solid", color="burlywood", weight=3]; 328[label="vz15/Zero",fontsize=10,color="white",style="solid",shape="box"];280 -> 328[label="",style="solid", color="burlywood", weight=9]; 328 -> 286[label="",style="solid", color="burlywood", weight=3]; 130 -> 105[label="",style="dashed", color="red", weight=0]; 130[label="primMulNat vz4000 (Succ Zero)",fontsize=16,color="magenta"];129[label="primPlusNat (Succ vz500) (primPlusNat vz9 (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];329[label="vz9/Succ vz90",fontsize=10,color="white",style="solid",shape="box"];129 -> 329[label="",style="solid", color="burlywood", weight=9]; 329 -> 133[label="",style="solid", color="burlywood", weight=3]; 330[label="vz9/Zero",fontsize=10,color="white",style="solid",shape="box"];129 -> 330[label="",style="solid", color="burlywood", weight=9]; 330 -> 134[label="",style="solid", color="burlywood", weight=3]; 96[label="Succ vz500",fontsize=16,color="green",shape="box"];143 -> 105[label="",style="dashed", color="red", weight=0]; 143[label="primMulNat vz4000 (Succ Zero)",fontsize=16,color="magenta"];142[label="primPlusNat Zero (primPlusNat vz11 (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];331[label="vz11/Succ vz110",fontsize=10,color="white",style="solid",shape="box"];142 -> 331[label="",style="solid", color="burlywood", weight=9]; 331 -> 146[label="",style="solid", color="burlywood", weight=3]; 332[label="vz11/Zero",fontsize=10,color="white",style="solid",shape="box"];142 -> 332[label="",style="solid", color="burlywood", weight=9]; 332 -> 147[label="",style="solid", color="burlywood", weight=3]; 99[label="Zero",fontsize=16,color="green",shape="box"];201 -> 105[label="",style="dashed", color="red", weight=0]; 201[label="primMulNat vz40000 (Succ Zero)",fontsize=16,color="magenta"];201 -> 216[label="",style="dashed", color="magenta", weight=3]; 202[label="Zero",fontsize=16,color="green",shape="box"];281[label="vz50000",fontsize=16,color="green",shape="box"];282[label="vz160",fontsize=16,color="green",shape="box"];283[label="primPlusNat (Succ vz50000) (Succ vz150)",fontsize=16,color="black",shape="box"];283 -> 287[label="",style="solid", color="black", weight=3]; 284[label="primPlusNat (Succ vz50000) Zero",fontsize=16,color="black",shape="box"];284 -> 288[label="",style="solid", color="black", weight=3]; 285[label="primPlusNat Zero (Succ vz150)",fontsize=16,color="black",shape="box"];285 -> 289[label="",style="solid", color="black", weight=3]; 286[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];286 -> 290[label="",style="solid", color="black", weight=3]; 133[label="primPlusNat (Succ vz500) (primPlusNat (Succ vz90) (Succ Zero))",fontsize=16,color="black",shape="box"];133 -> 148[label="",style="solid", color="black", weight=3]; 134[label="primPlusNat (Succ vz500) (primPlusNat Zero (Succ Zero))",fontsize=16,color="black",shape="box"];134 -> 149[label="",style="solid", color="black", weight=3]; 146[label="primPlusNat Zero (primPlusNat (Succ vz110) (Succ Zero))",fontsize=16,color="black",shape="box"];146 -> 161[label="",style="solid", color="black", weight=3]; 147[label="primPlusNat Zero (primPlusNat Zero (Succ Zero))",fontsize=16,color="black",shape="box"];147 -> 162[label="",style="solid", color="black", weight=3]; 216[label="vz40000",fontsize=16,color="green",shape="box"];287[label="Succ (Succ (primPlusNat vz50000 vz150))",fontsize=16,color="green",shape="box"];287 -> 291[label="",style="dashed", color="green", weight=3]; 288[label="Succ vz50000",fontsize=16,color="green",shape="box"];289[label="Succ vz150",fontsize=16,color="green",shape="box"];290[label="Zero",fontsize=16,color="green",shape="box"];148 -> 192[label="",style="dashed", color="red", weight=0]; 148[label="primPlusNat (Succ vz500) (Succ (Succ (primPlusNat vz90 Zero)))",fontsize=16,color="magenta"];148 -> 203[label="",style="dashed", color="magenta", weight=3]; 148 -> 204[label="",style="dashed", color="magenta", weight=3]; 149 -> 192[label="",style="dashed", color="red", weight=0]; 149[label="primPlusNat (Succ vz500) (Succ Zero)",fontsize=16,color="magenta"];149 -> 205[label="",style="dashed", color="magenta", weight=3]; 149 -> 206[label="",style="dashed", color="magenta", weight=3]; 161 -> 192[label="",style="dashed", color="red", weight=0]; 161[label="primPlusNat Zero (Succ (Succ (primPlusNat vz110 Zero)))",fontsize=16,color="magenta"];161 -> 207[label="",style="dashed", color="magenta", weight=3]; 161 -> 208[label="",style="dashed", color="magenta", weight=3]; 162 -> 192[label="",style="dashed", color="red", weight=0]; 162[label="primPlusNat Zero (Succ Zero)",fontsize=16,color="magenta"];162 -> 209[label="",style="dashed", color="magenta", weight=3]; 162 -> 210[label="",style="dashed", color="magenta", weight=3]; 291 -> 272[label="",style="dashed", color="red", weight=0]; 291[label="primPlusNat vz50000 vz150",fontsize=16,color="magenta"];291 -> 292[label="",style="dashed", color="magenta", weight=3]; 291 -> 293[label="",style="dashed", color="magenta", weight=3]; 203[label="Succ vz500",fontsize=16,color="green",shape="box"];204[label="Succ (primPlusNat vz90 Zero)",fontsize=16,color="green",shape="box"];204 -> 217[label="",style="dashed", color="green", weight=3]; 205[label="Succ vz500",fontsize=16,color="green",shape="box"];206[label="Zero",fontsize=16,color="green",shape="box"];207[label="Zero",fontsize=16,color="green",shape="box"];208[label="Succ (primPlusNat vz110 Zero)",fontsize=16,color="green",shape="box"];208 -> 218[label="",style="dashed", color="green", weight=3]; 209[label="Zero",fontsize=16,color="green",shape="box"];210[label="Zero",fontsize=16,color="green",shape="box"];292[label="vz50000",fontsize=16,color="green",shape="box"];293[label="vz150",fontsize=16,color="green",shape="box"];217[label="primPlusNat vz90 Zero",fontsize=16,color="burlywood",shape="triangle"];333[label="vz90/Succ vz900",fontsize=10,color="white",style="solid",shape="box"];217 -> 333[label="",style="solid", color="burlywood", weight=9]; 333 -> 265[label="",style="solid", color="burlywood", weight=3]; 334[label="vz90/Zero",fontsize=10,color="white",style="solid",shape="box"];217 -> 334[label="",style="solid", color="burlywood", weight=9]; 334 -> 266[label="",style="solid", color="burlywood", weight=3]; 218 -> 217[label="",style="dashed", color="red", weight=0]; 218[label="primPlusNat vz110 Zero",fontsize=16,color="magenta"];218 -> 267[label="",style="dashed", color="magenta", weight=3]; 265[label="primPlusNat (Succ vz900) Zero",fontsize=16,color="black",shape="box"];265 -> 273[label="",style="solid", color="black", weight=3]; 266[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];266 -> 274[label="",style="solid", color="black", weight=3]; 267[label="vz110",fontsize=16,color="green",shape="box"];273[label="Succ vz900",fontsize=16,color="green",shape="box"];274[label="Zero",fontsize=16,color="green",shape="box"];} ---------------------------------------- (8) Complex Obligation (AND) ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: new_genericLength(:(vz30, vz31), ba) -> new_genericLength(vz31, ba) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) 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_genericLength(:(vz30, vz31), ba) -> new_genericLength(vz31, ba) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (11) YES ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMulNat(Succ(vz40000)) -> new_primMulNat(vz40000) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (13) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *new_primMulNat(Succ(vz40000)) -> new_primMulNat(vz40000) The graph contains the following edges 1 > 1 ---------------------------------------- (14) YES ---------------------------------------- (15) Obligation: Q DP problem: The TRS P consists of the following rules: new_primMinusNat(Succ(vz50000), Succ(vz160)) -> new_primMinusNat(vz50000, vz160) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (16) 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_primMinusNat(Succ(vz50000), Succ(vz160)) -> new_primMinusNat(vz50000, vz160) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (17) YES ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: new_primPlusNat(Succ(vz50000), Succ(vz150)) -> new_primPlusNat(vz50000, vz150) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (19) 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_primPlusNat(Succ(vz50000), Succ(vz150)) -> new_primPlusNat(vz50000, vz150) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (20) YES