YES
0 QTRS
↳1 QTRS Reverse (⇔, 0 ms)
↳2 QTRS
↳3 QTRSRRRProof (⇔, 59 ms)
↳4 QTRS
↳5 Overlay + Local Confluence (⇔, 21 ms)
↳6 QTRS
↳7 DependencyPairsProof (⇔, 19 ms)
↳8 QDP
↳9 DependencyGraphProof (⇔, 0 ms)
↳10 QDP
↳11 UsableRulesProof (⇔, 0 ms)
↳12 QDP
↳13 QReductionProof (⇔, 0 ms)
↳14 QDP
↳15 QDPSizeChangeProof (⇔, 0 ms)
↳16 YES
Begin(a(a(x))) → Wait(Right1(x))
Begin(a(x)) → Wait(Right2(x))
Begin(b(b(x))) → Wait(Right3(x))
Begin(b(x)) → Wait(Right4(x))
Right1(a(End(x))) → Left(b(b(End(x))))
Right2(a(a(End(x)))) → Left(b(b(End(x))))
Right3(b(End(x))) → Left(c(d(End(x))))
Right4(b(b(End(x)))) → Left(c(d(End(x))))
Right1(a(x)) → Aa(Right1(x))
Right2(a(x)) → Aa(Right2(x))
Right3(a(x)) → Aa(Right3(x))
Right4(a(x)) → Aa(Right4(x))
Right1(b(x)) → Ab(Right1(x))
Right2(b(x)) → Ab(Right2(x))
Right3(b(x)) → Ab(Right3(x))
Right4(b(x)) → Ab(Right4(x))
Right1(c(x)) → Ac(Right1(x))
Right2(c(x)) → Ac(Right2(x))
Right3(c(x)) → Ac(Right3(x))
Right4(c(x)) → Ac(Right4(x))
Right1(d(x)) → Ad(Right1(x))
Right2(d(x)) → Ad(Right2(x))
Right3(d(x)) → Ad(Right3(x))
Right4(d(x)) → Ad(Right4(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Ac(Left(x)) → Left(c(x))
Ad(Left(x)) → Left(d(x))
Wait(Left(x)) → Begin(x)
a(a(a(x))) → b(b(x))
b(b(b(x))) → c(d(x))
c(x) → a(a(x))
d(x) → c(x)
a(a(Begin(x))) → Right1(Wait(x))
a(Begin(x)) → Right2(Wait(x))
b(b(Begin(x))) → Right3(Wait(x))
b(Begin(x)) → Right4(Wait(x))
End(a(Right1(x))) → End(b(b(Left(x))))
End(a(a(Right2(x)))) → End(b(b(Left(x))))
End(b(Right3(x))) → End(d(c(Left(x))))
End(b(b(Right4(x)))) → End(d(c(Left(x))))
a(Right1(x)) → Right1(Aa(x))
a(Right2(x)) → Right2(Aa(x))
a(Right3(x)) → Right3(Aa(x))
a(Right4(x)) → Right4(Aa(x))
b(Right1(x)) → Right1(Ab(x))
b(Right2(x)) → Right2(Ab(x))
b(Right3(x)) → Right3(Ab(x))
b(Right4(x)) → Right4(Ab(x))
c(Right1(x)) → Right1(Ac(x))
c(Right2(x)) → Right2(Ac(x))
c(Right3(x)) → Right3(Ac(x))
c(Right4(x)) → Right4(Ac(x))
d(Right1(x)) → Right1(Ad(x))
d(Right2(x)) → Right2(Ad(x))
d(Right3(x)) → Right3(Ad(x))
d(Right4(x)) → Right4(Ad(x))
Left(Aa(x)) → a(Left(x))
Left(Ab(x)) → b(Left(x))
Left(Ac(x)) → c(Left(x))
Left(Ad(x)) → d(Left(x))
Left(Wait(x)) → Begin(x)
a(a(a(x))) → b(b(x))
b(b(b(x))) → d(c(x))
c(x) → a(a(x))
d(x) → c(x)
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
POL(Aa(x1)) = 21 + x1
POL(Ab(x1)) = 30 + x1
POL(Ac(x1)) = 43 + x1
POL(Ad(x1)) = 44 + x1
POL(Begin(x1)) = x1
POL(End(x1)) = x1
POL(Left(x1)) = x1
POL(Right1(x1)) = 40 + x1
POL(Right2(x1)) = 19 + x1
POL(Right3(x1)) = 58 + x1
POL(Right4(x1)) = 28 + x1
POL(Wait(x1)) = 1 + x1
POL(a(x1)) = 21 + x1
POL(b(x1)) = 30 + x1
POL(c(x1)) = 43 + x1
POL(d(x1)) = 44 + x1
a(a(Begin(x))) → Right1(Wait(x))
a(Begin(x)) → Right2(Wait(x))
b(b(Begin(x))) → Right3(Wait(x))
b(Begin(x)) → Right4(Wait(x))
End(a(Right1(x))) → End(b(b(Left(x))))
End(a(a(Right2(x)))) → End(b(b(Left(x))))
End(b(Right3(x))) → End(d(c(Left(x))))
End(b(b(Right4(x)))) → End(d(c(Left(x))))
Left(Wait(x)) → Begin(x)
a(a(a(x))) → b(b(x))
b(b(b(x))) → d(c(x))
c(x) → a(a(x))
d(x) → c(x)
a(Right1(x)) → Right1(Aa(x))
a(Right2(x)) → Right2(Aa(x))
a(Right3(x)) → Right3(Aa(x))
a(Right4(x)) → Right4(Aa(x))
b(Right1(x)) → Right1(Ab(x))
b(Right2(x)) → Right2(Ab(x))
b(Right3(x)) → Right3(Ab(x))
b(Right4(x)) → Right4(Ab(x))
c(Right1(x)) → Right1(Ac(x))
c(Right2(x)) → Right2(Ac(x))
c(Right3(x)) → Right3(Ac(x))
c(Right4(x)) → Right4(Ac(x))
d(Right1(x)) → Right1(Ad(x))
d(Right2(x)) → Right2(Ad(x))
d(Right3(x)) → Right3(Ad(x))
d(Right4(x)) → Right4(Ad(x))
Left(Aa(x)) → a(Left(x))
Left(Ab(x)) → b(Left(x))
Left(Ac(x)) → c(Left(x))
Left(Ad(x)) → d(Left(x))
a(Right1(x)) → Right1(Aa(x))
a(Right2(x)) → Right2(Aa(x))
a(Right3(x)) → Right3(Aa(x))
a(Right4(x)) → Right4(Aa(x))
b(Right1(x)) → Right1(Ab(x))
b(Right2(x)) → Right2(Ab(x))
b(Right3(x)) → Right3(Ab(x))
b(Right4(x)) → Right4(Ab(x))
c(Right1(x)) → Right1(Ac(x))
c(Right2(x)) → Right2(Ac(x))
c(Right3(x)) → Right3(Ac(x))
c(Right4(x)) → Right4(Ac(x))
d(Right1(x)) → Right1(Ad(x))
d(Right2(x)) → Right2(Ad(x))
d(Right3(x)) → Right3(Ad(x))
d(Right4(x)) → Right4(Ad(x))
Left(Aa(x)) → a(Left(x))
Left(Ab(x)) → b(Left(x))
Left(Ac(x)) → c(Left(x))
Left(Ad(x)) → d(Left(x))
a(Right1(x0))
a(Right2(x0))
a(Right3(x0))
a(Right4(x0))
b(Right1(x0))
b(Right2(x0))
b(Right3(x0))
b(Right4(x0))
c(Right1(x0))
c(Right2(x0))
c(Right3(x0))
c(Right4(x0))
d(Right1(x0))
d(Right2(x0))
d(Right3(x0))
d(Right4(x0))
Left(Aa(x0))
Left(Ab(x0))
Left(Ac(x0))
Left(Ad(x0))
LEFT(Aa(x)) → A(Left(x))
LEFT(Aa(x)) → LEFT(x)
LEFT(Ab(x)) → B(Left(x))
LEFT(Ab(x)) → LEFT(x)
LEFT(Ac(x)) → C(Left(x))
LEFT(Ac(x)) → LEFT(x)
LEFT(Ad(x)) → D(Left(x))
LEFT(Ad(x)) → LEFT(x)
a(Right1(x)) → Right1(Aa(x))
a(Right2(x)) → Right2(Aa(x))
a(Right3(x)) → Right3(Aa(x))
a(Right4(x)) → Right4(Aa(x))
b(Right1(x)) → Right1(Ab(x))
b(Right2(x)) → Right2(Ab(x))
b(Right3(x)) → Right3(Ab(x))
b(Right4(x)) → Right4(Ab(x))
c(Right1(x)) → Right1(Ac(x))
c(Right2(x)) → Right2(Ac(x))
c(Right3(x)) → Right3(Ac(x))
c(Right4(x)) → Right4(Ac(x))
d(Right1(x)) → Right1(Ad(x))
d(Right2(x)) → Right2(Ad(x))
d(Right3(x)) → Right3(Ad(x))
d(Right4(x)) → Right4(Ad(x))
Left(Aa(x)) → a(Left(x))
Left(Ab(x)) → b(Left(x))
Left(Ac(x)) → c(Left(x))
Left(Ad(x)) → d(Left(x))
a(Right1(x0))
a(Right2(x0))
a(Right3(x0))
a(Right4(x0))
b(Right1(x0))
b(Right2(x0))
b(Right3(x0))
b(Right4(x0))
c(Right1(x0))
c(Right2(x0))
c(Right3(x0))
c(Right4(x0))
d(Right1(x0))
d(Right2(x0))
d(Right3(x0))
d(Right4(x0))
Left(Aa(x0))
Left(Ab(x0))
Left(Ac(x0))
Left(Ad(x0))
LEFT(Ab(x)) → LEFT(x)
LEFT(Aa(x)) → LEFT(x)
LEFT(Ac(x)) → LEFT(x)
LEFT(Ad(x)) → LEFT(x)
a(Right1(x)) → Right1(Aa(x))
a(Right2(x)) → Right2(Aa(x))
a(Right3(x)) → Right3(Aa(x))
a(Right4(x)) → Right4(Aa(x))
b(Right1(x)) → Right1(Ab(x))
b(Right2(x)) → Right2(Ab(x))
b(Right3(x)) → Right3(Ab(x))
b(Right4(x)) → Right4(Ab(x))
c(Right1(x)) → Right1(Ac(x))
c(Right2(x)) → Right2(Ac(x))
c(Right3(x)) → Right3(Ac(x))
c(Right4(x)) → Right4(Ac(x))
d(Right1(x)) → Right1(Ad(x))
d(Right2(x)) → Right2(Ad(x))
d(Right3(x)) → Right3(Ad(x))
d(Right4(x)) → Right4(Ad(x))
Left(Aa(x)) → a(Left(x))
Left(Ab(x)) → b(Left(x))
Left(Ac(x)) → c(Left(x))
Left(Ad(x)) → d(Left(x))
a(Right1(x0))
a(Right2(x0))
a(Right3(x0))
a(Right4(x0))
b(Right1(x0))
b(Right2(x0))
b(Right3(x0))
b(Right4(x0))
c(Right1(x0))
c(Right2(x0))
c(Right3(x0))
c(Right4(x0))
d(Right1(x0))
d(Right2(x0))
d(Right3(x0))
d(Right4(x0))
Left(Aa(x0))
Left(Ab(x0))
Left(Ac(x0))
Left(Ad(x0))
LEFT(Ab(x)) → LEFT(x)
LEFT(Aa(x)) → LEFT(x)
LEFT(Ac(x)) → LEFT(x)
LEFT(Ad(x)) → LEFT(x)
a(Right1(x0))
a(Right2(x0))
a(Right3(x0))
a(Right4(x0))
b(Right1(x0))
b(Right2(x0))
b(Right3(x0))
b(Right4(x0))
c(Right1(x0))
c(Right2(x0))
c(Right3(x0))
c(Right4(x0))
d(Right1(x0))
d(Right2(x0))
d(Right3(x0))
d(Right4(x0))
Left(Aa(x0))
Left(Ab(x0))
Left(Ac(x0))
Left(Ad(x0))
a(Right1(x0))
a(Right2(x0))
a(Right3(x0))
a(Right4(x0))
b(Right1(x0))
b(Right2(x0))
b(Right3(x0))
b(Right4(x0))
c(Right1(x0))
c(Right2(x0))
c(Right3(x0))
c(Right4(x0))
d(Right1(x0))
d(Right2(x0))
d(Right3(x0))
d(Right4(x0))
Left(Aa(x0))
Left(Ab(x0))
Left(Ac(x0))
Left(Ad(x0))
LEFT(Ab(x)) → LEFT(x)
LEFT(Aa(x)) → LEFT(x)
LEFT(Ac(x)) → LEFT(x)
LEFT(Ad(x)) → LEFT(x)
From the DPs we obtained the following set of size-change graphs: