YES
Termination Proof
Termination Proof
by ttt2 (version ttt2 1.15)
Input
The rewrite relation of the following TRS is considered.
| 
Begin(a(x0)) | 
→ | 
Wait(Right1(x0)) | 
| 
Begin(b(x0)) | 
→ | 
Wait(Right2(x0)) | 
| 
Begin(c(x0)) | 
→ | 
Wait(Right3(x0)) | 
| 
Begin(d(d(x0))) | 
→ | 
Wait(Right4(x0)) | 
| 
Begin(d(x0)) | 
→ | 
Wait(Right5(x0)) | 
| 
Right1(a(End(x0))) | 
→ | 
Left(b(c(End(x0)))) | 
| 
Right2(b(End(x0))) | 
→ | 
Left(c(d(End(x0)))) | 
| 
Right3(c(End(x0))) | 
→ | 
Left(d(d(d(End(x0))))) | 
| 
Right4(d(End(x0))) | 
→ | 
Left(a(c(End(x0)))) | 
| 
Right5(d(d(End(x0)))) | 
→ | 
Left(a(c(End(x0)))) | 
| 
Right1(a(x0)) | 
→ | 
Aa(Right1(x0)) | 
| 
Right2(a(x0)) | 
→ | 
Aa(Right2(x0)) | 
| 
Right3(a(x0)) | 
→ | 
Aa(Right3(x0)) | 
| 
Right4(a(x0)) | 
→ | 
Aa(Right4(x0)) | 
| 
Right5(a(x0)) | 
→ | 
Aa(Right5(x0)) | 
| 
Right1(b(x0)) | 
→ | 
Ab(Right1(x0)) | 
| 
Right2(b(x0)) | 
→ | 
Ab(Right2(x0)) | 
| 
Right3(b(x0)) | 
→ | 
Ab(Right3(x0)) | 
| 
Right4(b(x0)) | 
→ | 
Ab(Right4(x0)) | 
| 
Right5(b(x0)) | 
→ | 
Ab(Right5(x0)) | 
| 
Right1(c(x0)) | 
→ | 
Ac(Right1(x0)) | 
| 
Right2(c(x0)) | 
→ | 
Ac(Right2(x0)) | 
| 
Right3(c(x0)) | 
→ | 
Ac(Right3(x0)) | 
| 
Right4(c(x0)) | 
→ | 
Ac(Right4(x0)) | 
| 
Right5(c(x0)) | 
→ | 
Ac(Right5(x0)) | 
| 
Right1(d(x0)) | 
→ | 
Ad(Right1(x0)) | 
| 
Right2(d(x0)) | 
→ | 
Ad(Right2(x0)) | 
| 
Right3(d(x0)) | 
→ | 
Ad(Right3(x0)) | 
| 
Right4(d(x0)) | 
→ | 
Ad(Right4(x0)) | 
| 
Right5(d(x0)) | 
→ | 
Ad(Right5(x0)) | 
| 
Aa(Left(x0)) | 
→ | 
Left(a(x0)) | 
| 
Ab(Left(x0)) | 
→ | 
Left(b(x0)) | 
| 
Ac(Left(x0)) | 
→ | 
Left(c(x0)) | 
| 
Ad(Left(x0)) | 
→ | 
Left(d(x0)) | 
| 
Wait(Left(x0)) | 
→ | 
Begin(x0) | 
| 
a(a(x0)) | 
→ | 
b(c(x0)) | 
| 
b(b(x0)) | 
→ | 
c(d(x0)) | 
| 
c(c(x0)) | 
→ | 
d(d(d(x0))) | 
| 
d(d(d(x0))) | 
→ | 
a(c(x0)) | 
Proof
1 Rule Removal
      Using the
      linear polynomial interpretation over the arctic semiring over the integers
| [b(x1)] | 
 =  | 
10 · 
                    x1 + 
                -∞
             | 
| [Ac(x1)] | 
 =  | 
12 · 
                    x1 + 
                -∞
             | 
| [d(x1)] | 
 =  | 
8 · 
                    x1 + 
                -∞
             | 
| [Begin(x1)] | 
 =  | 
8 · 
                    x1 + 
                -∞
             | 
| [Wait(x1)] | 
 =  | 
8 · 
                    x1 + 
                -∞
             | 
| [Ad(x1)] | 
 =  | 
8 · 
                    x1 + 
                -∞
             | 
| [Right2(x1)] | 
 =  | 
10 · 
                    x1 + 
                -∞
             | 
| [Right5(x1)] | 
 =  | 
7 · 
                    x1 + 
                -∞
             | 
| [a(x1)] | 
 =  | 
11 · 
                    x1 + 
                -∞
             | 
| [Right3(x1)] | 
 =  | 
12 · 
                    x1 + 
                -∞
             | 
| [Ab(x1)] | 
 =  | 
10 · 
                    x1 + 
                -∞
             | 
| [Left(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [End(x1)] | 
 =  | 
6 · 
                    x1 + 
                -∞
             | 
| [Right4(x1)] | 
 =  | 
15 · 
                    x1 + 
                -∞
             | 
| [Aa(x1)] | 
 =  | 
11 · 
                    x1 + 
                -∞
             | 
| [c(x1)] | 
 =  | 
12 · 
                    x1 + 
                -∞
             | 
| [Right1(x1)] | 
 =  | 
11 · 
                    x1 + 
                -∞
             | 
          the
          rules
| 
Begin(a(x0)) | 
→ | 
Wait(Right1(x0)) | 
| 
Begin(b(x0)) | 
→ | 
Wait(Right2(x0)) | 
| 
Begin(c(x0)) | 
→ | 
Wait(Right3(x0)) | 
| 
Right1(a(End(x0))) | 
→ | 
Left(b(c(End(x0)))) | 
| 
Right2(b(End(x0))) | 
→ | 
Left(c(d(End(x0)))) | 
| 
Right3(c(End(x0))) | 
→ | 
Left(d(d(d(End(x0))))) | 
| 
Right4(d(End(x0))) | 
→ | 
Left(a(c(End(x0)))) | 
| 
Right5(d(d(End(x0)))) | 
→ | 
Left(a(c(End(x0)))) | 
| 
Right1(a(x0)) | 
→ | 
Aa(Right1(x0)) | 
| 
Right2(a(x0)) | 
→ | 
Aa(Right2(x0)) | 
| 
Right3(a(x0)) | 
→ | 
Aa(Right3(x0)) | 
| 
Right4(a(x0)) | 
→ | 
Aa(Right4(x0)) | 
| 
Right5(a(x0)) | 
→ | 
Aa(Right5(x0)) | 
| 
Right1(b(x0)) | 
→ | 
Ab(Right1(x0)) | 
| 
Right2(b(x0)) | 
→ | 
Ab(Right2(x0)) | 
| 
Right3(b(x0)) | 
→ | 
Ab(Right3(x0)) | 
| 
Right4(b(x0)) | 
→ | 
Ab(Right4(x0)) | 
| 
Right5(b(x0)) | 
→ | 
Ab(Right5(x0)) | 
| 
Right1(c(x0)) | 
→ | 
Ac(Right1(x0)) | 
| 
Right2(c(x0)) | 
→ | 
Ac(Right2(x0)) | 
| 
Right3(c(x0)) | 
→ | 
Ac(Right3(x0)) | 
| 
Right4(c(x0)) | 
→ | 
Ac(Right4(x0)) | 
| 
Right5(c(x0)) | 
→ | 
Ac(Right5(x0)) | 
| 
Right1(d(x0)) | 
→ | 
Ad(Right1(x0)) | 
| 
Right2(d(x0)) | 
→ | 
Ad(Right2(x0)) | 
| 
Right3(d(x0)) | 
→ | 
Ad(Right3(x0)) | 
| 
Right4(d(x0)) | 
→ | 
Ad(Right4(x0)) | 
| 
Right5(d(x0)) | 
→ | 
Ad(Right5(x0)) | 
| 
Aa(Left(x0)) | 
→ | 
Left(a(x0)) | 
| 
Ab(Left(x0)) | 
→ | 
Left(b(x0)) | 
| 
Ac(Left(x0)) | 
→ | 
Left(c(x0)) | 
| 
Ad(Left(x0)) | 
→ | 
Left(d(x0)) | 
| 
Wait(Left(x0)) | 
→ | 
Begin(x0) | 
| 
a(a(x0)) | 
→ | 
b(c(x0)) | 
| 
b(b(x0)) | 
→ | 
c(d(x0)) | 
| 
c(c(x0)) | 
→ | 
d(d(d(x0))) | 
          remain.
        1.1 Rule Removal
      Using the
      linear polynomial interpretation over the arctic semiring over the integers
| [b(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Ac(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [d(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Begin(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Wait(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Ad(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Right2(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Right5(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
| [a(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
| [Right3(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Ab(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Left(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [End(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Right4(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
| [Aa(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
| [c(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Right1(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
          the
          rules
| 
Begin(a(x0)) | 
→ | 
Wait(Right1(x0)) | 
| 
Begin(b(x0)) | 
→ | 
Wait(Right2(x0)) | 
| 
Begin(c(x0)) | 
→ | 
Wait(Right3(x0)) | 
| 
Right2(b(End(x0))) | 
→ | 
Left(c(d(End(x0)))) | 
| 
Right3(c(End(x0))) | 
→ | 
Left(d(d(d(End(x0))))) | 
| 
Right4(d(End(x0))) | 
→ | 
Left(a(c(End(x0)))) | 
| 
Right5(d(d(End(x0)))) | 
→ | 
Left(a(c(End(x0)))) | 
| 
Right1(a(x0)) | 
→ | 
Aa(Right1(x0)) | 
| 
Right2(a(x0)) | 
→ | 
Aa(Right2(x0)) | 
| 
Right3(a(x0)) | 
→ | 
Aa(Right3(x0)) | 
| 
Right4(a(x0)) | 
→ | 
Aa(Right4(x0)) | 
| 
Right5(a(x0)) | 
→ | 
Aa(Right5(x0)) | 
| 
Right1(b(x0)) | 
→ | 
Ab(Right1(x0)) | 
| 
Right2(b(x0)) | 
→ | 
Ab(Right2(x0)) | 
| 
Right3(b(x0)) | 
→ | 
Ab(Right3(x0)) | 
| 
Right4(b(x0)) | 
→ | 
Ab(Right4(x0)) | 
| 
Right5(b(x0)) | 
→ | 
Ab(Right5(x0)) | 
| 
Right1(c(x0)) | 
→ | 
Ac(Right1(x0)) | 
| 
Right2(c(x0)) | 
→ | 
Ac(Right2(x0)) | 
| 
Right3(c(x0)) | 
→ | 
Ac(Right3(x0)) | 
| 
Right4(c(x0)) | 
→ | 
Ac(Right4(x0)) | 
| 
Right5(c(x0)) | 
→ | 
Ac(Right5(x0)) | 
| 
Right1(d(x0)) | 
→ | 
Ad(Right1(x0)) | 
| 
Right2(d(x0)) | 
→ | 
Ad(Right2(x0)) | 
| 
Right3(d(x0)) | 
→ | 
Ad(Right3(x0)) | 
| 
Right4(d(x0)) | 
→ | 
Ad(Right4(x0)) | 
| 
Right5(d(x0)) | 
→ | 
Ad(Right5(x0)) | 
| 
Aa(Left(x0)) | 
→ | 
Left(a(x0)) | 
| 
Ab(Left(x0)) | 
→ | 
Left(b(x0)) | 
| 
Ac(Left(x0)) | 
→ | 
Left(c(x0)) | 
| 
Ad(Left(x0)) | 
→ | 
Left(d(x0)) | 
| 
Wait(Left(x0)) | 
→ | 
Begin(x0) | 
| 
b(b(x0)) | 
→ | 
c(d(x0)) | 
| 
c(c(x0)) | 
→ | 
d(d(d(x0))) | 
          remain.
        1.1.1 Rule Removal
      Using the
      linear polynomial interpretation over the arctic semiring over the integers
| [b(x1)] | 
 =  | 
4 · 
                    x1 + 
                -∞
             | 
| [Ac(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
| [d(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Begin(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Wait(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Ad(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Right2(x1)] | 
 =  | 
3 · 
                    x1 + 
                -∞
             | 
| [Right5(x1)] | 
 =  | 
4 · 
                    x1 + 
                -∞
             | 
| [a(x1)] | 
 =  | 
2 · 
                    x1 + 
                -∞
             | 
| [Right3(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Ab(x1)] | 
 =  | 
4 · 
                    x1 + 
                -∞
             | 
| [Left(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [End(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
| [Right4(x1)] | 
 =  | 
4 · 
                    x1 + 
                -∞
             | 
| [Aa(x1)] | 
 =  | 
2 · 
                    x1 + 
                -∞
             | 
| [c(x1)] | 
 =  | 
1 · 
                    x1 + 
                -∞
             | 
| [Right1(x1)] | 
 =  | 
0 · 
                    x1 + 
                -∞
             | 
          the
          rules
| 
Right1(a(x0)) | 
→ | 
Aa(Right1(x0)) | 
| 
Right2(a(x0)) | 
→ | 
Aa(Right2(x0)) | 
| 
Right3(a(x0)) | 
→ | 
Aa(Right3(x0)) | 
| 
Right4(a(x0)) | 
→ | 
Aa(Right4(x0)) | 
| 
Right5(a(x0)) | 
→ | 
Aa(Right5(x0)) | 
| 
Right1(b(x0)) | 
→ | 
Ab(Right1(x0)) | 
| 
Right2(b(x0)) | 
→ | 
Ab(Right2(x0)) | 
| 
Right3(b(x0)) | 
→ | 
Ab(Right3(x0)) | 
| 
Right4(b(x0)) | 
→ | 
Ab(Right4(x0)) | 
| 
Right5(b(x0)) | 
→ | 
Ab(Right5(x0)) | 
| 
Right1(c(x0)) | 
→ | 
Ac(Right1(x0)) | 
| 
Right2(c(x0)) | 
→ | 
Ac(Right2(x0)) | 
| 
Right3(c(x0)) | 
→ | 
Ac(Right3(x0)) | 
| 
Right4(c(x0)) | 
→ | 
Ac(Right4(x0)) | 
| 
Right5(c(x0)) | 
→ | 
Ac(Right5(x0)) | 
| 
Right1(d(x0)) | 
→ | 
Ad(Right1(x0)) | 
| 
Right2(d(x0)) | 
→ | 
Ad(Right2(x0)) | 
| 
Right3(d(x0)) | 
→ | 
Ad(Right3(x0)) | 
| 
Right4(d(x0)) | 
→ | 
Ad(Right4(x0)) | 
| 
Right5(d(x0)) | 
→ | 
Ad(Right5(x0)) | 
| 
Aa(Left(x0)) | 
→ | 
Left(a(x0)) | 
| 
Ab(Left(x0)) | 
→ | 
Left(b(x0)) | 
| 
Ac(Left(x0)) | 
→ | 
Left(c(x0)) | 
| 
Ad(Left(x0)) | 
→ | 
Left(d(x0)) | 
| 
Wait(Left(x0)) | 
→ | 
Begin(x0) | 
          remain.
        1.1.1.1 Rule Removal
      Using the
      Knuth Bendix order with w0 = 1 and the following precedence and weight function
| prec(Ad) | 
= | 
2 | 
 | 
weight(Ad) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Ac) | 
= | 
1 | 
 | 
weight(Ac) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Ab) | 
= | 
1 | 
 | 
weight(Ab) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Aa) | 
= | 
1 | 
 | 
weight(Aa) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Left) | 
= | 
0 | 
 | 
weight(Left) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Right5) | 
= | 
3 | 
 | 
weight(Right5) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Right4) | 
= | 
7 | 
 | 
weight(Right4) | 
= | 
1 | 
 | 
 | 
 | 
| prec(d) | 
= | 
0 | 
 | 
weight(d) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Right3) | 
= | 
7 | 
 | 
weight(Right3) | 
= | 
1 | 
 | 
 | 
 | 
| prec(c) | 
= | 
0 | 
 | 
weight(c) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Right2) | 
= | 
8 | 
 | 
weight(Right2) | 
= | 
1 | 
 | 
 | 
 | 
| prec(b) | 
= | 
0 | 
 | 
weight(b) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Wait) | 
= | 
9 | 
 | 
weight(Wait) | 
= | 
0 | 
 | 
 | 
 | 
| prec(Right1) | 
= | 
8 | 
 | 
weight(Right1) | 
= | 
1 | 
 | 
 | 
 | 
| prec(Begin) | 
= | 
0 | 
 | 
weight(Begin) | 
= | 
1 | 
 | 
 | 
 | 
| prec(a) | 
= | 
0 | 
 | 
weight(a) | 
= | 
1 | 
 | 
 | 
 | 
          all rules could be removed.
        1.1.1.1.1 R is empty 
There are no rules in the TRS. Hence, it is terminating.