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/SGST06/doublehalfpred.pl</title>
</head>
<body>
<BR><B>Left Termination</B> of the query pattern
f_in_1(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>pred(0, 0).<BR>pred(s(0), 0).<BR>pred(s(s(X)), s(Y))&#160;:-&#160;pred(s(X), Y).<BR>double(0, 0).<BR>double(s(X), s(s(Y)))&#160;:-&#160;','(pred(s(X), Z), double(Z, Y)).<BR>half(0, 0).<BR>half(s(s(X)), s(U))&#160;:-&#160;','(pred(s(s(X)), Y), ','(pred(Y, Z), half(Z, U))).<BR>f(s(X))&#160;:-&#160;','(half(s(X), Y), ','(double(Y, Z), f(Z))).<BR><BR>Queries:<BR><BR>f(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>f_in</font>: (b)
<BR><FONT COLOR=#0000cc>half_in</font>: (b,f)
<BR><FONT COLOR=#0000cc>pred_in</font>: (b,f)
<BR><FONT COLOR=#0000cc>double_in</font>: (b,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>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</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>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</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>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font><BR>
<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x2</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>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font><BR>
<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>The approximation of the Dependency Graph [30] contains 4 SCCs with 9 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>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font><BR>
<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</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>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)</BLOCKQUOTE><BR>R is empty.<BR>The argument filtering Pi contains the following mapping:<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>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</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>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>R is empty.<BR>Q is empty.<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>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</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>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font><BR>
<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GA</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 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>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<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>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GA</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 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 <B>QDP</B></pre><pre>                        &#8627 RuleRemovalProof</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>U2_GA</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>By using the rule removal processor [15] with the following polynomial ordering [25], at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
<BR>Strictly oriented dependency pairs:
<BLOCKQUOTE><BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))</BLOCKQUOTE><BR>Strictly oriented rules of the TRS R:
<BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>Used ordering: POLO with Polynomial interpretation [25]:
<BLOCKQUOTE><BR>POL(<B><FONT COLOR=#0000cc>0</font></B>) = 2<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(x<SUB>1</SUB>)</B>) = 2 + 2&middot;x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U1_ga</font>(x<SUB>1</SUB>)</B>) = 2&middot;x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U2_GA</font>(x<SUB>1</SUB>)</B>) = 1 + 2&middot;x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>pred_in_ga</font>(x<SUB>1</SUB>)</B>) = x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>pred_out_ga</font>(x<SUB>1</SUB>)</B>) = 1 + x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>s</font>(x<SUB>1</SUB>)</B>) = 2&middot;x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub></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 RuleRemovalProof</pre><pre>                          &#8627 <B>QDP</B></pre><pre>                            &#8627 PisEmptyProof</pre><pre>              &#8627 PiDP</pre><pre>              &#8627 PiDP</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>P is empty.<BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>The TRS P is empty. Hence, there is no (P,Q,R) chain.<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>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font><BR>
<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</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>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<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>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</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 RuleRemovalProof</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>U4_GA</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>By using the rule removal processor [15] with the following polynomial ordering [25], at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
<BR><BR>Strictly oriented rules of the TRS R:
<BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>Used ordering: POLO with Polynomial interpretation [25]:
<BLOCKQUOTE><BR>POL(<B><FONT COLOR=#0000cc>0</font></B>) = 2<sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>HALF_IN_GA</font>(x<SUB>1</SUB>)</B>) = 2&middot;x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U1_ga</font>(x<SUB>1</SUB>)</B>) = 2&middot;x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U4_GA</font>(x<SUB>1</SUB>)</B>) = 2&middot;x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U5_GA</font>(x<SUB>1</SUB>)</B>) = 2&middot;x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>pred_in_ga</font>(x<SUB>1</SUB>)</B>) = x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>pred_out_ga</font>(x<SUB>1</SUB>)</B>) = x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>s</font>(x<SUB>1</SUB>)</B>) = 2&middot;x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub></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 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 RuleRemovalProof</pre><pre>                          &#8627 <B>QDP</B></pre><pre>                            &#8627 RFCMatchBoundsDPProof</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>U4_GA</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>Termination of the TRS P cup R can be shown by a matchbound [6,7] of 2. This implies finiteness of the given DP problem.<BR>The following rules (P cup R) were used to construct the certificate:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The certificate found is represented by the following graph.<BR><p>The certificate consists of the following enumerated nodes:</p><p>211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227</p><p>Node 211 is start node and node 212 is final node.</p><p>Those nodes are connect through the following edges:</p><ul><li>211 to 213 labelled pred_out_ga_1(0)</li>
<li>211 to 214 labelled U1_ga_1(0)</li>
<li>211 to 216 labelled U5_GA_1(0)</li>
<li>211 to 212 labelled HALF_IN_GA_1(0)</li>
<li>211 to 217 labelled U4_GA_1(0)</li>
<li>211 to 220 labelled U4_GA_1(1)</li>
<li>211 to 223 labelled HALF_IN_GA_1(1)</li>
<li>212 to 212 labelled #_1(0)</li>
<li>213 to 212 labelled s_1(0), 0(0)</li>
<li>214 to 215 labelled pred_in_ga_1(0)</li>
<li>214 to 224 labelled U1_ga_1(1)</li>
<li>215 to 212 labelled s_1(0)</li>
<li>216 to 212 labelled pred_in_ga_1(0)</li>
<li>216 to 223 labelled pred_out_ga_1(1)</li>
<li>216 to 224 labelled U1_ga_1(1)</li>
<li>217 to 218 labelled pred_in_ga_1(0)</li>
<li>217 to 224 labelled U1_ga_1(1)</li>
<li>218 to 219 labelled s_1(0)</li>
<li>219 to 212 labelled s_1(0)</li>
<li>220 to 221 labelled pred_in_ga_1(1)</li>
<li>220 to 226 labelled U1_ga_1(2)</li>
<li>221 to 222 labelled s_1(1)</li>
<li>222 to 212 labelled s_1(1)</li>
<li>223 to 212 labelled 0(1)</li>
<li>224 to 225 labelled pred_in_ga_1(1)</li>
<li>224 to 224 labelled U1_ga_1(1)</li>
<li>225 to 212 labelled s_1(1)</li>
<li>226 to 227 labelled pred_in_ga_1(2)</li>
<li>226 to 224 labelled U1_ga_1(1)</li>
<li>227 to 212 labelled s_1(2)</li>
</ul><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 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>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font><BR>
<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_G</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 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>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<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>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_G</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 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 Narrowing</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>By narrowing [15] the rule <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>)) at position [0] we obtained the following new rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))))
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</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 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 Narrowing</pre><pre>                          &#8627 <B>QDP</B></pre><pre>                            &#8627 Narrowing</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>By narrowing [15] the rule <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) at position [0] we obtained the following new rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</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 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 Narrowing</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 Narrowing</pre><pre>                              &#8627 <B>QDP</B></pre><pre>                                &#8627 Rewriting</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>)))))
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>By rewriting [15] the rule <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))))) at position [0,0] we obtained the following new rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</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 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 Narrowing</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 Narrowing</pre><pre>                              &#8627 QDP</pre><pre>                                &#8627 Rewriting</pre><pre>                                  &#8627 <B>QDP</B></pre><pre>                                    &#8627 ForwardInstantiation</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>)))))
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>By forward instantiating [14] the rule <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>) we obtained the following new rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>y_0</font>)))) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>y_0</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 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 Narrowing</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 Narrowing</pre><pre>                              &#8627 QDP</pre><pre>                                &#8627 Rewriting</pre><pre>                                  &#8627 QDP</pre><pre>                                    &#8627 ForwardInstantiation</pre><pre>                                      &#8627 <B>QDP</B></pre><pre>                                        &#8627 DependencyGraphProof</pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>y_0</font>)))) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>y_0</font>)))
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>)))))
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</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 PiDP</pre><pre>              &#8627 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 Narrowing</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 Narrowing</pre><pre>                              &#8627 QDP</pre><pre>                                &#8627 Rewriting</pre><pre>                                  &#8627 QDP</pre><pre>                                    &#8627 ForwardInstantiation</pre><pre>                                      &#8627 QDP</pre><pre>                                        &#8627 DependencyGraphProof</pre><pre>                                          &#8627 <B>QDP</B></pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>y_0</font>)))) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>y_0</font>)))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>))) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>x0</font>)))))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x0</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<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>f_in</font>: (b)
<BR><FONT COLOR=#0000cc>half_in</font>: (b,f)
<BR><FONT COLOR=#0000cc>pred_in</font>: (b,f)
<BR><FONT COLOR=#0000cc>double_in</font>: (b,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>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</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>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</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>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</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>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>The approximation of the Dependency Graph [30] contains 4 SCCs with 9 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>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</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>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)</BLOCKQUOTE><BR>R is empty.<BR>The argument filtering Pi contains the following mapping:<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>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#cc0000>x1</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>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>R is empty.<BR>Q is empty.<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>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>PRED_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</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>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</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 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>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)
<BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<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>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>x1</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 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>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</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_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE>The remaining pairs can at least be oriented weakly.<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</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>DOUBLE_IN_GA</font>(x<SUB>1</SUB>)</B>) = 1 + x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U1_ga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 1 + x<SUB>2</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>U2_GA</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 1 + x<SUB>2</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>pred_in_ga</font>(x<SUB>1</SUB>)</B>) = x<SUB>1</SUB><sup>&nbsp;</sup> <sub>&nbsp;</sub>
<BR>POL(<B><FONT COLOR=#0000cc>pred_out_ga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)</B>) = 1 + 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:
<BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</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 <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>DOUBLE_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</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 0 SCCs 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 <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>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</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>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)
<BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<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>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>x1</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 Rewriting</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR>By rewriting [15] the rule <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))) at position [1] we obtained the following new rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</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 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 Rewriting</pre><pre>                          &#8627 <B>QDP</B></pre><pre>                            &#8627 QDPOrderProof</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</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>HALF_IN_GA</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))</BLOCKQUOTE>The remaining pairs can at least be oriented weakly.<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE>Used ordering:  Matrix interpretation [3]:
<BR>Non-tuple symbols: <BR><table><tr><td><B>M( </B><FONT COLOR=#0000cc>U1_ga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)<B> )</B> = </td><td><table><tr><td>/</td><td>1</td><td>\</td></tr>
<tr><td>\</td><td>0</td><td>/</td></tr>
</table></td><td>+</td><td><table><tr><td>/</td><td>0</td><td>0</td><td>\</td></tr>
<tr><td>\</td><td>0</td><td>0</td><td>/</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>1</SUB></B></td><td>+</td><td><table><tr><td>/</td><td>1</td><td>0</td><td>\</td></tr>
<tr><td>\</td><td>1</td><td>0</td><td>/</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>2</SUB></B></td></tr>
</table><BR><table><tr><td><B>M( </B><FONT COLOR=#0000cc>s</font>(x<SUB>1</SUB>)<B> )</B> = </td><td><table><tr><td>/</td><td>0</td><td>\</td></tr>
<tr><td>\</td><td>1</td><td>/</td></tr>
</table></td><td>+</td><td><table><tr><td>/</td><td>0</td><td>0</td><td>\</td></tr>
<tr><td>\</td><td>0</td><td>1</td><td>/</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>1</SUB></B></td></tr>
</table><BR><table><tr><td><B>M( </B><FONT COLOR=#0000cc>0</font><B> )</B> = </td><td><table><tr><td>/</td><td>1</td><td>\</td></tr>
<tr><td>\</td><td>0</td><td>/</td></tr>
</table></td></tr>
</table><BR><table><tr><td><B>M( </B><FONT COLOR=#0000cc>pred_in_ga</font>(x<SUB>1</SUB>)<B> )</B> = </td><td><table><tr><td>/</td><td>0</td><td>\</td></tr>
<tr><td>\</td><td>0</td><td>/</td></tr>
</table></td><td>+</td><td><table><tr><td>/</td><td>1</td><td>1</td><td>\</td></tr>
<tr><td>\</td><td>0</td><td>1</td><td>/</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>1</SUB></B></td></tr>
</table><BR><table><tr><td><B>M( </B><FONT COLOR=#0000cc>pred_out_ga</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)<B> )</B> = </td><td><table><tr><td>/</td><td>1</td><td>\</td></tr>
<tr><td>\</td><td>0</td><td>/</td></tr>
</table></td><td>+</td><td><table><tr><td>/</td><td>0</td><td>0</td><td>\</td></tr>
<tr><td>\</td><td>0</td><td>0</td><td>/</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>1</SUB></B></td><td>+</td><td><table><tr><td>/</td><td>0</td><td>1</td><td>\</td></tr>
<tr><td>\</td><td>0</td><td>1</td><td>/</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>2</SUB></B></td></tr>
</table><BR>Tuple symbols: <BR><table><tr><td><B>M( </B><FONT COLOR=#0000cc>HALF_IN_GA</font>(x<SUB>1</SUB>)<B> )</B> = </td><td>0</td><td>+</td><td><table><tr><td>[</td><td>0,</td><td>1</td><td>]</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>1</SUB></B></td></tr>
</table><BR><table><tr><td><B>M( </B><FONT COLOR=#0000cc>U4_GA</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)<B> )</B> = </td><td>0</td><td>+</td><td><table><tr><td>[</td><td>0,</td><td>0</td><td>]</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>1</SUB></B></td><td>+</td><td><table><tr><td>[</td><td>0,</td><td>1</td><td>]</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>2</SUB></B></td></tr>
</table><BR><table><tr><td><B>M( </B><FONT COLOR=#0000cc>U5_GA</font>(x<SUB>1</SUB>, x<SUB>2</SUB>)<B> )</B> = </td><td>0</td><td>+</td><td><table><tr><td>[</td><td>0,</td><td>0</td><td>]</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>1</SUB></B></td><td>+</td><td><table><tr><td>[</td><td>0,</td><td>1</td><td>]</td></tr>
</table></td><td>&middot;</td><td><B>x<SUB>2</SUB></B></td></tr>
</table><BR><BR>Matrix type: <BR>We used a basic matrix type which is not further parametrizeable.<BR><BR><BR>As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order.<BR>The following usable rules [17] were oriented:
<BLOCKQUOTE><BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</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 PiDP</pre><pre>                &#8627 UsableRulesProof</pre><pre>                  &#8627 PiDP</pre><pre>                    &#8627 PiDPToQDPProof</pre><pre>                      &#8627 QDP</pre><pre>                        &#8627 Rewriting</pre><pre>                          &#8627 QDP</pre><pre>                            &#8627 QDPOrderProof</pre><pre>                              &#8627 <B>QDP</B></pre><pre>                                &#8627 DependencyGraphProof</pre><pre>              &#8627 PiDP</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U4_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U5_GA</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>HALF_IN_GA</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U1_ga</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 0 SCCs with 2 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 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>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>x1</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>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U9_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_G</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 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>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#cc0000>U</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>The argument filtering Pi contains the following mapping:<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>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>0</font>&#160; = &#160;<FONT COLOR=#0000cc>0</font><BR>
<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>, <FONT COLOR=#cc0000>x3</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x3</font>)<BR>
<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U7_G</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 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><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>U8_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>Z</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U7_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>0</font>), <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))) &#8594; <FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>double_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>)))
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#cc0000>Y</font>, <FONT COLOR=#cc0000>Z</font>)) &#8594; <FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>Z</font>))
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>), <FONT COLOR=#cc0000>Y</font>)) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>Y</font>))
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>pred_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#cc0000>Z</font>, <FONT COLOR=#cc0000>U</font>)) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)), <FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>U</font>))
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#0000cc>0</font>) &#8594; <FONT COLOR=#0000cc>half_out_ga</font>(<FONT COLOR=#0000cc>0</font>, <FONT COLOR=#0000cc>0</font>)</BLOCKQUOTE><BR>The set Q consists of the following terms:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>double_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>half_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U2_ga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U4_ga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>pred_in_ga</font>(<FONT COLOR=#cc0000>x0</font>)
<BR><FONT COLOR=#0000cc>U3_ga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U5_ga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U1_ga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)
<BR><FONT COLOR=#0000cc>U6_ga</font>(<FONT COLOR=#cc0000>x0</font>, <FONT COLOR=#cc0000>x1</font>)</BLOCKQUOTE><BR>We have to consider all (P,Q,R)-chains.<BR><BR></body>

