YES
Termination Proof
Termination Proof
by ttt2 (version ttt2 1.15)
Input
The rewrite relation of the following TRS is considered.
| 
p(0(x0)) | 
→ | 
s(s(0(s(s(p(x0)))))) | 
| 
p(s(0(x0))) | 
→ | 
0(x0) | 
| 
p(s(s(x0))) | 
→ | 
s(p(s(x0))) | 
| 
f(s(x0)) | 
→ | 
g(q(i(x0))) | 
| 
g(x0) | 
→ | 
f(p(p(x0))) | 
| 
q(i(x0)) | 
→ | 
q(s(x0)) | 
| 
q(s(x0)) | 
→ | 
s(s(x0)) | 
| 
i(x0) | 
→ | 
s(x0) | 
Proof
1 String Reversal
        Since only unary symbols occur, one can reverse all terms and obtains the TRS        
        
| 
0(p(x0)) | 
→ | 
p(s(s(0(s(s(x0)))))) | 
| 
0(s(p(x0))) | 
→ | 
0(x0) | 
| 
s(s(p(x0))) | 
→ | 
s(p(s(x0))) | 
| 
s(f(x0)) | 
→ | 
i(q(g(x0))) | 
| 
g(x0) | 
→ | 
p(p(f(x0))) | 
| 
i(q(x0)) | 
→ | 
s(q(x0)) | 
| 
s(q(x0)) | 
→ | 
s(s(x0)) | 
| 
i(x0) | 
→ | 
s(x0) | 
1.1 Dependency Pair Transformation
          The following set of initial dependency pairs has been identified.
          
| 
0#(p(x0)) | 
→ | 
s#(x0) | 
| 
0#(p(x0)) | 
→ | 
s#(s(x0)) | 
| 
0#(p(x0)) | 
→ | 
0#(s(s(x0))) | 
| 
0#(p(x0)) | 
→ | 
s#(0(s(s(x0)))) | 
| 
0#(p(x0)) | 
→ | 
s#(s(0(s(s(x0))))) | 
| 
0#(s(p(x0))) | 
→ | 
0#(x0) | 
| 
s#(s(p(x0))) | 
→ | 
s#(x0) | 
| 
s#(s(p(x0))) | 
→ | 
s#(p(s(x0))) | 
| 
s#(f(x0)) | 
→ | 
g#(x0) | 
| 
s#(f(x0)) | 
→ | 
i#(q(g(x0))) | 
| 
i#(q(x0)) | 
→ | 
s#(q(x0)) | 
| 
s#(q(x0)) | 
→ | 
s#(x0) | 
| 
s#(q(x0)) | 
→ | 
s#(s(x0)) | 
| 
i#(x0) | 
→ | 
s#(x0) | 
1.1.1 Dependency Graph Processor
The dependency pairs are split into 2
        components.