YES
0 QTRS
↳1 DependencyPairsProof (⇔, 0 ms)
↳2 QDP
↳3 DependencyGraphProof (⇔, 0 ms)
↳4 QDP
↳5 QDPOrderProof (⇔, 486 ms)
↳6 QDP
↳7 QDPSizeChangeProof (⇔, 0 ms)
↳8 YES
comp(s, id) → s
cons(one, shift) → id
cons(comp(one, s), comp(shift, s)) → s
comp(one, cons(s, t)) → s
comp(shift, cons(s, t)) → t
comp(abs(s), t) → abs(comp(s, cons(one, comp(t, shift))))
comp(cons(s, t), u) → cons(comp(s, u), comp(t, u))
comp(id, s) → s
comp(comp(s, t), u) → comp(s, comp(t, u))
COMP(abs(s), t) → COMP(s, cons(one, comp(t, shift)))
COMP(abs(s), t) → CONS(one, comp(t, shift))
COMP(abs(s), t) → COMP(t, shift)
COMP(cons(s, t), u) → CONS(comp(s, u), comp(t, u))
COMP(cons(s, t), u) → COMP(s, u)
COMP(cons(s, t), u) → COMP(t, u)
COMP(comp(s, t), u) → COMP(s, comp(t, u))
COMP(comp(s, t), u) → COMP(t, u)
comp(s, id) → s
cons(one, shift) → id
cons(comp(one, s), comp(shift, s)) → s
comp(one, cons(s, t)) → s
comp(shift, cons(s, t)) → t
comp(abs(s), t) → abs(comp(s, cons(one, comp(t, shift))))
comp(cons(s, t), u) → cons(comp(s, u), comp(t, u))
comp(id, s) → s
comp(comp(s, t), u) → comp(s, comp(t, u))
COMP(abs(s), t) → COMP(t, shift)
COMP(abs(s), t) → COMP(s, cons(one, comp(t, shift)))
COMP(cons(s, t), u) → COMP(s, u)
COMP(cons(s, t), u) → COMP(t, u)
COMP(comp(s, t), u) → COMP(s, comp(t, u))
COMP(comp(s, t), u) → COMP(t, u)
comp(s, id) → s
cons(one, shift) → id
cons(comp(one, s), comp(shift, s)) → s
comp(one, cons(s, t)) → s
comp(shift, cons(s, t)) → t
comp(abs(s), t) → abs(comp(s, cons(one, comp(t, shift))))
comp(cons(s, t), u) → cons(comp(s, u), comp(t, u))
comp(id, s) → s
comp(comp(s, t), u) → comp(s, comp(t, u))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
COMP(abs(s), t) → COMP(t, shift)
COMP(abs(s), t) → COMP(s, cons(one, comp(t, shift)))
POL(COMP(x1, x2)) = x1 + x2
POL(abs(x1)) = 1 + x1
POL(comp(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = max(x1, x2)
POL(id) = 0
POL(one) = 0
POL(shift) = 0
comp(abs(s), t) → abs(comp(s, cons(one, comp(t, shift))))
comp(cons(s, t), u) → cons(comp(s, u), comp(t, u))
comp(id, s) → s
comp(comp(s, t), u) → comp(s, comp(t, u))
cons(one, shift) → id
comp(s, id) → s
comp(one, cons(s, t)) → s
comp(shift, cons(s, t)) → t
cons(comp(one, s), comp(shift, s)) → s
COMP(cons(s, t), u) → COMP(s, u)
COMP(cons(s, t), u) → COMP(t, u)
COMP(comp(s, t), u) → COMP(s, comp(t, u))
COMP(comp(s, t), u) → COMP(t, u)
comp(s, id) → s
cons(one, shift) → id
cons(comp(one, s), comp(shift, s)) → s
comp(one, cons(s, t)) → s
comp(shift, cons(s, t)) → t
comp(abs(s), t) → abs(comp(s, cons(one, comp(t, shift))))
comp(cons(s, t), u) → cons(comp(s, u), comp(t, u))
comp(id, s) → s
comp(comp(s, t), u) → comp(s, comp(t, u))
From the DPs we obtained the following set of size-change graphs: