8.06/3.57 YES 9.95/4.08 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 9.95/4.08 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 9.95/4.08 9.95/4.08 9.95/4.08 H-Termination with start terms of the given HASKELL could be proven: 9.95/4.08 9.95/4.08 (0) HASKELL 9.95/4.08 (1) BR [EQUIVALENT, 0 ms] 9.95/4.08 (2) HASKELL 9.95/4.08 (3) COR [EQUIVALENT, 0 ms] 9.95/4.08 (4) HASKELL 9.95/4.08 (5) NumRed [SOUND, 0 ms] 9.95/4.08 (6) HASKELL 9.95/4.08 (7) Narrow [SOUND, 0 ms] 9.95/4.08 (8) AND 9.95/4.08 (9) QDP 9.95/4.08 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 9.95/4.08 (11) YES 9.95/4.08 (12) QDP 9.95/4.08 (13) QDPSizeChangeProof [EQUIVALENT, 0 ms] 9.95/4.08 (14) YES 9.95/4.08 (15) QDP 9.95/4.08 (16) QDPSizeChangeProof [EQUIVALENT, 0 ms] 9.95/4.08 (17) YES 9.95/4.08 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (0) 9.95/4.08 Obligation: 9.95/4.08 mainModule Main 9.95/4.08 module Main where { 9.95/4.08 import qualified Prelude; 9.95/4.08 } 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (1) BR (EQUIVALENT) 9.95/4.08 Replaced joker patterns by fresh variables and removed binding patterns. 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (2) 9.95/4.08 Obligation: 9.95/4.08 mainModule Main 9.95/4.08 module Main where { 9.95/4.08 import qualified Prelude; 9.95/4.08 } 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (3) COR (EQUIVALENT) 9.95/4.08 Cond Reductions: 9.95/4.08 The following Function with conditions 9.95/4.08 "undefined |Falseundefined; 9.95/4.08 " 9.95/4.08 is transformed to 9.95/4.08 "undefined = undefined1; 9.95/4.08 " 9.95/4.08 "undefined0 True = undefined; 9.95/4.08 " 9.95/4.08 "undefined1 = undefined0 False; 9.95/4.08 " 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (4) 9.95/4.08 Obligation: 9.95/4.08 mainModule Main 9.95/4.08 module Main where { 9.95/4.08 import qualified Prelude; 9.95/4.08 } 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (5) NumRed (SOUND) 9.95/4.08 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (6) 9.95/4.08 Obligation: 9.95/4.08 mainModule Main 9.95/4.08 module Main where { 9.95/4.08 import qualified Prelude; 9.95/4.08 } 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (7) Narrow (SOUND) 9.95/4.08 Haskell To QDPs 9.95/4.08 9.95/4.08 digraph dp_graph { 9.95/4.08 node [outthreshold=100, inthreshold=100];1[label="asinh",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 9.95/4.08 3[label="asinh vx3",fontsize=16,color="black",shape="triangle"];3 -> 4[label="",style="solid", color="black", weight=3]; 9.95/4.08 4[label="log (vx3 + sqrt (vx3 * vx3 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];4 -> 5[label="",style="solid", color="black", weight=3]; 9.95/4.08 5[label="primLogFloat (vx3 + sqrt (vx3 * vx3 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3]; 9.95/4.08 6[label="terminator (vx3 + sqrt (vx3 * vx3 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3]; 9.95/4.08 7[label="ter0m (vx3 + sqrt (vx3 * vx3 + fromInt (Pos (Succ Zero))))",fontsize=16,color="green",shape="box"];7 -> 8[label="",style="dashed", color="green", weight=3]; 9.95/4.08 8[label="vx3 + sqrt (vx3 * vx3 + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9.95/4.08 9[label="primPlusFloat vx3 (sqrt (vx3 * vx3 + fromInt (Pos (Succ Zero))))",fontsize=16,color="burlywood",shape="box"];118[label="vx3/Float vx30 vx31",fontsize=10,color="white",style="solid",shape="box"];9 -> 118[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 118 -> 10[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 10[label="primPlusFloat (Float vx30 vx31) (sqrt (Float vx30 vx31 * Float vx30 vx31 + fromInt (Pos (Succ Zero))))",fontsize=16,color="black",shape="box"];10 -> 11[label="",style="solid", color="black", weight=3]; 9.95/4.08 11 -> 14[label="",style="dashed", color="red", weight=0]; 9.95/4.08 11[label="primPlusFloat (Float vx30 vx31) (primSqrtFloat (Float vx30 vx31 * Float vx30 vx31 + fromInt (Pos (Succ Zero))))",fontsize=16,color="magenta"];11 -> 15[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 15[label="primSqrtFloat (Float vx30 vx31 * Float vx30 vx31 + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];15 -> 18[label="",style="solid", color="black", weight=3]; 9.95/4.08 14[label="primPlusFloat (Float vx30 vx31) vx4",fontsize=16,color="burlywood",shape="triangle"];119[label="vx4/Float vx40 vx41",fontsize=10,color="white",style="solid",shape="box"];14 -> 119[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 119 -> 19[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 18[label="terminator (Float vx30 vx31 * Float vx30 vx31 + fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];18 -> 21[label="",style="solid", color="black", weight=3]; 9.95/4.08 19[label="primPlusFloat (Float vx30 vx31) (Float vx40 vx41)",fontsize=16,color="black",shape="box"];19 -> 22[label="",style="solid", color="black", weight=3]; 9.95/4.08 21[label="ter2m (Float vx30 vx31 * Float vx30 vx31 + fromInt (Pos (Succ Zero)))",fontsize=16,color="green",shape="box"];21 -> 24[label="",style="dashed", color="green", weight=3]; 9.95/4.08 22[label="Float (vx30 * vx41 + vx40 * vx31) (vx31 * vx41)",fontsize=16,color="green",shape="box"];22 -> 25[label="",style="dashed", color="green", weight=3]; 9.95/4.08 22 -> 26[label="",style="dashed", color="green", weight=3]; 9.95/4.08 24 -> 20[label="",style="dashed", color="red", weight=0]; 9.95/4.08 24[label="Float vx30 vx31 * Float vx30 vx31 + fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];25[label="vx30 * vx41 + vx40 * vx31",fontsize=16,color="black",shape="box"];25 -> 28[label="",style="solid", color="black", weight=3]; 9.95/4.08 26[label="vx31 * vx41",fontsize=16,color="black",shape="triangle"];26 -> 29[label="",style="solid", color="black", weight=3]; 9.95/4.08 20[label="Float vx30 vx31 * Float vx30 vx31 + fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];20 -> 23[label="",style="solid", color="black", weight=3]; 9.95/4.08 28 -> 31[label="",style="dashed", color="red", weight=0]; 9.95/4.08 28[label="primPlusInt (vx30 * vx41) (vx40 * vx31)",fontsize=16,color="magenta"];28 -> 32[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 28 -> 33[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 29[label="primMulInt vx31 vx41",fontsize=16,color="burlywood",shape="box"];120[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];29 -> 120[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 120 -> 34[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 121[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];29 -> 121[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 121 -> 35[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 23[label="primPlusFloat (Float vx30 vx31 * Float vx30 vx31) (fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 9.95/4.08 32 -> 26[label="",style="dashed", color="red", weight=0]; 9.95/4.08 32[label="vx30 * vx41",fontsize=16,color="magenta"];32 -> 36[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 33 -> 26[label="",style="dashed", color="red", weight=0]; 9.95/4.08 33[label="vx40 * vx31",fontsize=16,color="magenta"];33 -> 37[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 33 -> 38[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 31[label="primPlusInt vx6 vx5",fontsize=16,color="burlywood",shape="triangle"];122[label="vx6/Pos vx60",fontsize=10,color="white",style="solid",shape="box"];31 -> 122[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 122 -> 39[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 123[label="vx6/Neg vx60",fontsize=10,color="white",style="solid",shape="box"];31 -> 123[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 123 -> 40[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 34[label="primMulInt (Pos vx310) vx41",fontsize=16,color="burlywood",shape="box"];124[label="vx41/Pos vx410",fontsize=10,color="white",style="solid",shape="box"];34 -> 124[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 124 -> 44[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 125[label="vx41/Neg vx410",fontsize=10,color="white",style="solid",shape="box"];34 -> 125[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 125 -> 45[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 35[label="primMulInt (Neg vx310) vx41",fontsize=16,color="burlywood",shape="box"];126[label="vx41/Pos vx410",fontsize=10,color="white",style="solid",shape="box"];35 -> 126[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 126 -> 46[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 127[label="vx41/Neg vx410",fontsize=10,color="white",style="solid",shape="box"];35 -> 127[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 127 -> 47[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 27[label="primPlusFloat (primMulFloat (Float vx30 vx31) (Float vx30 vx31)) (fromInt (Pos (Succ Zero)))",fontsize=16,color="black",shape="box"];27 -> 30[label="",style="solid", color="black", weight=3]; 9.95/4.08 36[label="vx30",fontsize=16,color="green",shape="box"];37[label="vx31",fontsize=16,color="green",shape="box"];38[label="vx40",fontsize=16,color="green",shape="box"];39[label="primPlusInt (Pos vx60) vx5",fontsize=16,color="burlywood",shape="box"];128[label="vx5/Pos vx50",fontsize=10,color="white",style="solid",shape="box"];39 -> 128[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 128 -> 48[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 129[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];39 -> 129[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 129 -> 49[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 40[label="primPlusInt (Neg vx60) vx5",fontsize=16,color="burlywood",shape="box"];130[label="vx5/Pos vx50",fontsize=10,color="white",style="solid",shape="box"];40 -> 130[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 130 -> 50[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 131[label="vx5/Neg vx50",fontsize=10,color="white",style="solid",shape="box"];40 -> 131[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 131 -> 51[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 44[label="primMulInt (Pos vx310) (Pos vx410)",fontsize=16,color="black",shape="box"];44 -> 56[label="",style="solid", color="black", weight=3]; 9.95/4.08 45[label="primMulInt (Pos vx310) (Neg vx410)",fontsize=16,color="black",shape="box"];45 -> 57[label="",style="solid", color="black", weight=3]; 9.95/4.08 46[label="primMulInt (Neg vx310) (Pos vx410)",fontsize=16,color="black",shape="box"];46 -> 58[label="",style="solid", color="black", weight=3]; 9.95/4.08 47[label="primMulInt (Neg vx310) (Neg vx410)",fontsize=16,color="black",shape="box"];47 -> 59[label="",style="solid", color="black", weight=3]; 9.95/4.08 30 -> 14[label="",style="dashed", color="red", weight=0]; 9.95/4.08 30[label="primPlusFloat (Float (vx30 * vx30) (vx31 * vx31)) (fromInt (Pos (Succ Zero)))",fontsize=16,color="magenta"];30 -> 41[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 30 -> 42[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 30 -> 43[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 48[label="primPlusInt (Pos vx60) (Pos vx50)",fontsize=16,color="black",shape="box"];48 -> 60[label="",style="solid", color="black", weight=3]; 9.95/4.08 49[label="primPlusInt (Pos vx60) (Neg vx50)",fontsize=16,color="black",shape="box"];49 -> 61[label="",style="solid", color="black", weight=3]; 9.95/4.08 50[label="primPlusInt (Neg vx60) (Pos vx50)",fontsize=16,color="black",shape="box"];50 -> 62[label="",style="solid", color="black", weight=3]; 9.95/4.08 51[label="primPlusInt (Neg vx60) (Neg vx50)",fontsize=16,color="black",shape="box"];51 -> 63[label="",style="solid", color="black", weight=3]; 9.95/4.08 56[label="Pos (primMulNat vx310 vx410)",fontsize=16,color="green",shape="box"];56 -> 65[label="",style="dashed", color="green", weight=3]; 9.95/4.08 57[label="Neg (primMulNat vx310 vx410)",fontsize=16,color="green",shape="box"];57 -> 66[label="",style="dashed", color="green", weight=3]; 9.95/4.08 58[label="Neg (primMulNat vx310 vx410)",fontsize=16,color="green",shape="box"];58 -> 67[label="",style="dashed", color="green", weight=3]; 9.95/4.08 59[label="Pos (primMulNat vx310 vx410)",fontsize=16,color="green",shape="box"];59 -> 68[label="",style="dashed", color="green", weight=3]; 9.95/4.08 41 -> 26[label="",style="dashed", color="red", weight=0]; 9.95/4.08 41[label="vx30 * vx30",fontsize=16,color="magenta"];41 -> 52[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 41 -> 53[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 42 -> 26[label="",style="dashed", color="red", weight=0]; 9.95/4.08 42[label="vx31 * vx31",fontsize=16,color="magenta"];42 -> 54[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 43[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];43 -> 55[label="",style="solid", color="black", weight=3]; 9.95/4.08 60[label="Pos (primPlusNat vx60 vx50)",fontsize=16,color="green",shape="box"];60 -> 69[label="",style="dashed", color="green", weight=3]; 9.95/4.08 61[label="primMinusNat vx60 vx50",fontsize=16,color="burlywood",shape="triangle"];132[label="vx60/Succ vx600",fontsize=10,color="white",style="solid",shape="box"];61 -> 132[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 132 -> 70[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 133[label="vx60/Zero",fontsize=10,color="white",style="solid",shape="box"];61 -> 133[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 133 -> 71[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 62 -> 61[label="",style="dashed", color="red", weight=0]; 9.95/4.08 62[label="primMinusNat vx50 vx60",fontsize=16,color="magenta"];62 -> 72[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 62 -> 73[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 63[label="Neg (primPlusNat vx60 vx50)",fontsize=16,color="green",shape="box"];63 -> 74[label="",style="dashed", color="green", weight=3]; 9.95/4.08 65[label="primMulNat vx310 vx410",fontsize=16,color="burlywood",shape="triangle"];134[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];65 -> 134[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 134 -> 75[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 135[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];65 -> 135[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 135 -> 76[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 66 -> 65[label="",style="dashed", color="red", weight=0]; 9.95/4.08 66[label="primMulNat vx310 vx410",fontsize=16,color="magenta"];66 -> 77[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 67 -> 65[label="",style="dashed", color="red", weight=0]; 9.95/4.08 67[label="primMulNat vx310 vx410",fontsize=16,color="magenta"];67 -> 78[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 68 -> 65[label="",style="dashed", color="red", weight=0]; 9.95/4.08 68[label="primMulNat vx310 vx410",fontsize=16,color="magenta"];68 -> 79[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 68 -> 80[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 52[label="vx30",fontsize=16,color="green",shape="box"];53[label="vx30",fontsize=16,color="green",shape="box"];54[label="vx31",fontsize=16,color="green",shape="box"];55[label="primIntToFloat (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];55 -> 64[label="",style="solid", color="black", weight=3]; 9.95/4.08 69[label="primPlusNat vx60 vx50",fontsize=16,color="burlywood",shape="triangle"];136[label="vx60/Succ vx600",fontsize=10,color="white",style="solid",shape="box"];69 -> 136[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 136 -> 81[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 137[label="vx60/Zero",fontsize=10,color="white",style="solid",shape="box"];69 -> 137[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 137 -> 82[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 70[label="primMinusNat (Succ vx600) vx50",fontsize=16,color="burlywood",shape="box"];138[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];70 -> 138[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 138 -> 83[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 139[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];70 -> 139[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 139 -> 84[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 71[label="primMinusNat Zero vx50",fontsize=16,color="burlywood",shape="box"];140[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];71 -> 140[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 140 -> 85[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 141[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];71 -> 141[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 141 -> 86[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 72[label="vx50",fontsize=16,color="green",shape="box"];73[label="vx60",fontsize=16,color="green",shape="box"];74 -> 69[label="",style="dashed", color="red", weight=0]; 9.95/4.08 74[label="primPlusNat vx60 vx50",fontsize=16,color="magenta"];74 -> 87[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 74 -> 88[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 75[label="primMulNat (Succ vx3100) vx410",fontsize=16,color="burlywood",shape="box"];142[label="vx410/Succ vx4100",fontsize=10,color="white",style="solid",shape="box"];75 -> 142[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 142 -> 89[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 143[label="vx410/Zero",fontsize=10,color="white",style="solid",shape="box"];75 -> 143[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 143 -> 90[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 76[label="primMulNat Zero vx410",fontsize=16,color="burlywood",shape="box"];144[label="vx410/Succ vx4100",fontsize=10,color="white",style="solid",shape="box"];76 -> 144[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 144 -> 91[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 145[label="vx410/Zero",fontsize=10,color="white",style="solid",shape="box"];76 -> 145[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 145 -> 92[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 77[label="vx410",fontsize=16,color="green",shape="box"];78[label="vx310",fontsize=16,color="green",shape="box"];79[label="vx310",fontsize=16,color="green",shape="box"];80[label="vx410",fontsize=16,color="green",shape="box"];64[label="Float (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];81[label="primPlusNat (Succ vx600) vx50",fontsize=16,color="burlywood",shape="box"];146[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];81 -> 146[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 146 -> 93[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 147[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];81 -> 147[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 147 -> 94[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 82[label="primPlusNat Zero vx50",fontsize=16,color="burlywood",shape="box"];148[label="vx50/Succ vx500",fontsize=10,color="white",style="solid",shape="box"];82 -> 148[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 148 -> 95[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 149[label="vx50/Zero",fontsize=10,color="white",style="solid",shape="box"];82 -> 149[label="",style="solid", color="burlywood", weight=9]; 9.95/4.08 149 -> 96[label="",style="solid", color="burlywood", weight=3]; 9.95/4.08 83[label="primMinusNat (Succ vx600) (Succ vx500)",fontsize=16,color="black",shape="box"];83 -> 97[label="",style="solid", color="black", weight=3]; 9.95/4.08 84[label="primMinusNat (Succ vx600) Zero",fontsize=16,color="black",shape="box"];84 -> 98[label="",style="solid", color="black", weight=3]; 9.95/4.08 85[label="primMinusNat Zero (Succ vx500)",fontsize=16,color="black",shape="box"];85 -> 99[label="",style="solid", color="black", weight=3]; 9.95/4.08 86[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];86 -> 100[label="",style="solid", color="black", weight=3]; 9.95/4.08 87[label="vx50",fontsize=16,color="green",shape="box"];88[label="vx60",fontsize=16,color="green",shape="box"];89[label="primMulNat (Succ vx3100) (Succ vx4100)",fontsize=16,color="black",shape="box"];89 -> 101[label="",style="solid", color="black", weight=3]; 9.95/4.08 90[label="primMulNat (Succ vx3100) Zero",fontsize=16,color="black",shape="box"];90 -> 102[label="",style="solid", color="black", weight=3]; 9.95/4.08 91[label="primMulNat Zero (Succ vx4100)",fontsize=16,color="black",shape="box"];91 -> 103[label="",style="solid", color="black", weight=3]; 9.95/4.08 92[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];92 -> 104[label="",style="solid", color="black", weight=3]; 9.95/4.08 93[label="primPlusNat (Succ vx600) (Succ vx500)",fontsize=16,color="black",shape="box"];93 -> 105[label="",style="solid", color="black", weight=3]; 9.95/4.08 94[label="primPlusNat (Succ vx600) Zero",fontsize=16,color="black",shape="box"];94 -> 106[label="",style="solid", color="black", weight=3]; 9.95/4.08 95[label="primPlusNat Zero (Succ vx500)",fontsize=16,color="black",shape="box"];95 -> 107[label="",style="solid", color="black", weight=3]; 9.95/4.08 96[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];96 -> 108[label="",style="solid", color="black", weight=3]; 9.95/4.08 97 -> 61[label="",style="dashed", color="red", weight=0]; 9.95/4.08 97[label="primMinusNat vx600 vx500",fontsize=16,color="magenta"];97 -> 109[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 97 -> 110[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 98[label="Pos (Succ vx600)",fontsize=16,color="green",shape="box"];99[label="Neg (Succ vx500)",fontsize=16,color="green",shape="box"];100[label="Pos Zero",fontsize=16,color="green",shape="box"];101 -> 69[label="",style="dashed", color="red", weight=0]; 9.95/4.08 101[label="primPlusNat (primMulNat vx3100 (Succ vx4100)) (Succ vx4100)",fontsize=16,color="magenta"];101 -> 111[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 101 -> 112[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 102[label="Zero",fontsize=16,color="green",shape="box"];103[label="Zero",fontsize=16,color="green",shape="box"];104[label="Zero",fontsize=16,color="green",shape="box"];105[label="Succ (Succ (primPlusNat vx600 vx500))",fontsize=16,color="green",shape="box"];105 -> 113[label="",style="dashed", color="green", weight=3]; 9.95/4.08 106[label="Succ vx600",fontsize=16,color="green",shape="box"];107[label="Succ vx500",fontsize=16,color="green",shape="box"];108[label="Zero",fontsize=16,color="green",shape="box"];109[label="vx600",fontsize=16,color="green",shape="box"];110[label="vx500",fontsize=16,color="green",shape="box"];111[label="Succ vx4100",fontsize=16,color="green",shape="box"];112 -> 65[label="",style="dashed", color="red", weight=0]; 9.95/4.08 112[label="primMulNat vx3100 (Succ vx4100)",fontsize=16,color="magenta"];112 -> 114[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 112 -> 115[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 113 -> 69[label="",style="dashed", color="red", weight=0]; 9.95/4.08 113[label="primPlusNat vx600 vx500",fontsize=16,color="magenta"];113 -> 116[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 113 -> 117[label="",style="dashed", color="magenta", weight=3]; 9.95/4.08 114[label="vx3100",fontsize=16,color="green",shape="box"];115[label="Succ vx4100",fontsize=16,color="green",shape="box"];116[label="vx500",fontsize=16,color="green",shape="box"];117[label="vx600",fontsize=16,color="green",shape="box"];} 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (8) 9.95/4.08 Complex Obligation (AND) 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (9) 9.95/4.08 Obligation: 9.95/4.08 Q DP problem: 9.95/4.08 The TRS P consists of the following rules: 9.95/4.08 9.95/4.08 new_primMulNat(Succ(vx3100), Succ(vx4100)) -> new_primMulNat(vx3100, Succ(vx4100)) 9.95/4.08 9.95/4.08 R is empty. 9.95/4.08 Q is empty. 9.95/4.08 We have to consider all minimal (P,Q,R)-chains. 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (10) QDPSizeChangeProof (EQUIVALENT) 9.95/4.08 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. 9.95/4.08 9.95/4.08 From the DPs we obtained the following set of size-change graphs: 9.95/4.08 *new_primMulNat(Succ(vx3100), Succ(vx4100)) -> new_primMulNat(vx3100, Succ(vx4100)) 9.95/4.08 The graph contains the following edges 1 > 1, 2 >= 2 9.95/4.08 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (11) 9.95/4.08 YES 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (12) 9.95/4.08 Obligation: 9.95/4.08 Q DP problem: 9.95/4.08 The TRS P consists of the following rules: 9.95/4.08 9.95/4.08 new_primMinusNat(Succ(vx600), Succ(vx500)) -> new_primMinusNat(vx600, vx500) 9.95/4.08 9.95/4.08 R is empty. 9.95/4.08 Q is empty. 9.95/4.08 We have to consider all minimal (P,Q,R)-chains. 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (13) QDPSizeChangeProof (EQUIVALENT) 9.95/4.08 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. 9.95/4.08 9.95/4.08 From the DPs we obtained the following set of size-change graphs: 9.95/4.08 *new_primMinusNat(Succ(vx600), Succ(vx500)) -> new_primMinusNat(vx600, vx500) 9.95/4.08 The graph contains the following edges 1 > 1, 2 > 2 9.95/4.08 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (14) 9.95/4.08 YES 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (15) 9.95/4.08 Obligation: 9.95/4.08 Q DP problem: 9.95/4.08 The TRS P consists of the following rules: 9.95/4.08 9.95/4.08 new_primPlusNat(Succ(vx600), Succ(vx500)) -> new_primPlusNat(vx600, vx500) 9.95/4.08 9.95/4.08 R is empty. 9.95/4.08 Q is empty. 9.95/4.08 We have to consider all minimal (P,Q,R)-chains. 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (16) QDPSizeChangeProof (EQUIVALENT) 9.95/4.08 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. 9.95/4.08 9.95/4.08 From the DPs we obtained the following set of size-change graphs: 9.95/4.08 *new_primPlusNat(Succ(vx600), Succ(vx500)) -> new_primPlusNat(vx600, vx500) 9.95/4.08 The graph contains the following edges 1 > 1, 2 > 2 9.95/4.08 9.95/4.08 9.95/4.08 ---------------------------------------- 9.95/4.08 9.95/4.08 (17) 9.95/4.08 YES 10.02/4.78 EOF