8.87/3.83 YES 10.51/4.30 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 10.51/4.30 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 10.51/4.30 10.51/4.30 10.51/4.30 H-Termination with start terms of the given HASKELL could be proven: 10.51/4.30 10.51/4.30 (0) HASKELL 10.51/4.30 (1) BR [EQUIVALENT, 0 ms] 10.51/4.30 (2) HASKELL 10.51/4.30 (3) COR [EQUIVALENT, 0 ms] 10.51/4.30 (4) HASKELL 10.51/4.30 (5) Narrow [SOUND, 0 ms] 10.51/4.30 (6) AND 10.51/4.30 (7) QDP 10.51/4.30 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.51/4.30 (9) YES 10.51/4.30 (10) QDP 10.51/4.30 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.51/4.30 (12) YES 10.51/4.30 (13) QDP 10.51/4.30 (14) QDPSizeChangeProof [EQUIVALENT, 0 ms] 10.51/4.30 (15) YES 10.51/4.30 10.51/4.30 10.51/4.30 ---------------------------------------- 10.51/4.30 10.51/4.30 (0) 10.51/4.30 Obligation: 10.51/4.30 mainModule Main 10.51/4.30 module Main where { 10.51/4.30 import qualified Prelude; 10.51/4.30 } 10.51/4.30 10.51/4.30 ---------------------------------------- 10.51/4.30 10.51/4.30 (1) BR (EQUIVALENT) 10.51/4.30 Replaced joker patterns by fresh variables and removed binding patterns. 10.51/4.30 ---------------------------------------- 10.51/4.30 10.51/4.30 (2) 10.51/4.30 Obligation: 10.51/4.30 mainModule Main 10.51/4.30 module Main where { 10.51/4.30 import qualified Prelude; 10.51/4.30 } 10.51/4.30 10.51/4.30 ---------------------------------------- 10.51/4.30 10.51/4.30 (3) COR (EQUIVALENT) 10.51/4.31 Cond Reductions: 10.51/4.31 The following Function with conditions 10.51/4.31 "max x y|x <= yy|otherwisex; 10.51/4.31 " 10.51/4.31 is transformed to 10.51/4.31 "max x y = max2 x y; 10.51/4.31 " 10.51/4.31 "max0 x y True = x; 10.51/4.31 " 10.51/4.31 "max1 x y True = y; 10.51/4.31 max1 x y False = max0 x y otherwise; 10.51/4.31 " 10.51/4.31 "max2 x y = max1 x y (x <= y); 10.51/4.31 " 10.51/4.31 The following Function with conditions 10.51/4.31 "undefined |Falseundefined; 10.51/4.31 " 10.51/4.31 is transformed to 10.51/4.31 "undefined = undefined1; 10.51/4.31 " 10.51/4.31 "undefined0 True = undefined; 10.51/4.31 " 10.51/4.31 "undefined1 = undefined0 False; 10.51/4.31 " 10.51/4.31 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (4) 10.51/4.31 Obligation: 10.51/4.31 mainModule Main 10.51/4.31 module Main where { 10.51/4.31 import qualified Prelude; 10.51/4.31 } 10.51/4.31 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (5) Narrow (SOUND) 10.51/4.31 Haskell To QDPs 10.51/4.31 10.51/4.31 digraph dp_graph { 10.51/4.31 node [outthreshold=100, inthreshold=100];1[label="maximum",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 10.51/4.31 3[label="maximum vx3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 10.51/4.31 4[label="foldl1 max vx3",fontsize=16,color="burlywood",shape="box"];601[label="vx3/vx30 : vx31",fontsize=10,color="white",style="solid",shape="box"];4 -> 601[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 601 -> 5[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 602[label="vx3/[]",fontsize=10,color="white",style="solid",shape="box"];4 -> 602[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 602 -> 6[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 5[label="foldl1 max (vx30 : vx31)",fontsize=16,color="black",shape="box"];5 -> 7[label="",style="solid", color="black", weight=3]; 10.51/4.31 6[label="foldl1 max []",fontsize=16,color="black",shape="box"];6 -> 8[label="",style="solid", color="black", weight=3]; 10.51/4.31 7[label="foldl max vx30 vx31",fontsize=16,color="burlywood",shape="triangle"];603[label="vx31/vx310 : vx311",fontsize=10,color="white",style="solid",shape="box"];7 -> 603[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 603 -> 9[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 604[label="vx31/[]",fontsize=10,color="white",style="solid",shape="box"];7 -> 604[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 604 -> 10[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 8[label="error []",fontsize=16,color="red",shape="box"];9[label="foldl max vx30 (vx310 : vx311)",fontsize=16,color="black",shape="box"];9 -> 11[label="",style="solid", color="black", weight=3]; 10.51/4.31 10[label="foldl max vx30 []",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 10.51/4.31 11 -> 7[label="",style="dashed", color="red", weight=0]; 10.51/4.31 11[label="foldl max (max vx30 vx310) vx311",fontsize=16,color="magenta"];11 -> 13[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 11 -> 14[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 12[label="vx30",fontsize=16,color="green",shape="box"];13[label="vx311",fontsize=16,color="green",shape="box"];14[label="max vx30 vx310",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 10.51/4.31 15[label="max2 vx30 vx310",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 10.51/4.31 16[label="max1 vx30 vx310 (vx30 <= vx310)",fontsize=16,color="black",shape="box"];16 -> 17[label="",style="solid", color="black", weight=3]; 10.51/4.31 17[label="max1 vx30 vx310 (compare vx30 vx310 /= GT)",fontsize=16,color="black",shape="box"];17 -> 18[label="",style="solid", color="black", weight=3]; 10.51/4.31 18[label="max1 vx30 vx310 (not (compare vx30 vx310 == GT))",fontsize=16,color="black",shape="box"];18 -> 19[label="",style="solid", color="black", weight=3]; 10.51/4.31 19[label="max1 vx30 vx310 (not (primCmpInt vx30 vx310 == GT))",fontsize=16,color="burlywood",shape="box"];605[label="vx30/Pos vx300",fontsize=10,color="white",style="solid",shape="box"];19 -> 605[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 605 -> 20[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 606[label="vx30/Neg vx300",fontsize=10,color="white",style="solid",shape="box"];19 -> 606[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 606 -> 21[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 20[label="max1 (Pos vx300) vx310 (not (primCmpInt (Pos vx300) vx310 == GT))",fontsize=16,color="burlywood",shape="box"];607[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];20 -> 607[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 607 -> 22[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 608[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];20 -> 608[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 608 -> 23[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 21[label="max1 (Neg vx300) vx310 (not (primCmpInt (Neg vx300) vx310 == GT))",fontsize=16,color="burlywood",shape="box"];609[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];21 -> 609[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 609 -> 24[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 610[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];21 -> 610[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 610 -> 25[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 22[label="max1 (Pos (Succ vx3000)) vx310 (not (primCmpInt (Pos (Succ vx3000)) vx310 == GT))",fontsize=16,color="burlywood",shape="box"];611[label="vx310/Pos vx3100",fontsize=10,color="white",style="solid",shape="box"];22 -> 611[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 611 -> 26[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 612[label="vx310/Neg vx3100",fontsize=10,color="white",style="solid",shape="box"];22 -> 612[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 612 -> 27[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 23[label="max1 (Pos Zero) vx310 (not (primCmpInt (Pos Zero) vx310 == GT))",fontsize=16,color="burlywood",shape="box"];613[label="vx310/Pos vx3100",fontsize=10,color="white",style="solid",shape="box"];23 -> 613[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 613 -> 28[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 614[label="vx310/Neg vx3100",fontsize=10,color="white",style="solid",shape="box"];23 -> 614[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 614 -> 29[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 24[label="max1 (Neg (Succ vx3000)) vx310 (not (primCmpInt (Neg (Succ vx3000)) vx310 == GT))",fontsize=16,color="burlywood",shape="box"];615[label="vx310/Pos vx3100",fontsize=10,color="white",style="solid",shape="box"];24 -> 615[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 615 -> 30[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 616[label="vx310/Neg vx3100",fontsize=10,color="white",style="solid",shape="box"];24 -> 616[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 616 -> 31[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 25[label="max1 (Neg Zero) vx310 (not (primCmpInt (Neg Zero) vx310 == GT))",fontsize=16,color="burlywood",shape="box"];617[label="vx310/Pos vx3100",fontsize=10,color="white",style="solid",shape="box"];25 -> 617[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 617 -> 32[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 618[label="vx310/Neg vx3100",fontsize=10,color="white",style="solid",shape="box"];25 -> 618[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 618 -> 33[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 26[label="max1 (Pos (Succ vx3000)) (Pos vx3100) (not (primCmpInt (Pos (Succ vx3000)) (Pos vx3100) == GT))",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 10.51/4.31 27[label="max1 (Pos (Succ vx3000)) (Neg vx3100) (not (primCmpInt (Pos (Succ vx3000)) (Neg vx3100) == GT))",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 10.51/4.31 28[label="max1 (Pos Zero) (Pos vx3100) (not (primCmpInt (Pos Zero) (Pos vx3100) == GT))",fontsize=16,color="burlywood",shape="box"];619[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];28 -> 619[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 619 -> 36[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 620[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];28 -> 620[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 620 -> 37[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 29[label="max1 (Pos Zero) (Neg vx3100) (not (primCmpInt (Pos Zero) (Neg vx3100) == GT))",fontsize=16,color="burlywood",shape="box"];621[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];29 -> 621[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 621 -> 38[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 622[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];29 -> 622[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 622 -> 39[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 30[label="max1 (Neg (Succ vx3000)) (Pos vx3100) (not (primCmpInt (Neg (Succ vx3000)) (Pos vx3100) == GT))",fontsize=16,color="black",shape="box"];30 -> 40[label="",style="solid", color="black", weight=3]; 10.51/4.31 31[label="max1 (Neg (Succ vx3000)) (Neg vx3100) (not (primCmpInt (Neg (Succ vx3000)) (Neg vx3100) == GT))",fontsize=16,color="black",shape="box"];31 -> 41[label="",style="solid", color="black", weight=3]; 10.51/4.31 32[label="max1 (Neg Zero) (Pos vx3100) (not (primCmpInt (Neg Zero) (Pos vx3100) == GT))",fontsize=16,color="burlywood",shape="box"];623[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];32 -> 623[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 623 -> 42[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 624[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];32 -> 624[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 624 -> 43[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 33[label="max1 (Neg Zero) (Neg vx3100) (not (primCmpInt (Neg Zero) (Neg vx3100) == GT))",fontsize=16,color="burlywood",shape="box"];625[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];33 -> 625[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 625 -> 44[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 626[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];33 -> 626[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 626 -> 45[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 34[label="max1 (Pos (Succ vx3000)) (Pos vx3100) (not (primCmpNat (Succ vx3000) vx3100 == GT))",fontsize=16,color="burlywood",shape="box"];627[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];34 -> 627[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 627 -> 46[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 628[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];34 -> 628[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 628 -> 47[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 35[label="max1 (Pos (Succ vx3000)) (Neg vx3100) (not (GT == GT))",fontsize=16,color="black",shape="box"];35 -> 48[label="",style="solid", color="black", weight=3]; 10.51/4.31 36[label="max1 (Pos Zero) (Pos (Succ vx31000)) (not (primCmpInt (Pos Zero) (Pos (Succ vx31000)) == GT))",fontsize=16,color="black",shape="box"];36 -> 49[label="",style="solid", color="black", weight=3]; 10.51/4.31 37[label="max1 (Pos Zero) (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];37 -> 50[label="",style="solid", color="black", weight=3]; 10.51/4.31 38[label="max1 (Pos Zero) (Neg (Succ vx31000)) (not (primCmpInt (Pos Zero) (Neg (Succ vx31000)) == GT))",fontsize=16,color="black",shape="box"];38 -> 51[label="",style="solid", color="black", weight=3]; 10.51/4.31 39[label="max1 (Pos Zero) (Neg Zero) (not (primCmpInt (Pos Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];39 -> 52[label="",style="solid", color="black", weight=3]; 10.51/4.31 40[label="max1 (Neg (Succ vx3000)) (Pos vx3100) (not (LT == GT))",fontsize=16,color="black",shape="box"];40 -> 53[label="",style="solid", color="black", weight=3]; 10.51/4.31 41[label="max1 (Neg (Succ vx3000)) (Neg vx3100) (not (primCmpNat vx3100 (Succ vx3000) == GT))",fontsize=16,color="burlywood",shape="box"];629[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];41 -> 629[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 629 -> 54[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 630[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];41 -> 630[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 630 -> 55[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 42[label="max1 (Neg Zero) (Pos (Succ vx31000)) (not (primCmpInt (Neg Zero) (Pos (Succ vx31000)) == GT))",fontsize=16,color="black",shape="box"];42 -> 56[label="",style="solid", color="black", weight=3]; 10.51/4.31 43[label="max1 (Neg Zero) (Pos Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == GT))",fontsize=16,color="black",shape="box"];43 -> 57[label="",style="solid", color="black", weight=3]; 10.51/4.31 44[label="max1 (Neg Zero) (Neg (Succ vx31000)) (not (primCmpInt (Neg Zero) (Neg (Succ vx31000)) == GT))",fontsize=16,color="black",shape="box"];44 -> 58[label="",style="solid", color="black", weight=3]; 10.51/4.31 45[label="max1 (Neg Zero) (Neg Zero) (not (primCmpInt (Neg Zero) (Neg Zero) == GT))",fontsize=16,color="black",shape="box"];45 -> 59[label="",style="solid", color="black", weight=3]; 10.51/4.31 46[label="max1 (Pos (Succ vx3000)) (Pos (Succ vx31000)) (not (primCmpNat (Succ vx3000) (Succ vx31000) == GT))",fontsize=16,color="black",shape="box"];46 -> 60[label="",style="solid", color="black", weight=3]; 10.51/4.31 47[label="max1 (Pos (Succ vx3000)) (Pos Zero) (not (primCmpNat (Succ vx3000) Zero == GT))",fontsize=16,color="black",shape="box"];47 -> 61[label="",style="solid", color="black", weight=3]; 10.51/4.31 48[label="max1 (Pos (Succ vx3000)) (Neg vx3100) (not True)",fontsize=16,color="black",shape="box"];48 -> 62[label="",style="solid", color="black", weight=3]; 10.51/4.31 49[label="max1 (Pos Zero) (Pos (Succ vx31000)) (not (primCmpNat Zero (Succ vx31000) == GT))",fontsize=16,color="black",shape="box"];49 -> 63[label="",style="solid", color="black", weight=3]; 10.51/4.31 50[label="max1 (Pos Zero) (Pos Zero) (not (EQ == GT))",fontsize=16,color="black",shape="box"];50 -> 64[label="",style="solid", color="black", weight=3]; 10.51/4.31 51[label="max1 (Pos Zero) (Neg (Succ vx31000)) (not (GT == GT))",fontsize=16,color="black",shape="box"];51 -> 65[label="",style="solid", color="black", weight=3]; 10.51/4.31 52[label="max1 (Pos Zero) (Neg Zero) (not (EQ == GT))",fontsize=16,color="black",shape="box"];52 -> 66[label="",style="solid", color="black", weight=3]; 10.51/4.31 53[label="max1 (Neg (Succ vx3000)) (Pos vx3100) (not False)",fontsize=16,color="black",shape="box"];53 -> 67[label="",style="solid", color="black", weight=3]; 10.51/4.31 54[label="max1 (Neg (Succ vx3000)) (Neg (Succ vx31000)) (not (primCmpNat (Succ vx31000) (Succ vx3000) == GT))",fontsize=16,color="black",shape="box"];54 -> 68[label="",style="solid", color="black", weight=3]; 10.51/4.31 55[label="max1 (Neg (Succ vx3000)) (Neg Zero) (not (primCmpNat Zero (Succ vx3000) == GT))",fontsize=16,color="black",shape="box"];55 -> 69[label="",style="solid", color="black", weight=3]; 10.51/4.31 56[label="max1 (Neg Zero) (Pos (Succ vx31000)) (not (LT == GT))",fontsize=16,color="black",shape="box"];56 -> 70[label="",style="solid", color="black", weight=3]; 10.51/4.31 57[label="max1 (Neg Zero) (Pos Zero) (not (EQ == GT))",fontsize=16,color="black",shape="box"];57 -> 71[label="",style="solid", color="black", weight=3]; 10.51/4.31 58[label="max1 (Neg Zero) (Neg (Succ vx31000)) (not (primCmpNat (Succ vx31000) Zero == GT))",fontsize=16,color="black",shape="box"];58 -> 72[label="",style="solid", color="black", weight=3]; 10.51/4.31 59[label="max1 (Neg Zero) (Neg Zero) (not (EQ == GT))",fontsize=16,color="black",shape="box"];59 -> 73[label="",style="solid", color="black", weight=3]; 10.51/4.31 60 -> 463[label="",style="dashed", color="red", weight=0]; 10.51/4.31 60[label="max1 (Pos (Succ vx3000)) (Pos (Succ vx31000)) (not (primCmpNat vx3000 vx31000 == GT))",fontsize=16,color="magenta"];60 -> 464[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 60 -> 465[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 60 -> 466[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 60 -> 467[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 61[label="max1 (Pos (Succ vx3000)) (Pos Zero) (not (GT == GT))",fontsize=16,color="black",shape="box"];61 -> 76[label="",style="solid", color="black", weight=3]; 10.51/4.31 62[label="max1 (Pos (Succ vx3000)) (Neg vx3100) False",fontsize=16,color="black",shape="box"];62 -> 77[label="",style="solid", color="black", weight=3]; 10.51/4.31 63[label="max1 (Pos Zero) (Pos (Succ vx31000)) (not (LT == GT))",fontsize=16,color="black",shape="box"];63 -> 78[label="",style="solid", color="black", weight=3]; 10.51/4.31 64[label="max1 (Pos Zero) (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];64 -> 79[label="",style="solid", color="black", weight=3]; 10.51/4.31 65[label="max1 (Pos Zero) (Neg (Succ vx31000)) (not True)",fontsize=16,color="black",shape="box"];65 -> 80[label="",style="solid", color="black", weight=3]; 10.51/4.31 66[label="max1 (Pos Zero) (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];66 -> 81[label="",style="solid", color="black", weight=3]; 10.51/4.31 67[label="max1 (Neg (Succ vx3000)) (Pos vx3100) True",fontsize=16,color="black",shape="box"];67 -> 82[label="",style="solid", color="black", weight=3]; 10.51/4.31 68 -> 533[label="",style="dashed", color="red", weight=0]; 10.51/4.31 68[label="max1 (Neg (Succ vx3000)) (Neg (Succ vx31000)) (not (primCmpNat vx31000 vx3000 == GT))",fontsize=16,color="magenta"];68 -> 534[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 68 -> 535[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 68 -> 536[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 68 -> 537[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 69[label="max1 (Neg (Succ vx3000)) (Neg Zero) (not (LT == GT))",fontsize=16,color="black",shape="box"];69 -> 85[label="",style="solid", color="black", weight=3]; 10.51/4.31 70[label="max1 (Neg Zero) (Pos (Succ vx31000)) (not False)",fontsize=16,color="black",shape="box"];70 -> 86[label="",style="solid", color="black", weight=3]; 10.51/4.31 71[label="max1 (Neg Zero) (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];71 -> 87[label="",style="solid", color="black", weight=3]; 10.51/4.31 72[label="max1 (Neg Zero) (Neg (Succ vx31000)) (not (GT == GT))",fontsize=16,color="black",shape="box"];72 -> 88[label="",style="solid", color="black", weight=3]; 10.51/4.31 73[label="max1 (Neg Zero) (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];73 -> 89[label="",style="solid", color="black", weight=3]; 10.51/4.31 464[label="vx3000",fontsize=16,color="green",shape="box"];465[label="vx3000",fontsize=16,color="green",shape="box"];466[label="vx31000",fontsize=16,color="green",shape="box"];467[label="vx31000",fontsize=16,color="green",shape="box"];463[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (primCmpNat vx42 vx43 == GT))",fontsize=16,color="burlywood",shape="triangle"];631[label="vx42/Succ vx420",fontsize=10,color="white",style="solid",shape="box"];463 -> 631[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 631 -> 500[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 632[label="vx42/Zero",fontsize=10,color="white",style="solid",shape="box"];463 -> 632[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 632 -> 501[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 76[label="max1 (Pos (Succ vx3000)) (Pos Zero) (not True)",fontsize=16,color="black",shape="box"];76 -> 94[label="",style="solid", color="black", weight=3]; 10.51/4.31 77[label="max0 (Pos (Succ vx3000)) (Neg vx3100) otherwise",fontsize=16,color="black",shape="box"];77 -> 95[label="",style="solid", color="black", weight=3]; 10.51/4.31 78[label="max1 (Pos Zero) (Pos (Succ vx31000)) (not False)",fontsize=16,color="black",shape="box"];78 -> 96[label="",style="solid", color="black", weight=3]; 10.51/4.31 79[label="max1 (Pos Zero) (Pos Zero) True",fontsize=16,color="black",shape="box"];79 -> 97[label="",style="solid", color="black", weight=3]; 10.51/4.31 80[label="max1 (Pos Zero) (Neg (Succ vx31000)) False",fontsize=16,color="black",shape="box"];80 -> 98[label="",style="solid", color="black", weight=3]; 10.51/4.31 81[label="max1 (Pos Zero) (Neg Zero) True",fontsize=16,color="black",shape="box"];81 -> 99[label="",style="solid", color="black", weight=3]; 10.51/4.31 82[label="Pos vx3100",fontsize=16,color="green",shape="box"];534[label="vx3000",fontsize=16,color="green",shape="box"];535[label="vx3000",fontsize=16,color="green",shape="box"];536[label="vx31000",fontsize=16,color="green",shape="box"];537[label="vx31000",fontsize=16,color="green",shape="box"];533[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (primCmpNat vx51 vx52 == GT))",fontsize=16,color="burlywood",shape="triangle"];633[label="vx51/Succ vx510",fontsize=10,color="white",style="solid",shape="box"];533 -> 633[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 633 -> 574[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 634[label="vx51/Zero",fontsize=10,color="white",style="solid",shape="box"];533 -> 634[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 634 -> 575[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 85[label="max1 (Neg (Succ vx3000)) (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];85 -> 104[label="",style="solid", color="black", weight=3]; 10.51/4.31 86[label="max1 (Neg Zero) (Pos (Succ vx31000)) True",fontsize=16,color="black",shape="box"];86 -> 105[label="",style="solid", color="black", weight=3]; 10.51/4.31 87[label="max1 (Neg Zero) (Pos Zero) True",fontsize=16,color="black",shape="box"];87 -> 106[label="",style="solid", color="black", weight=3]; 10.51/4.31 88[label="max1 (Neg Zero) (Neg (Succ vx31000)) (not True)",fontsize=16,color="black",shape="box"];88 -> 107[label="",style="solid", color="black", weight=3]; 10.51/4.31 89[label="max1 (Neg Zero) (Neg Zero) True",fontsize=16,color="black",shape="box"];89 -> 108[label="",style="solid", color="black", weight=3]; 10.51/4.31 500[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (primCmpNat (Succ vx420) vx43 == GT))",fontsize=16,color="burlywood",shape="box"];635[label="vx43/Succ vx430",fontsize=10,color="white",style="solid",shape="box"];500 -> 635[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 635 -> 506[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 636[label="vx43/Zero",fontsize=10,color="white",style="solid",shape="box"];500 -> 636[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 636 -> 507[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 501[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (primCmpNat Zero vx43 == GT))",fontsize=16,color="burlywood",shape="box"];637[label="vx43/Succ vx430",fontsize=10,color="white",style="solid",shape="box"];501 -> 637[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 637 -> 508[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 638[label="vx43/Zero",fontsize=10,color="white",style="solid",shape="box"];501 -> 638[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 638 -> 509[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 94[label="max1 (Pos (Succ vx3000)) (Pos Zero) False",fontsize=16,color="black",shape="box"];94 -> 113[label="",style="solid", color="black", weight=3]; 10.51/4.31 95[label="max0 (Pos (Succ vx3000)) (Neg vx3100) True",fontsize=16,color="black",shape="box"];95 -> 114[label="",style="solid", color="black", weight=3]; 10.51/4.31 96[label="max1 (Pos Zero) (Pos (Succ vx31000)) True",fontsize=16,color="black",shape="box"];96 -> 115[label="",style="solid", color="black", weight=3]; 10.51/4.31 97[label="Pos Zero",fontsize=16,color="green",shape="box"];98[label="max0 (Pos Zero) (Neg (Succ vx31000)) otherwise",fontsize=16,color="black",shape="box"];98 -> 116[label="",style="solid", color="black", weight=3]; 10.51/4.31 99[label="Neg Zero",fontsize=16,color="green",shape="box"];574[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (primCmpNat (Succ vx510) vx52 == GT))",fontsize=16,color="burlywood",shape="box"];639[label="vx52/Succ vx520",fontsize=10,color="white",style="solid",shape="box"];574 -> 639[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 639 -> 578[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 640[label="vx52/Zero",fontsize=10,color="white",style="solid",shape="box"];574 -> 640[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 640 -> 579[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 575[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (primCmpNat Zero vx52 == GT))",fontsize=16,color="burlywood",shape="box"];641[label="vx52/Succ vx520",fontsize=10,color="white",style="solid",shape="box"];575 -> 641[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 641 -> 580[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 642[label="vx52/Zero",fontsize=10,color="white",style="solid",shape="box"];575 -> 642[label="",style="solid", color="burlywood", weight=9]; 10.51/4.31 642 -> 581[label="",style="solid", color="burlywood", weight=3]; 10.51/4.31 104[label="max1 (Neg (Succ vx3000)) (Neg Zero) True",fontsize=16,color="black",shape="box"];104 -> 121[label="",style="solid", color="black", weight=3]; 10.51/4.31 105[label="Pos (Succ vx31000)",fontsize=16,color="green",shape="box"];106[label="Pos Zero",fontsize=16,color="green",shape="box"];107[label="max1 (Neg Zero) (Neg (Succ vx31000)) False",fontsize=16,color="black",shape="box"];107 -> 122[label="",style="solid", color="black", weight=3]; 10.51/4.31 108[label="Neg Zero",fontsize=16,color="green",shape="box"];506[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (primCmpNat (Succ vx420) (Succ vx430) == GT))",fontsize=16,color="black",shape="box"];506 -> 514[label="",style="solid", color="black", weight=3]; 10.51/4.31 507[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (primCmpNat (Succ vx420) Zero == GT))",fontsize=16,color="black",shape="box"];507 -> 515[label="",style="solid", color="black", weight=3]; 10.51/4.31 508[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (primCmpNat Zero (Succ vx430) == GT))",fontsize=16,color="black",shape="box"];508 -> 516[label="",style="solid", color="black", weight=3]; 10.51/4.31 509[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];509 -> 517[label="",style="solid", color="black", weight=3]; 10.51/4.31 113[label="max0 (Pos (Succ vx3000)) (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];113 -> 128[label="",style="solid", color="black", weight=3]; 10.51/4.31 114[label="Pos (Succ vx3000)",fontsize=16,color="green",shape="box"];115[label="Pos (Succ vx31000)",fontsize=16,color="green",shape="box"];116[label="max0 (Pos Zero) (Neg (Succ vx31000)) True",fontsize=16,color="black",shape="box"];116 -> 129[label="",style="solid", color="black", weight=3]; 10.51/4.31 578[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (primCmpNat (Succ vx510) (Succ vx520) == GT))",fontsize=16,color="black",shape="box"];578 -> 584[label="",style="solid", color="black", weight=3]; 10.51/4.31 579[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (primCmpNat (Succ vx510) Zero == GT))",fontsize=16,color="black",shape="box"];579 -> 585[label="",style="solid", color="black", weight=3]; 10.51/4.31 580[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (primCmpNat Zero (Succ vx520) == GT))",fontsize=16,color="black",shape="box"];580 -> 586[label="",style="solid", color="black", weight=3]; 10.51/4.31 581[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (primCmpNat Zero Zero == GT))",fontsize=16,color="black",shape="box"];581 -> 587[label="",style="solid", color="black", weight=3]; 10.51/4.31 121[label="Neg Zero",fontsize=16,color="green",shape="box"];122[label="max0 (Neg Zero) (Neg (Succ vx31000)) otherwise",fontsize=16,color="black",shape="box"];122 -> 135[label="",style="solid", color="black", weight=3]; 10.51/4.31 514 -> 463[label="",style="dashed", color="red", weight=0]; 10.51/4.31 514[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (primCmpNat vx420 vx430 == GT))",fontsize=16,color="magenta"];514 -> 522[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 514 -> 523[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 515[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (GT == GT))",fontsize=16,color="black",shape="box"];515 -> 524[label="",style="solid", color="black", weight=3]; 10.51/4.31 516[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (LT == GT))",fontsize=16,color="black",shape="box"];516 -> 525[label="",style="solid", color="black", weight=3]; 10.51/4.31 517[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not (EQ == GT))",fontsize=16,color="black",shape="box"];517 -> 526[label="",style="solid", color="black", weight=3]; 10.51/4.31 128[label="max0 (Pos (Succ vx3000)) (Pos Zero) True",fontsize=16,color="black",shape="box"];128 -> 143[label="",style="solid", color="black", weight=3]; 10.51/4.31 129[label="Pos Zero",fontsize=16,color="green",shape="box"];584 -> 533[label="",style="dashed", color="red", weight=0]; 10.51/4.31 584[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (primCmpNat vx510 vx520 == GT))",fontsize=16,color="magenta"];584 -> 589[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 584 -> 590[label="",style="dashed", color="magenta", weight=3]; 10.51/4.31 585[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (GT == GT))",fontsize=16,color="black",shape="box"];585 -> 591[label="",style="solid", color="black", weight=3]; 10.51/4.31 586[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (LT == GT))",fontsize=16,color="black",shape="box"];586 -> 592[label="",style="solid", color="black", weight=3]; 10.51/4.31 587[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not (EQ == GT))",fontsize=16,color="black",shape="box"];587 -> 593[label="",style="solid", color="black", weight=3]; 10.51/4.31 135[label="max0 (Neg Zero) (Neg (Succ vx31000)) True",fontsize=16,color="black",shape="box"];135 -> 151[label="",style="solid", color="black", weight=3]; 10.51/4.31 522[label="vx420",fontsize=16,color="green",shape="box"];523[label="vx430",fontsize=16,color="green",shape="box"];524[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not True)",fontsize=16,color="black",shape="box"];524 -> 576[label="",style="solid", color="black", weight=3]; 10.51/4.31 525[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not False)",fontsize=16,color="black",shape="triangle"];525 -> 577[label="",style="solid", color="black", weight=3]; 10.51/4.31 526 -> 525[label="",style="dashed", color="red", weight=0]; 10.51/4.31 526[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) (not False)",fontsize=16,color="magenta"];143[label="Pos (Succ vx3000)",fontsize=16,color="green",shape="box"];589[label="vx520",fontsize=16,color="green",shape="box"];590[label="vx510",fontsize=16,color="green",shape="box"];591[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not True)",fontsize=16,color="black",shape="box"];591 -> 595[label="",style="solid", color="black", weight=3]; 10.51/4.31 592[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not False)",fontsize=16,color="black",shape="triangle"];592 -> 596[label="",style="solid", color="black", weight=3]; 10.51/4.31 593 -> 592[label="",style="dashed", color="red", weight=0]; 10.51/4.31 593[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) (not False)",fontsize=16,color="magenta"];151[label="Neg Zero",fontsize=16,color="green",shape="box"];576[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) False",fontsize=16,color="black",shape="box"];576 -> 582[label="",style="solid", color="black", weight=3]; 10.51/4.31 577[label="max1 (Pos (Succ vx40)) (Pos (Succ vx41)) True",fontsize=16,color="black",shape="box"];577 -> 583[label="",style="solid", color="black", weight=3]; 10.51/4.31 595[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) False",fontsize=16,color="black",shape="box"];595 -> 597[label="",style="solid", color="black", weight=3]; 10.51/4.31 596[label="max1 (Neg (Succ vx49)) (Neg (Succ vx50)) True",fontsize=16,color="black",shape="box"];596 -> 598[label="",style="solid", color="black", weight=3]; 10.51/4.31 582[label="max0 (Pos (Succ vx40)) (Pos (Succ vx41)) otherwise",fontsize=16,color="black",shape="box"];582 -> 588[label="",style="solid", color="black", weight=3]; 10.51/4.31 583[label="Pos (Succ vx41)",fontsize=16,color="green",shape="box"];597[label="max0 (Neg (Succ vx49)) (Neg (Succ vx50)) otherwise",fontsize=16,color="black",shape="box"];597 -> 599[label="",style="solid", color="black", weight=3]; 10.51/4.31 598[label="Neg (Succ vx50)",fontsize=16,color="green",shape="box"];588[label="max0 (Pos (Succ vx40)) (Pos (Succ vx41)) True",fontsize=16,color="black",shape="box"];588 -> 594[label="",style="solid", color="black", weight=3]; 10.51/4.31 599[label="max0 (Neg (Succ vx49)) (Neg (Succ vx50)) True",fontsize=16,color="black",shape="box"];599 -> 600[label="",style="solid", color="black", weight=3]; 10.51/4.31 594[label="Pos (Succ vx40)",fontsize=16,color="green",shape="box"];600[label="Neg (Succ vx49)",fontsize=16,color="green",shape="box"];} 10.51/4.31 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (6) 10.51/4.31 Complex Obligation (AND) 10.51/4.31 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (7) 10.51/4.31 Obligation: 10.51/4.31 Q DP problem: 10.51/4.31 The TRS P consists of the following rules: 10.51/4.31 10.51/4.31 new_max1(vx49, vx50, Succ(vx510), Succ(vx520)) -> new_max1(vx49, vx50, vx510, vx520) 10.51/4.31 10.51/4.31 R is empty. 10.51/4.31 Q is empty. 10.51/4.31 We have to consider all minimal (P,Q,R)-chains. 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (8) QDPSizeChangeProof (EQUIVALENT) 10.51/4.31 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 10.51/4.31 10.51/4.31 From the DPs we obtained the following set of size-change graphs: 10.51/4.31 *new_max1(vx49, vx50, Succ(vx510), Succ(vx520)) -> new_max1(vx49, vx50, vx510, vx520) 10.51/4.31 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 10.51/4.31 10.51/4.31 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (9) 10.51/4.31 YES 10.51/4.31 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (10) 10.51/4.31 Obligation: 10.51/4.31 Q DP problem: 10.51/4.31 The TRS P consists of the following rules: 10.51/4.31 10.51/4.31 new_max10(vx40, vx41, Succ(vx420), Succ(vx430)) -> new_max10(vx40, vx41, vx420, vx430) 10.51/4.31 10.51/4.31 R is empty. 10.51/4.31 Q is empty. 10.51/4.31 We have to consider all minimal (P,Q,R)-chains. 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (11) QDPSizeChangeProof (EQUIVALENT) 10.51/4.31 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 10.51/4.31 10.51/4.31 From the DPs we obtained the following set of size-change graphs: 10.51/4.31 *new_max10(vx40, vx41, Succ(vx420), Succ(vx430)) -> new_max10(vx40, vx41, vx420, vx430) 10.51/4.31 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 10.51/4.31 10.51/4.31 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (12) 10.51/4.31 YES 10.51/4.31 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (13) 10.51/4.31 Obligation: 10.51/4.31 Q DP problem: 10.51/4.31 The TRS P consists of the following rules: 10.51/4.31 10.51/4.31 new_foldl(vx30, :(vx310, vx311)) -> new_foldl(new_max11(vx30, vx310), vx311) 10.51/4.31 10.51/4.31 The TRS R consists of the following rules: 10.51/4.31 10.51/4.31 new_max11(Pos(Succ(vx3000)), Pos(Zero)) -> Pos(Succ(vx3000)) 10.51/4.31 new_max11(Pos(Zero), Pos(Succ(vx31000))) -> Pos(Succ(vx31000)) 10.51/4.31 new_max11(Pos(Zero), Pos(Zero)) -> Pos(Zero) 10.51/4.31 new_max13(vx40, vx41, Succ(vx420), Succ(vx430)) -> new_max13(vx40, vx41, vx420, vx430) 10.51/4.31 new_max11(Neg(Succ(vx3000)), Neg(Zero)) -> Neg(Zero) 10.51/4.31 new_max11(Neg(Zero), Neg(Succ(vx31000))) -> Neg(Zero) 10.51/4.31 new_max11(Neg(Succ(vx3000)), Pos(vx3100)) -> Pos(vx3100) 10.51/4.31 new_max15(vx49, vx50, Zero, Zero) -> new_max12(vx49, vx50) 10.51/4.31 new_max13(vx40, vx41, Succ(vx420), Zero) -> Pos(Succ(vx40)) 10.51/4.31 new_max15(vx49, vx50, Succ(vx510), Succ(vx520)) -> new_max15(vx49, vx50, vx510, vx520) 10.51/4.31 new_max11(Pos(Succ(vx3000)), Pos(Succ(vx31000))) -> new_max13(vx3000, vx31000, vx3000, vx31000) 10.51/4.31 new_max12(vx49, vx50) -> Neg(Succ(vx50)) 10.51/4.31 new_max11(Neg(Zero), Pos(Zero)) -> Pos(Zero) 10.51/4.31 new_max13(vx40, vx41, Zero, Zero) -> new_max14(vx40, vx41) 10.51/4.31 new_max11(Neg(Zero), Neg(Zero)) -> Neg(Zero) 10.51/4.31 new_max11(Pos(Zero), Neg(Zero)) -> Neg(Zero) 10.51/4.31 new_max13(vx40, vx41, Zero, Succ(vx430)) -> new_max14(vx40, vx41) 10.51/4.31 new_max11(Pos(Succ(vx3000)), Neg(vx3100)) -> Pos(Succ(vx3000)) 10.51/4.31 new_max15(vx49, vx50, Zero, Succ(vx520)) -> new_max12(vx49, vx50) 10.51/4.31 new_max11(Pos(Zero), Neg(Succ(vx31000))) -> Pos(Zero) 10.51/4.31 new_max14(vx40, vx41) -> Pos(Succ(vx41)) 10.51/4.31 new_max15(vx49, vx50, Succ(vx510), Zero) -> Neg(Succ(vx49)) 10.51/4.31 new_max11(Neg(Succ(vx3000)), Neg(Succ(vx31000))) -> new_max15(vx3000, vx31000, vx31000, vx3000) 10.51/4.31 new_max11(Neg(Zero), Pos(Succ(vx31000))) -> Pos(Succ(vx31000)) 10.51/4.31 10.51/4.31 The set Q consists of the following terms: 10.51/4.31 10.51/4.31 new_max11(Neg(Zero), Neg(Zero)) 10.51/4.31 new_max15(x0, x1, Succ(x2), Succ(x3)) 10.51/4.31 new_max11(Pos(Zero), Pos(Succ(x0))) 10.51/4.31 new_max12(x0, x1) 10.51/4.31 new_max13(x0, x1, Zero, Zero) 10.51/4.31 new_max13(x0, x1, Succ(x2), Zero) 10.51/4.31 new_max15(x0, x1, Zero, Succ(x2)) 10.51/4.31 new_max13(x0, x1, Zero, Succ(x2)) 10.51/4.31 new_max15(x0, x1, Zero, Zero) 10.51/4.31 new_max15(x0, x1, Succ(x2), Zero) 10.51/4.31 new_max14(x0, x1) 10.51/4.31 new_max11(Neg(Succ(x0)), Neg(Zero)) 10.51/4.31 new_max11(Pos(Succ(x0)), Pos(Succ(x1))) 10.51/4.31 new_max13(x0, x1, Succ(x2), Succ(x3)) 10.51/4.31 new_max11(Pos(Zero), Neg(Succ(x0))) 10.51/4.31 new_max11(Neg(Zero), Pos(Succ(x0))) 10.51/4.31 new_max11(Neg(Succ(x0)), Pos(x1)) 10.51/4.31 new_max11(Pos(Succ(x0)), Neg(x1)) 10.51/4.31 new_max11(Pos(Zero), Pos(Zero)) 10.51/4.31 new_max11(Neg(Zero), Neg(Succ(x0))) 10.51/4.31 new_max11(Pos(Zero), Neg(Zero)) 10.51/4.31 new_max11(Neg(Zero), Pos(Zero)) 10.51/4.31 new_max11(Pos(Succ(x0)), Pos(Zero)) 10.51/4.31 new_max11(Neg(Succ(x0)), Neg(Succ(x1))) 10.51/4.31 10.51/4.31 We have to consider all minimal (P,Q,R)-chains. 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (14) QDPSizeChangeProof (EQUIVALENT) 10.51/4.31 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 10.51/4.31 10.51/4.31 From the DPs we obtained the following set of size-change graphs: 10.51/4.31 *new_foldl(vx30, :(vx310, vx311)) -> new_foldl(new_max11(vx30, vx310), vx311) 10.51/4.31 The graph contains the following edges 2 > 2 10.51/4.31 10.51/4.31 10.51/4.31 ---------------------------------------- 10.51/4.31 10.51/4.31 (15) 10.51/4.31 YES 10.80/4.35 EOF