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 |