YES
2nd(cons(X, n__cons(Y, Z))) → activate(Y)
from(X) → cons(X, n__from(s(X)))
cons(X1, X2) → n__cons(X1, X2)
from(X) → n__from(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__from(X)) → from(X)
activate(X) → X
↳ QTRS
↳ RRRPoloQTRSProof
2nd(cons(X, n__cons(Y, Z))) → activate(Y)
from(X) → cons(X, n__from(s(X)))
cons(X1, X2) → n__cons(X1, X2)
from(X) → n__from(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__from(X)) → from(X)
activate(X) → X
2nd(cons(X, n__cons(Y, Z))) → activate(Y)
from(X) → cons(X, n__from(s(X)))
cons(X1, X2) → n__cons(X1, X2)
from(X) → n__from(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(n__from(X)) → from(X)
activate(X) → X
Used ordering:
from(X) → cons(X, n__from(s(X)))
from(X) → n__from(X)
activate(n__cons(X1, X2)) → cons(X1, X2)
activate(X) → X
POL(2nd(x1)) = 2 + 2·x1
POL(activate(x1)) = 2 + 2·x1
POL(cons(x1, x2)) = x1 + x2
POL(from(x1)) = 2 + 2·x1
POL(n__cons(x1, x2)) = x1 + x2
POL(n__from(x1)) = x1
POL(s(x1)) = x1
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
2nd(cons(X, n__cons(Y, Z))) → activate(Y)
cons(X1, X2) → n__cons(X1, X2)
activate(n__from(X)) → from(X)
2nd(cons(X, n__cons(Y, Z))) → activate(Y)
cons(X1, X2) → n__cons(X1, X2)
activate(n__from(X)) → from(X)
Used ordering:
2nd(cons(X, n__cons(Y, Z))) → activate(Y)
cons(X1, X2) → n__cons(X1, X2)
activate(n__from(X)) → from(X)
POL(2nd(x1)) = 1 + 2·x1
POL(activate(x1)) = 2 + 2·x1
POL(cons(x1, x2)) = 2 + 2·x1 + 2·x2
POL(from(x1)) = 1 + x1
POL(n__cons(x1, x2)) = 1 + x1 + x2
POL(n__from(x1)) = 2 + 2·x1
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RisEmptyProof