YES
Termination Proof
Termination Proof
by ttt2 (version ttt2 1.15)
Input
The rewrite relation of the following TRS is considered.
C(x0) |
→ |
c(x0) |
c(c(x0)) |
→ |
x0 |
b(b(x0)) |
→ |
B(x0) |
B(B(x0)) |
→ |
b(x0) |
c(B(c(b(c(x0))))) |
→ |
B(c(b(c(B(c(b(x0))))))) |
b(B(x0)) |
→ |
x0 |
B(b(x0)) |
→ |
x0 |
c(C(x0)) |
→ |
x0 |
C(c(x0)) |
→ |
x0 |
Proof
1 Rule Removal
Using the
linear polynomial interpretation over the arctic semiring over the integers
[c(x1)] |
= |
0 ·
x1 +
-∞
|
[B(x1)] |
= |
0 ·
x1 +
-∞
|
[C(x1)] |
= |
12 ·
x1 +
-∞
|
[b(x1)] |
= |
0 ·
x1 +
-∞
|
the
rules
c(c(x0)) |
→ |
x0 |
b(b(x0)) |
→ |
B(x0) |
B(B(x0)) |
→ |
b(x0) |
c(B(c(b(c(x0))))) |
→ |
B(c(b(c(B(c(b(x0))))))) |
b(B(x0)) |
→ |
x0 |
B(b(x0)) |
→ |
x0 |
remain.
1.1 Rule Removal
Using the
linear polynomial interpretation over the arctic semiring over the integers
[c(x1)] |
= |
1 ·
x1 +
-∞
|
[B(x1)] |
= |
0 ·
x1 +
-∞
|
[b(x1)] |
= |
0 ·
x1 +
-∞
|
the
rules
b(b(x0)) |
→ |
B(x0) |
B(B(x0)) |
→ |
b(x0) |
c(B(c(b(c(x0))))) |
→ |
B(c(b(c(B(c(b(x0))))))) |
b(B(x0)) |
→ |
x0 |
B(b(x0)) |
→ |
x0 |
remain.
1.1.1 String Reversal
Since only unary symbols occur, one can reverse all terms and obtains the TRS
b(b(x0)) |
→ |
B(x0) |
B(B(x0)) |
→ |
b(x0) |
c(b(c(B(c(x0))))) |
→ |
b(c(B(c(b(c(B(x0))))))) |
B(b(x0)) |
→ |
x0 |
b(B(x0)) |
→ |
x0 |
1.1.1.1 Bounds
The given TRS is
match-bounded by 1.
This is shown by the following automaton.
-
final states:
{2, 4, 3, 1}
-
transitions:
3 |
→ |
1 |
9 |
→ |
8 |
9 |
→ |
10 |
1 |
→ |
3 |
2 |
→ |
1 |
11 |
→ |
6 |
4 |
→ |
7 |
4 |
→ |
5 |
B1(10) |
→ |
11 |
f40
|
→ |
2 |
b0(9) |
→ |
4 |
b0(5) |
→ |
6 |
b0(2) |
→ |
3 |
c0(8) |
→ |
9 |
c0(6) |
→ |
7 |
c0(1) |
→ |
5 |
B0(2) |
→ |
1 |
B0(7) |
→ |
8 |