MAYBE Termination Proof

Termination Proof

by ttt2 (version ttt2 1.15)

Input

The rewrite relation of the following TRS is considered.

begin(end(x0)) rewrite(end(x0))
begin(R(x0)) rotate(cut(CR(guess(x0))))
begin(r(x0)) rotate(cut(Cr(guess(x0))))
begin(p(x0)) rotate(cut(Cp(guess(x0))))
begin(P(x0)) rotate(cut(CP(guess(x0))))
guess(R(x0)) CR(guess(x0))
guess(r(x0)) Cr(guess(x0))
guess(p(x0)) Cp(guess(x0))
guess(P(x0)) CP(guess(x0))
guess(R(x0)) moveleft(BR(wait(x0)))
guess(r(x0)) moveleft(Br(wait(x0)))
guess(p(x0)) moveleft(Bp(wait(x0)))
guess(P(x0)) moveleft(BP(wait(x0)))
guess(end(x0)) finish(end(x0))
CR(moveleft(BR(x0))) moveleft(BR(AR(x0)))
Cr(moveleft(BR(x0))) moveleft(BR(Ar(x0)))
Cp(moveleft(BR(x0))) moveleft(BR(Ap(x0)))
CP(moveleft(BR(x0))) moveleft(BR(AP(x0)))
CR(moveleft(Br(x0))) moveleft(Br(AR(x0)))
Cr(moveleft(Br(x0))) moveleft(Br(Ar(x0)))
Cp(moveleft(Br(x0))) moveleft(Br(Ap(x0)))
CP(moveleft(Br(x0))) moveleft(Br(AP(x0)))
CR(moveleft(Bp(x0))) moveleft(Bp(AR(x0)))
Cr(moveleft(Bp(x0))) moveleft(Bp(Ar(x0)))
Cp(moveleft(Bp(x0))) moveleft(Bp(Ap(x0)))
CP(moveleft(Bp(x0))) moveleft(Bp(AP(x0)))
CR(moveleft(BP(x0))) moveleft(BP(AR(x0)))
Cr(moveleft(BP(x0))) moveleft(BP(Ar(x0)))
Cp(moveleft(BP(x0))) moveleft(BP(Ap(x0)))
CP(moveleft(BP(x0))) moveleft(BP(AP(x0)))
cut(moveleft(BR(x0))) DR(cut(goright(x0)))
cut(moveleft(Br(x0))) Dr(cut(goright(x0)))
cut(moveleft(Bp(x0))) Dp(cut(goright(x0)))
cut(moveleft(BP(x0))) DP(cut(goright(x0)))
goright(AR(x0)) CR(goright(x0))
goright(Ar(x0)) Cr(goright(x0))
goright(Ap(x0)) Cp(goright(x0))
goright(AP(x0)) CP(goright(x0))
goright(wait(R(x0))) moveleft(BR(wait(x0)))
goright(wait(r(x0))) moveleft(Br(wait(x0)))
goright(wait(p(x0))) moveleft(Bp(wait(x0)))
goright(wait(P(x0))) moveleft(BP(wait(x0)))
goright(wait(end(x0))) finish(end(x0))
CR(finish(x0)) finish(R(x0))
Cr(finish(x0)) finish(r(x0))
Cp(finish(x0)) finish(p(x0))
CP(finish(x0)) finish(P(x0))
cut(finish(x0)) finish2(x0)
DR(finish2(x0)) finish2(R(x0))
Dr(finish2(x0)) finish2(r(x0))
Dp(finish2(x0)) finish2(p(x0))
DP(finish2(x0)) finish2(P(x0))
rotate(finish2(x0)) rewrite(x0)
rewrite(R(x0)) begin(r(x0))
rewrite(r(p(x0))) begin(p(p(r(P(x0)))))
rewrite(r(r(x0))) begin(x0)
rewrite(r(P(P(x0)))) begin(P(P(r(x0))))
rewrite(p(P(x0))) begin(x0)
rewrite(P(p(x0))) begin(x0)
rewrite(r(R(x0))) begin(x0)
rewrite(R(r(x0))) begin(x0)

Proof

1 Termination Assumption

We assume termination of the following TRS
begin(end(x0)) rewrite(end(x0))
begin(R(x0)) rotate(cut(CR(guess(x0))))
begin(r(x0)) rotate(cut(Cr(guess(x0))))
begin(p(x0)) rotate(cut(Cp(guess(x0))))
begin(P(x0)) rotate(cut(CP(guess(x0))))
guess(R(x0)) CR(guess(x0))
guess(r(x0)) Cr(guess(x0))
guess(p(x0)) Cp(guess(x0))
guess(P(x0)) CP(guess(x0))
guess(R(x0)) moveleft(BR(wait(x0)))
guess(r(x0)) moveleft(Br(wait(x0)))
guess(p(x0)) moveleft(Bp(wait(x0)))
guess(P(x0)) moveleft(BP(wait(x0)))
guess(end(x0)) finish(end(x0))
CR(moveleft(BR(x0))) moveleft(BR(AR(x0)))
Cr(moveleft(BR(x0))) moveleft(BR(Ar(x0)))
Cp(moveleft(BR(x0))) moveleft(BR(Ap(x0)))
CP(moveleft(BR(x0))) moveleft(BR(AP(x0)))
CR(moveleft(Br(x0))) moveleft(Br(AR(x0)))
Cr(moveleft(Br(x0))) moveleft(Br(Ar(x0)))
Cp(moveleft(Br(x0))) moveleft(Br(Ap(x0)))
CP(moveleft(Br(x0))) moveleft(Br(AP(x0)))
CR(moveleft(Bp(x0))) moveleft(Bp(AR(x0)))
Cr(moveleft(Bp(x0))) moveleft(Bp(Ar(x0)))
Cp(moveleft(Bp(x0))) moveleft(Bp(Ap(x0)))
CP(moveleft(Bp(x0))) moveleft(Bp(AP(x0)))
CR(moveleft(BP(x0))) moveleft(BP(AR(x0)))
Cr(moveleft(BP(x0))) moveleft(BP(Ar(x0)))
Cp(moveleft(BP(x0))) moveleft(BP(Ap(x0)))
CP(moveleft(BP(x0))) moveleft(BP(AP(x0)))
cut(moveleft(BR(x0))) DR(cut(goright(x0)))
cut(moveleft(Br(x0))) Dr(cut(goright(x0)))
cut(moveleft(Bp(x0))) Dp(cut(goright(x0)))
cut(moveleft(BP(x0))) DP(cut(goright(x0)))
goright(AR(x0)) CR(goright(x0))
goright(Ar(x0)) Cr(goright(x0))
goright(Ap(x0)) Cp(goright(x0))
goright(AP(x0)) CP(goright(x0))
goright(wait(R(x0))) moveleft(BR(wait(x0)))
goright(wait(r(x0))) moveleft(Br(wait(x0)))
goright(wait(p(x0))) moveleft(Bp(wait(x0)))
goright(wait(P(x0))) moveleft(BP(wait(x0)))
goright(wait(end(x0))) finish(end(x0))
CR(finish(x0)) finish(R(x0))
Cr(finish(x0)) finish(r(x0))
Cp(finish(x0)) finish(p(x0))
CP(finish(x0)) finish(P(x0))
cut(finish(x0)) finish2(x0)
DR(finish2(x0)) finish2(R(x0))
Dr(finish2(x0)) finish2(r(x0))
Dp(finish2(x0)) finish2(p(x0))
DP(finish2(x0)) finish2(P(x0))
rotate(finish2(x0)) rewrite(x0)
rewrite(R(x0)) begin(r(x0))
rewrite(r(p(x0))) begin(p(p(r(P(x0)))))
rewrite(r(r(x0))) begin(x0)
rewrite(r(P(P(x0)))) begin(P(P(r(x0))))
rewrite(p(P(x0))) begin(x0)
rewrite(P(p(x0))) begin(x0)
rewrite(r(R(x0))) begin(x0)
rewrite(R(r(x0))) begin(x0)