YES
0 QTRS
↳1 QTRSRRRProof (⇔, 40 ms)
↳2 QTRS
↳3 Overlay + Local Confluence (⇔, 2 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 QDPSizeChangeProof (⇔, 0 ms)
↳22 YES
Begin(b(b(x))) → Wait(Right1(x))
Begin(b(x)) → Wait(Right2(x))
Right1(b(End(x))) → Left(a(End(x)))
Right2(b(b(End(x)))) → Left(a(End(x)))
Right1(a(x)) → Aa(Right1(x))
Right2(a(x)) → Aa(Right2(x))
Right1(b(x)) → Ab(Right1(x))
Right2(b(x)) → Ab(Right2(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Wait(Left(x)) → Begin(x)
a(x) → b(b(x))
b(b(b(x))) → 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)) = 9 + x1
POL(Ab(x1)) = 4 + x1
POL(Begin(x1)) = x1
POL(End(x1)) = x1
POL(Left(x1)) = x1
POL(Right1(x1)) = 6 + x1
POL(Right2(x1)) = 2 + x1
POL(Wait(x1)) = 1 + x1
POL(a(x1)) = 9 + x1
POL(b(x1)) = 4 + x1
Begin(b(b(x))) → Wait(Right1(x))
Begin(b(x)) → Wait(Right2(x))
Right1(b(End(x))) → Left(a(End(x)))
Right2(b(b(End(x)))) → Left(a(End(x)))
Wait(Left(x)) → Begin(x)
a(x) → b(b(x))
b(b(b(x))) → a(x)
Right1(a(x)) → Aa(Right1(x))
Right2(a(x)) → Aa(Right2(x))
Right1(b(x)) → Ab(Right1(x))
Right2(b(x)) → Ab(Right2(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Right1(a(x)) → Aa(Right1(x))
Right2(a(x)) → Aa(Right2(x))
Right1(b(x)) → Ab(Right1(x))
Right2(b(x)) → Ab(Right2(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Right1(a(x0))
Right2(a(x0))
Right1(b(x0))
Right2(b(x0))
Aa(Left(x0))
Ab(Left(x0))
RIGHT1(a(x)) → AA(Right1(x))
RIGHT1(a(x)) → RIGHT1(x)
RIGHT2(a(x)) → AA(Right2(x))
RIGHT2(a(x)) → RIGHT2(x)
RIGHT1(b(x)) → AB(Right1(x))
RIGHT1(b(x)) → RIGHT1(x)
RIGHT2(b(x)) → AB(Right2(x))
RIGHT2(b(x)) → RIGHT2(x)
Right1(a(x)) → Aa(Right1(x))
Right2(a(x)) → Aa(Right2(x))
Right1(b(x)) → Ab(Right1(x))
Right2(b(x)) → Ab(Right2(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Right1(a(x0))
Right2(a(x0))
Right1(b(x0))
Right2(b(x0))
Aa(Left(x0))
Ab(Left(x0))
RIGHT2(b(x)) → RIGHT2(x)
RIGHT2(a(x)) → RIGHT2(x)
Right1(a(x)) → Aa(Right1(x))
Right2(a(x)) → Aa(Right2(x))
Right1(b(x)) → Ab(Right1(x))
Right2(b(x)) → Ab(Right2(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Right1(a(x0))
Right2(a(x0))
Right1(b(x0))
Right2(b(x0))
Aa(Left(x0))
Ab(Left(x0))
RIGHT2(b(x)) → RIGHT2(x)
RIGHT2(a(x)) → RIGHT2(x)
Right1(a(x0))
Right2(a(x0))
Right1(b(x0))
Right2(b(x0))
Aa(Left(x0))
Ab(Left(x0))
Right1(a(x0))
Right2(a(x0))
Right1(b(x0))
Right2(b(x0))
Aa(Left(x0))
Ab(Left(x0))
RIGHT2(b(x)) → RIGHT2(x)
RIGHT2(a(x)) → RIGHT2(x)
From the DPs we obtained the following set of size-change graphs:
RIGHT1(b(x)) → RIGHT1(x)
RIGHT1(a(x)) → RIGHT1(x)
Right1(a(x)) → Aa(Right1(x))
Right2(a(x)) → Aa(Right2(x))
Right1(b(x)) → Ab(Right1(x))
Right2(b(x)) → Ab(Right2(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Right1(a(x0))
Right2(a(x0))
Right1(b(x0))
Right2(b(x0))
Aa(Left(x0))
Ab(Left(x0))
RIGHT1(b(x)) → RIGHT1(x)
RIGHT1(a(x)) → RIGHT1(x)
Right1(a(x0))
Right2(a(x0))
Right1(b(x0))
Right2(b(x0))
Aa(Left(x0))
Ab(Left(x0))
Right1(a(x0))
Right2(a(x0))
Right1(b(x0))
Right2(b(x0))
Aa(Left(x0))
Ab(Left(x0))
RIGHT1(b(x)) → RIGHT1(x)
RIGHT1(a(x)) → RIGHT1(x)
From the DPs we obtained the following set of size-change graphs: