YES Termination Proof

Termination Proof

by ttt2 (version ttt2 1.15)

Input

The rewrite relation of the following TRS is considered.

Begin(a(c(b(b(x0))))) Wait(Right1(x0))
Begin(c(b(b(x0)))) Wait(Right2(x0))
Begin(b(b(x0))) Wait(Right3(x0))
Begin(b(x0)) Wait(Right4(x0))
Right1(b(End(x0))) Left(a(c(b(b(b(a(c(End(x0)))))))))
Right2(b(a(End(x0)))) Left(a(c(b(b(b(a(c(End(x0)))))))))
Right3(b(a(c(End(x0))))) Left(a(c(b(b(b(a(c(End(x0)))))))))
Right4(b(a(c(b(End(x0)))))) Left(a(c(b(b(b(a(c(End(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))
Right1(a(x0)) Aa(Right1(x0))
Right2(a(x0)) Aa(Right2(x0))
Right3(a(x0)) Aa(Right3(x0))
Right4(a(x0)) Aa(Right4(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))
Ab(Left(x0)) Left(b(x0))
Aa(Left(x0)) Left(a(x0))
Ac(Left(x0)) Left(c(x0))
Wait(Left(x0)) Begin(x0)
b(a(c(b(b(x0))))) a(c(b(b(b(a(c(x0)))))))

Proof

1 String Reversal

Since only unary symbols occur, one can reverse all terms and obtains the TRS
b(b(c(a(Begin(x0))))) Right1(Wait(x0))
b(b(c(Begin(x0)))) Right2(Wait(x0))
b(b(Begin(x0))) Right3(Wait(x0))
b(Begin(x0)) Right4(Wait(x0))
End(b(Right1(x0))) End(c(a(b(b(b(c(a(Left(x0)))))))))
End(a(b(Right2(x0)))) End(c(a(b(b(b(c(a(Left(x0)))))))))
End(c(a(b(Right3(x0))))) End(c(a(b(b(b(c(a(Left(x0)))))))))
End(b(c(a(b(Right4(x0)))))) End(c(a(b(b(b(c(a(Left(x0)))))))))
b(Right1(x0)) Right1(Ab(x0))
b(Right2(x0)) Right2(Ab(x0))
b(Right3(x0)) Right3(Ab(x0))
b(Right4(x0)) Right4(Ab(x0))
a(Right1(x0)) Right1(Aa(x0))
a(Right2(x0)) Right2(Aa(x0))
a(Right3(x0)) Right3(Aa(x0))
a(Right4(x0)) Right4(Aa(x0))
c(Right1(x0)) Right1(Ac(x0))
c(Right2(x0)) Right2(Ac(x0))
c(Right3(x0)) Right3(Ac(x0))
c(Right4(x0)) Right4(Ac(x0))
Left(Ab(x0)) b(Left(x0))
Left(Aa(x0)) a(Left(x0))
Left(Ac(x0)) c(Left(x0))
Left(Wait(x0)) Begin(x0)
b(b(c(a(b(x0))))) c(a(b(b(b(c(a(x0)))))))

1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
End#(b(Right1(x0))) Left#(x0)
End#(b(Right1(x0))) a#(Left(x0))
End#(b(Right1(x0))) c#(a(Left(x0)))
End#(b(Right1(x0))) b#(c(a(Left(x0))))
End#(b(Right1(x0))) b#(b(c(a(Left(x0)))))
End#(b(Right1(x0))) b#(b(b(c(a(Left(x0))))))
End#(b(Right1(x0))) a#(b(b(b(c(a(Left(x0)))))))
End#(b(Right1(x0))) c#(a(b(b(b(c(a(Left(x0))))))))
End#(b(Right1(x0))) End#(c(a(b(b(b(c(a(Left(x0)))))))))
End#(a(b(Right2(x0)))) Left#(x0)
End#(a(b(Right2(x0)))) a#(Left(x0))
End#(a(b(Right2(x0)))) c#(a(Left(x0)))
End#(a(b(Right2(x0)))) b#(c(a(Left(x0))))
End#(a(b(Right2(x0)))) b#(b(c(a(Left(x0)))))
End#(a(b(Right2(x0)))) b#(b(b(c(a(Left(x0))))))
End#(a(b(Right2(x0)))) a#(b(b(b(c(a(Left(x0)))))))
End#(a(b(Right2(x0)))) c#(a(b(b(b(c(a(Left(x0))))))))
End#(a(b(Right2(x0)))) End#(c(a(b(b(b(c(a(Left(x0)))))))))
End#(c(a(b(Right3(x0))))) Left#(x0)
End#(c(a(b(Right3(x0))))) a#(Left(x0))
End#(c(a(b(Right3(x0))))) c#(a(Left(x0)))
End#(c(a(b(Right3(x0))))) b#(c(a(Left(x0))))
End#(c(a(b(Right3(x0))))) b#(b(c(a(Left(x0)))))
End#(c(a(b(Right3(x0))))) b#(b(b(c(a(Left(x0))))))
End#(c(a(b(Right3(x0))))) a#(b(b(b(c(a(Left(x0)))))))
End#(c(a(b(Right3(x0))))) c#(a(b(b(b(c(a(Left(x0))))))))
End#(c(a(b(Right3(x0))))) End#(c(a(b(b(b(c(a(Left(x0)))))))))
End#(b(c(a(b(Right4(x0)))))) Left#(x0)
End#(b(c(a(b(Right4(x0)))))) a#(Left(x0))
End#(b(c(a(b(Right4(x0)))))) c#(a(Left(x0)))
End#(b(c(a(b(Right4(x0)))))) b#(c(a(Left(x0))))
End#(b(c(a(b(Right4(x0)))))) b#(b(c(a(Left(x0)))))
End#(b(c(a(b(Right4(x0)))))) b#(b(b(c(a(Left(x0))))))
End#(b(c(a(b(Right4(x0)))))) a#(b(b(b(c(a(Left(x0)))))))
End#(b(c(a(b(Right4(x0)))))) c#(a(b(b(b(c(a(Left(x0))))))))
End#(b(c(a(b(Right4(x0)))))) End#(c(a(b(b(b(c(a(Left(x0)))))))))
Left#(Ab(x0)) Left#(x0)
Left#(Ab(x0)) b#(Left(x0))
Left#(Aa(x0)) Left#(x0)
Left#(Aa(x0)) a#(Left(x0))
Left#(Ac(x0)) Left#(x0)
Left#(Ac(x0)) c#(Left(x0))
b#(b(c(a(b(x0))))) a#(x0)
b#(b(c(a(b(x0))))) c#(a(x0))
b#(b(c(a(b(x0))))) b#(c(a(x0)))
b#(b(c(a(b(x0))))) b#(b(c(a(x0))))
b#(b(c(a(b(x0))))) b#(b(b(c(a(x0)))))
b#(b(c(a(b(x0))))) a#(b(b(b(c(a(x0))))))
b#(b(c(a(b(x0))))) c#(a(b(b(b(c(a(x0)))))))

1.1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.