7.89/3.52 YES 9.85/3.99 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 9.85/3.99 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 9.85/3.99 9.85/3.99 9.85/3.99 H-Termination with start terms of the given HASKELL could be proven: 9.85/3.99 9.85/3.99 (0) HASKELL 9.85/3.99 (1) BR [EQUIVALENT, 0 ms] 9.85/3.99 (2) HASKELL 9.85/3.99 (3) COR [EQUIVALENT, 0 ms] 9.85/3.99 (4) HASKELL 9.85/3.99 (5) Narrow [SOUND, 0 ms] 9.85/3.99 (6) AND 9.85/3.99 (7) QDP 9.85/3.99 (8) QDPSizeChangeProof [EQUIVALENT, 0 ms] 9.85/3.99 (9) YES 9.85/3.99 (10) QDP 9.85/3.99 (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] 9.85/3.99 (12) YES 9.85/3.99 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (0) 9.85/3.99 Obligation: 9.85/3.99 mainModule Main 9.85/3.99 module Main where { 9.85/3.99 import qualified Prelude; 9.85/3.99 } 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (1) BR (EQUIVALENT) 9.85/3.99 Replaced joker patterns by fresh variables and removed binding patterns. 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (2) 9.85/3.99 Obligation: 9.85/3.99 mainModule Main 9.85/3.99 module Main where { 9.85/3.99 import qualified Prelude; 9.85/3.99 } 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (3) COR (EQUIVALENT) 9.85/3.99 Cond Reductions: 9.85/3.99 The following Function with conditions 9.85/3.99 "undefined |Falseundefined; 9.85/3.99 " 9.85/3.99 is transformed to 9.85/3.99 "undefined = undefined1; 9.85/3.99 " 9.85/3.99 "undefined0 True = undefined; 9.85/3.99 " 9.85/3.99 "undefined1 = undefined0 False; 9.85/3.99 " 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (4) 9.85/3.99 Obligation: 9.85/3.99 mainModule Main 9.85/3.99 module Main where { 9.85/3.99 import qualified Prelude; 9.85/3.99 } 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (5) Narrow (SOUND) 9.85/3.99 Haskell To QDPs 9.85/3.99 9.85/3.99 digraph dp_graph { 9.85/3.99 node [outthreshold=100, inthreshold=100];1[label="(/=)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 9.85/3.99 3[label="(/=) vz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 9.85/3.99 4[label="(/=) vz3 vz4",fontsize=16,color="black",shape="triangle"];4 -> 5[label="",style="solid", color="black", weight=3]; 9.85/3.99 5[label="not (vz3 == vz4)",fontsize=16,color="burlywood",shape="box"];123[label="vz3/vz30 :% vz31",fontsize=10,color="white",style="solid",shape="box"];5 -> 123[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 123 -> 6[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 6[label="not (vz30 :% vz31 == vz4)",fontsize=16,color="burlywood",shape="box"];124[label="vz4/vz40 :% vz41",fontsize=10,color="white",style="solid",shape="box"];6 -> 124[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 124 -> 7[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 7[label="not (vz30 :% vz31 == vz40 :% vz41)",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3]; 9.85/3.99 8[label="not (vz30 == vz40 && vz31 == vz41)",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3]; 9.85/3.99 9[label="not (primEqInt vz30 vz40 && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];125[label="vz30/Pos vz300",fontsize=10,color="white",style="solid",shape="box"];9 -> 125[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 125 -> 10[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 126[label="vz30/Neg vz300",fontsize=10,color="white",style="solid",shape="box"];9 -> 126[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 126 -> 11[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 10[label="not (primEqInt (Pos vz300) vz40 && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];127[label="vz300/Succ vz3000",fontsize=10,color="white",style="solid",shape="box"];10 -> 127[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 127 -> 12[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 128[label="vz300/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 128[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 128 -> 13[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 11[label="not (primEqInt (Neg vz300) vz40 && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];129[label="vz300/Succ vz3000",fontsize=10,color="white",style="solid",shape="box"];11 -> 129[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 129 -> 14[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 130[label="vz300/Zero",fontsize=10,color="white",style="solid",shape="box"];11 -> 130[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 130 -> 15[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 12[label="not (primEqInt (Pos (Succ vz3000)) vz40 && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];131[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];12 -> 131[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 131 -> 16[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 132[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];12 -> 132[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 132 -> 17[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 13[label="not (primEqInt (Pos Zero) vz40 && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];133[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];13 -> 133[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 133 -> 18[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 134[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];13 -> 134[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 134 -> 19[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 14[label="not (primEqInt (Neg (Succ vz3000)) vz40 && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];135[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];14 -> 135[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 135 -> 20[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 136[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];14 -> 136[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 136 -> 21[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 15[label="not (primEqInt (Neg Zero) vz40 && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];137[label="vz40/Pos vz400",fontsize=10,color="white",style="solid",shape="box"];15 -> 137[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 137 -> 22[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 138[label="vz40/Neg vz400",fontsize=10,color="white",style="solid",shape="box"];15 -> 138[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 138 -> 23[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 16[label="not (primEqInt (Pos (Succ vz3000)) (Pos vz400) && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];139[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];16 -> 139[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 139 -> 24[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 140[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];16 -> 140[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 140 -> 25[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 17[label="not (primEqInt (Pos (Succ vz3000)) (Neg vz400) && vz31 == vz41)",fontsize=16,color="black",shape="box"];17 -> 26[label="",style="solid", color="black", weight=3]; 9.85/3.99 18[label="not (primEqInt (Pos Zero) (Pos vz400) && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];141[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];18 -> 141[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 141 -> 27[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 142[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];18 -> 142[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 142 -> 28[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 19[label="not (primEqInt (Pos Zero) (Neg vz400) && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];143[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];19 -> 143[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 143 -> 29[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 144[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];19 -> 144[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 144 -> 30[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 20[label="not (primEqInt (Neg (Succ vz3000)) (Pos vz400) && vz31 == vz41)",fontsize=16,color="black",shape="box"];20 -> 31[label="",style="solid", color="black", weight=3]; 9.85/3.99 21[label="not (primEqInt (Neg (Succ vz3000)) (Neg vz400) && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];145[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];21 -> 145[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 145 -> 32[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 146[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];21 -> 146[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 146 -> 33[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 22[label="not (primEqInt (Neg Zero) (Pos vz400) && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];147[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];22 -> 147[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 147 -> 34[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 148[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];22 -> 148[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 148 -> 35[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 23[label="not (primEqInt (Neg Zero) (Neg vz400) && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];149[label="vz400/Succ vz4000",fontsize=10,color="white",style="solid",shape="box"];23 -> 149[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 149 -> 36[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 150[label="vz400/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 150[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 150 -> 37[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 24[label="not (primEqInt (Pos (Succ vz3000)) (Pos (Succ vz4000)) && vz31 == vz41)",fontsize=16,color="black",shape="box"];24 -> 38[label="",style="solid", color="black", weight=3]; 9.85/3.99 25[label="not (primEqInt (Pos (Succ vz3000)) (Pos Zero) && vz31 == vz41)",fontsize=16,color="black",shape="box"];25 -> 39[label="",style="solid", color="black", weight=3]; 9.85/3.99 26[label="not (False && vz31 == vz41)",fontsize=16,color="black",shape="triangle"];26 -> 40[label="",style="solid", color="black", weight=3]; 9.85/3.99 27[label="not (primEqInt (Pos Zero) (Pos (Succ vz4000)) && vz31 == vz41)",fontsize=16,color="black",shape="box"];27 -> 41[label="",style="solid", color="black", weight=3]; 9.85/3.99 28[label="not (primEqInt (Pos Zero) (Pos Zero) && vz31 == vz41)",fontsize=16,color="black",shape="box"];28 -> 42[label="",style="solid", color="black", weight=3]; 9.85/3.99 29[label="not (primEqInt (Pos Zero) (Neg (Succ vz4000)) && vz31 == vz41)",fontsize=16,color="black",shape="box"];29 -> 43[label="",style="solid", color="black", weight=3]; 9.85/3.99 30[label="not (primEqInt (Pos Zero) (Neg Zero) && vz31 == vz41)",fontsize=16,color="black",shape="box"];30 -> 44[label="",style="solid", color="black", weight=3]; 9.85/3.99 31 -> 26[label="",style="dashed", color="red", weight=0]; 9.85/3.99 31[label="not (False && vz31 == vz41)",fontsize=16,color="magenta"];32[label="not (primEqInt (Neg (Succ vz3000)) (Neg (Succ vz4000)) && vz31 == vz41)",fontsize=16,color="black",shape="box"];32 -> 45[label="",style="solid", color="black", weight=3]; 9.85/3.99 33[label="not (primEqInt (Neg (Succ vz3000)) (Neg Zero) && vz31 == vz41)",fontsize=16,color="black",shape="box"];33 -> 46[label="",style="solid", color="black", weight=3]; 9.85/3.99 34[label="not (primEqInt (Neg Zero) (Pos (Succ vz4000)) && vz31 == vz41)",fontsize=16,color="black",shape="box"];34 -> 47[label="",style="solid", color="black", weight=3]; 9.85/3.99 35[label="not (primEqInt (Neg Zero) (Pos Zero) && vz31 == vz41)",fontsize=16,color="black",shape="box"];35 -> 48[label="",style="solid", color="black", weight=3]; 9.85/3.99 36[label="not (primEqInt (Neg Zero) (Neg (Succ vz4000)) && vz31 == vz41)",fontsize=16,color="black",shape="box"];36 -> 49[label="",style="solid", color="black", weight=3]; 9.85/3.99 37[label="not (primEqInt (Neg Zero) (Neg Zero) && vz31 == vz41)",fontsize=16,color="black",shape="box"];37 -> 50[label="",style="solid", color="black", weight=3]; 9.85/3.99 38[label="not (primEqNat vz3000 vz4000 && vz31 == vz41)",fontsize=16,color="burlywood",shape="triangle"];151[label="vz3000/Succ vz30000",fontsize=10,color="white",style="solid",shape="box"];38 -> 151[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 151 -> 51[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 152[label="vz3000/Zero",fontsize=10,color="white",style="solid",shape="box"];38 -> 152[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 152 -> 52[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 39 -> 26[label="",style="dashed", color="red", weight=0]; 9.85/3.99 39[label="not (False && vz31 == vz41)",fontsize=16,color="magenta"];40[label="not False",fontsize=16,color="black",shape="triangle"];40 -> 53[label="",style="solid", color="black", weight=3]; 9.85/3.99 41 -> 26[label="",style="dashed", color="red", weight=0]; 9.85/3.99 41[label="not (False && vz31 == vz41)",fontsize=16,color="magenta"];42[label="not (True && vz31 == vz41)",fontsize=16,color="black",shape="triangle"];42 -> 54[label="",style="solid", color="black", weight=3]; 9.85/3.99 43 -> 26[label="",style="dashed", color="red", weight=0]; 9.85/3.99 43[label="not (False && vz31 == vz41)",fontsize=16,color="magenta"];44 -> 42[label="",style="dashed", color="red", weight=0]; 9.85/3.99 44[label="not (True && vz31 == vz41)",fontsize=16,color="magenta"];45 -> 38[label="",style="dashed", color="red", weight=0]; 9.85/3.99 45[label="not (primEqNat vz3000 vz4000 && vz31 == vz41)",fontsize=16,color="magenta"];45 -> 55[label="",style="dashed", color="magenta", weight=3]; 9.85/3.99 45 -> 56[label="",style="dashed", color="magenta", weight=3]; 9.85/3.99 46 -> 26[label="",style="dashed", color="red", weight=0]; 9.85/3.99 46[label="not (False && vz31 == vz41)",fontsize=16,color="magenta"];47 -> 26[label="",style="dashed", color="red", weight=0]; 9.85/3.99 47[label="not (False && vz31 == vz41)",fontsize=16,color="magenta"];48 -> 42[label="",style="dashed", color="red", weight=0]; 9.85/3.99 48[label="not (True && vz31 == vz41)",fontsize=16,color="magenta"];49 -> 26[label="",style="dashed", color="red", weight=0]; 9.85/3.99 49[label="not (False && vz31 == vz41)",fontsize=16,color="magenta"];50 -> 42[label="",style="dashed", color="red", weight=0]; 9.85/3.99 50[label="not (True && vz31 == vz41)",fontsize=16,color="magenta"];51[label="not (primEqNat (Succ vz30000) vz4000 && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];153[label="vz4000/Succ vz40000",fontsize=10,color="white",style="solid",shape="box"];51 -> 153[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 153 -> 57[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 154[label="vz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];51 -> 154[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 154 -> 58[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 52[label="not (primEqNat Zero vz4000 && vz31 == vz41)",fontsize=16,color="burlywood",shape="box"];155[label="vz4000/Succ vz40000",fontsize=10,color="white",style="solid",shape="box"];52 -> 155[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 155 -> 59[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 156[label="vz4000/Zero",fontsize=10,color="white",style="solid",shape="box"];52 -> 156[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 156 -> 60[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 53[label="True",fontsize=16,color="green",shape="box"];54[label="not (vz31 == vz41)",fontsize=16,color="black",shape="box"];54 -> 61[label="",style="solid", color="black", weight=3]; 9.85/3.99 55[label="vz3000",fontsize=16,color="green",shape="box"];56[label="vz4000",fontsize=16,color="green",shape="box"];57[label="not (primEqNat (Succ vz30000) (Succ vz40000) && vz31 == vz41)",fontsize=16,color="black",shape="box"];57 -> 62[label="",style="solid", color="black", weight=3]; 9.85/3.99 58[label="not (primEqNat (Succ vz30000) Zero && vz31 == vz41)",fontsize=16,color="black",shape="box"];58 -> 63[label="",style="solid", color="black", weight=3]; 9.85/3.99 59[label="not (primEqNat Zero (Succ vz40000) && vz31 == vz41)",fontsize=16,color="black",shape="box"];59 -> 64[label="",style="solid", color="black", weight=3]; 9.85/3.99 60[label="not (primEqNat Zero Zero && vz31 == vz41)",fontsize=16,color="black",shape="box"];60 -> 65[label="",style="solid", color="black", weight=3]; 9.85/3.99 61[label="not (primEqInt vz31 vz41)",fontsize=16,color="burlywood",shape="box"];157[label="vz31/Pos vz310",fontsize=10,color="white",style="solid",shape="box"];61 -> 157[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 157 -> 66[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 158[label="vz31/Neg vz310",fontsize=10,color="white",style="solid",shape="box"];61 -> 158[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 158 -> 67[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 62 -> 38[label="",style="dashed", color="red", weight=0]; 9.85/3.99 62[label="not (primEqNat vz30000 vz40000 && vz31 == vz41)",fontsize=16,color="magenta"];62 -> 68[label="",style="dashed", color="magenta", weight=3]; 9.85/3.99 62 -> 69[label="",style="dashed", color="magenta", weight=3]; 9.85/3.99 63 -> 26[label="",style="dashed", color="red", weight=0]; 9.85/3.99 63[label="not (False && vz31 == vz41)",fontsize=16,color="magenta"];64 -> 26[label="",style="dashed", color="red", weight=0]; 9.85/3.99 64[label="not (False && vz31 == vz41)",fontsize=16,color="magenta"];65 -> 42[label="",style="dashed", color="red", weight=0]; 9.85/3.99 65[label="not (True && vz31 == vz41)",fontsize=16,color="magenta"];66[label="not (primEqInt (Pos vz310) vz41)",fontsize=16,color="burlywood",shape="box"];159[label="vz310/Succ vz3100",fontsize=10,color="white",style="solid",shape="box"];66 -> 159[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 159 -> 70[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 160[label="vz310/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 160[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 160 -> 71[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 67[label="not (primEqInt (Neg vz310) vz41)",fontsize=16,color="burlywood",shape="box"];161[label="vz310/Succ vz3100",fontsize=10,color="white",style="solid",shape="box"];67 -> 161[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 161 -> 72[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 162[label="vz310/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 162[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 162 -> 73[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 68[label="vz30000",fontsize=16,color="green",shape="box"];69[label="vz40000",fontsize=16,color="green",shape="box"];70[label="not (primEqInt (Pos (Succ vz3100)) vz41)",fontsize=16,color="burlywood",shape="box"];163[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];70 -> 163[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 163 -> 74[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 164[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];70 -> 164[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 164 -> 75[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 71[label="not (primEqInt (Pos Zero) vz41)",fontsize=16,color="burlywood",shape="box"];165[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];71 -> 165[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 165 -> 76[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 166[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];71 -> 166[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 166 -> 77[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 72[label="not (primEqInt (Neg (Succ vz3100)) vz41)",fontsize=16,color="burlywood",shape="box"];167[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];72 -> 167[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 167 -> 78[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 168[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];72 -> 168[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 168 -> 79[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 73[label="not (primEqInt (Neg Zero) vz41)",fontsize=16,color="burlywood",shape="box"];169[label="vz41/Pos vz410",fontsize=10,color="white",style="solid",shape="box"];73 -> 169[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 169 -> 80[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 170[label="vz41/Neg vz410",fontsize=10,color="white",style="solid",shape="box"];73 -> 170[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 170 -> 81[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 74[label="not (primEqInt (Pos (Succ vz3100)) (Pos vz410))",fontsize=16,color="burlywood",shape="box"];171[label="vz410/Succ vz4100",fontsize=10,color="white",style="solid",shape="box"];74 -> 171[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 171 -> 82[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 172[label="vz410/Zero",fontsize=10,color="white",style="solid",shape="box"];74 -> 172[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 172 -> 83[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 75[label="not (primEqInt (Pos (Succ vz3100)) (Neg vz410))",fontsize=16,color="black",shape="box"];75 -> 84[label="",style="solid", color="black", weight=3]; 9.85/3.99 76[label="not (primEqInt (Pos Zero) (Pos vz410))",fontsize=16,color="burlywood",shape="box"];173[label="vz410/Succ vz4100",fontsize=10,color="white",style="solid",shape="box"];76 -> 173[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 173 -> 85[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 174[label="vz410/Zero",fontsize=10,color="white",style="solid",shape="box"];76 -> 174[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 174 -> 86[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 77[label="not (primEqInt (Pos Zero) (Neg vz410))",fontsize=16,color="burlywood",shape="box"];175[label="vz410/Succ vz4100",fontsize=10,color="white",style="solid",shape="box"];77 -> 175[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 175 -> 87[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 176[label="vz410/Zero",fontsize=10,color="white",style="solid",shape="box"];77 -> 176[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 176 -> 88[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 78[label="not (primEqInt (Neg (Succ vz3100)) (Pos vz410))",fontsize=16,color="black",shape="box"];78 -> 89[label="",style="solid", color="black", weight=3]; 9.85/3.99 79[label="not (primEqInt (Neg (Succ vz3100)) (Neg vz410))",fontsize=16,color="burlywood",shape="box"];177[label="vz410/Succ vz4100",fontsize=10,color="white",style="solid",shape="box"];79 -> 177[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 177 -> 90[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 178[label="vz410/Zero",fontsize=10,color="white",style="solid",shape="box"];79 -> 178[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 178 -> 91[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 80[label="not (primEqInt (Neg Zero) (Pos vz410))",fontsize=16,color="burlywood",shape="box"];179[label="vz410/Succ vz4100",fontsize=10,color="white",style="solid",shape="box"];80 -> 179[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 179 -> 92[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 180[label="vz410/Zero",fontsize=10,color="white",style="solid",shape="box"];80 -> 180[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 180 -> 93[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 81[label="not (primEqInt (Neg Zero) (Neg vz410))",fontsize=16,color="burlywood",shape="box"];181[label="vz410/Succ vz4100",fontsize=10,color="white",style="solid",shape="box"];81 -> 181[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 181 -> 94[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 182[label="vz410/Zero",fontsize=10,color="white",style="solid",shape="box"];81 -> 182[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 182 -> 95[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 82[label="not (primEqInt (Pos (Succ vz3100)) (Pos (Succ vz4100)))",fontsize=16,color="black",shape="box"];82 -> 96[label="",style="solid", color="black", weight=3]; 9.85/3.99 83[label="not (primEqInt (Pos (Succ vz3100)) (Pos Zero))",fontsize=16,color="black",shape="box"];83 -> 97[label="",style="solid", color="black", weight=3]; 9.85/3.99 84 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 84[label="not False",fontsize=16,color="magenta"];85[label="not (primEqInt (Pos Zero) (Pos (Succ vz4100)))",fontsize=16,color="black",shape="box"];85 -> 98[label="",style="solid", color="black", weight=3]; 9.85/3.99 86[label="not (primEqInt (Pos Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];86 -> 99[label="",style="solid", color="black", weight=3]; 9.85/3.99 87[label="not (primEqInt (Pos Zero) (Neg (Succ vz4100)))",fontsize=16,color="black",shape="box"];87 -> 100[label="",style="solid", color="black", weight=3]; 9.85/3.99 88[label="not (primEqInt (Pos Zero) (Neg Zero))",fontsize=16,color="black",shape="box"];88 -> 101[label="",style="solid", color="black", weight=3]; 9.85/3.99 89 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 89[label="not False",fontsize=16,color="magenta"];90[label="not (primEqInt (Neg (Succ vz3100)) (Neg (Succ vz4100)))",fontsize=16,color="black",shape="box"];90 -> 102[label="",style="solid", color="black", weight=3]; 9.85/3.99 91[label="not (primEqInt (Neg (Succ vz3100)) (Neg Zero))",fontsize=16,color="black",shape="box"];91 -> 103[label="",style="solid", color="black", weight=3]; 9.85/3.99 92[label="not (primEqInt (Neg Zero) (Pos (Succ vz4100)))",fontsize=16,color="black",shape="box"];92 -> 104[label="",style="solid", color="black", weight=3]; 9.85/3.99 93[label="not (primEqInt (Neg Zero) (Pos Zero))",fontsize=16,color="black",shape="box"];93 -> 105[label="",style="solid", color="black", weight=3]; 9.85/3.99 94[label="not (primEqInt (Neg Zero) (Neg (Succ vz4100)))",fontsize=16,color="black",shape="box"];94 -> 106[label="",style="solid", color="black", weight=3]; 9.85/3.99 95[label="not (primEqInt (Neg Zero) (Neg Zero))",fontsize=16,color="black",shape="box"];95 -> 107[label="",style="solid", color="black", weight=3]; 9.85/3.99 96[label="not (primEqNat vz3100 vz4100)",fontsize=16,color="burlywood",shape="triangle"];183[label="vz3100/Succ vz31000",fontsize=10,color="white",style="solid",shape="box"];96 -> 183[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 183 -> 108[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 184[label="vz3100/Zero",fontsize=10,color="white",style="solid",shape="box"];96 -> 184[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 184 -> 109[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 97 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 97[label="not False",fontsize=16,color="magenta"];98 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 98[label="not False",fontsize=16,color="magenta"];99[label="not True",fontsize=16,color="black",shape="triangle"];99 -> 110[label="",style="solid", color="black", weight=3]; 9.85/3.99 100 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 100[label="not False",fontsize=16,color="magenta"];101 -> 99[label="",style="dashed", color="red", weight=0]; 9.85/3.99 101[label="not True",fontsize=16,color="magenta"];102 -> 96[label="",style="dashed", color="red", weight=0]; 9.85/3.99 102[label="not (primEqNat vz3100 vz4100)",fontsize=16,color="magenta"];102 -> 111[label="",style="dashed", color="magenta", weight=3]; 9.85/3.99 102 -> 112[label="",style="dashed", color="magenta", weight=3]; 9.85/3.99 103 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 103[label="not False",fontsize=16,color="magenta"];104 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 104[label="not False",fontsize=16,color="magenta"];105 -> 99[label="",style="dashed", color="red", weight=0]; 9.85/3.99 105[label="not True",fontsize=16,color="magenta"];106 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 106[label="not False",fontsize=16,color="magenta"];107 -> 99[label="",style="dashed", color="red", weight=0]; 9.85/3.99 107[label="not True",fontsize=16,color="magenta"];108[label="not (primEqNat (Succ vz31000) vz4100)",fontsize=16,color="burlywood",shape="box"];185[label="vz4100/Succ vz41000",fontsize=10,color="white",style="solid",shape="box"];108 -> 185[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 185 -> 113[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 186[label="vz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];108 -> 186[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 186 -> 114[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 109[label="not (primEqNat Zero vz4100)",fontsize=16,color="burlywood",shape="box"];187[label="vz4100/Succ vz41000",fontsize=10,color="white",style="solid",shape="box"];109 -> 187[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 187 -> 115[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 188[label="vz4100/Zero",fontsize=10,color="white",style="solid",shape="box"];109 -> 188[label="",style="solid", color="burlywood", weight=9]; 9.85/3.99 188 -> 116[label="",style="solid", color="burlywood", weight=3]; 9.85/3.99 110[label="False",fontsize=16,color="green",shape="box"];111[label="vz3100",fontsize=16,color="green",shape="box"];112[label="vz4100",fontsize=16,color="green",shape="box"];113[label="not (primEqNat (Succ vz31000) (Succ vz41000))",fontsize=16,color="black",shape="box"];113 -> 117[label="",style="solid", color="black", weight=3]; 9.85/3.99 114[label="not (primEqNat (Succ vz31000) Zero)",fontsize=16,color="black",shape="box"];114 -> 118[label="",style="solid", color="black", weight=3]; 9.85/3.99 115[label="not (primEqNat Zero (Succ vz41000))",fontsize=16,color="black",shape="box"];115 -> 119[label="",style="solid", color="black", weight=3]; 9.85/3.99 116[label="not (primEqNat Zero Zero)",fontsize=16,color="black",shape="box"];116 -> 120[label="",style="solid", color="black", weight=3]; 9.85/3.99 117 -> 96[label="",style="dashed", color="red", weight=0]; 9.85/3.99 117[label="not (primEqNat vz31000 vz41000)",fontsize=16,color="magenta"];117 -> 121[label="",style="dashed", color="magenta", weight=3]; 9.85/3.99 117 -> 122[label="",style="dashed", color="magenta", weight=3]; 9.85/3.99 118 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 118[label="not False",fontsize=16,color="magenta"];119 -> 40[label="",style="dashed", color="red", weight=0]; 9.85/3.99 119[label="not False",fontsize=16,color="magenta"];120 -> 99[label="",style="dashed", color="red", weight=0]; 9.85/3.99 120[label="not True",fontsize=16,color="magenta"];121[label="vz31000",fontsize=16,color="green",shape="box"];122[label="vz41000",fontsize=16,color="green",shape="box"];} 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (6) 9.85/3.99 Complex Obligation (AND) 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (7) 9.85/3.99 Obligation: 9.85/3.99 Q DP problem: 9.85/3.99 The TRS P consists of the following rules: 9.85/3.99 9.85/3.99 new_not(Succ(vz31000), Succ(vz41000)) -> new_not(vz31000, vz41000) 9.85/3.99 9.85/3.99 R is empty. 9.85/3.99 Q is empty. 9.85/3.99 We have to consider all minimal (P,Q,R)-chains. 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (8) QDPSizeChangeProof (EQUIVALENT) 9.85/3.99 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.85/3.99 9.85/3.99 From the DPs we obtained the following set of size-change graphs: 9.85/3.99 *new_not(Succ(vz31000), Succ(vz41000)) -> new_not(vz31000, vz41000) 9.85/3.99 The graph contains the following edges 1 > 1, 2 > 2 9.85/3.99 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (9) 9.85/3.99 YES 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (10) 9.85/3.99 Obligation: 9.85/3.99 Q DP problem: 9.85/3.99 The TRS P consists of the following rules: 9.85/3.99 9.85/3.99 new_not0(Succ(vz30000), Succ(vz40000), vz31, vz41) -> new_not0(vz30000, vz40000, vz31, vz41) 9.85/3.99 9.85/3.99 R is empty. 9.85/3.99 Q is empty. 9.85/3.99 We have to consider all minimal (P,Q,R)-chains. 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (11) QDPSizeChangeProof (EQUIVALENT) 9.85/3.99 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.85/3.99 9.85/3.99 From the DPs we obtained the following set of size-change graphs: 9.85/3.99 *new_not0(Succ(vz30000), Succ(vz40000), vz31, vz41) -> new_not0(vz30000, vz40000, vz31, vz41) 9.85/3.99 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3, 4 >= 4 9.85/3.99 9.85/3.99 9.85/3.99 ---------------------------------------- 9.85/3.99 9.85/3.99 (12) 9.85/3.99 YES 9.95/4.05 EOF