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