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)))) |
begin(c(x0)) | → | rotate(cut(Cc(guess(x0)))) |
guess(a(x0)) | → | Ca(guess(x0)) |
guess(b(x0)) | → | Cb(guess(x0)) |
guess(c(x0)) | → | Cc(guess(x0)) |
guess(a(x0)) | → | moveleft(Ba(wait(x0))) |
guess(b(x0)) | → | moveleft(Bb(wait(x0))) |
guess(c(x0)) | → | moveleft(Bc(wait(x0))) |
guess(end(x0)) | → | finish(end(x0)) |
Ca(moveleft(Ba(x0))) | → | moveleft(Ba(Aa(x0))) |
Cb(moveleft(Ba(x0))) | → | moveleft(Ba(Ab(x0))) |
Cc(moveleft(Ba(x0))) | → | moveleft(Ba(Ac(x0))) |
Ca(moveleft(Bb(x0))) | → | moveleft(Bb(Aa(x0))) |
Cb(moveleft(Bb(x0))) | → | moveleft(Bb(Ab(x0))) |
Cc(moveleft(Bb(x0))) | → | moveleft(Bb(Ac(x0))) |
Ca(moveleft(Bc(x0))) | → | moveleft(Bc(Aa(x0))) |
Cb(moveleft(Bc(x0))) | → | moveleft(Bc(Ab(x0))) |
Cc(moveleft(Bc(x0))) | → | moveleft(Bc(Ac(x0))) |
cut(moveleft(Ba(x0))) | → | Da(cut(goright(x0))) |
cut(moveleft(Bb(x0))) | → | Db(cut(goright(x0))) |
cut(moveleft(Bc(x0))) | → | Dc(cut(goright(x0))) |
goright(Aa(x0)) | → | Ca(goright(x0)) |
goright(Ab(x0)) | → | Cb(goright(x0)) |
goright(Ac(x0)) | → | Cc(goright(x0)) |
goright(wait(a(x0))) | → | moveleft(Ba(wait(x0))) |
goright(wait(b(x0))) | → | moveleft(Bb(wait(x0))) |
goright(wait(c(x0))) | → | moveleft(Bc(wait(x0))) |
goright(wait(end(x0))) | → | finish(end(x0)) |
Ca(finish(x0)) | → | finish(a(x0)) |
Cb(finish(x0)) | → | finish(b(x0)) |
Cc(finish(x0)) | → | finish(c(x0)) |
cut(finish(x0)) | → | finish2(x0) |
Da(finish2(x0)) | → | finish2(a(x0)) |
Db(finish2(x0)) | → | finish2(b(x0)) |
Dc(finish2(x0)) | → | finish2(c(x0)) |
rotate(finish2(x0)) | → | rewrite(x0) |
rewrite(a(a(x0))) | → | begin(b(b(b(x0)))) |
rewrite(b(b(x0))) | → | begin(c(c(c(x0)))) |
rewrite(c(c(c(c(x0))))) | → | begin(a(b(x0))) |
[Aa(x1)] | = | 12 · x1 + -∞ |
[guess(x1)] | = | 0 · x1 + -∞ |
[Bb(x1)] | = | 3 · x1 + -∞ |
[b(x1)] | = | 8 · x1 + -∞ |
[begin(x1)] | = | 0 · x1 + -∞ |
[a(x1)] | = | 12 · x1 + -∞ |
[Bc(x1)] | = | 0 · x1 + -∞ |
[goright(x1)] | = | 0 · x1 + -∞ |
[Ab(x1)] | = | 8 · x1 + -∞ |
[finish(x1)] | = | 0 · x1 + -∞ |
[Da(x1)] | = | 12 · x1 + -∞ |
[Ca(x1)] | = | 12 · x1 + -∞ |
[c(x1)] | = | 5 · x1 + -∞ |
[end(x1)] | = | 1 · x1 + -∞ |
[rotate(x1)] | = | 0 · x1 + -∞ |
[Ac(x1)] | = | 5 · x1 + -∞ |
[finish2(x1)] | = | 0 · x1 + -∞ |
[moveleft(x1)] | = | 5 · x1 + -∞ |
[wait(x1)] | = | 0 · x1 + -∞ |
[Db(x1)] | = | 8 · x1 + -∞ |
[Dc(x1)] | = | 5 · x1 + -∞ |
[Cc(x1)] | = | 5 · x1 + -∞ |
[Cb(x1)] | = | 8 · x1 + -∞ |
[Ba(x1)] | = | 7 · x1 + -∞ |
[cut(x1)] | = | 0 · x1 + -∞ |
[rewrite(x1)] | = | 0 · x1 + -∞ |
begin(end(x0)) | → | rewrite(end(x0)) |
begin(a(x0)) | → | rotate(cut(Ca(guess(x0)))) |
begin(b(x0)) | → | rotate(cut(Cb(guess(x0)))) |
begin(c(x0)) | → | rotate(cut(Cc(guess(x0)))) |
guess(a(x0)) | → | Ca(guess(x0)) |
guess(b(x0)) | → | Cb(guess(x0)) |
guess(c(x0)) | → | Cc(guess(x0)) |
guess(a(x0)) | → | moveleft(Ba(wait(x0))) |
guess(b(x0)) | → | moveleft(Bb(wait(x0))) |
guess(c(x0)) | → | moveleft(Bc(wait(x0))) |
guess(end(x0)) | → | finish(end(x0)) |
Ca(moveleft(Ba(x0))) | → | moveleft(Ba(Aa(x0))) |
Cb(moveleft(Ba(x0))) | → | moveleft(Ba(Ab(x0))) |
Cc(moveleft(Ba(x0))) | → | moveleft(Ba(Ac(x0))) |
Ca(moveleft(Bb(x0))) | → | moveleft(Bb(Aa(x0))) |
Cb(moveleft(Bb(x0))) | → | moveleft(Bb(Ab(x0))) |
Cc(moveleft(Bb(x0))) | → | moveleft(Bb(Ac(x0))) |
Ca(moveleft(Bc(x0))) | → | moveleft(Bc(Aa(x0))) |
Cb(moveleft(Bc(x0))) | → | moveleft(Bc(Ab(x0))) |
Cc(moveleft(Bc(x0))) | → | moveleft(Bc(Ac(x0))) |
cut(moveleft(Ba(x0))) | → | Da(cut(goright(x0))) |
cut(moveleft(Bb(x0))) | → | Db(cut(goright(x0))) |
cut(moveleft(Bc(x0))) | → | Dc(cut(goright(x0))) |
goright(Aa(x0)) | → | Ca(goright(x0)) |
goright(Ab(x0)) | → | Cb(goright(x0)) |
goright(Ac(x0)) | → | Cc(goright(x0)) |
goright(wait(a(x0))) | → | moveleft(Ba(wait(x0))) |
goright(wait(b(x0))) | → | moveleft(Bb(wait(x0))) |
goright(wait(c(x0))) | → | moveleft(Bc(wait(x0))) |
goright(wait(end(x0))) | → | finish(end(x0)) |
Ca(finish(x0)) | → | finish(a(x0)) |
Cb(finish(x0)) | → | finish(b(x0)) |
Cc(finish(x0)) | → | finish(c(x0)) |
cut(finish(x0)) | → | finish2(x0) |
Da(finish2(x0)) | → | finish2(a(x0)) |
Db(finish2(x0)) | → | finish2(b(x0)) |
Dc(finish2(x0)) | → | finish2(c(x0)) |
rotate(finish2(x0)) | → | rewrite(x0) |
rewrite(a(a(x0))) | → | begin(b(b(b(x0)))) |
rewrite(c(c(c(c(x0))))) | → | begin(a(b(x0))) |
[Aa(x1)] | = | 1 · x1 + -∞ |
[guess(x1)] | = | 0 · x1 + -∞ |
[Bb(x1)] | = | 0 · x1 + -∞ |
[b(x1)] | = | 0 · x1 + -∞ |
[begin(x1)] | = | 0 · x1 + -∞ |
[a(x1)] | = | 1 · x1 + -∞ |
[Bc(x1)] | = | 1 · x1 + -∞ |
[goright(x1)] | = | 0 · x1 + -∞ |
[Ab(x1)] | = | 0 · x1 + -∞ |
[finish(x1)] | = | 0 · x1 + -∞ |
[Da(x1)] | = | 1 · x1 + -∞ |
[Ca(x1)] | = | 1 · x1 + -∞ |
[c(x1)] | = | 1 · x1 + -∞ |
[end(x1)] | = | 0 · x1 + -∞ |
[rotate(x1)] | = | 0 · x1 + -∞ |
[Ac(x1)] | = | 1 · x1 + -∞ |
[finish2(x1)] | = | 0 · x1 + -∞ |
[moveleft(x1)] | = | 0 · x1 + -∞ |
[wait(x1)] | = | 0 · x1 + -∞ |
[Db(x1)] | = | 0 · x1 + -∞ |
[Dc(x1)] | = | 1 · x1 + -∞ |
[Cc(x1)] | = | 1 · x1 + -∞ |
[Cb(x1)] | = | 0 · x1 + -∞ |
[Ba(x1)] | = | 1 · x1 + -∞ |
[cut(x1)] | = | 0 · x1 + -∞ |
[rewrite(x1)] | = | 0 · x1 + -∞ |
begin(end(x0)) | → | rewrite(end(x0)) |
begin(a(x0)) | → | rotate(cut(Ca(guess(x0)))) |
begin(b(x0)) | → | rotate(cut(Cb(guess(x0)))) |
begin(c(x0)) | → | rotate(cut(Cc(guess(x0)))) |
guess(a(x0)) | → | Ca(guess(x0)) |
guess(b(x0)) | → | Cb(guess(x0)) |
guess(c(x0)) | → | Cc(guess(x0)) |
guess(a(x0)) | → | moveleft(Ba(wait(x0))) |
guess(b(x0)) | → | moveleft(Bb(wait(x0))) |
guess(c(x0)) | → | moveleft(Bc(wait(x0))) |
guess(end(x0)) | → | finish(end(x0)) |
Ca(moveleft(Ba(x0))) | → | moveleft(Ba(Aa(x0))) |
Cb(moveleft(Ba(x0))) | → | moveleft(Ba(Ab(x0))) |
Cc(moveleft(Ba(x0))) | → | moveleft(Ba(Ac(x0))) |
Ca(moveleft(Bb(x0))) | → | moveleft(Bb(Aa(x0))) |
Cb(moveleft(Bb(x0))) | → | moveleft(Bb(Ab(x0))) |
Cc(moveleft(Bb(x0))) | → | moveleft(Bb(Ac(x0))) |
Ca(moveleft(Bc(x0))) | → | moveleft(Bc(Aa(x0))) |
Cb(moveleft(Bc(x0))) | → | moveleft(Bc(Ab(x0))) |
Cc(moveleft(Bc(x0))) | → | moveleft(Bc(Ac(x0))) |
cut(moveleft(Ba(x0))) | → | Da(cut(goright(x0))) |
cut(moveleft(Bb(x0))) | → | Db(cut(goright(x0))) |
cut(moveleft(Bc(x0))) | → | Dc(cut(goright(x0))) |
goright(Aa(x0)) | → | Ca(goright(x0)) |
goright(Ab(x0)) | → | Cb(goright(x0)) |
goright(Ac(x0)) | → | Cc(goright(x0)) |
goright(wait(a(x0))) | → | moveleft(Ba(wait(x0))) |
goright(wait(b(x0))) | → | moveleft(Bb(wait(x0))) |
goright(wait(c(x0))) | → | moveleft(Bc(wait(x0))) |
goright(wait(end(x0))) | → | finish(end(x0)) |
Ca(finish(x0)) | → | finish(a(x0)) |
Cb(finish(x0)) | → | finish(b(x0)) |
Cc(finish(x0)) | → | finish(c(x0)) |
cut(finish(x0)) | → | finish2(x0) |
Da(finish2(x0)) | → | finish2(a(x0)) |
Db(finish2(x0)) | → | finish2(b(x0)) |
Dc(finish2(x0)) | → | finish2(c(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)))) |
c(begin(x0)) | → | guess(Cc(cut(rotate(x0)))) |
a(guess(x0)) | → | guess(Ca(x0)) |
b(guess(x0)) | → | guess(Cb(x0)) |
c(guess(x0)) | → | guess(Cc(x0)) |
a(guess(x0)) | → | wait(Ba(moveleft(x0))) |
b(guess(x0)) | → | wait(Bb(moveleft(x0))) |
c(guess(x0)) | → | wait(Bc(moveleft(x0))) |
end(guess(x0)) | → | end(finish(x0)) |
Ba(moveleft(Ca(x0))) | → | Aa(Ba(moveleft(x0))) |
Ba(moveleft(Cb(x0))) | → | Ab(Ba(moveleft(x0))) |
Ba(moveleft(Cc(x0))) | → | Ac(Ba(moveleft(x0))) |
Bb(moveleft(Ca(x0))) | → | Aa(Bb(moveleft(x0))) |
Bb(moveleft(Cb(x0))) | → | Ab(Bb(moveleft(x0))) |
Bb(moveleft(Cc(x0))) | → | Ac(Bb(moveleft(x0))) |
Bc(moveleft(Ca(x0))) | → | Aa(Bc(moveleft(x0))) |
Bc(moveleft(Cb(x0))) | → | Ab(Bc(moveleft(x0))) |
Bc(moveleft(Cc(x0))) | → | Ac(Bc(moveleft(x0))) |
Ba(moveleft(cut(x0))) | → | goright(cut(Da(x0))) |
Bb(moveleft(cut(x0))) | → | goright(cut(Db(x0))) |
Bc(moveleft(cut(x0))) | → | goright(cut(Dc(x0))) |
Aa(goright(x0)) | → | goright(Ca(x0)) |
Ab(goright(x0)) | → | goright(Cb(x0)) |
Ac(goright(x0)) | → | goright(Cc(x0)) |
a(wait(goright(x0))) | → | wait(Ba(moveleft(x0))) |
b(wait(goright(x0))) | → | wait(Bb(moveleft(x0))) |
c(wait(goright(x0))) | → | wait(Bc(moveleft(x0))) |
end(wait(goright(x0))) | → | end(finish(x0)) |
finish(Ca(x0)) | → | a(finish(x0)) |
finish(Cb(x0)) | → | b(finish(x0)) |
finish(Cc(x0)) | → | c(finish(x0)) |
finish(cut(x0)) | → | finish2(x0) |
finish2(Da(x0)) | → | a(finish2(x0)) |
finish2(Db(x0)) | → | b(finish2(x0)) |
finish2(Dc(x0)) | → | c(finish2(x0)) |
finish2(rotate(x0)) | → | rewrite(x0) |
final states:
{3, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 42, 39, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 25, 23, 21, 18, 16, 14, 12, 10, 8, 4, 1}
transitions:
78 | → | 56 |
33 | → | 24 |
102 | → | 82 |
32 | → | 22 |
29 | → | 20 |
128 | → | 108 |
51 | → | 26 |
96 | → | 82 |
122 | → | 108 |
41 | → | 81 |
41 | → | 87 |
41 | → | 91 |
39 | → | 22 |
3 | → | 51 |
50 | → | 26 |
50 | → | 51 |
57 | → | 20 |
57 | → | 27 |
57 | → | 28 |
57 | → | 29 |
108 | → | 121 |
108 | → | 127 |
108 | → | 129 |
34 | → | 24 |
130 | → | 108 |
62 | → | 56 |
31 | → | 22 |
49 | → | 26 |
49 | → | 51 |
44 | → | 107 |
44 | → | 113 |
44 | → | 117 |
76 | → | 56 |
38 | → | 55 |
38 | → | 61 |
38 | → | 65 |
36 | → | 20 |
109 | → | 24 |
109 | → | 33 |
109 | → | 34 |
109 | → | 35 |
88 | → | 82 |
82 | → | 95 |
82 | → | 101 |
82 | → | 103 |
28 | → | 20 |
118 | → | 108 |
66 | → | 56 |
114 | → | 108 |
104 | → | 82 |
30 | → | 22 |
42 | → | 24 |
35 | → | 24 |
83 | → | 22 |
83 | → | 30 |
83 | → | 31 |
83 | → | 32 |
48 | → | 26 |
48 | → | 51 |
92 | → | 82 |
27 | → | 20 |
70 | → | 56 |
56 | → | 69 |
56 | → | 75 |
56 | → | 77 |
cut0(37) | → | 38 |
cut0(43) | → | 44 |
cut0(5) | → | 6 |
cut0(40) | → | 41 |
b0(26) | → | 49 |
b0(51) | → | 53 |
Bc0(19) | → | 24 |
a0(51) | → | 52 |
a0(26) | → | 48 |
finish20(2) | → | 51 |
Cb1(87) | → | 88 |
Cb1(61) | → | 62 |
Cb1(127) | → | 128 |
Cb1(75) | → | 76 |
Cb1(113) | → | 114 |
Cb1(101) | → | 102 |
guess0(9) | → | 8 |
guess0(15) | → | 14 |
guess0(11) | → | 10 |
guess0(7) | → | 4 |
guess0(17) | → | 16 |
guess0(13) | → | 12 |
f260 | → | 2 |
moveleft0(2) | → | 19 |
Ca1(55) | → | 56 |
Ca1(69) | → | 70 |
Ca1(121) | → | 122 |
Ca1(81) | → | 82 |
Ca1(95) | → | 96 |
Ca1(107) | → | 108 |
Ca0(2) | → | 13 |
Ca0(6) | → | 7 |
Cb0(6) | → | 9 |
Cb0(2) | → | 15 |
Dc0(2) | → | 43 |
goright0(44) | → | 42 |
goright0(13) | → | 45 |
goright0(17) | → | 47 |
goright0(41) | → | 39 |
goright0(15) | → | 46 |
goright0(38) | → | 36 |
Cc1(103) | → | 104 |
Cc1(129) | → | 130 |
Cc1(77) | → | 78 |
Cc1(91) | → | 92 |
Cc1(117) | → | 118 |
Cc1(65) | → | 66 |
end0(3) | → | 1 |
end0(26) | → | 25 |
goright1(56) | → | 57 |
goright1(82) | → | 83 |
goright1(108) | → | 109 |
Db0(2) | → | 40 |
Ac0(20) | → | 29 |
Ac0(24) | → | 35 |
Ac0(22) | → | 32 |
rotate0(2) | → | 5 |
Ba0(19) | → | 20 |
wait0(22) | → | 21 |
wait0(24) | → | 23 |
wait0(20) | → | 18 |
finish0(2) | → | 26 |
Aa0(24) | → | 33 |
Aa0(20) | → | 27 |
Aa0(22) | → | 30 |
Da0(2) | → | 37 |
Bb0(19) | → | 22 |
c0(26) | → | 50 |
c0(51) | → | 54 |
Cc0(6) | → | 11 |
Cc0(2) | → | 17 |
rewrite0(2) | → | 3 |
Ab0(24) | → | 34 |
Ab0(20) | → | 28 |
Ab0(22) | → | 31 |