YES

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (8ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4iUR (229ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

concat#(cons(U, V), Y) → concat#(V, Y)lessleaves#(cons(U, V), cons(W, Z)) → lessleaves#(concat(U, V), concat(W, Z))
lessleaves#(cons(U, V), cons(W, Z)) → concat#(U, V)lessleaves#(cons(U, V), cons(W, Z)) → concat#(W, Z)

Rewrite Rules

concat(leaf, Y) → Yconcat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → falselessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))

Original Signature

Termination of terms over the following signature is verified: false, true, leaf, lessleaves, concat, cons

Strategy


The following SCCs where found

concat#(cons(U, V), Y) → concat#(V, Y)

lessleaves#(cons(U, V), cons(W, Z)) → lessleaves#(concat(U, V), concat(W, Z))

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

concat#(cons(U, V), Y) → concat#(V, Y)

Rewrite Rules

concat(leaf, Y) → Yconcat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → falselessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))

Original Signature

Termination of terms over the following signature is verified: false, true, leaf, lessleaves, concat, cons

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

concat#(cons(U, V), Y) → concat#(V, Y)

Problem 3: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

lessleaves#(cons(U, V), cons(W, Z)) → lessleaves#(concat(U, V), concat(W, Z))

Rewrite Rules

concat(leaf, Y) → Yconcat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → falselessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))

Original Signature

Termination of terms over the following signature is verified: false, true, leaf, lessleaves, concat, cons

Strategy


Polynomial Interpretation

Improved Usable rules

concat(cons(U, V), Y) → cons(U, concat(V, Y))concat(leaf, Y) → Y

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

lessleaves#(cons(U, V), cons(W, Z)) → lessleaves#(concat(U, V), concat(W, Z))