YES
0 QTRS
↳1 QTRSRRRProof (⇔, 72 ms)
↳2 QTRS
↳3 Overlay + Local Confluence (⇔, 28 ms)
↳4 QTRS
↳5 DependencyPairsProof (⇔, 0 ms)
↳6 QDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 AND
↳9 QDP
↳10 UsableRulesProof (⇔, 0 ms)
↳11 QDP
↳12 QReductionProof (⇔, 0 ms)
↳13 QDP
↳14 QDPSizeChangeProof (⇔, 0 ms)
↳15 YES
↳16 QDP
↳17 UsableRulesProof (⇔, 0 ms)
↳18 QDP
↳19 QReductionProof (⇔, 0 ms)
↳20 QDP
↳21 QDPOrderProof (⇔, 65 ms)
↳22 QDP
↳23 QDPOrderProof (⇔, 19 ms)
↳24 QDP
↳25 PisEmptyProof (⇔, 0 ms)
↳26 YES
↳27 QDP
↳28 UsableRulesProof (⇔, 0 ms)
↳29 QDP
↳30 QReductionProof (⇔, 0 ms)
↳31 QDP
↳32 QDPSizeChangeProof (⇔, 0 ms)
↳33 YES
begin(end(x)) → rewrite(end(x))
begin(a(x)) → rotate(cut(Ca(guess(x))))
begin(b(x)) → rotate(cut(Cb(guess(x))))
begin(c(x)) → rotate(cut(Cc(guess(x))))
begin(d(x)) → rotate(cut(Cd(guess(x))))
guess(a(x)) → Ca(guess(x))
guess(b(x)) → Cb(guess(x))
guess(c(x)) → Cc(guess(x))
guess(d(x)) → Cd(guess(x))
guess(a(x)) → moveleft(Ba(wait(x)))
guess(b(x)) → moveleft(Bb(wait(x)))
guess(c(x)) → moveleft(Bc(wait(x)))
guess(d(x)) → moveleft(Bd(wait(x)))
guess(end(x)) → finish(end(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
cut(moveleft(Ba(x))) → Da(cut(goright(x)))
cut(moveleft(Bb(x))) → Db(cut(goright(x)))
cut(moveleft(Bc(x))) → Dc(cut(goright(x)))
cut(moveleft(Bd(x))) → Dd(cut(goright(x)))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
goright(wait(end(x))) → finish(end(x))
Ca(finish(x)) → finish(a(x))
Cb(finish(x)) → finish(b(x))
Cc(finish(x)) → finish(c(x))
Cd(finish(x)) → finish(d(x))
cut(finish(x)) → finish2(x)
Da(finish2(x)) → finish2(a(x))
Db(finish2(x)) → finish2(b(x))
Dc(finish2(x)) → finish2(c(x))
Dd(finish2(x)) → finish2(d(x))
rotate(finish2(x)) → rewrite(x)
rewrite(a(a(x))) → begin(b(b(b(x))))
rewrite(b(b(x))) → begin(c(c(c(x))))
rewrite(c(c(x))) → begin(d(d(d(x))))
rewrite(b(x)) → begin(d(d(x)))
rewrite(c(d(d(x)))) → begin(a(x))
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(Aa(x1)) = 480 + x1
POL(Ab(x1)) = 318 + x1
POL(Ac(x1)) = 210 + x1
POL(Ad(x1)) = 138 + x1
POL(Ba(x1)) = 480 + x1
POL(Bb(x1)) = 318 + x1
POL(Bc(x1)) = 210 + x1
POL(Bd(x1)) = 138 + x1
POL(Ca(x1)) = 480 + x1
POL(Cb(x1)) = 318 + x1
POL(Cc(x1)) = 210 + x1
POL(Cd(x1)) = 138 + x1
POL(Da(x1)) = 480 + x1
POL(Db(x1)) = 318 + x1
POL(Dc(x1)) = 210 + x1
POL(Dd(x1)) = 138 + x1
POL(a(x1)) = 480 + x1
POL(b(x1)) = 318 + x1
POL(begin(x1)) = 5 + x1
POL(c(x1)) = 210 + x1
POL(cut(x1)) = 2 + x1
POL(d(x1)) = 138 + x1
POL(end(x1)) = x1
POL(finish(x1)) = x1
POL(finish2(x1)) = 1 + x1
POL(goright(x1)) = x1
POL(guess(x1)) = 2 + x1
POL(moveleft(x1)) = x1
POL(rewrite(x1)) = x1
POL(rotate(x1)) = x1
POL(wait(x1)) = 1 + x1
begin(end(x)) → rewrite(end(x))
begin(a(x)) → rotate(cut(Ca(guess(x))))
begin(b(x)) → rotate(cut(Cb(guess(x))))
begin(c(x)) → rotate(cut(Cc(guess(x))))
begin(d(x)) → rotate(cut(Cd(guess(x))))
guess(a(x)) → moveleft(Ba(wait(x)))
guess(b(x)) → moveleft(Bb(wait(x)))
guess(c(x)) → moveleft(Bc(wait(x)))
guess(d(x)) → moveleft(Bd(wait(x)))
guess(end(x)) → finish(end(x))
goright(wait(end(x))) → finish(end(x))
cut(finish(x)) → finish2(x)
rotate(finish2(x)) → rewrite(x)
rewrite(a(a(x))) → begin(b(b(b(x))))
rewrite(b(b(x))) → begin(c(c(c(x))))
rewrite(c(c(x))) → begin(d(d(d(x))))
rewrite(b(x)) → begin(d(d(x)))
rewrite(c(d(d(x)))) → begin(a(x))
guess(a(x)) → Ca(guess(x))
guess(b(x)) → Cb(guess(x))
guess(c(x)) → Cc(guess(x))
guess(d(x)) → Cd(guess(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
cut(moveleft(Ba(x))) → Da(cut(goright(x)))
cut(moveleft(Bb(x))) → Db(cut(goright(x)))
cut(moveleft(Bc(x))) → Dc(cut(goright(x)))
cut(moveleft(Bd(x))) → Dd(cut(goright(x)))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Ca(finish(x)) → finish(a(x))
Cb(finish(x)) → finish(b(x))
Cc(finish(x)) → finish(c(x))
Cd(finish(x)) → finish(d(x))
Da(finish2(x)) → finish2(a(x))
Db(finish2(x)) → finish2(b(x))
Dc(finish2(x)) → finish2(c(x))
Dd(finish2(x)) → finish2(d(x))
guess(a(x)) → Ca(guess(x))
guess(b(x)) → Cb(guess(x))
guess(c(x)) → Cc(guess(x))
guess(d(x)) → Cd(guess(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
cut(moveleft(Ba(x))) → Da(cut(goright(x)))
cut(moveleft(Bb(x))) → Db(cut(goright(x)))
cut(moveleft(Bc(x))) → Dc(cut(goright(x)))
cut(moveleft(Bd(x))) → Dd(cut(goright(x)))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Ca(finish(x)) → finish(a(x))
Cb(finish(x)) → finish(b(x))
Cc(finish(x)) → finish(c(x))
Cd(finish(x)) → finish(d(x))
Da(finish2(x)) → finish2(a(x))
Db(finish2(x)) → finish2(b(x))
Dc(finish2(x)) → finish2(c(x))
Dd(finish2(x)) → finish2(d(x))
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
GUESS(a(x)) → CA(guess(x))
GUESS(a(x)) → GUESS(x)
GUESS(b(x)) → CB(guess(x))
GUESS(b(x)) → GUESS(x)
GUESS(c(x)) → CC(guess(x))
GUESS(c(x)) → GUESS(x)
GUESS(d(x)) → CD(guess(x))
GUESS(d(x)) → GUESS(x)
CUT(moveleft(Ba(x))) → DA(cut(goright(x)))
CUT(moveleft(Ba(x))) → CUT(goright(x))
CUT(moveleft(Ba(x))) → GORIGHT(x)
CUT(moveleft(Bb(x))) → DB(cut(goright(x)))
CUT(moveleft(Bb(x))) → CUT(goright(x))
CUT(moveleft(Bb(x))) → GORIGHT(x)
CUT(moveleft(Bc(x))) → DC(cut(goright(x)))
CUT(moveleft(Bc(x))) → CUT(goright(x))
CUT(moveleft(Bc(x))) → GORIGHT(x)
CUT(moveleft(Bd(x))) → DD(cut(goright(x)))
CUT(moveleft(Bd(x))) → CUT(goright(x))
CUT(moveleft(Bd(x))) → GORIGHT(x)
GORIGHT(Aa(x)) → CA(goright(x))
GORIGHT(Aa(x)) → GORIGHT(x)
GORIGHT(Ab(x)) → CB(goright(x))
GORIGHT(Ab(x)) → GORIGHT(x)
GORIGHT(Ac(x)) → CC(goright(x))
GORIGHT(Ac(x)) → GORIGHT(x)
GORIGHT(Ad(x)) → CD(goright(x))
GORIGHT(Ad(x)) → GORIGHT(x)
guess(a(x)) → Ca(guess(x))
guess(b(x)) → Cb(guess(x))
guess(c(x)) → Cc(guess(x))
guess(d(x)) → Cd(guess(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
cut(moveleft(Ba(x))) → Da(cut(goright(x)))
cut(moveleft(Bb(x))) → Db(cut(goright(x)))
cut(moveleft(Bc(x))) → Dc(cut(goright(x)))
cut(moveleft(Bd(x))) → Dd(cut(goright(x)))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Ca(finish(x)) → finish(a(x))
Cb(finish(x)) → finish(b(x))
Cc(finish(x)) → finish(c(x))
Cd(finish(x)) → finish(d(x))
Da(finish2(x)) → finish2(a(x))
Db(finish2(x)) → finish2(b(x))
Dc(finish2(x)) → finish2(c(x))
Dd(finish2(x)) → finish2(d(x))
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
GORIGHT(Ab(x)) → GORIGHT(x)
GORIGHT(Aa(x)) → GORIGHT(x)
GORIGHT(Ac(x)) → GORIGHT(x)
GORIGHT(Ad(x)) → GORIGHT(x)
guess(a(x)) → Ca(guess(x))
guess(b(x)) → Cb(guess(x))
guess(c(x)) → Cc(guess(x))
guess(d(x)) → Cd(guess(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
cut(moveleft(Ba(x))) → Da(cut(goright(x)))
cut(moveleft(Bb(x))) → Db(cut(goright(x)))
cut(moveleft(Bc(x))) → Dc(cut(goright(x)))
cut(moveleft(Bd(x))) → Dd(cut(goright(x)))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Ca(finish(x)) → finish(a(x))
Cb(finish(x)) → finish(b(x))
Cc(finish(x)) → finish(c(x))
Cd(finish(x)) → finish(d(x))
Da(finish2(x)) → finish2(a(x))
Db(finish2(x)) → finish2(b(x))
Dc(finish2(x)) → finish2(c(x))
Dd(finish2(x)) → finish2(d(x))
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
GORIGHT(Ab(x)) → GORIGHT(x)
GORIGHT(Aa(x)) → GORIGHT(x)
GORIGHT(Ac(x)) → GORIGHT(x)
GORIGHT(Ad(x)) → GORIGHT(x)
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
GORIGHT(Ab(x)) → GORIGHT(x)
GORIGHT(Aa(x)) → GORIGHT(x)
GORIGHT(Ac(x)) → GORIGHT(x)
GORIGHT(Ad(x)) → GORIGHT(x)
From the DPs we obtained the following set of size-change graphs:
CUT(moveleft(Bb(x))) → CUT(goright(x))
CUT(moveleft(Ba(x))) → CUT(goright(x))
CUT(moveleft(Bc(x))) → CUT(goright(x))
CUT(moveleft(Bd(x))) → CUT(goright(x))
guess(a(x)) → Ca(guess(x))
guess(b(x)) → Cb(guess(x))
guess(c(x)) → Cc(guess(x))
guess(d(x)) → Cd(guess(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
cut(moveleft(Ba(x))) → Da(cut(goright(x)))
cut(moveleft(Bb(x))) → Db(cut(goright(x)))
cut(moveleft(Bc(x))) → Dc(cut(goright(x)))
cut(moveleft(Bd(x))) → Dd(cut(goright(x)))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Ca(finish(x)) → finish(a(x))
Cb(finish(x)) → finish(b(x))
Cc(finish(x)) → finish(c(x))
Cd(finish(x)) → finish(d(x))
Da(finish2(x)) → finish2(a(x))
Db(finish2(x)) → finish2(b(x))
Dc(finish2(x)) → finish2(c(x))
Dd(finish2(x)) → finish2(d(x))
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
CUT(moveleft(Bb(x))) → CUT(goright(x))
CUT(moveleft(Ba(x))) → CUT(goright(x))
CUT(moveleft(Bc(x))) → CUT(goright(x))
CUT(moveleft(Bd(x))) → CUT(goright(x))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
Cd(finish(x)) → finish(d(x))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cc(finish(x)) → finish(c(x))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cb(finish(x)) → finish(b(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Ca(finish(x)) → finish(a(x))
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
CUT(moveleft(Bb(x))) → CUT(goright(x))
CUT(moveleft(Ba(x))) → CUT(goright(x))
CUT(moveleft(Bc(x))) → CUT(goright(x))
CUT(moveleft(Bd(x))) → CUT(goright(x))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
Cd(finish(x)) → finish(d(x))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cc(finish(x)) → finish(c(x))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cb(finish(x)) → finish(b(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Ca(finish(x)) → finish(a(x))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CUT(moveleft(Bb(x))) → CUT(goright(x))
CUT(moveleft(Ba(x))) → CUT(goright(x))
CUT(moveleft(Bc(x))) → CUT(goright(x))
POL(Aa(x1)) = x1
POL(Ab(x1)) = x1
POL(Ac(x1)) = x1
POL(Ad(x1)) = x1
POL(Ba(x1)) = 1 + x1
POL(Bb(x1)) = 1 + x1
POL(Bc(x1)) = 1 + x1
POL(Bd(x1)) = x1
POL(CUT(x1)) = x1
POL(Ca(x1)) = x1
POL(Cb(x1)) = x1
POL(Cc(x1)) = x1
POL(Cd(x1)) = x1
POL(a(x1)) = 1 + x1
POL(b(x1)) = 1 + x1
POL(c(x1)) = 1 + x1
POL(d(x1)) = x1
POL(finish(x1)) = 0
POL(goright(x1)) = x1
POL(moveleft(x1)) = x1
POL(wait(x1)) = x1
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cb(finish(x)) → finish(b(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Ca(finish(x)) → finish(a(x))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cc(finish(x)) → finish(c(x))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
Cd(finish(x)) → finish(d(x))
CUT(moveleft(Bd(x))) → CUT(goright(x))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
Cd(finish(x)) → finish(d(x))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cc(finish(x)) → finish(c(x))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cb(finish(x)) → finish(b(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Ca(finish(x)) → finish(a(x))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CUT(moveleft(Bd(x))) → CUT(goright(x))
POL(Aa(x1)) = 1 + x1
POL(Ab(x1)) = 1 + x1
POL(Ac(x1)) = 1 + x1
POL(Ad(x1)) = 1 + x1
POL(Ba(x1)) = 1
POL(Bb(x1)) = 0
POL(Bc(x1)) = x1
POL(Bd(x1)) = x1
POL(CUT(x1)) = x1
POL(Ca(x1)) = 1 + x1
POL(Cb(x1)) = 1 + x1
POL(Cc(x1)) = 1 + x1
POL(Cd(x1)) = 1 + x1
POL(a(x1)) = 1 + x1
POL(b(x1)) = x1
POL(c(x1)) = 1 + x1
POL(d(x1)) = 1 + x1
POL(finish(x1)) = 0
POL(goright(x1)) = x1
POL(moveleft(x1)) = 1 + x1
POL(wait(x1)) = 1 + x1
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cb(finish(x)) → finish(b(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Ca(finish(x)) → finish(a(x))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cc(finish(x)) → finish(c(x))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
Cd(finish(x)) → finish(d(x))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
Cd(finish(x)) → finish(d(x))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cc(finish(x)) → finish(c(x))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cb(finish(x)) → finish(b(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Ca(finish(x)) → finish(a(x))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
GUESS(b(x)) → GUESS(x)
GUESS(a(x)) → GUESS(x)
GUESS(c(x)) → GUESS(x)
GUESS(d(x)) → GUESS(x)
guess(a(x)) → Ca(guess(x))
guess(b(x)) → Cb(guess(x))
guess(c(x)) → Cc(guess(x))
guess(d(x)) → Cd(guess(x))
Ca(moveleft(Ba(x))) → moveleft(Ba(Aa(x)))
Cb(moveleft(Ba(x))) → moveleft(Ba(Ab(x)))
Cc(moveleft(Ba(x))) → moveleft(Ba(Ac(x)))
Cd(moveleft(Ba(x))) → moveleft(Ba(Ad(x)))
Ca(moveleft(Bb(x))) → moveleft(Bb(Aa(x)))
Cb(moveleft(Bb(x))) → moveleft(Bb(Ab(x)))
Cc(moveleft(Bb(x))) → moveleft(Bb(Ac(x)))
Cd(moveleft(Bb(x))) → moveleft(Bb(Ad(x)))
Ca(moveleft(Bc(x))) → moveleft(Bc(Aa(x)))
Cb(moveleft(Bc(x))) → moveleft(Bc(Ab(x)))
Cc(moveleft(Bc(x))) → moveleft(Bc(Ac(x)))
Cd(moveleft(Bc(x))) → moveleft(Bc(Ad(x)))
Ca(moveleft(Bd(x))) → moveleft(Bd(Aa(x)))
Cb(moveleft(Bd(x))) → moveleft(Bd(Ab(x)))
Cc(moveleft(Bd(x))) → moveleft(Bd(Ac(x)))
Cd(moveleft(Bd(x))) → moveleft(Bd(Ad(x)))
cut(moveleft(Ba(x))) → Da(cut(goright(x)))
cut(moveleft(Bb(x))) → Db(cut(goright(x)))
cut(moveleft(Bc(x))) → Dc(cut(goright(x)))
cut(moveleft(Bd(x))) → Dd(cut(goright(x)))
goright(Aa(x)) → Ca(goright(x))
goright(Ab(x)) → Cb(goright(x))
goright(Ac(x)) → Cc(goright(x))
goright(Ad(x)) → Cd(goright(x))
goright(wait(a(x))) → moveleft(Ba(wait(x)))
goright(wait(b(x))) → moveleft(Bb(wait(x)))
goright(wait(c(x))) → moveleft(Bc(wait(x)))
goright(wait(d(x))) → moveleft(Bd(wait(x)))
Ca(finish(x)) → finish(a(x))
Cb(finish(x)) → finish(b(x))
Cc(finish(x)) → finish(c(x))
Cd(finish(x)) → finish(d(x))
Da(finish2(x)) → finish2(a(x))
Db(finish2(x)) → finish2(b(x))
Dc(finish2(x)) → finish2(c(x))
Dd(finish2(x)) → finish2(d(x))
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
GUESS(b(x)) → GUESS(x)
GUESS(a(x)) → GUESS(x)
GUESS(c(x)) → GUESS(x)
GUESS(d(x)) → GUESS(x)
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
guess(a(x0))
guess(b(x0))
guess(c(x0))
guess(d(x0))
Ca(moveleft(Ba(x0)))
Cb(moveleft(Ba(x0)))
Cc(moveleft(Ba(x0)))
Cd(moveleft(Ba(x0)))
Ca(moveleft(Bb(x0)))
Cb(moveleft(Bb(x0)))
Cc(moveleft(Bb(x0)))
Cd(moveleft(Bb(x0)))
Ca(moveleft(Bc(x0)))
Cb(moveleft(Bc(x0)))
Cc(moveleft(Bc(x0)))
Cd(moveleft(Bc(x0)))
Ca(moveleft(Bd(x0)))
Cb(moveleft(Bd(x0)))
Cc(moveleft(Bd(x0)))
Cd(moveleft(Bd(x0)))
cut(moveleft(Ba(x0)))
cut(moveleft(Bb(x0)))
cut(moveleft(Bc(x0)))
cut(moveleft(Bd(x0)))
goright(Aa(x0))
goright(Ab(x0))
goright(Ac(x0))
goright(Ad(x0))
goright(wait(a(x0)))
goright(wait(b(x0)))
goright(wait(c(x0)))
goright(wait(d(x0)))
Ca(finish(x0))
Cb(finish(x0))
Cc(finish(x0))
Cd(finish(x0))
Da(finish2(x0))
Db(finish2(x0))
Dc(finish2(x0))
Dd(finish2(x0))
GUESS(b(x)) → GUESS(x)
GUESS(a(x)) → GUESS(x)
GUESS(c(x)) → GUESS(x)
GUESS(d(x)) → GUESS(x)
From the DPs we obtained the following set of size-change graphs: