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