0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 PisEmptyProof (⇔)
↳9 TRUE
↳10 QDP
↳11 QDPOrderProof (⇔)
↳12 QDP
↳13 PisEmptyProof (⇔)
↳14 TRUE
from(X) → cons(X, n__from(n__s(X)))
after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))
from(X) → n__from(X)
s(X) → n__s(X)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(X) → X
AFTER(s(N), cons(X, XS)) → AFTER(N, activate(XS))
AFTER(s(N), cons(X, XS)) → ACTIVATE(XS)
ACTIVATE(n__from(X)) → FROM(activate(X))
ACTIVATE(n__from(X)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → S(activate(X))
ACTIVATE(n__s(X)) → ACTIVATE(X)
from(X) → cons(X, n__from(n__s(X)))
after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))
from(X) → n__from(X)
s(X) → n__s(X)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(X) → X
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__from(X)) → ACTIVATE(X)
from(X) → cons(X, n__from(n__s(X)))
after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))
from(X) → n__from(X)
s(X) → n__s(X)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__from(X)) → ACTIVATE(X)
after2 > activate1 > from1 > [ns1, s1]
after2 > activate1 > from1 > nfrom1
from(X) → cons(X, n__from(n__s(X)))
after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))
from(X) → n__from(X)
s(X) → n__s(X)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(X) → X
from(X) → cons(X, n__from(n__s(X)))
after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))
from(X) → n__from(X)
s(X) → n__s(X)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(X) → X
AFTER(s(N), cons(X, XS)) → AFTER(N, activate(XS))
from(X) → cons(X, n__from(n__s(X)))
after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))
from(X) → n__from(X)
s(X) → n__s(X)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
AFTER(s(N), cons(X, XS)) → AFTER(N, activate(XS))
AFTER2 > activate1 > from1 > [s1, nfrom1, ns1]
after2 > activate1 > from1 > [s1, nfrom1, ns1]
0 > [s1, nfrom1, ns1]
from(X) → cons(X, n__from(n__s(X)))
after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))
from(X) → n__from(X)
s(X) → n__s(X)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(X) → X
from(X) → cons(X, n__from(n__s(X)))
after(0, XS) → XS
after(s(N), cons(X, XS)) → after(N, activate(XS))
from(X) → n__from(X)
s(X) → n__s(X)
activate(n__from(X)) → from(activate(X))
activate(n__s(X)) → s(activate(X))
activate(X) → X