YES
by ttt2 (version ttt2 1.15)
The rewrite relation of the following TRS is considered.
begin(end(x0)) | → | rewrite(end(x0)) |
begin(a(x0)) | → | rotate(cut(Ca(guess(x0)))) |
begin(b(x0)) | → | rotate(cut(Cb(guess(x0)))) |
guess(a(x0)) | → | Ca(guess(x0)) |
guess(b(x0)) | → | Cb(guess(x0)) |
guess(a(x0)) | → | moveleft(Ba(wait(x0))) |
guess(b(x0)) | → | moveleft(Bb(wait(x0))) |
guess(end(x0)) | → | finish(end(x0)) |
Ca(moveleft(Ba(x0))) | → | moveleft(Ba(Aa(x0))) |
Cb(moveleft(Ba(x0))) | → | moveleft(Ba(Ab(x0))) |
Ca(moveleft(Bb(x0))) | → | moveleft(Bb(Aa(x0))) |
Cb(moveleft(Bb(x0))) | → | moveleft(Bb(Ab(x0))) |
cut(moveleft(Ba(x0))) | → | Da(cut(goright(x0))) |
cut(moveleft(Bb(x0))) | → | Db(cut(goright(x0))) |
goright(Aa(x0)) | → | Ca(goright(x0)) |
goright(Ab(x0)) | → | Cb(goright(x0)) |
goright(wait(a(x0))) | → | moveleft(Ba(wait(x0))) |
goright(wait(b(x0))) | → | moveleft(Bb(wait(x0))) |
goright(wait(end(x0))) | → | finish(end(x0)) |
Ca(finish(x0)) | → | finish(a(x0)) |
Cb(finish(x0)) | → | finish(b(x0)) |
cut(finish(x0)) | → | finish2(x0) |
Da(finish2(x0)) | → | finish2(a(x0)) |
Db(finish2(x0)) | → | finish2(b(x0)) |
rotate(finish2(x0)) | → | rewrite(x0) |
rewrite(a(x0)) | → | begin(b(x0)) |
[Da(x1)] | = | 12 · x1 + -∞ |
[guess(x1)] | = | 8 · x1 + -∞ |
[Aa(x1)] | = | 12 · x1 + -∞ |
[b(x1)] | = | 11 · x1 + -∞ |
[begin(x1)] | = | 9 · x1 + -∞ |
[a(x1)] | = | 12 · x1 + -∞ |
[Ab(x1)] | = | 11 · x1 + -∞ |
[Db(x1)] | = | 11 · x1 + -∞ |
[goright(x1)] | = | 1 · x1 + -∞ |
[Ca(x1)] | = | 12 · x1 + -∞ |
[wait(x1)] | = | 7 · x1 + -∞ |
[end(x1)] | = | 8 · x1 + -∞ |
[rotate(x1)] | = | 0 · x1 + -∞ |
[finish2(x1)] | = | 9 · x1 + -∞ |
[finish(x1)] | = | 8 · x1 + -∞ |
[moveleft(x1)] | = | 4 · x1 + -∞ |
[Ba(x1)] | = | 9 · x1 + -∞ |
[Cb(x1)] | = | 11 · x1 + -∞ |
[Bb(x1)] | = | 8 · x1 + -∞ |
[cut(x1)] | = | 1 · x1 + -∞ |
[rewrite(x1)] | = | 9 · x1 + -∞ |
begin(end(x0)) | → | rewrite(end(x0)) |
begin(a(x0)) | → | rotate(cut(Ca(guess(x0)))) |
begin(b(x0)) | → | rotate(cut(Cb(guess(x0)))) |
guess(a(x0)) | → | Ca(guess(x0)) |
guess(b(x0)) | → | Cb(guess(x0)) |
guess(a(x0)) | → | moveleft(Ba(wait(x0))) |
guess(b(x0)) | → | moveleft(Bb(wait(x0))) |
guess(end(x0)) | → | finish(end(x0)) |
Ca(moveleft(Ba(x0))) | → | moveleft(Ba(Aa(x0))) |
Cb(moveleft(Ba(x0))) | → | moveleft(Ba(Ab(x0))) |
Ca(moveleft(Bb(x0))) | → | moveleft(Bb(Aa(x0))) |
Cb(moveleft(Bb(x0))) | → | moveleft(Bb(Ab(x0))) |
cut(moveleft(Ba(x0))) | → | Da(cut(goright(x0))) |
cut(moveleft(Bb(x0))) | → | Db(cut(goright(x0))) |
goright(Aa(x0)) | → | Ca(goright(x0)) |
goright(Ab(x0)) | → | Cb(goright(x0)) |
goright(wait(a(x0))) | → | moveleft(Ba(wait(x0))) |
goright(wait(b(x0))) | → | moveleft(Bb(wait(x0))) |
goright(wait(end(x0))) | → | finish(end(x0)) |
Ca(finish(x0)) | → | finish(a(x0)) |
Cb(finish(x0)) | → | finish(b(x0)) |
cut(finish(x0)) | → | finish2(x0) |
Da(finish2(x0)) | → | finish2(a(x0)) |
Db(finish2(x0)) | → | finish2(b(x0)) |
rotate(finish2(x0)) | → | rewrite(x0) |
end(begin(x0)) | → | end(rewrite(x0)) |
a(begin(x0)) | → | guess(Ca(cut(rotate(x0)))) |
b(begin(x0)) | → | guess(Cb(cut(rotate(x0)))) |
a(guess(x0)) | → | guess(Ca(x0)) |
b(guess(x0)) | → | guess(Cb(x0)) |
a(guess(x0)) | → | wait(Ba(moveleft(x0))) |
b(guess(x0)) | → | wait(Bb(moveleft(x0))) |
end(guess(x0)) | → | end(finish(x0)) |
Ba(moveleft(Ca(x0))) | → | Aa(Ba(moveleft(x0))) |
Ba(moveleft(Cb(x0))) | → | Ab(Ba(moveleft(x0))) |
Bb(moveleft(Ca(x0))) | → | Aa(Bb(moveleft(x0))) |
Bb(moveleft(Cb(x0))) | → | Ab(Bb(moveleft(x0))) |
Ba(moveleft(cut(x0))) | → | goright(cut(Da(x0))) |
Bb(moveleft(cut(x0))) | → | goright(cut(Db(x0))) |
Aa(goright(x0)) | → | goright(Ca(x0)) |
Ab(goright(x0)) | → | goright(Cb(x0)) |
a(wait(goright(x0))) | → | wait(Ba(moveleft(x0))) |
b(wait(goright(x0))) | → | wait(Bb(moveleft(x0))) |
end(wait(goright(x0))) | → | end(finish(x0)) |
finish(Ca(x0)) | → | a(finish(x0)) |
finish(Cb(x0)) | → | b(finish(x0)) |
finish(cut(x0)) | → | finish2(x0) |
finish2(Da(x0)) | → | a(finish2(x0)) |
finish2(Db(x0)) | → | b(finish2(x0)) |
finish2(rotate(x0)) | → | rewrite(x0) |
final states:
{3, 37, 36, 35, 34, 33, 32, 31, 28, 25, 24, 23, 22, 21, 19, 17, 14, 12, 10, 8, 4, 1}
transitions:
33 | → | 20 |
33 | → | 35 |
23 | → | 18 |
25 | → | 16 |
61 | → | 18 |
61 | → | 23 |
61 | → | 24 |
39 | → | 48 |
39 | → | 54 |
3 | → | 35 |
34 | → | 20 |
34 | → | 35 |
65 | → | 60 |
55 | → | 39 |
49 | → | 39 |
40 | → | 16 |
40 | → | 21 |
40 | → | 22 |
71 | → | 60 |
60 | → | 68 |
60 | → | 70 |
21 | → | 16 |
22 | → | 16 |
28 | → | 18 |
45 | → | 39 |
69 | → | 60 |
30 | → | 59 |
30 | → | 64 |
35 | → | 20 |
24 | → | 18 |
27 | → | 38 |
27 | → | 44 |
Da0(2) | → | 26 |
finish0(2) | → | 20 |
end0(20) | → | 19 |
end0(3) | → | 1 |
Aa0(18) | → | 23 |
Aa0(16) | → | 21 |
f210 | → | 2 |
wait0(18) | → | 17 |
wait0(16) | → | 14 |
a0(20) | → | 33 |
a0(35) | → | 36 |
goright0(27) | → | 25 |
goright0(11) | → | 31 |
goright0(30) | → | 28 |
goright0(13) | → | 32 |
cut0(26) | → | 27 |
cut0(29) | → | 30 |
cut0(5) | → | 6 |
Db0(2) | → | 29 |
Ba0(15) | → | 16 |
goright1(60) | → | 61 |
goright1(39) | → | 40 |
Ab0(18) | → | 24 |
Ab0(16) | → | 22 |
guess0(13) | → | 12 |
guess0(9) | → | 8 |
guess0(11) | → | 10 |
guess0(7) | → | 4 |
b0(20) | → | 34 |
b0(35) | → | 37 |
finish20(2) | → | 35 |
moveleft0(2) | → | 15 |
Cb1(54) | → | 55 |
Cb1(70) | → | 71 |
Cb1(44) | → | 45 |
Cb1(64) | → | 65 |
rewrite0(2) | → | 3 |
Bb0(15) | → | 18 |
rotate0(2) | → | 5 |
Ca1(68) | → | 69 |
Ca1(48) | → | 49 |
Ca1(38) | → | 39 |
Ca1(59) | → | 60 |
Ca0(2) | → | 11 |
Ca0(6) | → | 7 |
Cb0(6) | → | 9 |
Cb0(2) | → | 13 |