YES
Termination Proof
Termination Proof
by ttt2 (version ttt2 1.15)
Input
The rewrite relation of the following TRS is considered.
| 
r0(0(x0)) | 
→ | 
0(r0(x0)) | 
| 
r0(1(x0)) | 
→ | 
1(r0(x0)) | 
| 
r0(m(x0)) | 
→ | 
m(r0(x0)) | 
| 
r1(0(x0)) | 
→ | 
0(r1(x0)) | 
| 
r1(1(x0)) | 
→ | 
1(r1(x0)) | 
| 
r1(m(x0)) | 
→ | 
m(r1(x0)) | 
| 
r0(b(x0)) | 
→ | 
qr(0(b(x0))) | 
| 
r1(b(x0)) | 
→ | 
qr(1(b(x0))) | 
| 
0(qr(x0)) | 
→ | 
qr(0(x0)) | 
| 
1(qr(x0)) | 
→ | 
qr(1(x0)) | 
| 
m(qr(x0)) | 
→ | 
ql(m(x0)) | 
| 
0(ql(x0)) | 
→ | 
ql(0(x0)) | 
| 
1(ql(x0)) | 
→ | 
ql(1(x0)) | 
| 
b(ql(0(x0))) | 
→ | 
0(b(r0(x0))) | 
| 
b(ql(1(x0))) | 
→ | 
1(b(r1(x0))) | 
Proof
1 String Reversal
        Since only unary symbols occur, one can reverse all terms and obtains the TRS        
        
| 
0(r0(x0)) | 
→ | 
r0(0(x0)) | 
| 
1(r0(x0)) | 
→ | 
r0(1(x0)) | 
| 
m(r0(x0)) | 
→ | 
r0(m(x0)) | 
| 
0(r1(x0)) | 
→ | 
r1(0(x0)) | 
| 
1(r1(x0)) | 
→ | 
r1(1(x0)) | 
| 
m(r1(x0)) | 
→ | 
r1(m(x0)) | 
| 
b(r0(x0)) | 
→ | 
b(0(qr(x0))) | 
| 
b(r1(x0)) | 
→ | 
b(1(qr(x0))) | 
| 
qr(0(x0)) | 
→ | 
0(qr(x0)) | 
| 
qr(1(x0)) | 
→ | 
1(qr(x0)) | 
| 
qr(m(x0)) | 
→ | 
m(ql(x0)) | 
| 
ql(0(x0)) | 
→ | 
0(ql(x0)) | 
| 
ql(1(x0)) | 
→ | 
1(ql(x0)) | 
| 
0(ql(b(x0))) | 
→ | 
r0(b(0(x0))) | 
| 
1(ql(b(x0))) | 
→ | 
r1(b(1(x0))) | 
1.1 Rule Removal
      Using the
      linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 
            over the naturals
| [r1(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [r0(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [m(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [b(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [0(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [ql(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [qr(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [1(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
          the
          rules
| 
0(r0(x0)) | 
→ | 
r0(0(x0)) | 
| 
1(r0(x0)) | 
→ | 
r0(1(x0)) | 
| 
0(r1(x0)) | 
→ | 
r1(0(x0)) | 
| 
1(r1(x0)) | 
→ | 
r1(1(x0)) | 
| 
m(r1(x0)) | 
→ | 
r1(m(x0)) | 
| 
b(r0(x0)) | 
→ | 
b(0(qr(x0))) | 
| 
b(r1(x0)) | 
→ | 
b(1(qr(x0))) | 
| 
qr(0(x0)) | 
→ | 
0(qr(x0)) | 
| 
qr(1(x0)) | 
→ | 
1(qr(x0)) | 
| 
qr(m(x0)) | 
→ | 
m(ql(x0)) | 
| 
ql(0(x0)) | 
→ | 
0(ql(x0)) | 
| 
ql(1(x0)) | 
→ | 
1(ql(x0)) | 
| 
0(ql(b(x0))) | 
→ | 
r0(b(0(x0))) | 
| 
1(ql(b(x0))) | 
→ | 
r1(b(1(x0))) | 
          remain.
        1.1.1 String Reversal
        Since only unary symbols occur, one can reverse all terms and obtains the TRS        
        
| 
r0(0(x0)) | 
→ | 
0(r0(x0)) | 
| 
r0(1(x0)) | 
→ | 
1(r0(x0)) | 
| 
r1(0(x0)) | 
→ | 
0(r1(x0)) | 
| 
r1(1(x0)) | 
→ | 
1(r1(x0)) | 
| 
r1(m(x0)) | 
→ | 
m(r1(x0)) | 
| 
r0(b(x0)) | 
→ | 
qr(0(b(x0))) | 
| 
r1(b(x0)) | 
→ | 
qr(1(b(x0))) | 
| 
0(qr(x0)) | 
→ | 
qr(0(x0)) | 
| 
1(qr(x0)) | 
→ | 
qr(1(x0)) | 
| 
m(qr(x0)) | 
→ | 
ql(m(x0)) | 
| 
0(ql(x0)) | 
→ | 
ql(0(x0)) | 
| 
1(ql(x0)) | 
→ | 
ql(1(x0)) | 
| 
b(ql(0(x0))) | 
→ | 
0(b(r0(x0))) | 
| 
b(ql(1(x0))) | 
→ | 
1(b(r1(x0))) | 
1.1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 
            over the naturals
| [r1(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [r0(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [m(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [b(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [0(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [ql(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [qr(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [1(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
          the
          rules
| 
r0(0(x0)) | 
→ | 
0(r0(x0)) | 
| 
r0(1(x0)) | 
→ | 
1(r0(x0)) | 
| 
r1(0(x0)) | 
→ | 
0(r1(x0)) | 
| 
r1(1(x0)) | 
→ | 
1(r1(x0)) | 
| 
r1(m(x0)) | 
→ | 
m(r1(x0)) | 
| 
r1(b(x0)) | 
→ | 
qr(1(b(x0))) | 
| 
0(qr(x0)) | 
→ | 
qr(0(x0)) | 
| 
1(qr(x0)) | 
→ | 
qr(1(x0)) | 
| 
m(qr(x0)) | 
→ | 
ql(m(x0)) | 
| 
0(ql(x0)) | 
→ | 
ql(0(x0)) | 
| 
1(ql(x0)) | 
→ | 
ql(1(x0)) | 
| 
b(ql(0(x0))) | 
→ | 
0(b(r0(x0))) | 
| 
b(ql(1(x0))) | 
→ | 
1(b(r1(x0))) | 
          remain.
        1.1.1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over the arctic semiring over the integers
| [r1(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
| [r0(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [m(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [b(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [0(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [ql(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
| [qr(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
| [1(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
          the
          rules
| 
r0(0(x0)) | 
→ | 
0(r0(x0)) | 
| 
r0(1(x0)) | 
→ | 
1(r0(x0)) | 
| 
r1(0(x0)) | 
→ | 
0(r1(x0)) | 
| 
r1(1(x0)) | 
→ | 
1(r1(x0)) | 
| 
r1(m(x0)) | 
→ | 
m(r1(x0)) | 
| 
r1(b(x0)) | 
→ | 
qr(1(b(x0))) | 
| 
0(qr(x0)) | 
→ | 
qr(0(x0)) | 
| 
1(qr(x0)) | 
→ | 
qr(1(x0)) | 
| 
m(qr(x0)) | 
→ | 
ql(m(x0)) | 
| 
0(ql(x0)) | 
→ | 
ql(0(x0)) | 
| 
1(ql(x0)) | 
→ | 
ql(1(x0)) | 
| 
b(ql(1(x0))) | 
→ | 
1(b(r1(x0))) | 
          remain.
        1.1.1.1.1.1 String Reversal
        Since only unary symbols occur, one can reverse all terms and obtains the TRS        
        
| 
0(r0(x0)) | 
→ | 
r0(0(x0)) | 
| 
1(r0(x0)) | 
→ | 
r0(1(x0)) | 
| 
0(r1(x0)) | 
→ | 
r1(0(x0)) | 
| 
1(r1(x0)) | 
→ | 
r1(1(x0)) | 
| 
m(r1(x0)) | 
→ | 
r1(m(x0)) | 
| 
b(r1(x0)) | 
→ | 
b(1(qr(x0))) | 
| 
qr(0(x0)) | 
→ | 
0(qr(x0)) | 
| 
qr(1(x0)) | 
→ | 
1(qr(x0)) | 
| 
qr(m(x0)) | 
→ | 
m(ql(x0)) | 
| 
ql(0(x0)) | 
→ | 
0(ql(x0)) | 
| 
ql(1(x0)) | 
→ | 
1(ql(x0)) | 
| 
1(ql(b(x0))) | 
→ | 
r1(b(1(x0))) | 
1.1.1.1.1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over the naturals
| [r1(x1)] | 
 =  | 
1 · 
                    x1 + 0 | 
| [r0(x1)] | 
 =  | 
2 · 
                    x1 + 3 | 
| [m(x1)] | 
 =  | 
2 · 
                    x1 + 0 | 
| [b(x1)] | 
 =  | 
2 · 
                    x1 + 0 | 
| [0(x1)] | 
 =  | 
8 · 
                    x1 + 0 | 
| [ql(x1)] | 
 =  | 
1 · 
                    x1 + 0 | 
| [qr(x1)] | 
 =  | 
1 · 
                    x1 + 0 | 
| [1(x1)] | 
 =  | 
1 · 
                    x1 + 0 | 
          the
          rules
| 
1(r0(x0)) | 
→ | 
r0(1(x0)) | 
| 
0(r1(x0)) | 
→ | 
r1(0(x0)) | 
| 
1(r1(x0)) | 
→ | 
r1(1(x0)) | 
| 
m(r1(x0)) | 
→ | 
r1(m(x0)) | 
| 
b(r1(x0)) | 
→ | 
b(1(qr(x0))) | 
| 
qr(0(x0)) | 
→ | 
0(qr(x0)) | 
| 
qr(1(x0)) | 
→ | 
1(qr(x0)) | 
| 
qr(m(x0)) | 
→ | 
m(ql(x0)) | 
| 
ql(0(x0)) | 
→ | 
0(ql(x0)) | 
| 
ql(1(x0)) | 
→ | 
1(ql(x0)) | 
| 
1(ql(b(x0))) | 
→ | 
r1(b(1(x0))) | 
          remain.
        1.1.1.1.1.1.1.1 String Reversal
        Since only unary symbols occur, one can reverse all terms and obtains the TRS        
        
| 
r0(1(x0)) | 
→ | 
1(r0(x0)) | 
| 
r1(0(x0)) | 
→ | 
0(r1(x0)) | 
| 
r1(1(x0)) | 
→ | 
1(r1(x0)) | 
| 
r1(m(x0)) | 
→ | 
m(r1(x0)) | 
| 
r1(b(x0)) | 
→ | 
qr(1(b(x0))) | 
| 
0(qr(x0)) | 
→ | 
qr(0(x0)) | 
| 
1(qr(x0)) | 
→ | 
qr(1(x0)) | 
| 
m(qr(x0)) | 
→ | 
ql(m(x0)) | 
| 
0(ql(x0)) | 
→ | 
ql(0(x0)) | 
| 
1(ql(x0)) | 
→ | 
ql(1(x0)) | 
| 
b(ql(1(x0))) | 
→ | 
1(b(r1(x0))) | 
1.1.1.1.1.1.1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 
            over the naturals
| [r1(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [r0(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [m(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [b(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [0(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [ql(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [qr(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
| [1(x1)] | 
 =  | 
 · 
                    x1 + 
 | 
          the
          rules
| 
r0(1(x0)) | 
→ | 
1(r0(x0)) | 
| 
r1(1(x0)) | 
→ | 
1(r1(x0)) | 
| 
r1(m(x0)) | 
→ | 
m(r1(x0)) | 
| 
r1(b(x0)) | 
→ | 
qr(1(b(x0))) | 
| 
0(qr(x0)) | 
→ | 
qr(0(x0)) | 
| 
1(qr(x0)) | 
→ | 
qr(1(x0)) | 
| 
0(ql(x0)) | 
→ | 
ql(0(x0)) | 
| 
1(ql(x0)) | 
→ | 
ql(1(x0)) | 
| 
b(ql(1(x0))) | 
→ | 
1(b(r1(x0))) | 
          remain.
        1.1.1.1.1.1.1.1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over the arctic semiring over the integers
| [r1(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [r0(x1)] | 
 =  | 
4 · 
                    x1 + 
                -∞
             | 
| [m(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [b(x1)] | 
 =  | 
4 · 
                    x1 + 
                -∞
             | 
| [0(x1)] | 
 =  | 
11 · 
                    x1 + 
                -∞
             | 
| [ql(x1)] | 
 =  | 
9 · 
                    x1 + 
                -∞
             | 
| [qr(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [1(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
          the
          rules
| 
r0(1(x0)) | 
→ | 
1(r0(x0)) | 
| 
r1(1(x0)) | 
→ | 
1(r1(x0)) | 
| 
r1(m(x0)) | 
→ | 
m(r1(x0)) | 
| 
r1(b(x0)) | 
→ | 
qr(1(b(x0))) | 
| 
0(qr(x0)) | 
→ | 
qr(0(x0)) | 
| 
1(qr(x0)) | 
→ | 
qr(1(x0)) | 
| 
0(ql(x0)) | 
→ | 
ql(0(x0)) | 
| 
1(ql(x0)) | 
→ | 
ql(1(x0)) | 
          remain.
        1.1.1.1.1.1.1.1.1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over the arctic semiring over the integers
| [r1(x1)] | 
 =  | 
8 · 
                    x1 + 
                -∞
             | 
| [r0(x1)] | 
 =  | 
8 · 
                    x1 + 
                -∞
             | 
| [m(x1)] | 
 =  | 
8 · 
                    x1 + 
                -∞
             | 
| [b(x1)] | 
 =  | 
3 · 
                    x1 + 
                -∞
             | 
| [0(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [ql(x1)] | 
 =  | 
8 · 
                    x1 + 
                -∞
             | 
| [qr(x1)] | 
 =  | 
3 · 
                    x1 + 
                -∞
             | 
| [1(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
          the
          rules
| 
r0(1(x0)) | 
→ | 
1(r0(x0)) | 
| 
r1(1(x0)) | 
→ | 
1(r1(x0)) | 
| 
r1(m(x0)) | 
→ | 
m(r1(x0)) | 
| 
0(qr(x0)) | 
→ | 
qr(0(x0)) | 
| 
1(qr(x0)) | 
→ | 
qr(1(x0)) | 
| 
0(ql(x0)) | 
→ | 
ql(0(x0)) | 
| 
1(ql(x0)) | 
→ | 
ql(1(x0)) | 
          remain.
        1.1.1.1.1.1.1.1.1.1.1.1 Rule Removal
      Using the
      Knuth Bendix order with w0 = 1 and the following precedence and weight function
| prec(ql) | 
= | 
0 | 
 | 
weight(ql) | 
= | 
1 | 
 | 
 | 
 | 
| prec(qr) | 
= | 
0 | 
 | 
weight(qr) | 
= | 
1 | 
 | 
 | 
 | 
| prec(r1) | 
= | 
3 | 
 | 
weight(r1) | 
= | 
1 | 
 | 
 | 
 | 
| prec(m) | 
= | 
0 | 
 | 
weight(m) | 
= | 
1 | 
 | 
 | 
 | 
| prec(1) | 
= | 
2 | 
 | 
weight(1) | 
= | 
1 | 
 | 
 | 
 | 
| prec(r0) | 
= | 
7 | 
 | 
weight(r0) | 
= | 
0 | 
 | 
 | 
 | 
| prec(0) | 
= | 
1 | 
 | 
weight(0) | 
= | 
1 | 
 | 
 | 
 | 
          all rules could be removed.
        1.1.1.1.1.1.1.1.1.1.1.1.1 R is empty 
There are no rules in the TRS. Hence, it is terminating.