MAYBE
by ttt2 (version ttt2 1.15)
The rewrite relation of the following TRS is considered.
begin(end(x0)) | → | rewrite(end(x0)) |
begin(P(x0)) | → | rotate(cut(CP(guess(x0)))) |
begin(Q(x0)) | → | rotate(cut(CQ(guess(x0)))) |
begin(p(x0)) | → | rotate(cut(Cp(guess(x0)))) |
begin(q(x0)) | → | rotate(cut(Cq(guess(x0)))) |
guess(P(x0)) | → | CP(guess(x0)) |
guess(Q(x0)) | → | CQ(guess(x0)) |
guess(p(x0)) | → | Cp(guess(x0)) |
guess(q(x0)) | → | Cq(guess(x0)) |
guess(P(x0)) | → | moveleft(BP(wait(x0))) |
guess(Q(x0)) | → | moveleft(BQ(wait(x0))) |
guess(p(x0)) | → | moveleft(Bp(wait(x0))) |
guess(q(x0)) | → | moveleft(Bq(wait(x0))) |
guess(end(x0)) | → | finish(end(x0)) |
CP(moveleft(BP(x0))) | → | moveleft(BP(AP(x0))) |
CQ(moveleft(BP(x0))) | → | moveleft(BP(AQ(x0))) |
Cp(moveleft(BP(x0))) | → | moveleft(BP(Ap(x0))) |
Cq(moveleft(BP(x0))) | → | moveleft(BP(Aq(x0))) |
CP(moveleft(BQ(x0))) | → | moveleft(BQ(AP(x0))) |
CQ(moveleft(BQ(x0))) | → | moveleft(BQ(AQ(x0))) |
Cp(moveleft(BQ(x0))) | → | moveleft(BQ(Ap(x0))) |
Cq(moveleft(BQ(x0))) | → | moveleft(BQ(Aq(x0))) |
CP(moveleft(Bp(x0))) | → | moveleft(Bp(AP(x0))) |
CQ(moveleft(Bp(x0))) | → | moveleft(Bp(AQ(x0))) |
Cp(moveleft(Bp(x0))) | → | moveleft(Bp(Ap(x0))) |
Cq(moveleft(Bp(x0))) | → | moveleft(Bp(Aq(x0))) |
CP(moveleft(Bq(x0))) | → | moveleft(Bq(AP(x0))) |
CQ(moveleft(Bq(x0))) | → | moveleft(Bq(AQ(x0))) |
Cp(moveleft(Bq(x0))) | → | moveleft(Bq(Ap(x0))) |
Cq(moveleft(Bq(x0))) | → | moveleft(Bq(Aq(x0))) |
cut(moveleft(BP(x0))) | → | DP(cut(goright(x0))) |
cut(moveleft(BQ(x0))) | → | DQ(cut(goright(x0))) |
cut(moveleft(Bp(x0))) | → | Dp(cut(goright(x0))) |
cut(moveleft(Bq(x0))) | → | Dq(cut(goright(x0))) |
goright(AP(x0)) | → | CP(goright(x0)) |
goright(AQ(x0)) | → | CQ(goright(x0)) |
goright(Ap(x0)) | → | Cp(goright(x0)) |
goright(Aq(x0)) | → | Cq(goright(x0)) |
goright(wait(P(x0))) | → | moveleft(BP(wait(x0))) |
goright(wait(Q(x0))) | → | moveleft(BQ(wait(x0))) |
goright(wait(p(x0))) | → | moveleft(Bp(wait(x0))) |
goright(wait(q(x0))) | → | moveleft(Bq(wait(x0))) |
goright(wait(end(x0))) | → | finish(end(x0)) |
CP(finish(x0)) | → | finish(P(x0)) |
CQ(finish(x0)) | → | finish(Q(x0)) |
Cp(finish(x0)) | → | finish(p(x0)) |
Cq(finish(x0)) | → | finish(q(x0)) |
cut(finish(x0)) | → | finish2(x0) |
DP(finish2(x0)) | → | finish2(P(x0)) |
DQ(finish2(x0)) | → | finish2(Q(x0)) |
Dp(finish2(x0)) | → | finish2(p(x0)) |
Dq(finish2(x0)) | → | finish2(q(x0)) |
rotate(finish2(x0)) | → | rewrite(x0) |
rewrite(P(x0)) | → | begin(Q(Q(p(x0)))) |
rewrite(p(p(x0))) | → | begin(q(q(x0))) |
rewrite(p(Q(Q(x0)))) | → | begin(Q(Q(p(x0)))) |
rewrite(Q(p(q(x0)))) | → | begin(q(p(Q(x0)))) |
rewrite(q(q(p(x0)))) | → | begin(p(q(q(x0)))) |
rewrite(q(Q(x0))) | → | begin(x0) |
rewrite(Q(q(x0))) | → | begin(x0) |
rewrite(p(P(x0))) | → | begin(x0) |
rewrite(P(p(x0))) | → | begin(x0) |
begin(end(x0)) | → | rewrite(end(x0)) |
begin(P(x0)) | → | rotate(cut(CP(guess(x0)))) |
begin(Q(x0)) | → | rotate(cut(CQ(guess(x0)))) |
begin(p(x0)) | → | rotate(cut(Cp(guess(x0)))) |
begin(q(x0)) | → | rotate(cut(Cq(guess(x0)))) |
guess(P(x0)) | → | CP(guess(x0)) |
guess(Q(x0)) | → | CQ(guess(x0)) |
guess(p(x0)) | → | Cp(guess(x0)) |
guess(q(x0)) | → | Cq(guess(x0)) |
guess(P(x0)) | → | moveleft(BP(wait(x0))) |
guess(Q(x0)) | → | moveleft(BQ(wait(x0))) |
guess(p(x0)) | → | moveleft(Bp(wait(x0))) |
guess(q(x0)) | → | moveleft(Bq(wait(x0))) |
guess(end(x0)) | → | finish(end(x0)) |
CP(moveleft(BP(x0))) | → | moveleft(BP(AP(x0))) |
CQ(moveleft(BP(x0))) | → | moveleft(BP(AQ(x0))) |
Cp(moveleft(BP(x0))) | → | moveleft(BP(Ap(x0))) |
Cq(moveleft(BP(x0))) | → | moveleft(BP(Aq(x0))) |
CP(moveleft(BQ(x0))) | → | moveleft(BQ(AP(x0))) |
CQ(moveleft(BQ(x0))) | → | moveleft(BQ(AQ(x0))) |
Cp(moveleft(BQ(x0))) | → | moveleft(BQ(Ap(x0))) |
Cq(moveleft(BQ(x0))) | → | moveleft(BQ(Aq(x0))) |
CP(moveleft(Bp(x0))) | → | moveleft(Bp(AP(x0))) |
CQ(moveleft(Bp(x0))) | → | moveleft(Bp(AQ(x0))) |
Cp(moveleft(Bp(x0))) | → | moveleft(Bp(Ap(x0))) |
Cq(moveleft(Bp(x0))) | → | moveleft(Bp(Aq(x0))) |
CP(moveleft(Bq(x0))) | → | moveleft(Bq(AP(x0))) |
CQ(moveleft(Bq(x0))) | → | moveleft(Bq(AQ(x0))) |
Cp(moveleft(Bq(x0))) | → | moveleft(Bq(Ap(x0))) |
Cq(moveleft(Bq(x0))) | → | moveleft(Bq(Aq(x0))) |
cut(moveleft(BP(x0))) | → | DP(cut(goright(x0))) |
cut(moveleft(BQ(x0))) | → | DQ(cut(goright(x0))) |
cut(moveleft(Bp(x0))) | → | Dp(cut(goright(x0))) |
cut(moveleft(Bq(x0))) | → | Dq(cut(goright(x0))) |
goright(AP(x0)) | → | CP(goright(x0)) |
goright(AQ(x0)) | → | CQ(goright(x0)) |
goright(Ap(x0)) | → | Cp(goright(x0)) |
goright(Aq(x0)) | → | Cq(goright(x0)) |
goright(wait(P(x0))) | → | moveleft(BP(wait(x0))) |
goright(wait(Q(x0))) | → | moveleft(BQ(wait(x0))) |
goright(wait(p(x0))) | → | moveleft(Bp(wait(x0))) |
goright(wait(q(x0))) | → | moveleft(Bq(wait(x0))) |
goright(wait(end(x0))) | → | finish(end(x0)) |
CP(finish(x0)) | → | finish(P(x0)) |
CQ(finish(x0)) | → | finish(Q(x0)) |
Cp(finish(x0)) | → | finish(p(x0)) |
Cq(finish(x0)) | → | finish(q(x0)) |
cut(finish(x0)) | → | finish2(x0) |
DP(finish2(x0)) | → | finish2(P(x0)) |
DQ(finish2(x0)) | → | finish2(Q(x0)) |
Dp(finish2(x0)) | → | finish2(p(x0)) |
Dq(finish2(x0)) | → | finish2(q(x0)) |
rotate(finish2(x0)) | → | rewrite(x0) |
rewrite(P(x0)) | → | begin(Q(Q(p(x0)))) |
rewrite(p(p(x0))) | → | begin(q(q(x0))) |
rewrite(p(Q(Q(x0)))) | → | begin(Q(Q(p(x0)))) |
rewrite(Q(p(q(x0)))) | → | begin(q(p(Q(x0)))) |
rewrite(q(q(p(x0)))) | → | begin(p(q(q(x0)))) |
rewrite(q(Q(x0))) | → | begin(x0) |
rewrite(Q(q(x0))) | → | begin(x0) |
rewrite(p(P(x0))) | → | begin(x0) |
rewrite(P(p(x0))) | → | begin(x0) |