YES
0 QTRS
↳1 DependencyPairsProof (⇔, 3 ms)
↳2 QDP
↳3 DependencyGraphProof (⇔, 0 ms)
↳4 AND
↳5 QDP
↳6 UsableRulesProof (⇔, 0 ms)
↳7 QDP
↳8 QDPSizeChangeProof (⇔, 0 ms)
↳9 YES
↳10 QDP
↳11 UsableRulesProof (⇔, 0 ms)
↳12 QDP
↳13 QDPOrderProof (⇔, 14 ms)
↳14 QDP
↳15 DependencyGraphProof (⇔, 0 ms)
↳16 TRUE
Begin(a(x)) → Wait(Right1(x))
Right1(a(End(x))) → Left(a(b(a(End(x)))))
Right1(a(x)) → Aa(Right1(x))
Right1(b(x)) → Ab(Right1(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Wait(Left(x)) → Begin(x)
a(a(x)) → a(b(a(x)))
BEGIN(a(x)) → WAIT(Right1(x))
BEGIN(a(x)) → RIGHT1(x)
RIGHT1(a(End(x))) → A(b(a(End(x))))
RIGHT1(a(x)) → AA(Right1(x))
RIGHT1(a(x)) → RIGHT1(x)
RIGHT1(b(x)) → AB(Right1(x))
RIGHT1(b(x)) → RIGHT1(x)
AA(Left(x)) → A(x)
WAIT(Left(x)) → BEGIN(x)
A(a(x)) → A(b(a(x)))
Begin(a(x)) → Wait(Right1(x))
Right1(a(End(x))) → Left(a(b(a(End(x)))))
Right1(a(x)) → Aa(Right1(x))
Right1(b(x)) → Ab(Right1(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Wait(Left(x)) → Begin(x)
a(a(x)) → a(b(a(x)))
RIGHT1(b(x)) → RIGHT1(x)
RIGHT1(a(x)) → RIGHT1(x)
Begin(a(x)) → Wait(Right1(x))
Right1(a(End(x))) → Left(a(b(a(End(x)))))
Right1(a(x)) → Aa(Right1(x))
Right1(b(x)) → Ab(Right1(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Wait(Left(x)) → Begin(x)
a(a(x)) → a(b(a(x)))
RIGHT1(b(x)) → RIGHT1(x)
RIGHT1(a(x)) → RIGHT1(x)
From the DPs we obtained the following set of size-change graphs:
WAIT(Left(x)) → BEGIN(x)
BEGIN(a(x)) → WAIT(Right1(x))
Begin(a(x)) → Wait(Right1(x))
Right1(a(End(x))) → Left(a(b(a(End(x)))))
Right1(a(x)) → Aa(Right1(x))
Right1(b(x)) → Ab(Right1(x))
Aa(Left(x)) → Left(a(x))
Ab(Left(x)) → Left(b(x))
Wait(Left(x)) → Begin(x)
a(a(x)) → a(b(a(x)))
WAIT(Left(x)) → BEGIN(x)
BEGIN(a(x)) → WAIT(Right1(x))
Right1(a(End(x))) → Left(a(b(a(End(x)))))
Right1(a(x)) → Aa(Right1(x))
Right1(b(x)) → Ab(Right1(x))
Ab(Left(x)) → Left(b(x))
Aa(Left(x)) → Left(a(x))
a(a(x)) → a(b(a(x)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
BEGIN(a(x)) → WAIT(Right1(x))
POL(Aa(x1)) = 1 + x1
POL(Ab(x1)) = 0
POL(BEGIN(x1)) = x1
POL(End(x1)) = 1 + x1
POL(Left(x1)) = x1
POL(Right1(x1)) = x1
POL(WAIT(x1)) = x1
POL(a(x1)) = 1 + x1
POL(b(x1)) = 0
Right1(a(End(x))) → Left(a(b(a(End(x)))))
Right1(a(x)) → Aa(Right1(x))
Right1(b(x)) → Ab(Right1(x))
Ab(Left(x)) → Left(b(x))
Aa(Left(x)) → Left(a(x))
a(a(x)) → a(b(a(x)))
WAIT(Left(x)) → BEGIN(x)
Right1(a(End(x))) → Left(a(b(a(End(x)))))
Right1(a(x)) → Aa(Right1(x))
Right1(b(x)) → Ab(Right1(x))
Ab(Left(x)) → Left(b(x))
Aa(Left(x)) → Left(a(x))
a(a(x)) → a(b(a(x)))