MAYBE Termination Proof

Termination Proof

by ttt2 (version ttt2 1.15)

Input

The rewrite relation of the following TRS is considered.

Begin(b(c(x0))) Wait(Right1(x0))
Begin(c(x0)) Wait(Right2(x0))
Begin(b(b(x0))) Wait(Right3(x0))
Begin(b(x0)) Wait(Right4(x0))
Begin(a(x0)) Wait(Right5(x0))
Right1(a(End(x0))) Left(b(End(x0)))
Right2(a(b(End(x0)))) Left(b(End(x0)))
Right3(c(End(x0))) Left(a(End(x0)))
Right4(c(b(End(x0)))) Left(a(End(x0)))
Right5(a(End(x0))) Left(c(b(a(c(End(x0))))))
Right1(a(x0)) Aa(Right1(x0))
Right2(a(x0)) Aa(Right2(x0))
Right3(a(x0)) Aa(Right3(x0))
Right4(a(x0)) Aa(Right4(x0))
Right5(a(x0)) Aa(Right5(x0))
Right1(b(x0)) Ab(Right1(x0))
Right2(b(x0)) Ab(Right2(x0))
Right3(b(x0)) Ab(Right3(x0))
Right4(b(x0)) Ab(Right4(x0))
Right5(b(x0)) Ab(Right5(x0))
Right1(c(x0)) Ac(Right1(x0))
Right2(c(x0)) Ac(Right2(x0))
Right3(c(x0)) Ac(Right3(x0))
Right4(c(x0)) Ac(Right4(x0))
Right5(c(x0)) Ac(Right5(x0))
Aa(Left(x0)) Left(a(x0))
Ab(Left(x0)) Left(b(x0))
Ac(Left(x0)) Left(c(x0))
Wait(Left(x0)) Begin(x0)
a(b(c(x0))) b(x0)
c(b(b(x0))) a(x0)
c(x0) b(x0)
a(a(x0)) c(b(a(c(x0))))

Proof

1 Termination Assumption

We assume termination of the following TRS
Begin(b(c(x0))) Wait(Right1(x0))
Begin(c(x0)) Wait(Right2(x0))
Begin(b(b(x0))) Wait(Right3(x0))
Begin(b(x0)) Wait(Right4(x0))
Begin(a(x0)) Wait(Right5(x0))
Right1(a(End(x0))) Left(b(End(x0)))
Right2(a(b(End(x0)))) Left(b(End(x0)))
Right3(c(End(x0))) Left(a(End(x0)))
Right4(c(b(End(x0)))) Left(a(End(x0)))
Right5(a(End(x0))) Left(c(b(a(c(End(x0))))))
Right1(a(x0)) Aa(Right1(x0))
Right2(a(x0)) Aa(Right2(x0))
Right3(a(x0)) Aa(Right3(x0))
Right4(a(x0)) Aa(Right4(x0))
Right5(a(x0)) Aa(Right5(x0))
Right1(b(x0)) Ab(Right1(x0))
Right2(b(x0)) Ab(Right2(x0))
Right3(b(x0)) Ab(Right3(x0))
Right4(b(x0)) Ab(Right4(x0))
Right5(b(x0)) Ab(Right5(x0))
Right1(c(x0)) Ac(Right1(x0))
Right2(c(x0)) Ac(Right2(x0))
Right3(c(x0)) Ac(Right3(x0))
Right4(c(x0)) Ac(Right4(x0))
Right5(c(x0)) Ac(Right5(x0))
Aa(Left(x0)) Left(a(x0))
Ab(Left(x0)) Left(b(x0))
Ac(Left(x0)) Left(c(x0))
Wait(Left(x0)) Begin(x0)
a(b(c(x0))) b(x0)
c(b(b(x0))) a(x0)
c(x0) b(x0)
a(a(x0)) c(b(a(c(x0))))