MAYBE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http:/www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Left Termination proof of ../tpdb/LP/lpexamples/ackermann-ioi.pl</title>
</head>
<body>
<BR><B>Left Termination</B> of the query pattern
ackermann_in_3(g, a, g)
w.r.t. the given <I>Prolog program</I> could not be shown:<BR><BR><BR><BR><pre>&#8627 <B>Prolog</B></pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Clauses:<BR><BR>ackermann(0, N, s(N)).<BR>ackermann(s(M), 0, Val)&#160;:-&#160;ackermann(M, s(0), Val).<BR>ackermann(s(M), s(N), Val)&#160;:-&#160;','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val)).<BR><BR>Queries:<BR><BR>ackermann(g,a,g).<BR><BR>We use the technique of [30]. With regard to the inferred argument filtering the predicates were used in the following modes:
<BR><FONT COLOR=#0000cc>ackermann_in</font>: (b,f,b) (b,b,b) (b,b,f) (b,f,f)
<BR>Transforming <I>Prolog</I> into the following <B>Term Rewriting System</B>:
<BR>Pi-finite rewrite system:<BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font><BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font><BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<BR>
<P><B>Infinitary Constructor Rewriting Termination</B> of PiTRS implies <B>Termination</B> of Prolog<P>
<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 <B>PiTRS</B></pre><pre>      &#8627 DependencyPairsProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi-finite rewrite system:<BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font><BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font><BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<BR><BR>Using Dependency Pairs [1,30] we result in the following initial DP problem:<BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font><BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font><BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 <B>PiDP</B></pre><pre>          &#8627 DependencyGraphProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font><BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font><BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>The approximation of the Dependency Graph [30] contains 4 SCCs with 12 less nodes.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 <B>PiDP</B></pre><pre>                &#8627 UsableRulesProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font><BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font><BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>For (infinitary) constructor rewriting [30] we can delete all non-usable rules from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 <B>PiDP</B></pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>Transforming (infinitary) constructor rewriting Pi-DP problem [30] into ordinary QDP problem [15] by application of Pi.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 <B>QDP</B></pre><pre>                        &#8627 QDPSizeChangeProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (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>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))<BR>The graph contains the following edges 1 > 1<P></LI>
<LI><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>)<BR>The graph contains the following edges 1 >= 1, 2 > 2<P></LI>
<LI><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>)<BR>The graph contains the following edges 1 >= 1, 2 > 2<P></LI>
<LI><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>))<BR>The graph contains the following edges 1 > 1<P></LI></UL><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 <B>PiDP</B></pre><pre>                &#8627 UsableRulesProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font><BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font><BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>For (infinitary) constructor rewriting [30] we can delete all non-usable rules from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 <B>PiDP</B></pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>Transforming (infinitary) constructor rewriting Pi-DP problem [30] into ordinary QDP problem [15] by application of Pi.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 <B>QDP</B></pre><pre>                        &#8627 QDPOrderProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>We use the reduction pair processor [15].<P><BR>The following pairs can be oriented strictly and are deleted.<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>)</BLOCKQUOTE>The remaining pairs can at least be oriented weakly.<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE>Used ordering:  Polynomial interpretation [25]:
<BLOCKQUOTE><BR>POL(<B><FONT COLOR=#0000cc>0</font></B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(x<SUB>1</SUB>)</B>) = x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U1_gaa</font>(x<SUB>1</SUB>)</B>) = 1 + x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U1_gga</font>(x<SUB>1</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U2_GAA</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 1 + x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U2_gaa</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 1<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U2_gga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U3_gaa</font>(x<SUB>1</SUB>)</B>) = 1<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U3_gga</font>(x<SUB>1</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ackermann_in_gaa</font>(x<SUB>1</SUB>)</B>) = 1<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ackermann_in_gga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ackermann_out_gaa</font></B>) = 1<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ackermann_out_gga</font>(x<SUB>1</SUB>)</B>) = 1<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>s</font>(x<SUB>1</SUB>)</B>) = 1 + x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub></BLOCKQUOTE><BR>The following usable rules [17] were oriented:
none<BR><BR><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 QDPOrderProof</pre><pre>                          &#8627 <B>QDP</B></pre><pre>                            &#8627 DependencyGraphProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 QDPOrderProof</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 DependencyGraphProof</pre><pre>                              &#8627 <B>QDP</B></pre><pre>                                &#8627 UsableRulesProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 QDPOrderProof</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 DependencyGraphProof</pre><pre>                              &#8627 QDP</pre><pre>                                &#8627 UsableRulesProof</pre><pre>                                  &#8627 <B>QDP</B></pre><pre>                                    &#8627 QReductionProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>R is empty.<BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 QDPOrderProof</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 DependencyGraphProof</pre><pre>                              &#8627 QDP</pre><pre>                                &#8627 UsableRulesProof</pre><pre>                                  &#8627 QDP</pre><pre>                                    &#8627 QReductionProof</pre><pre>                                      &#8627 <B>QDP</B></pre><pre>                                        &#8627 NonTerminationProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>R is empty.<BR>Q is empty.<BR>We have to consider all (P,Q,R)-chains.<BR>We used the non-termination processor [17] to show that the DP problem is infinite.<BR>Found a loop by semiunifying a rule from P directly.<BR><BR>The TRS P consists of the following rules:<BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:none<BR><BR><BR>s = <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) evaluates to  t =<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))<BR><BR>Thus s starts an infinite chain as s semiunifies with t with the following substitutions:<BR><UL><LI> Semiunifier: [ ]</LI>
<LI> Matcher: [ ]</LI></UL><BR><BR><hr><BR><B>Rewriting sequence</B><BR><BR>The DP semiunifies directly so there is only one rewrite step from ACKERMANN_IN_GAA(s(M)) to ACKERMANN_IN_GAA(s(M)).<BR><BR><BR><BR><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 <B>PiDP</B></pre><pre>                &#8627 UsableRulesProof</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font><BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font><BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>For (infinitary) constructor rewriting [30] we can delete all non-usable rules from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 <B>PiDP</B></pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>Transforming (infinitary) constructor rewriting Pi-DP problem [30] into ordinary QDP problem [15] by application of Pi.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 <B>QDP</B></pre><pre>                        &#8627 QDPSizeChangeProof</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (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>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))<BR>The graph contains the following edges 1 > 1, 3 >= 2<P></LI>
<LI><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)<BR>The graph contains the following edges 1 > 1, 3 >= 3<P></LI>
<LI><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)<BR>The graph contains the following edges 1 >= 1, 3 > 2, 2 >= 3<P></LI></UL><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 <B>PiDP</B></pre><pre>                &#8627 UsableRulesProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font><BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font><BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>For (infinitary) constructor rewriting [30] we can delete all non-usable rules from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 <B>PiDP</B></pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font><BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>Transforming (infinitary) constructor rewriting Pi-DP problem [30] into ordinary QDP problem [15] by application of Pi.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 <B>QDP</B></pre><pre>                        &#8627 QDPSizeChangeProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (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>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>)<BR>The graph contains the following edges 1 >= 1, 2 >= 2<P></LI>
<LI><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))<BR>The graph contains the following edges 1 > 1, 2 >= 2<P></LI></UL><BR>We use the technique of [30]. With regard to the inferred argument filtering the predicates were used in the following modes:
<BR><FONT COLOR=#0000cc>ackermann_in</font>: (b,f,b) (b,b,b) (b,b,f) (b,f,f)
<BR>Transforming <I>Prolog</I> into the following <B>Term Rewriting System</B>:
<BR>Pi-finite rewrite system:<BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>
<P><B>Infinitary Constructor Rewriting Termination</B> of PiTRS implies <B>Termination</B> of Prolog<P>
<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 <B>PiTRS</B></pre><pre>      &#8627 DependencyPairsProof</pre><BR>Pi-finite rewrite system:<BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR><BR>Using Dependency Pairs [1,30] we result in the following initial DP problem:<BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 <B>PiDP</B></pre><pre>          &#8627 DependencyGraphProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>The approximation of the Dependency Graph [30] contains 4 SCCs with 12 less nodes.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 <B>PiDP</B></pre><pre>                &#8627 UsableRulesProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>For (infinitary) constructor rewriting [30] we can delete all non-usable rules from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 <B>PiDP</B></pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>Transforming (infinitary) constructor rewriting Pi-DP problem [30] into ordinary QDP problem [15] by application of Pi.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 <B>QDP</B></pre><pre>                        &#8627 QDPSizeChangeProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)</BLOCKQUOTE><BR>We have to consider all (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>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))<BR>The graph contains the following edges 1 > 1, 2 > 2<P></LI>
<LI><FONT COLOR=#0000cc>U2_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>)<BR>The graph contains the following edges 1 >= 1, 3 > 1, 3 > 2<P></LI>
<LI><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>)<BR>The graph contains the following edges 1 >= 1, 2 > 2<P></LI>
<LI><FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>))<BR>The graph contains the following edges 1 > 1<P></LI></UL><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 <B>PiDP</B></pre><pre>                &#8627 UsableRulesProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>For (infinitary) constructor rewriting [30] we can delete all non-usable rules from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 <B>PiDP</B></pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>Transforming (infinitary) constructor rewriting Pi-DP problem [30] into ordinary QDP problem [15] by application of Pi.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 <B>QDP</B></pre><pre>                        &#8627 QDPOrderProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>We use the reduction pair processor [15].<P><BR>The following pairs can be oriented strictly and are deleted.<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#cc0000>M</font>)</BLOCKQUOTE>The remaining pairs can at least be oriented weakly.<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE>Used ordering:  Polynomial interpretation [25]:
<BLOCKQUOTE><BR>POL(<B><FONT COLOR=#0000cc>0</font></B>) = 1<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(x<SUB>1</SUB>)</B>) = x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U1_gaa</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = x<SUB>2</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U1_gga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U2_GAA</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 1 + x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U2_gaa</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U2_gga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>, x<SUB>3</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U3_gaa</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U3_gga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>, x<SUB>3</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ackermann_in_gaa</font>(x<SUB>1</SUB>)</B>) = x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ackermann_in_gga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ackermann_out_gaa</font>(x<SUB>1</SUB>)</B>) = 0<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>ackermann_out_gga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>, x<SUB>3</SUB>)</B>) = 1 + x<SUB>1</SUB> + x<SUB>2</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>s</font>(x<SUB>1</SUB>)</B>) = 1 + x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub></BLOCKQUOTE><BR>The following usable rules [17] were oriented:
none<BR><BR><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 QDPOrderProof</pre><pre>                          &#8627 <B>QDP</B></pre><pre>                            &#8627 DependencyGraphProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_GAA</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 QDPOrderProof</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 DependencyGraphProof</pre><pre>                              &#8627 <B>QDP</B></pre><pre>                                &#8627 UsableRulesProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 QDPOrderProof</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 DependencyGraphProof</pre><pre>                              &#8627 QDP</pre><pre>                                &#8627 UsableRulesProof</pre><pre>                                  &#8627 <B>QDP</B></pre><pre>                                    &#8627 QReductionProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>R is empty.<BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)</BLOCKQUOTE><BR><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 QDPOrderProof</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 DependencyGraphProof</pre><pre>                              &#8627 QDP</pre><pre>                                &#8627 UsableRulesProof</pre><pre>                                  &#8627 QDP</pre><pre>                                    &#8627 QReductionProof</pre><pre>                                      &#8627 <B>QDP</B></pre><pre>                                        &#8627 NonTerminationProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>R is empty.<BR>Q is empty.<BR>We have to consider all (P,Q,R)-chains.<BR>We used the non-termination processor [17] to show that the DP problem is infinite.<BR>Found a loop by semiunifying a rule from P directly.<BR><BR>The TRS P consists of the following rules:<BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:none<BR><BR><BR>s = <FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) evaluates to  t =<FONT COLOR=#0000cc>ACKERMANN_IN_GAA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))<BR><BR>Thus s starts an infinite chain as s semiunifies with t with the following substitutions:<BR><UL><LI> Semiunifier: [ ]</LI>
<LI> Matcher: [ ]</LI></UL><BR><BR><hr><BR><B>Rewriting sequence</B><BR><BR>The DP semiunifies directly so there is only one rewrite step from ACKERMANN_IN_GAA(s(M)) to ACKERMANN_IN_GAA(s(M)).<BR><BR><BR><BR><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 <B>PiDP</B></pre><pre>                &#8627 UsableRulesProof</pre><pre>              &#8627 PiDP</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>For (infinitary) constructor rewriting [30] we can delete all non-usable rules from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 <B>PiDP</B></pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>              &#8627 PiDP</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>Transforming (infinitary) constructor rewriting Pi-DP problem [30] into ordinary QDP problem [15] by application of Pi.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 <B>QDP</B></pre><pre>                        &#8627 QDPSizeChangeProof</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)</BLOCKQUOTE><BR>We have to consider all (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>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))<BR>The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3<P></LI>
<LI><FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)<BR>The graph contains the following edges 1 > 1, 3 >= 3<P></LI>
<LI><FONT COLOR=#0000cc>U2_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GGG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)<BR>The graph contains the following edges 1 >= 1, 4 > 1, 4 > 2, 3 >= 3<P></LI></UL><BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 <B>PiDP</B></pre><pre>                &#8627 UsableRulesProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ggg</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gag</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>For (infinitary) constructor rewriting [30] we can delete all non-usable rules from R.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 <B>PiDP</B></pre><pre>                    &#8627 PiDPToQDPProof</pre><BR>Pi DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>, <FONT COLOR=#cc0000>x4</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>Transforming (infinitary) constructor rewriting Pi-DP problem [30] into ordinary QDP problem [15] by application of Pi.<BR><BR><pre>&#8627 Prolog</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><pre>    &#8627 PiTRS</pre><pre>      &#8627 DependencyPairsProof</pre><pre>        &#8627 PiDP</pre><pre>          &#8627 DependencyGraphProof</pre><pre>            &#8627 AND</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</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>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))) &#8594; <FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>)) &#8594; <FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>))
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#cc0000>M</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#cc0000>Val1</font>)) &#8594; <FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>))
<BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)))
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>N</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val1</font>, <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>N</font>), <FONT COLOR=#cc0000>Val</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#cc0000>Val</font>)) &#8594; <FONT COLOR=#0000cc>ackermann_out_gga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#0000cc>0</font>, <FONT COLOR=#cc0000>Val</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>ackermann_in_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U3_gaa</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U2_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U3_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)
<BR><FONT COLOR=#0000cc>U1_gga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)</BLOCKQUOTE><BR>We have to consider all (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>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_out_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>))) &#8594; <FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>)<BR>The graph contains the following edges 1 >= 1, 3 > 1, 2 >= 2<P></LI>
<LI><FONT COLOR=#0000cc>ACKERMANN_IN_GAG</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>), <FONT COLOR=#cc0000>Val</font>) &#8594; <FONT COLOR=#0000cc>U2_GAG</font>(<FONT COLOR=#cc0000>M</font>, <FONT COLOR=#cc0000>Val</font>, <FONT COLOR=#0000cc>ackermann_in_gaa</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>M</font>)))<BR>The graph contains the following edges 1 > 1, 2 >= 2<P></LI></UL><BR><BR></body>

