YES
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http:/www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>H-Termination proof of ../tpdb/FP/full_haskell/Prelude_inRange_4.hs</title>
</head>
<body>
<BR><B>H-Termination</B> of the given <I>Haskell-Program with start terms</I> could successfully be <font color=#00ff00>proven</font>:<BR><BR><BR><BR><pre>&#8627 <B>HASKELL</B></pre><pre>  &#8627 BR</pre><BR><html>
<body>mainModule Main<table cellspacing="0" cellpadding="0" border="0" frame="void">
<tr>
<td>
                   &nbsp;
                </td><td>((<FONT COLOR="#000088">inRange</FONT> :: (<FONT COLOR="#666600">Int</FONT>,<FONT COLOR="#666600">Int</FONT>)&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Int</FONT>&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Bool</FONT>) :: (<FONT COLOR="#666600">Int</FONT>,<FONT COLOR="#666600">Int</FONT>)&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Int</FONT>&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Bool</FONT>)</td>
</tr>
</table>
<br>module Main where<br>
<table cellspacing="0" cellpadding="0" border="0" frame="void">
<tr>
<td>&nbsp;&nbsp;</td><td valign="top">import qualified Prelude<br>
<br>
</td>
</tr>
</table>
<br>
</body>
</html>
<BR>Replaced joker patterns by fresh variables and removed binding patterns.<BR><BR><pre>&#8627 HASKELL</pre><pre>  &#8627 BR</pre><pre>    &#8627 <B>HASKELL</B></pre><pre>      &#8627 NumRed</pre><BR><html>
<body>mainModule Main<table cellspacing="0" cellpadding="0" border="0" frame="void">
<tr>
<td>
                   &nbsp;
                </td><td>((<FONT COLOR="#000088">inRange</FONT> :: (<FONT COLOR="#666600">Int</FONT>,<FONT COLOR="#666600">Int</FONT>)&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Int</FONT>&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Bool</FONT>) :: (<FONT COLOR="#666600">Int</FONT>,<FONT COLOR="#666600">Int</FONT>)&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Int</FONT>&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Bool</FONT>)</td>
</tr>
</table>
<br>module Main where<br>
<table cellspacing="0" cellpadding="0" border="0" frame="void">
<tr>
<td>&nbsp;&nbsp;</td><td valign="top">import qualified Prelude<br>
<br>
</td>
</tr>
</table>
<br>
</body>
</html>
<BR>Num Reduction:All numbers are transformed to thier corresponding representation with Succ, Pred and Zero.<BR><BR><pre>&#8627 HASKELL</pre><pre>  &#8627 BR</pre><pre>    &#8627 HASKELL</pre><pre>      &#8627 NumRed</pre><pre>        &#8627 <B>HASKELL</B></pre><pre>          &#8627 Narrow</pre><BR><html>
<body>mainModule Main<table cellspacing="0" cellpadding="0" border="0" frame="void">
<tr>
<td>
                   &nbsp;
                </td><td>(<FONT COLOR="#000088">inRange</FONT> :: (<FONT COLOR="#666600">Int</FONT>,<FONT COLOR="#666600">Int</FONT>)&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Int</FONT>&nbsp;<FONT COLOR="#666600">&nbsp;-&gt;&nbsp;</FONT>&nbsp;<FONT COLOR="#666600">Bool</FONT>)</td>
</tr>
</table>
<br>module Main where<br>
<table cellspacing="0" cellpadding="0" border="0" frame="void">
<tr>
<td>&nbsp;&nbsp;</td><td valign="top">import qualified Prelude<br>
<br>
</td>
</tr>
</table>
<br>
</body>
</html>
<BR>Haskell To QDPs<BR><textarea cols="80" rows="25">digraph dp_graph {
node [outthreshold=100, inthreshold=100];1[label="inRange\n",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3];
3[label="inRange vx3\n",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3];
4[label="inRange vx3 vx4\n",fontsize=16,color="burlywood",shape="triangle"];210[label="vx3/(vx30,vx31)",fontsize=10,color="white",style="solid",shape="box"];4 -> 210[label="",style="solid", color="burlywood", weight=9];
210 -> 5[label="",style="solid", color="burlywood", weight=3];
5[label="inRange (vx30,vx31) vx4\n",fontsize=16,color="black",shape="box"];5 -> 6[label="",style="solid", color="black", weight=3];
6[label="vx30 <= vx4 && vx4 <= vx31\n",fontsize=16,color="black",shape="box"];6 -> 7[label="",style="solid", color="black", weight=3];
7[label="compare vx30 vx4 /= GT && vx4 <= vx31\n",fontsize=16,color="black",shape="box"];7 -> 8[label="",style="solid", color="black", weight=3];
8[label="not (compare vx30 vx4 == GT) && vx4 <= vx31\n",fontsize=16,color="black",shape="box"];8 -> 9[label="",style="solid", color="black", weight=3];
9[label="not (primCmpInt vx30 vx4 == GT) && vx4 <= vx31\n",fontsize=16,color="burlywood",shape="box"];211[label="vx30/Pos vx300",fontsize=10,color="white",style="solid",shape="box"];9 -> 211[label="",style="solid", color="burlywood", weight=9];
211 -> 10[label="",style="solid", color="burlywood", weight=3];
212[label="vx30/Neg vx300",fontsize=10,color="white",style="solid",shape="box"];9 -> 212[label="",style="solid", color="burlywood", weight=9];
212 -> 11[label="",style="solid", color="burlywood", weight=3];
10[label="not (primCmpInt (Pos vx300) vx4 == GT) && vx4 <= vx31\n",fontsize=16,color="burlywood",shape="box"];213[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];10 -> 213[label="",style="solid", color="burlywood", weight=9];
213 -> 12[label="",style="solid", color="burlywood", weight=3];
214[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];10 -> 214[label="",style="solid", color="burlywood", weight=9];
214 -> 13[label="",style="solid", color="burlywood", weight=3];
11[label="not (primCmpInt (Neg vx300) vx4 == GT) && vx4 <= vx31\n",fontsize=16,color="burlywood",shape="box"];215[label="vx300/Succ vx3000",fontsize=10,color="white",style="solid",shape="box"];11 -> 215[label="",style="solid", color="burlywood", weight=9];
215 -> 14[label="",style="solid", color="burlywood", weight=3];
216[label="vx300/Zero",fontsize=10,color="white",style="solid",shape="box"];11 -> 216[label="",style="solid", color="burlywood", weight=9];
216 -> 15[label="",style="solid", color="burlywood", weight=3];
12[label="not (primCmpInt (Pos (Succ vx3000)) vx4 == GT) && vx4 <= vx31\n",fontsize=16,color="burlywood",shape="box"];217[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];12 -> 217[label="",style="solid", color="burlywood", weight=9];
217 -> 16[label="",style="solid", color="burlywood", weight=3];
218[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];12 -> 218[label="",style="solid", color="burlywood", weight=9];
218 -> 17[label="",style="solid", color="burlywood", weight=3];
13[label="not (primCmpInt (Pos Zero) vx4 == GT) && vx4 <= vx31\n",fontsize=16,color="burlywood",shape="box"];219[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];13 -> 219[label="",style="solid", color="burlywood", weight=9];
219 -> 18[label="",style="solid", color="burlywood", weight=3];
220[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];13 -> 220[label="",style="solid", color="burlywood", weight=9];
220 -> 19[label="",style="solid", color="burlywood", weight=3];
14[label="not (primCmpInt (Neg (Succ vx3000)) vx4 == GT) && vx4 <= vx31\n",fontsize=16,color="burlywood",shape="box"];221[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];14 -> 221[label="",style="solid", color="burlywood", weight=9];
221 -> 20[label="",style="solid", color="burlywood", weight=3];
222[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];14 -> 222[label="",style="solid", color="burlywood", weight=9];
222 -> 21[label="",style="solid", color="burlywood", weight=3];
15[label="not (primCmpInt (Neg Zero) vx4 == GT) && vx4 <= vx31\n",fontsize=16,color="burlywood",shape="box"];223[label="vx4/Pos vx40",fontsize=10,color="white",style="solid",shape="box"];15 -> 223[label="",style="solid", color="burlywood", weight=9];
223 -> 22[label="",style="solid", color="burlywood", weight=3];
224[label="vx4/Neg vx40",fontsize=10,color="white",style="solid",shape="box"];15 -> 224[label="",style="solid", color="burlywood", weight=9];
224 -> 23[label="",style="solid", color="burlywood", weight=3];
16[label="not (primCmpInt (Pos (Succ vx3000)) (Pos vx40) == GT) && Pos vx40 <= vx31\n",fontsize=16,color="black",shape="box"];16 -> 24[label="",style="solid", color="black", weight=3];
17[label="not (primCmpInt (Pos (Succ vx3000)) (Neg vx40) == GT) && Neg vx40 <= vx31\n",fontsize=16,color="black",shape="box"];17 -> 25[label="",style="solid", color="black", weight=3];
18[label="not (primCmpInt (Pos Zero) (Pos vx40) == GT) && Pos vx40 <= vx31\n",fontsize=16,color="burlywood",shape="box"];225[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];18 -> 225[label="",style="solid", color="burlywood", weight=9];
225 -> 26[label="",style="solid", color="burlywood", weight=3];
226[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];18 -> 226[label="",style="solid", color="burlywood", weight=9];
226 -> 27[label="",style="solid", color="burlywood", weight=3];
19[label="not (primCmpInt (Pos Zero) (Neg vx40) == GT) && Neg vx40 <= vx31\n",fontsize=16,color="burlywood",shape="box"];227[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];19 -> 227[label="",style="solid", color="burlywood", weight=9];
227 -> 28[label="",style="solid", color="burlywood", weight=3];
228[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];19 -> 228[label="",style="solid", color="burlywood", weight=9];
228 -> 29[label="",style="solid", color="burlywood", weight=3];
20[label="not (primCmpInt (Neg (Succ vx3000)) (Pos vx40) == GT) && Pos vx40 <= vx31\n",fontsize=16,color="black",shape="box"];20 -> 30[label="",style="solid", color="black", weight=3];
21[label="not (primCmpInt (Neg (Succ vx3000)) (Neg vx40) == GT) && Neg vx40 <= vx31\n",fontsize=16,color="black",shape="box"];21 -> 31[label="",style="solid", color="black", weight=3];
22[label="not (primCmpInt (Neg Zero) (Pos vx40) == GT) && Pos vx40 <= vx31\n",fontsize=16,color="burlywood",shape="box"];229[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];22 -> 229[label="",style="solid", color="burlywood", weight=9];
229 -> 32[label="",style="solid", color="burlywood", weight=3];
230[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];22 -> 230[label="",style="solid", color="burlywood", weight=9];
230 -> 33[label="",style="solid", color="burlywood", weight=3];
23[label="not (primCmpInt (Neg Zero) (Neg vx40) == GT) && Neg vx40 <= vx31\n",fontsize=16,color="burlywood",shape="box"];231[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];23 -> 231[label="",style="solid", color="burlywood", weight=9];
231 -> 34[label="",style="solid", color="burlywood", weight=3];
232[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];23 -> 232[label="",style="solid", color="burlywood", weight=9];
232 -> 35[label="",style="solid", color="burlywood", weight=3];
24 -> 100[label="",style="dashed", color="red", weight=0];
24[label="not (primCmpNat (Succ vx3000) vx40 == GT) && Pos vx40 <= vx31\n",fontsize=16,color="magenta"];24 -> 101[label="",style="dashed", color="magenta", weight=3];
24 -> 102[label="",style="dashed", color="magenta", weight=3];
24 -> 103[label="",style="dashed", color="magenta", weight=3];
25[label="not (GT == GT) && Neg vx40 <= vx31\n",fontsize=16,color="black",shape="triangle"];25 -> 38[label="",style="solid", color="black", weight=3];
26[label="not (primCmpInt (Pos Zero) (Pos (Succ vx400)) == GT) && Pos (Succ vx400) <= vx31\n",fontsize=16,color="black",shape="box"];26 -> 39[label="",style="solid", color="black", weight=3];
27[label="not (primCmpInt (Pos Zero) (Pos Zero) == GT) && Pos Zero <= vx31\n",fontsize=16,color="black",shape="box"];27 -> 40[label="",style="solid", color="black", weight=3];
28[label="not (primCmpInt (Pos Zero) (Neg (Succ vx400)) == GT) && Neg (Succ vx400) <= vx31\n",fontsize=16,color="black",shape="box"];28 -> 41[label="",style="solid", color="black", weight=3];
29[label="not (primCmpInt (Pos Zero) (Neg Zero) == GT) && Neg Zero <= vx31\n",fontsize=16,color="black",shape="box"];29 -> 42[label="",style="solid", color="black", weight=3];
30[label="not (LT == GT) && Pos vx40 <= vx31\n",fontsize=16,color="black",shape="triangle"];30 -> 43[label="",style="solid", color="black", weight=3];
31 -> 100[label="",style="dashed", color="red", weight=0];
31[label="not (primCmpNat vx40 (Succ vx3000) == GT) && Neg vx40 <= vx31\n",fontsize=16,color="magenta"];31 -> 104[label="",style="dashed", color="magenta", weight=3];
31 -> 105[label="",style="dashed", color="magenta", weight=3];
31 -> 106[label="",style="dashed", color="magenta", weight=3];
32[label="not (primCmpInt (Neg Zero) (Pos (Succ vx400)) == GT) && Pos (Succ vx400) <= vx31\n",fontsize=16,color="black",shape="box"];32 -> 46[label="",style="solid", color="black", weight=3];
33[label="not (primCmpInt (Neg Zero) (Pos Zero) == GT) && Pos Zero <= vx31\n",fontsize=16,color="black",shape="box"];33 -> 47[label="",style="solid", color="black", weight=3];
34[label="not (primCmpInt (Neg Zero) (Neg (Succ vx400)) == GT) && Neg (Succ vx400) <= vx31\n",fontsize=16,color="black",shape="box"];34 -> 48[label="",style="solid", color="black", weight=3];
35[label="not (primCmpInt (Neg Zero) (Neg Zero) == GT) && Neg Zero <= vx31\n",fontsize=16,color="black",shape="box"];35 -> 49[label="",style="solid", color="black", weight=3];
101 -> 69[label="",style="dashed", color="red", weight=0];
101[label="Pos vx40 <= vx31\n",fontsize=16,color="magenta"];102[label="Succ vx3000\n",fontsize=16,color="green",shape="box"];103[label="vx40\n",fontsize=16,color="green",shape="box"];100[label="not (primCmpNat vx30000 vx4000 == GT) && vx6\n",fontsize=16,color="burlywood",shape="triangle"];236[label="vx30000/Succ vx300000",fontsize=10,color="white",style="solid",shape="box"];100 -> 236[label="",style="solid", color="burlywood", weight=9];
236 -> 123[label="",style="solid", color="burlywood", weight=3];
237[label="vx30000/Zero",fontsize=10,color="white",style="solid",shape="box"];100 -> 237[label="",style="solid", color="burlywood", weight=9];
237 -> 124[label="",style="solid", color="burlywood", weight=3];
38[label="not True && Neg vx40 <= vx31\n",fontsize=16,color="black",shape="box"];38 -> 52[label="",style="solid", color="black", weight=3];
39 -> 100[label="",style="dashed", color="red", weight=0];
39[label="not (primCmpNat Zero (Succ vx400) == GT) && Pos (Succ vx400) <= vx31\n",fontsize=16,color="magenta"];39 -> 107[label="",style="dashed", color="magenta", weight=3];
39 -> 108[label="",style="dashed", color="magenta", weight=3];
39 -> 109[label="",style="dashed", color="magenta", weight=3];
40[label="not (EQ == GT) && Pos Zero <= vx31\n",fontsize=16,color="black",shape="triangle"];40 -> 54[label="",style="solid", color="black", weight=3];
41 -> 25[label="",style="dashed", color="red", weight=0];
41[label="not (GT == GT) && Neg (Succ vx400) <= vx31\n",fontsize=16,color="magenta"];41 -> 55[label="",style="dashed", color="magenta", weight=3];
42[label="not (EQ == GT) && Neg Zero <= vx31\n",fontsize=16,color="black",shape="triangle"];42 -> 56[label="",style="solid", color="black", weight=3];
43[label="not False && Pos vx40 <= vx31\n",fontsize=16,color="black",shape="triangle"];43 -> 57[label="",style="solid", color="black", weight=3];
104 -> 90[label="",style="dashed", color="red", weight=0];
104[label="Neg vx40 <= vx31\n",fontsize=16,color="magenta"];105[label="vx40\n",fontsize=16,color="green",shape="box"];106[label="Succ vx3000\n",fontsize=16,color="green",shape="box"];46 -> 30[label="",style="dashed", color="red", weight=0];
46[label="not (LT == GT) && Pos (Succ vx400) <= vx31\n",fontsize=16,color="magenta"];46 -> 60[label="",style="dashed", color="magenta", weight=3];
47 -> 40[label="",style="dashed", color="red", weight=0];
47[label="not (EQ == GT) && Pos Zero <= vx31\n",fontsize=16,color="magenta"];48 -> 100[label="",style="dashed", color="red", weight=0];
48[label="not (primCmpNat (Succ vx400) Zero == GT) && Neg (Succ vx400) <= vx31\n",fontsize=16,color="magenta"];48 -> 110[label="",style="dashed", color="magenta", weight=3];
48 -> 111[label="",style="dashed", color="magenta", weight=3];
48 -> 112[label="",style="dashed", color="magenta", weight=3];
49 -> 42[label="",style="dashed", color="red", weight=0];
49[label="not (EQ == GT) && Neg Zero <= vx31\n",fontsize=16,color="magenta"];69[label="Pos vx40 <= vx31\n",fontsize=16,color="black",shape="triangle"];69 -> 80[label="",style="solid", color="black", weight=3];
123[label="not (primCmpNat (Succ vx300000) vx4000 == GT) && vx6\n",fontsize=16,color="burlywood",shape="box"];245[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];123 -> 245[label="",style="solid", color="burlywood", weight=9];
245 -> 129[label="",style="solid", color="burlywood", weight=3];
246[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 246[label="",style="solid", color="burlywood", weight=9];
246 -> 130[label="",style="solid", color="burlywood", weight=3];
124[label="not (primCmpNat Zero vx4000 == GT) && vx6\n",fontsize=16,color="burlywood",shape="box"];247[label="vx4000/Succ vx40000",fontsize=10,color="white",style="solid",shape="box"];124 -> 247[label="",style="solid", color="burlywood", weight=9];
247 -> 131[label="",style="solid", color="burlywood", weight=3];
248[label="vx4000/Zero",fontsize=10,color="white",style="solid",shape="box"];124 -> 248[label="",style="solid", color="burlywood", weight=9];
248 -> 132[label="",style="solid", color="burlywood", weight=3];
52 -> 89[label="",style="dashed", color="red", weight=0];
52[label="False && Neg vx40 <= vx31\n",fontsize=16,color="magenta"];52 -> 90[label="",style="dashed", color="magenta", weight=3];
107 -> 69[label="",style="dashed", color="red", weight=0];
107[label="Pos (Succ vx400) <= vx31\n",fontsize=16,color="magenta"];107 -> 125[label="",style="dashed", color="magenta", weight=3];
108[label="Zero\n",fontsize=16,color="green",shape="box"];109[label="Succ vx400\n",fontsize=16,color="green",shape="box"];54 -> 43[label="",style="dashed", color="red", weight=0];
54[label="not False && Pos Zero <= vx31\n",fontsize=16,color="magenta"];54 -> 67[label="",style="dashed", color="magenta", weight=3];
55[label="Succ vx400\n",fontsize=16,color="green",shape="box"];56[label="not False && Neg Zero <= vx31\n",fontsize=16,color="black",shape="triangle"];56 -> 68[label="",style="solid", color="black", weight=3];
57[label="True && Pos vx40 <= vx31\n",fontsize=16,color="black",shape="box"];57 -> 69[label="",style="solid", color="black", weight=3];
90[label="Neg vx40 <= vx31\n",fontsize=16,color="black",shape="triangle"];90 -> 92[label="",style="solid", color="black", weight=3];
60[label="Succ vx400\n",fontsize=16,color="green",shape="box"];110 -> 90[label="",style="dashed", color="red", weight=0];
110[label="Neg (Succ vx400) <= vx31\n",fontsize=16,color="magenta"];110 -> 126[label="",style="dashed", color="magenta", weight=3];
111[label="Succ vx400\n",fontsize=16,color="green",shape="box"];112[label="Zero\n",fontsize=16,color="green",shape="box"];80[label="compare (Pos vx40) vx31 /= GT\n",fontsize=16,color="black",shape="box"];80 -> 95[label="",style="solid", color="black", weight=3];
129[label="not (primCmpNat (Succ vx300000) (Succ vx40000) == GT) && vx6\n",fontsize=16,color="black",shape="box"];129 -> 136[label="",style="solid", color="black", weight=3];
130[label="not (primCmpNat (Succ vx300000) Zero == GT) && vx6\n",fontsize=16,color="black",shape="box"];130 -> 137[label="",style="solid", color="black", weight=3];
131[label="not (primCmpNat Zero (Succ vx40000) == GT) && vx6\n",fontsize=16,color="black",shape="box"];131 -> 138[label="",style="solid", color="black", weight=3];
132[label="not (primCmpNat Zero Zero == GT) && vx6\n",fontsize=16,color="black",shape="box"];132 -> 139[label="",style="solid", color="black", weight=3];
89[label="False && vx5\n",fontsize=16,color="black",shape="triangle"];89 -> 93[label="",style="solid", color="black", weight=3];
125[label="Succ vx400\n",fontsize=16,color="green",shape="box"];67[label="Zero\n",fontsize=16,color="green",shape="box"];68[label="True && Neg Zero <= vx31\n",fontsize=16,color="black",shape="box"];68 -> 79[label="",style="solid", color="black", weight=3];
92[label="compare (Neg vx40) vx31 /= GT\n",fontsize=16,color="black",shape="box"];92 -> 127[label="",style="solid", color="black", weight=3];
126[label="Succ vx400\n",fontsize=16,color="green",shape="box"];95[label="not (compare (Pos vx40) vx31 == GT)\n",fontsize=16,color="black",shape="box"];95 -> 128[label="",style="solid", color="black", weight=3];
136 -> 100[label="",style="dashed", color="red", weight=0];
136[label="not (primCmpNat vx300000 vx40000 == GT) && vx6\n",fontsize=16,color="magenta"];136 -> 146[label="",style="dashed", color="magenta", weight=3];
136 -> 147[label="",style="dashed", color="magenta", weight=3];
137[label="not (GT == GT) && vx6\n",fontsize=16,color="black",shape="box"];137 -> 148[label="",style="solid", color="black", weight=3];
138[label="not (LT == GT) && vx6\n",fontsize=16,color="black",shape="box"];138 -> 149[label="",style="solid", color="black", weight=3];
139[label="not (EQ == GT) && vx6\n",fontsize=16,color="black",shape="box"];139 -> 150[label="",style="solid", color="black", weight=3];
93[label="False\n",fontsize=16,color="green",shape="box"];79 -> 90[label="",style="dashed", color="red", weight=0];
79[label="Neg Zero <= vx31\n",fontsize=16,color="magenta"];79 -> 94[label="",style="dashed", color="magenta", weight=3];
127[label="not (compare (Neg vx40) vx31 == GT)\n",fontsize=16,color="black",shape="box"];127 -> 133[label="",style="solid", color="black", weight=3];
128[label="not (primCmpInt (Pos vx40) vx31 == GT)\n",fontsize=16,color="burlywood",shape="box"];255[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];128 -> 255[label="",style="solid", color="burlywood", weight=9];
255 -> 134[label="",style="solid", color="burlywood", weight=3];
256[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];128 -> 256[label="",style="solid", color="burlywood", weight=9];
256 -> 135[label="",style="solid", color="burlywood", weight=3];
146[label="vx300000\n",fontsize=16,color="green",shape="box"];147[label="vx40000\n",fontsize=16,color="green",shape="box"];148[label="not True && vx6\n",fontsize=16,color="black",shape="box"];148 -> 161[label="",style="solid", color="black", weight=3];
149[label="not False && vx6\n",fontsize=16,color="black",shape="triangle"];149 -> 162[label="",style="solid", color="black", weight=3];
150 -> 149[label="",style="dashed", color="red", weight=0];
150[label="not False && vx6\n",fontsize=16,color="magenta"];94[label="Zero\n",fontsize=16,color="green",shape="box"];133[label="not (primCmpInt (Neg vx40) vx31 == GT)\n",fontsize=16,color="burlywood",shape="box"];258[label="vx40/Succ vx400",fontsize=10,color="white",style="solid",shape="box"];133 -> 258[label="",style="solid", color="burlywood", weight=9];
258 -> 140[label="",style="solid", color="burlywood", weight=3];
259[label="vx40/Zero",fontsize=10,color="white",style="solid",shape="box"];133 -> 259[label="",style="solid", color="burlywood", weight=9];
259 -> 141[label="",style="solid", color="burlywood", weight=3];
134[label="not (primCmpInt (Pos (Succ vx400)) vx31 == GT)\n",fontsize=16,color="burlywood",shape="box"];260[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];134 -> 260[label="",style="solid", color="burlywood", weight=9];
260 -> 142[label="",style="solid", color="burlywood", weight=3];
261[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];134 -> 261[label="",style="solid", color="burlywood", weight=9];
261 -> 143[label="",style="solid", color="burlywood", weight=3];
135[label="not (primCmpInt (Pos Zero) vx31 == GT)\n",fontsize=16,color="burlywood",shape="box"];262[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];135 -> 262[label="",style="solid", color="burlywood", weight=9];
262 -> 144[label="",style="solid", color="burlywood", weight=3];
263[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];135 -> 263[label="",style="solid", color="burlywood", weight=9];
263 -> 145[label="",style="solid", color="burlywood", weight=3];
161 -> 89[label="",style="dashed", color="red", weight=0];
161[label="False && vx6\n",fontsize=16,color="magenta"];161 -> 176[label="",style="dashed", color="magenta", weight=3];
162[label="True && vx6\n",fontsize=16,color="black",shape="box"];162 -> 177[label="",style="solid", color="black", weight=3];
140[label="not (primCmpInt (Neg (Succ vx400)) vx31 == GT)\n",fontsize=16,color="burlywood",shape="box"];265[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];140 -> 265[label="",style="solid", color="burlywood", weight=9];
265 -> 151[label="",style="solid", color="burlywood", weight=3];
266[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];140 -> 266[label="",style="solid", color="burlywood", weight=9];
266 -> 152[label="",style="solid", color="burlywood", weight=3];
141[label="not (primCmpInt (Neg Zero) vx31 == GT)\n",fontsize=16,color="burlywood",shape="box"];267[label="vx31/Pos vx310",fontsize=10,color="white",style="solid",shape="box"];141 -> 267[label="",style="solid", color="burlywood", weight=9];
267 -> 153[label="",style="solid", color="burlywood", weight=3];
268[label="vx31/Neg vx310",fontsize=10,color="white",style="solid",shape="box"];141 -> 268[label="",style="solid", color="burlywood", weight=9];
268 -> 154[label="",style="solid", color="burlywood", weight=3];
142[label="not (primCmpInt (Pos (Succ vx400)) (Pos vx310) == GT)\n",fontsize=16,color="black",shape="box"];142 -> 155[label="",style="solid", color="black", weight=3];
143[label="not (primCmpInt (Pos (Succ vx400)) (Neg vx310) == GT)\n",fontsize=16,color="black",shape="box"];143 -> 156[label="",style="solid", color="black", weight=3];
144[label="not (primCmpInt (Pos Zero) (Pos vx310) == GT)\n",fontsize=16,color="burlywood",shape="box"];269[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];144 -> 269[label="",style="solid", color="burlywood", weight=9];
269 -> 157[label="",style="solid", color="burlywood", weight=3];
270[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];144 -> 270[label="",style="solid", color="burlywood", weight=9];
270 -> 158[label="",style="solid", color="burlywood", weight=3];
145[label="not (primCmpInt (Pos Zero) (Neg vx310) == GT)\n",fontsize=16,color="burlywood",shape="box"];271[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];145 -> 271[label="",style="solid", color="burlywood", weight=9];
271 -> 159[label="",style="solid", color="burlywood", weight=3];
272[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];145 -> 272[label="",style="solid", color="burlywood", weight=9];
272 -> 160[label="",style="solid", color="burlywood", weight=3];
176[label="vx6\n",fontsize=16,color="green",shape="box"];177[label="vx6\n",fontsize=16,color="green",shape="box"];151[label="not (primCmpInt (Neg (Succ vx400)) (Pos vx310) == GT)\n",fontsize=16,color="black",shape="box"];151 -> 163[label="",style="solid", color="black", weight=3];
152[label="not (primCmpInt (Neg (Succ vx400)) (Neg vx310) == GT)\n",fontsize=16,color="black",shape="box"];152 -> 164[label="",style="solid", color="black", weight=3];
153[label="not (primCmpInt (Neg Zero) (Pos vx310) == GT)\n",fontsize=16,color="burlywood",shape="box"];273[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];153 -> 273[label="",style="solid", color="burlywood", weight=9];
273 -> 165[label="",style="solid", color="burlywood", weight=3];
274[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];153 -> 274[label="",style="solid", color="burlywood", weight=9];
274 -> 166[label="",style="solid", color="burlywood", weight=3];
154[label="not (primCmpInt (Neg Zero) (Neg vx310) == GT)\n",fontsize=16,color="burlywood",shape="box"];275[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];154 -> 275[label="",style="solid", color="burlywood", weight=9];
275 -> 167[label="",style="solid", color="burlywood", weight=3];
276[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];154 -> 276[label="",style="solid", color="burlywood", weight=9];
276 -> 168[label="",style="solid", color="burlywood", weight=3];
155[label="not (primCmpNat (Succ vx400) vx310 == GT)\n",fontsize=16,color="burlywood",shape="triangle"];277[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];155 -> 277[label="",style="solid", color="burlywood", weight=9];
277 -> 169[label="",style="solid", color="burlywood", weight=3];
278[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];155 -> 278[label="",style="solid", color="burlywood", weight=9];
278 -> 170[label="",style="solid", color="burlywood", weight=3];
156[label="not (GT == GT)\n",fontsize=16,color="black",shape="triangle"];156 -> 171[label="",style="solid", color="black", weight=3];
157[label="not (primCmpInt (Pos Zero) (Pos (Succ vx3100)) == GT)\n",fontsize=16,color="black",shape="box"];157 -> 172[label="",style="solid", color="black", weight=3];
158[label="not (primCmpInt (Pos Zero) (Pos Zero) == GT)\n",fontsize=16,color="black",shape="box"];158 -> 173[label="",style="solid", color="black", weight=3];
159[label="not (primCmpInt (Pos Zero) (Neg (Succ vx3100)) == GT)\n",fontsize=16,color="black",shape="box"];159 -> 174[label="",style="solid", color="black", weight=3];
160[label="not (primCmpInt (Pos Zero) (Neg Zero) == GT)\n",fontsize=16,color="black",shape="box"];160 -> 175[label="",style="solid", color="black", weight=3];
163[label="not (LT == GT)\n",fontsize=16,color="black",shape="triangle"];163 -> 178[label="",style="solid", color="black", weight=3];
164[label="not (primCmpNat vx310 (Succ vx400) == GT)\n",fontsize=16,color="burlywood",shape="triangle"];279[label="vx310/Succ vx3100",fontsize=10,color="white",style="solid",shape="box"];164 -> 279[label="",style="solid", color="burlywood", weight=9];
279 -> 179[label="",style="solid", color="burlywood", weight=3];
280[label="vx310/Zero",fontsize=10,color="white",style="solid",shape="box"];164 -> 280[label="",style="solid", color="burlywood", weight=9];
280 -> 180[label="",style="solid", color="burlywood", weight=3];
165[label="not (primCmpInt (Neg Zero) (Pos (Succ vx3100)) == GT)\n",fontsize=16,color="black",shape="box"];165 -> 181[label="",style="solid", color="black", weight=3];
166[label="not (primCmpInt (Neg Zero) (Pos Zero) == GT)\n",fontsize=16,color="black",shape="box"];166 -> 182[label="",style="solid", color="black", weight=3];
167[label="not (primCmpInt (Neg Zero) (Neg (Succ vx3100)) == GT)\n",fontsize=16,color="black",shape="box"];167 -> 183[label="",style="solid", color="black", weight=3];
168[label="not (primCmpInt (Neg Zero) (Neg Zero) == GT)\n",fontsize=16,color="black",shape="box"];168 -> 184[label="",style="solid", color="black", weight=3];
169[label="not (primCmpNat (Succ vx400) (Succ vx3100) == GT)\n",fontsize=16,color="black",shape="box"];169 -> 185[label="",style="solid", color="black", weight=3];
170[label="not (primCmpNat (Succ vx400) Zero == GT)\n",fontsize=16,color="black",shape="box"];170 -> 186[label="",style="solid", color="black", weight=3];
171[label="not True\n",fontsize=16,color="black",shape="box"];171 -> 187[label="",style="solid", color="black", weight=3];
172 -> 164[label="",style="dashed", color="red", weight=0];
172[label="not (primCmpNat Zero (Succ vx3100) == GT)\n",fontsize=16,color="magenta"];172 -> 188[label="",style="dashed", color="magenta", weight=3];
172 -> 189[label="",style="dashed", color="magenta", weight=3];
173[label="not (EQ == GT)\n",fontsize=16,color="black",shape="triangle"];173 -> 190[label="",style="solid", color="black", weight=3];
174 -> 156[label="",style="dashed", color="red", weight=0];
174[label="not (GT == GT)\n",fontsize=16,color="magenta"];175 -> 173[label="",style="dashed", color="red", weight=0];
175[label="not (EQ == GT)\n",fontsize=16,color="magenta"];178[label="not False\n",fontsize=16,color="black",shape="triangle"];178 -> 191[label="",style="solid", color="black", weight=3];
179[label="not (primCmpNat (Succ vx3100) (Succ vx400) == GT)\n",fontsize=16,color="black",shape="box"];179 -> 192[label="",style="solid", color="black", weight=3];
180[label="not (primCmpNat Zero (Succ vx400) == GT)\n",fontsize=16,color="black",shape="box"];180 -> 193[label="",style="solid", color="black", weight=3];
181 -> 163[label="",style="dashed", color="red", weight=0];
181[label="not (LT == GT)\n",fontsize=16,color="magenta"];182 -> 173[label="",style="dashed", color="red", weight=0];
182[label="not (EQ == GT)\n",fontsize=16,color="magenta"];183 -> 155[label="",style="dashed", color="red", weight=0];
183[label="not (primCmpNat (Succ vx3100) Zero == GT)\n",fontsize=16,color="magenta"];183 -> 194[label="",style="dashed", color="magenta", weight=3];
183 -> 195[label="",style="dashed", color="magenta", weight=3];
184 -> 173[label="",style="dashed", color="red", weight=0];
184[label="not (EQ == GT)\n",fontsize=16,color="magenta"];185[label="not (primCmpNat vx400 vx3100 == GT)\n",fontsize=16,color="burlywood",shape="triangle"];288[label="vx400/Succ vx4000",fontsize=10,color="white",style="solid",shape="box"];185 -> 288[label="",style="solid", color="burlywood", weight=9];
288 -> 196[label="",style="solid", color="burlywood", weight=3];
289[label="vx400/Zero",fontsize=10,color="white",style="solid",shape="box"];185 -> 289[label="",style="solid", color="burlywood", weight=9];
289 -> 197[label="",style="solid", color="burlywood", weight=3];
186 -> 156[label="",style="dashed", color="red", weight=0];
186[label="not (GT == GT)\n",fontsize=16,color="magenta"];187[label="False\n",fontsize=16,color="green",shape="box"];188[label="vx3100\n",fontsize=16,color="green",shape="box"];189[label="Zero\n",fontsize=16,color="green",shape="box"];190 -> 178[label="",style="dashed", color="red", weight=0];
190[label="not False\n",fontsize=16,color="magenta"];191[label="True\n",fontsize=16,color="green",shape="box"];192 -> 185[label="",style="dashed", color="red", weight=0];
192[label="not (primCmpNat vx3100 vx400 == GT)\n",fontsize=16,color="magenta"];192 -> 198[label="",style="dashed", color="magenta", weight=3];
192 -> 199[label="",style="dashed", color="magenta", weight=3];
193 -> 163[label="",style="dashed", color="red", weight=0];
193[label="not (LT == GT)\n",fontsize=16,color="magenta"];194[label="vx3100\n",fontsize=16,color="green",shape="box"];195[label="Zero\n",fontsize=16,color="green",shape="box"];196[label="not (primCmpNat (Succ vx4000) vx3100 == GT)\n",fontsize=16,color="burlywood",shape="box"];294[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];196 -> 294[label="",style="solid", color="burlywood", weight=9];
294 -> 200[label="",style="solid", color="burlywood", weight=3];
295[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];196 -> 295[label="",style="solid", color="burlywood", weight=9];
295 -> 201[label="",style="solid", color="burlywood", weight=3];
197[label="not (primCmpNat Zero vx3100 == GT)\n",fontsize=16,color="burlywood",shape="box"];296[label="vx3100/Succ vx31000",fontsize=10,color="white",style="solid",shape="box"];197 -> 296[label="",style="solid", color="burlywood", weight=9];
296 -> 202[label="",style="solid", color="burlywood", weight=3];
297[label="vx3100/Zero",fontsize=10,color="white",style="solid",shape="box"];197 -> 297[label="",style="solid", color="burlywood", weight=9];
297 -> 203[label="",style="solid", color="burlywood", weight=3];
198[label="vx3100\n",fontsize=16,color="green",shape="box"];199[label="vx400\n",fontsize=16,color="green",shape="box"];200[label="not (primCmpNat (Succ vx4000) (Succ vx31000) == GT)\n",fontsize=16,color="black",shape="box"];200 -> 204[label="",style="solid", color="black", weight=3];
201[label="not (primCmpNat (Succ vx4000) Zero == GT)\n",fontsize=16,color="black",shape="box"];201 -> 205[label="",style="solid", color="black", weight=3];
202[label="not (primCmpNat Zero (Succ vx31000) == GT)\n",fontsize=16,color="black",shape="box"];202 -> 206[label="",style="solid", color="black", weight=3];
203[label="not (primCmpNat Zero Zero == GT)\n",fontsize=16,color="black",shape="box"];203 -> 207[label="",style="solid", color="black", weight=3];
204 -> 185[label="",style="dashed", color="red", weight=0];
204[label="not (primCmpNat vx4000 vx31000 == GT)\n",fontsize=16,color="magenta"];204 -> 208[label="",style="dashed", color="magenta", weight=3];
204 -> 209[label="",style="dashed", color="magenta", weight=3];
205 -> 156[label="",style="dashed", color="red", weight=0];
205[label="not (GT == GT)\n",fontsize=16,color="magenta"];206 -> 163[label="",style="dashed", color="red", weight=0];
206[label="not (LT == GT)\n",fontsize=16,color="magenta"];207 -> 173[label="",style="dashed", color="red", weight=0];
207[label="not (EQ == GT)\n",fontsize=16,color="magenta"];208[label="vx4000\n",fontsize=16,color="green",shape="box"];209[label="vx31000\n",fontsize=16,color="green",shape="box"];}
</textarea><BR><BR><pre>&#8627 HASKELL</pre><pre>  &#8627 BR</pre><pre>    &#8627 HASKELL</pre><pre>      &#8627 NumRed</pre><pre>        &#8627 HASKELL</pre><pre>          &#8627 Narrow</pre><pre>            &#8627 AND</pre><pre>              &#8627 <B>QDP</B></pre><pre>                &#8627 QDPSizeChangeProof</pre><pre>              &#8627 QDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>new_not</font>(<FONT COLOR=#0000cc>Succ</font>(<FONT COLOR=#cc0000>vx4000</font>), <FONT COLOR=#0000cc>Succ</font>(<FONT COLOR=#cc0000>vx31000</font>)) &#8594; <FONT COLOR=#0000cc>new_not</font>(<FONT COLOR=#cc0000>vx4000</font>, <FONT COLOR=#cc0000>vx31000</font>)</BLOCKQUOTE><BR>R is empty.<BR>Q is empty.<BR>We have to consider all minimal (P,Q,R)-chains.<BR>By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. <P>From the DPs we obtained the following set of size-change graphs:
<UL><LI><FONT COLOR=#0000cc>new_not</font>(<FONT COLOR=#0000cc>Succ</font>(<FONT COLOR=#cc0000>vx4000</font>), <FONT COLOR=#0000cc>Succ</font>(<FONT COLOR=#cc0000>vx31000</font>)) &#8594; <FONT COLOR=#0000cc>new_not</font>(<FONT COLOR=#cc0000>vx4000</font>, <FONT COLOR=#cc0000>vx31000</font>)<BR>The graph contains the following edges 1 > 1, 2 > 2<P></LI></UL><BR><BR><pre>&#8627 HASKELL</pre><pre>  &#8627 BR</pre><pre>    &#8627 HASKELL</pre><pre>      &#8627 NumRed</pre><pre>        &#8627 HASKELL</pre><pre>          &#8627 Narrow</pre><pre>            &#8627 AND</pre><pre>              &#8627 QDP</pre><pre>              &#8627 <B>QDP</B></pre><pre>                &#8627 QDPSizeChangeProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>new_asAs</font>(<FONT COLOR=#0000cc>Succ</font>(<FONT COLOR=#cc0000>vx300000</font>), <FONT COLOR=#0000cc>Succ</font>(<FONT COLOR=#cc0000>vx40000</font>), <FONT COLOR=#cc0000>vx6</font>) &#8594; <FONT COLOR=#0000cc>new_asAs</font>(<FONT COLOR=#cc0000>vx300000</font>, <FONT COLOR=#cc0000>vx40000</font>, <FONT COLOR=#cc0000>vx6</font>)</BLOCKQUOTE><BR>R is empty.<BR>Q is empty.<BR>We have to consider all minimal (P,Q,R)-chains.<BR>By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. <P>From the DPs we obtained the following set of size-change graphs:
<UL><LI><FONT COLOR=#0000cc>new_asAs</font>(<FONT COLOR=#0000cc>Succ</font>(<FONT COLOR=#cc0000>vx300000</font>), <FONT COLOR=#0000cc>Succ</font>(<FONT COLOR=#cc0000>vx40000</font>), <FONT COLOR=#cc0000>vx6</font>) &#8594; <FONT COLOR=#0000cc>new_asAs</font>(<FONT COLOR=#cc0000>vx300000</font>, <FONT COLOR=#cc0000>vx40000</font>, <FONT COLOR=#cc0000>vx6</font>)<BR>The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3<P></LI></UL><BR><BR></body>


