YES
<!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/incomplete2.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 successfully be <font color=#00ff00>proven</font>:<BR><BR><BR><BR><pre>&#8627 <B>Prolog</B></pre><pre>  &#8627 PrologToPiTRSProof</pre><BR>Clauses:<BR><BR>f(X)&#160;:-&#160;g(s(s(s(X)))).<BR>f(s(X))&#160;:-&#160;f(X).<BR>g(s(s(s(s(X)))))&#160;:-&#160;f(X).<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>g_in</font>: (b)
<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=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>f_out_g</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>U1_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_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>U3_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_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>g_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_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><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=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>f_out_g</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>U1_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_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>U3_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_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>g_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_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=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>U1_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>U3_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>f_out_g</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>U1_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_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>U3_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_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>g_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_out_g</font><BR>
<FONT COLOR=#0000cc>U2_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_G</font>(<FONT COLOR=#cc0000>x2</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>U1_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U3_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#cc0000>x1</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><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=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>U1_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))
<BR><FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>U3_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_G</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)</BLOCKQUOTE><BR>The TRS R consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>f_out_g</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>U1_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_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>U3_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_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>g_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_out_g</font><BR>
<FONT COLOR=#0000cc>U2_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_G</font>(<FONT COLOR=#cc0000>x2</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>U1_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U3_G</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_G</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)<BR>
<BR>We have to consider all (P,R,Pi)-chains<BR>The approximation of the Dependency Graph [30] contains 1 SCC with 3 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 <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>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</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>f_in_g</font>(<FONT COLOR=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_in_g</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))
<BR><FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>f_out_g</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)))))
<BR><FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>X</font>, <FONT COLOR=#0000cc>g_out_g</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>f_out_g</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>U1_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U1_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>g_in_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_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>U3_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U3_g</font>(<FONT COLOR=#cc0000>x2</font>)<BR>
<FONT COLOR=#0000cc>U2_g</font>(<FONT COLOR=#cc0000>x1</font>, <FONT COLOR=#cc0000>x2</font>)&#160; = &#160;<FONT COLOR=#0000cc>U2_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>g_out_g</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>g_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>G_IN_G</font>(<FONT COLOR=#cc0000>x1</font>)&#160; = &#160;<FONT COLOR=#0000cc>G_IN_G</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 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>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))</BLOCKQUOTE><BR>R is empty.<BR>Pi is empty.<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 PiDP</pre><pre>              &#8627 UsableRulesProof</pre><pre>                &#8627 PiDP</pre><pre>                  &#8627 PiDPToQDPProof</pre><pre>                    &#8627 <B>QDP</B></pre><pre>                      &#8627 RFCMatchBoundsDPProof</pre><BR>Q DP problem:<BR>The TRS P consists of the following rules:<BR><BLOCKQUOTE><BR><FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</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>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>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>)) &#8594; <FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>)
<BR><FONT COLOR=#0000cc>F_IN_G</font>(<FONT COLOR=#cc0000>X</font>) &#8594; <FONT COLOR=#0000cc>G_IN_G</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#0000cc>s</font>(<FONT COLOR=#cc0000>X</font>))))</BLOCKQUOTE><BR>The certificate found is represented by the following graph.<BR><p>The certificate consists of the following enumerated nodes:</p><p>60, 61, 62, 64, 63, 65, 67, 66, 70, 69, 68</p><p>Node 60 is start node and node 61 is final node.</p><p>Those nodes are connect through the following edges:</p><ul><li>60 to 61 labelled F_IN_G_1(0), F_IN_G_1(1)</li>
<li>60 to 62 labelled G_IN_G_1(0)</li>
<li>60 to 65 labelled G_IN_G_1(1)</li>
<li>60 to 68 labelled G_IN_G_1(2)</li>
<li>61 to 61 labelled #_1(0)</li>
<li>62 to 63 labelled s_1(0)</li>
<li>64 to 61 labelled s_1(0)</li>
<li>63 to 64 labelled s_1(0)</li>
<li>65 to 66 labelled s_1(1)</li>
<li>67 to 61 labelled s_1(1)</li>
<li>66 to 67 labelled s_1(1)</li>
<li>70 to 61 labelled s_1(2)</li>
<li>69 to 70 labelled s_1(2)</li>
<li>68 to 69 labelled s_1(2)</li>
</ul><BR><BR><BR></body>

