0 QTRS
↳1 AAECC Innermost (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 PisEmptyProof (⇔)
↳11 TRUE
↳12 QDP
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x0, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
CONCAT(cons(u, v), y) → CONCAT(v, y)
LESS_LEAVES(cons(u, v), cons(w, z)) → LESS_LEAVES(concat(u, v), concat(w, z))
LESS_LEAVES(cons(u, v), cons(w, z)) → CONCAT(u, v)
LESS_LEAVES(cons(u, v), cons(w, z)) → CONCAT(w, z)
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x0, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
CONCAT(cons(u, v), y) → CONCAT(v, y)
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x0, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONCAT(cons(u, v), y) → CONCAT(v, y)
concat2 > [cons1, lessleaves, false] > true > CONCAT2
leaf > CONCAT2
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x0, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
LESS_LEAVES(cons(u, v), cons(w, z)) → LESS_LEAVES(concat(u, v), concat(w, z))
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x0, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))