YES

The TRS could be proven terminating. The proof took 3135 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (22ms).
 | – Problem 2 was processed with processor PolynomialOrderingProcessor (1109ms).
 |    | – Problem 3 was processed with processor PolynomialOrderingProcessor (1194ms).
 |    |    | – Problem 4 was processed with processor DependencyGraph (0ms).
 |    |    |    | – Problem 5 was processed with processor PolynomialOrderingProcessor (259ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

b#(y, b(z, a)) → f#(b(c(f(a), y, z), z))b#(y, b(z, a)) → f#(a)
c#(z, x, a) → f#(z)c#(z, x, a) → b#(f(z), z)
b#(y, b(z, a)) → b#(c(f(a), y, z), z)c#(z, x, a) → b#(b(f(z), z), x)
c#(z, x, a) → f#(b(b(f(z), z), x))b#(y, b(z, a)) → c#(f(a), y, z)

Rewrite Rules

c(z, x, a) → f(b(b(f(z), z), x))b(y, b(z, a)) → f(b(c(f(a), y, z), z))
f(c(c(z, a, a), x, a)) → z

Original Signature

Termination of terms over the following signature is verified: f, b, c, a

Strategy


The following SCCs where found

c#(z, x, a) → b#(f(z), z)b#(y, b(z, a)) → b#(c(f(a), y, z), z)
c#(z, x, a) → b#(b(f(z), z), x)b#(y, b(z, a)) → c#(f(a), y, z)

Problem 2: PolynomialOrderingProcessor



Dependency Pair Problem

Dependency Pairs

c#(z, x, a) → b#(f(z), z)b#(y, b(z, a)) → b#(c(f(a), y, z), z)
c#(z, x, a) → b#(b(f(z), z), x)b#(y, b(z, a)) → c#(f(a), y, z)

Rewrite Rules

c(z, x, a) → f(b(b(f(z), z), x))b(y, b(z, a)) → f(b(c(f(a), y, z), z))
f(c(c(z, a, a), x, a)) → z

Original Signature

Termination of terms over the following signature is verified: f, b, c, a

Strategy


Polynomial Interpretation

Improved Usable rules

b(y, b(z, a)) → f(b(c(f(a), y, z), z))c(z, x, a) → f(b(b(f(z), z), x))
f(c(c(z, a, a), x, a)) → z

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

c#(z, x, a) → b#(f(z), z)

Problem 3: PolynomialOrderingProcessor



Dependency Pair Problem

Dependency Pairs

b#(y, b(z, a)) → b#(c(f(a), y, z), z)c#(z, x, a) → b#(b(f(z), z), x)
b#(y, b(z, a)) → c#(f(a), y, z)

Rewrite Rules

c(z, x, a) → f(b(b(f(z), z), x))b(y, b(z, a)) → f(b(c(f(a), y, z), z))
f(c(c(z, a, a), x, a)) → z

Original Signature

Termination of terms over the following signature is verified: f, b, c, a

Strategy


Polynomial Interpretation

Improved Usable rules

b(y, b(z, a)) → f(b(c(f(a), y, z), z))c(z, x, a) → f(b(b(f(z), z), x))
f(c(c(z, a, a), x, a)) → z

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

c#(z, x, a) → b#(b(f(z), z), x)

Problem 4: DependencyGraph



Dependency Pair Problem

Dependency Pairs

b#(y, b(z, a)) → b#(c(f(a), y, z), z)b#(y, b(z, a)) → c#(f(a), y, z)

Rewrite Rules

c(z, x, a) → f(b(b(f(z), z), x))b(y, b(z, a)) → f(b(c(f(a), y, z), z))
f(c(c(z, a, a), x, a)) → z

Original Signature

Termination of terms over the following signature is verified: f, b, c, a

Strategy


The following SCCs where found

b#(y, b(z, a)) → b#(c(f(a), y, z), z)

Problem 5: PolynomialOrderingProcessor



Dependency Pair Problem

Dependency Pairs

b#(y, b(z, a)) → b#(c(f(a), y, z), z)

Rewrite Rules

c(z, x, a) → f(b(b(f(z), z), x))b(y, b(z, a)) → f(b(c(f(a), y, z), z))
f(c(c(z, a, a), x, a)) → z

Original Signature

Termination of terms over the following signature is verified: f, b, c, a

Strategy


Polynomial Interpretation

Improved Usable rules

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

b#(y, b(z, a)) → b#(c(f(a), y, z), z)