MAYBE
by ttt2 (version ttt2 1.15)
The rewrite relation of the following TRS is considered.
begin(end(x0)) | → | rewrite(end(x0)) |
begin(foo(x0)) | → | rotate(cut(Cfoo(guess(x0)))) |
begin(0(x0)) | → | rotate(cut(C0(guess(x0)))) |
begin(s(x0)) | → | rotate(cut(Cs(guess(x0)))) |
begin(p(x0)) | → | rotate(cut(Cp(guess(x0)))) |
begin(bar(x0)) | → | rotate(cut(Cbar(guess(x0)))) |
guess(foo(x0)) | → | Cfoo(guess(x0)) |
guess(0(x0)) | → | C0(guess(x0)) |
guess(s(x0)) | → | Cs(guess(x0)) |
guess(p(x0)) | → | Cp(guess(x0)) |
guess(bar(x0)) | → | Cbar(guess(x0)) |
guess(foo(x0)) | → | moveleft(Bfoo(wait(x0))) |
guess(0(x0)) | → | moveleft(B0(wait(x0))) |
guess(s(x0)) | → | moveleft(Bs(wait(x0))) |
guess(p(x0)) | → | moveleft(Bp(wait(x0))) |
guess(bar(x0)) | → | moveleft(Bbar(wait(x0))) |
guess(end(x0)) | → | finish(end(x0)) |
Cfoo(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(Afoo(x0))) |
C0(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(A0(x0))) |
Cs(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(As(x0))) |
Cp(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(Ap(x0))) |
Cbar(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(Abar(x0))) |
Cfoo(moveleft(B0(x0))) | → | moveleft(B0(Afoo(x0))) |
C0(moveleft(B0(x0))) | → | moveleft(B0(A0(x0))) |
Cs(moveleft(B0(x0))) | → | moveleft(B0(As(x0))) |
Cp(moveleft(B0(x0))) | → | moveleft(B0(Ap(x0))) |
Cbar(moveleft(B0(x0))) | → | moveleft(B0(Abar(x0))) |
Cfoo(moveleft(Bs(x0))) | → | moveleft(Bs(Afoo(x0))) |
C0(moveleft(Bs(x0))) | → | moveleft(Bs(A0(x0))) |
Cs(moveleft(Bs(x0))) | → | moveleft(Bs(As(x0))) |
Cp(moveleft(Bs(x0))) | → | moveleft(Bs(Ap(x0))) |
Cbar(moveleft(Bs(x0))) | → | moveleft(Bs(Abar(x0))) |
Cfoo(moveleft(Bp(x0))) | → | moveleft(Bp(Afoo(x0))) |
C0(moveleft(Bp(x0))) | → | moveleft(Bp(A0(x0))) |
Cs(moveleft(Bp(x0))) | → | moveleft(Bp(As(x0))) |
Cp(moveleft(Bp(x0))) | → | moveleft(Bp(Ap(x0))) |
Cbar(moveleft(Bp(x0))) | → | moveleft(Bp(Abar(x0))) |
Cfoo(moveleft(Bbar(x0))) | → | moveleft(Bbar(Afoo(x0))) |
C0(moveleft(Bbar(x0))) | → | moveleft(Bbar(A0(x0))) |
Cs(moveleft(Bbar(x0))) | → | moveleft(Bbar(As(x0))) |
Cp(moveleft(Bbar(x0))) | → | moveleft(Bbar(Ap(x0))) |
Cbar(moveleft(Bbar(x0))) | → | moveleft(Bbar(Abar(x0))) |
cut(moveleft(Bfoo(x0))) | → | Dfoo(cut(goright(x0))) |
cut(moveleft(B0(x0))) | → | D0(cut(goright(x0))) |
cut(moveleft(Bs(x0))) | → | Ds(cut(goright(x0))) |
cut(moveleft(Bp(x0))) | → | Dp(cut(goright(x0))) |
cut(moveleft(Bbar(x0))) | → | Dbar(cut(goright(x0))) |
goright(Afoo(x0)) | → | Cfoo(goright(x0)) |
goright(A0(x0)) | → | C0(goright(x0)) |
goright(As(x0)) | → | Cs(goright(x0)) |
goright(Ap(x0)) | → | Cp(goright(x0)) |
goright(Abar(x0)) | → | Cbar(goright(x0)) |
goright(wait(foo(x0))) | → | moveleft(Bfoo(wait(x0))) |
goright(wait(0(x0))) | → | moveleft(B0(wait(x0))) |
goright(wait(s(x0))) | → | moveleft(Bs(wait(x0))) |
goright(wait(p(x0))) | → | moveleft(Bp(wait(x0))) |
goright(wait(bar(x0))) | → | moveleft(Bbar(wait(x0))) |
goright(wait(end(x0))) | → | finish(end(x0)) |
Cfoo(finish(x0)) | → | finish(foo(x0)) |
C0(finish(x0)) | → | finish(0(x0)) |
Cs(finish(x0)) | → | finish(s(x0)) |
Cp(finish(x0)) | → | finish(p(x0)) |
Cbar(finish(x0)) | → | finish(bar(x0)) |
cut(finish(x0)) | → | finish2(x0) |
Dfoo(finish2(x0)) | → | finish2(foo(x0)) |
D0(finish2(x0)) | → | finish2(0(x0)) |
Ds(finish2(x0)) | → | finish2(s(x0)) |
Dp(finish2(x0)) | → | finish2(p(x0)) |
Dbar(finish2(x0)) | → | finish2(bar(x0)) |
rotate(finish2(x0)) | → | rewrite(x0) |
rewrite(foo(0(x0))) | → | begin(0(s(p(p(p(s(s(s(p(s(x0))))))))))) |
rewrite(foo(s(x0))) | → | begin(p(s(p(p(p(s(s(p(s(s(p(s(foo(p(p(s(s(p(s(bar(p(p(s(s(p(s(x0))))))))))))))))))))))))))) |
rewrite(bar(0(x0))) | → | begin(0(p(s(s(s(x0)))))) |
rewrite(bar(s(x0))) | → | begin(p(s(p(p(s(s(foo(s(p(p(s(s(x0))))))))))))) |
rewrite(p(p(s(x0)))) | → | begin(p(x0)) |
rewrite(p(s(x0))) | → | begin(x0) |
rewrite(p(0(x0))) | → | begin(0(s(s(s(s(x0)))))) |
begin(end(x0)) | → | rewrite(end(x0)) |
begin(foo(x0)) | → | rotate(cut(Cfoo(guess(x0)))) |
begin(0(x0)) | → | rotate(cut(C0(guess(x0)))) |
begin(s(x0)) | → | rotate(cut(Cs(guess(x0)))) |
begin(p(x0)) | → | rotate(cut(Cp(guess(x0)))) |
begin(bar(x0)) | → | rotate(cut(Cbar(guess(x0)))) |
guess(foo(x0)) | → | Cfoo(guess(x0)) |
guess(0(x0)) | → | C0(guess(x0)) |
guess(s(x0)) | → | Cs(guess(x0)) |
guess(p(x0)) | → | Cp(guess(x0)) |
guess(bar(x0)) | → | Cbar(guess(x0)) |
guess(foo(x0)) | → | moveleft(Bfoo(wait(x0))) |
guess(0(x0)) | → | moveleft(B0(wait(x0))) |
guess(s(x0)) | → | moveleft(Bs(wait(x0))) |
guess(p(x0)) | → | moveleft(Bp(wait(x0))) |
guess(bar(x0)) | → | moveleft(Bbar(wait(x0))) |
guess(end(x0)) | → | finish(end(x0)) |
Cfoo(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(Afoo(x0))) |
C0(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(A0(x0))) |
Cs(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(As(x0))) |
Cp(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(Ap(x0))) |
Cbar(moveleft(Bfoo(x0))) | → | moveleft(Bfoo(Abar(x0))) |
Cfoo(moveleft(B0(x0))) | → | moveleft(B0(Afoo(x0))) |
C0(moveleft(B0(x0))) | → | moveleft(B0(A0(x0))) |
Cs(moveleft(B0(x0))) | → | moveleft(B0(As(x0))) |
Cp(moveleft(B0(x0))) | → | moveleft(B0(Ap(x0))) |
Cbar(moveleft(B0(x0))) | → | moveleft(B0(Abar(x0))) |
Cfoo(moveleft(Bs(x0))) | → | moveleft(Bs(Afoo(x0))) |
C0(moveleft(Bs(x0))) | → | moveleft(Bs(A0(x0))) |
Cs(moveleft(Bs(x0))) | → | moveleft(Bs(As(x0))) |
Cp(moveleft(Bs(x0))) | → | moveleft(Bs(Ap(x0))) |
Cbar(moveleft(Bs(x0))) | → | moveleft(Bs(Abar(x0))) |
Cfoo(moveleft(Bp(x0))) | → | moveleft(Bp(Afoo(x0))) |
C0(moveleft(Bp(x0))) | → | moveleft(Bp(A0(x0))) |
Cs(moveleft(Bp(x0))) | → | moveleft(Bp(As(x0))) |
Cp(moveleft(Bp(x0))) | → | moveleft(Bp(Ap(x0))) |
Cbar(moveleft(Bp(x0))) | → | moveleft(Bp(Abar(x0))) |
Cfoo(moveleft(Bbar(x0))) | → | moveleft(Bbar(Afoo(x0))) |
C0(moveleft(Bbar(x0))) | → | moveleft(Bbar(A0(x0))) |
Cs(moveleft(Bbar(x0))) | → | moveleft(Bbar(As(x0))) |
Cp(moveleft(Bbar(x0))) | → | moveleft(Bbar(Ap(x0))) |
Cbar(moveleft(Bbar(x0))) | → | moveleft(Bbar(Abar(x0))) |
cut(moveleft(Bfoo(x0))) | → | Dfoo(cut(goright(x0))) |
cut(moveleft(B0(x0))) | → | D0(cut(goright(x0))) |
cut(moveleft(Bs(x0))) | → | Ds(cut(goright(x0))) |
cut(moveleft(Bp(x0))) | → | Dp(cut(goright(x0))) |
cut(moveleft(Bbar(x0))) | → | Dbar(cut(goright(x0))) |
goright(Afoo(x0)) | → | Cfoo(goright(x0)) |
goright(A0(x0)) | → | C0(goright(x0)) |
goright(As(x0)) | → | Cs(goright(x0)) |
goright(Ap(x0)) | → | Cp(goright(x0)) |
goright(Abar(x0)) | → | Cbar(goright(x0)) |
goright(wait(foo(x0))) | → | moveleft(Bfoo(wait(x0))) |
goright(wait(0(x0))) | → | moveleft(B0(wait(x0))) |
goright(wait(s(x0))) | → | moveleft(Bs(wait(x0))) |
goright(wait(p(x0))) | → | moveleft(Bp(wait(x0))) |
goright(wait(bar(x0))) | → | moveleft(Bbar(wait(x0))) |
goright(wait(end(x0))) | → | finish(end(x0)) |
Cfoo(finish(x0)) | → | finish(foo(x0)) |
C0(finish(x0)) | → | finish(0(x0)) |
Cs(finish(x0)) | → | finish(s(x0)) |
Cp(finish(x0)) | → | finish(p(x0)) |
Cbar(finish(x0)) | → | finish(bar(x0)) |
cut(finish(x0)) | → | finish2(x0) |
Dfoo(finish2(x0)) | → | finish2(foo(x0)) |
D0(finish2(x0)) | → | finish2(0(x0)) |
Ds(finish2(x0)) | → | finish2(s(x0)) |
Dp(finish2(x0)) | → | finish2(p(x0)) |
Dbar(finish2(x0)) | → | finish2(bar(x0)) |
rotate(finish2(x0)) | → | rewrite(x0) |
rewrite(foo(0(x0))) | → | begin(0(s(p(p(p(s(s(s(p(s(x0))))))))))) |
rewrite(foo(s(x0))) | → | begin(p(s(p(p(p(s(s(p(s(s(p(s(foo(p(p(s(s(p(s(bar(p(p(s(s(p(s(x0))))))))))))))))))))))))))) |
rewrite(bar(0(x0))) | → | begin(0(p(s(s(s(x0)))))) |
rewrite(bar(s(x0))) | → | begin(p(s(p(p(s(s(foo(s(p(p(s(s(x0))))))))))))) |
rewrite(p(p(s(x0)))) | → | begin(p(x0)) |
rewrite(p(s(x0))) | → | begin(x0) |
rewrite(p(0(x0))) | → | begin(0(s(s(s(s(x0)))))) |